Test the new controls

This commit is contained in:
YNH Webdev
2013-09-05 17:18:46 +02:00
parent edce18fb1f
commit 225f821206
6 changed files with 24 additions and 13 deletions

View File

@@ -27,13 +27,13 @@ feature
create textbox1.make_text ("txtBox1", "1") create textbox1.make_text ("txtBox1", "1")
create textbox2.make_text ("txtBox2", "2") create textbox2.make_text ("txtBox2", "2")
create button1.make_button ("sample_button1", "SUM") create button1.make_button ("sample_button1", "SUM")
create textbox_result.make_text ("txtBox3", "") create textbox_result.make_textarea ("txtBox3", "")
button1.set_click_event (agent handle_click) button1.set_click_event (agent handle_click)
create form.make_form_control ("panel") create form.make_form_control ("panel")
form.add_control (create {WSF_FORM_ELEMENT_CONTROL[STRING]}.make_form_element("Number1",textbox1)) form.add_control (create {WSF_FORM_ELEMENT_CONTROL[STRING]}.make_form_element("Number1",textbox1))
form.add_control (textbox2) form.add_control (create {WSF_FORM_ELEMENT_CONTROL[STRING]}.make_form_element("Number2",textbox2))
form.add_control (button1) form.add_control (button1)
form.add_control (textbox_result) form.add_control (create {WSF_FORM_ELEMENT_CONTROL[STRING]}.make_form_element("Result",textbox_result))
control := form control := form
end end
@@ -52,6 +52,6 @@ feature
textbox2: WSF_TEXT_CONTROL textbox2: WSF_TEXT_CONTROL
textbox_result: WSF_TEXT_CONTROL textbox_result: WSF_TEXTAREA_CONTROL
end end

View File

@@ -27,7 +27,8 @@ controls = {}
class WSF_BUTTON_CONTROL extends WSF_CONTROL class WSF_BUTTON_CONTROL extends WSF_CONTROL
attach_events: ()-> attach_events: ()->
self = @ self = @
@$el.click ()-> @$el.click (e)->
e.preventDefault()
self.click() self.click()
click: ()-> click: ()->
if window.states[@control_name]['callback_click'] if window.states[@control_name]['callback_click']

View File

@@ -53,7 +53,8 @@
WSF_BUTTON_CONTROL.prototype.attach_events = function() { WSF_BUTTON_CONTROL.prototype.attach_events = function() {
var self; var self;
self = this; self = this;
return this.$el.click(function() { return this.$el.click(function(e) {
e.preventDefault();
return self.click(); return self.click();
}); });
}; };

View File

@@ -92,7 +92,7 @@ feature
css_classes_string := " class=%"" + css_classes_string + "%"" css_classes_string := " class=%"" + css_classes_string + "%""
end end
Result := "<" + tag_name + " data-name=%"" + control_name + "%" data-type=%"" + generator + "%" " + attributes + css_classes_string Result := "<" + tag_name + " data-name=%"" + control_name + "%" data-type=%"" + generator + "%" " + attributes + css_classes_string
if body.is_empty then if body.is_empty and not tag_name.is_equal("textarea") then
Result := Result + " />" Result := Result + " />"
else else
Result := Result + " >" + body + "</" + tag_name + ">" Result := Result + " >" + body + "</" + tag_name + ">"

View File

@@ -12,8 +12,7 @@ inherit
WSF_CONTROL WSF_CONTROL
create create
make_form_element, make_form_element, make_form_element_with_validators
make_form_element_with_validators
feature {NONE} feature {NONE}
@@ -64,6 +63,15 @@ feature --Implementation
value_control.handle_callback (cname, event) value_control.handle_callback (cname, event)
end end
read_state_changes (states: JSON_OBJECT)
-- Add a new entry in the `states_changes` JSON object with the `control_name` as key and the `state` as value
do
if state_changes.count > 0 then
states.put (state_changes, create {JSON_STRING}.make_json (control_name))
end
value_control.read_state_changes (states)
end
render: STRING render: STRING
local local
body: STRING body: STRING

View File

@@ -77,6 +77,8 @@ feature
create states.make create states.make
control.read_state (states) control.read_state (states)
data := "<html><head>" data := "<html><head>"
data.append ("<link href=%"//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css%" rel=%"stylesheet%">")
data.append ("</head><body>") data.append ("</head><body>")
data.append (control.render) data.append (control.render)
data.append ("<script type=%"text/javascript%">window.states=") data.append ("<script type=%"text/javascript%">window.states=")
@@ -84,7 +86,6 @@ feature
data.append (";</script>") data.append (";</script>")
data.append ("<script src=%"//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js%"></script>") data.append ("<script src=%"//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js%"></script>")
data.append ("<script src=%"/widget.js%"></script>") data.append ("<script src=%"/widget.js%"></script>")
data.append ("<link href=%"//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css%" rel=%"stylesheet%">")
data.append ("</body></html>") data.append ("</body></html>")
create page.make create page.make
page.put_header ({HTTP_STATUS_CODE}.ok, <<["Content-Type", "text/html"]>>) page.put_header ({HTTP_STATUS_CODE}.ok, <<["Content-Type", "text/html"]>>)