diff --git a/library/server/wsf_html/webcontrol/wsf_button_control.e b/library/server/wsf_html/webcontrol/wsf_button_control.e
index b286bc17..a2551e93 100644
--- a/library/server/wsf_html/webcontrol/wsf_button_control.e
+++ b/library/server/wsf_html/webcontrol/wsf_button_control.e
@@ -8,44 +8,52 @@ class
WSF_BUTTON_CONTROL
inherit
+
WSF_CONTROL
+
create
make
+
feature {NONE}
- make (n:STRING; v:STRING)
- do
- make_control
- control_name:=n
- text:=v
- click_event:= agent donothing
- end
-feature
- --UGLY HACK MUST BE REMOVED
- donothing(p:WSF_PAGE_CONTROL)
- do
-
- end
- handle_callback(event: STRING ; cname: STRING ; page: WSF_PAGE_CONTROL)
- do
- if Current.control_name = cname and attached click_event then
- click_event.call([page])
+ make (n: STRING; v: STRING)
+ do
+ make_control
+ control_name := n
+ text := v
+ click_event := agent donothing
end
- end
-
- render:STRING
- do
- Result:=""
- end
-
- state:JSON_OBJECT
- do
- create Result.make
- Result.put (create {JSON_STRING}.make_json(text), create {JSON_STRING}.make_json("text"))
- end
-
feature
+
+ --UGLY HACK MUST BE REMOVED
+
+ donothing (p: WSF_PAGE_CONTROL)
+ do
+ end
+
+ handle_callback (event: STRING; cname: STRING; page: WSF_PAGE_CONTROL)
+ do
+ if Current.control_name = cname and attached click_event then
+ click_event.call ([page])
+ end
+ end
+
+ render: STRING
+ do
+ Result := ""
+ end
+
+ state: JSON_OBJECT
+ do
+ create Result.make
+ Result.put (create {JSON_STRING}.make_json (text), create {JSON_STRING}.make_json ("text"))
+ end
+
+feature
+
text: STRING
+
click_event: PROCEDURE [ANY, TUPLE [WSF_PAGE_CONTROL]]
+
end
diff --git a/library/server/wsf_html/webcontrol/wsf_control.e b/library/server/wsf_html/webcontrol/wsf_control.e
index 5d027501..04f9c830 100644
--- a/library/server/wsf_html/webcontrol/wsf_control.e
+++ b/library/server/wsf_html/webcontrol/wsf_control.e
@@ -6,32 +6,35 @@ note
deferred class
WSF_CONTROL
+
feature {NONE}
+
make_control
- do
- control_name:=""
- end
+ do
+ control_name := ""
+ end
feature
+
control_name: STRING
feature {WSF_PAGE_CONTROL}
- handle_callback(event: STRING ; cname: STRING ; page: WSF_PAGE_CONTROL)
- deferred
- end
+ handle_callback (event: STRING; cname: STRING; page: WSF_PAGE_CONTROL)
+ deferred
+ end
render: STRING
- deferred
- end
+ deferred
+ end
state: JSON_OBJECT
- deferred
- end
+ deferred
+ end
- read_state(states:JSON_OBJECT)
- do
- states.put (state, create {JSON_STRING}.make_json(control_name))
- end
+ read_state (states: JSON_OBJECT)
+ do
+ states.put (state, create {JSON_STRING}.make_json (control_name))
+ end
end
diff --git a/library/server/wsf_html/webcontrol/wsf_page_control.e b/library/server/wsf_html/webcontrol/wsf_page_control.e
index 2d8fd33b..46bbfe9d 100644
--- a/library/server/wsf_html/webcontrol/wsf_page_control.e
+++ b/library/server/wsf_html/webcontrol/wsf_page_control.e
@@ -24,57 +24,55 @@ feature -- Access
feature
initialize_controls
- deferred
- end
+ deferred
+ end
process
- deferred
- end
+ deferred
+ end
feature
-
execute
- local
- event: detachable STRING
- control_name: detachable STRING
- states:JSON_OBJECT
- do
- initialize_controls
- control_name := get_parameter("control_name")
- event := get_parameter("event")
- if attached event and attached control_name and attached control then
- control.handle_callback (control_name,event, Current)
+ local
+ event: detachable STRING
+ control_name: detachable STRING
+ states: JSON_OBJECT
+ do
+ initialize_controls
+ control_name := get_parameter ("control_name")
+ event := get_parameter ("event")
+ if attached event and attached control_name and attached control then
+ control.handle_callback (control_name, event, Current)
create states.make
- control.read_state(states)
+ control.read_state (states)
response.put_header ({HTTP_STATUS_CODE}.ok, <<["Content-Type", "application/json"]>>)
response.put_string (states.representation)
- else
- process
- render
+ else
+ process
+ render
+ end
end
- end
render
- local
- data: STRING
- do
- data := control.render
- response.put_header ({HTTP_STATUS_CODE}.ok, <<["Content-Type", "text/plain"], ["Content-Length", data.count.out]>>)
- response.put_string (data)
- end
-
- get_parameter(key: STRING) : detachable STRING
- local
- value: detachable WSF_VALUE
- do
- Result := VOID
- value := request.query_parameter (key)
- if attached value then
- Result := value.as_string.value
+ local
+ data: STRING
+ do
+ data := control.render
+ response.put_header ({HTTP_STATUS_CODE}.ok, <<["Content-Type", "text/plain"], ["Content-Length", data.count.out]>>)
+ response.put_string (data)
end
- end
+ get_parameter (key: STRING): detachable STRING
+ local
+ value: detachable WSF_VALUE
+ do
+ Result := VOID
+ value := request.query_parameter (key)
+ if attached value then
+ Result := value.as_string.value
+ end
+ end
feature {NONE}