diff --git a/draft/library/wsf_js_widget/kernel/validator/wsf_agent_validator.e b/draft/library/wsf_js_widget/kernel/validator/wsf_agent_validator.e index 8aa58fda..779b4fd4 100644 --- a/draft/library/wsf_js_widget/kernel/validator/wsf_agent_validator.e +++ b/draft/library/wsf_js_widget/kernel/validator/wsf_agent_validator.e @@ -6,16 +6,22 @@ note class WSF_AGENT_VALIDATOR [G] + inherit + WSF_VALIDATOR [G] + rename + make as make_validator + end + create - make_with_agent + make feature {NONE} -- Initialization - make_with_agent (h:like handler; e: STRING) + make (h: like handler; e: STRING) do - make (e) + make_validator (e) handler := h end @@ -23,10 +29,9 @@ feature is_valid (input: G): BOOLEAN do - - Result := handler.item ( [input]) + Result := handler.item ([input]) end + handler: FUNCTION [ANY, TUPLE [G], BOOLEAN] - handler: FUNCTION[ANY,TUPLE[G],BOOLEAN] end diff --git a/draft/library/wsf_js_widget/kernel/validator/wsf_decimal_validator.e b/draft/library/wsf_js_widget/kernel/validator/wsf_decimal_validator.e index 5c7f2939..bfb3fcd7 100644 --- a/draft/library/wsf_js_widget/kernel/validator/wsf_decimal_validator.e +++ b/draft/library/wsf_js_widget/kernel/validator/wsf_decimal_validator.e @@ -10,13 +10,16 @@ class inherit WSF_REGEXP_VALIDATOR + rename + make as make_regexp_validator + end create - make_decimal_validator + make feature {NONE} -- Initialization - make_decimal_validator (e: STRING) + make (e: STRING) -- Initialize with specified error message which will be displayed on validation failure do make_regexp_validator ("^[0-9]+(\.[0-9]*)?$|^\.[0-9]+$", e) diff --git a/draft/library/wsf_js_widget/kernel/validator/wsf_email_validator.e b/draft/library/wsf_js_widget/kernel/validator/wsf_email_validator.e index 64dfee02..e5b64f41 100644 --- a/draft/library/wsf_js_widget/kernel/validator/wsf_email_validator.e +++ b/draft/library/wsf_js_widget/kernel/validator/wsf_email_validator.e @@ -10,13 +10,16 @@ class inherit WSF_REGEXP_VALIDATOR + rename + make as make_regexp_validator + end create - make_email_validator + make feature {NONE} -- Initialization - make_email_validator (e: STRING) + make (e: STRING) -- Initialize with specified error message which will be displayed on validation failure do make_regexp_validator ("^[a-zA-Z0-9._%%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$", e) diff --git a/draft/library/wsf_js_widget/kernel/validator/wsf_max_validator.e b/draft/library/wsf_js_widget/kernel/validator/wsf_max_validator.e index 2357f93f..ad472e1b 100644 --- a/draft/library/wsf_js_widget/kernel/validator/wsf_max_validator.e +++ b/draft/library/wsf_js_widget/kernel/validator/wsf_max_validator.e @@ -5,24 +5,26 @@ note revision: "$Revision$" class - WSF_MAX_VALIDATOR [G->FINITE[ANY]] + WSF_MAX_VALIDATOR [G -> FINITE [ANY]] inherit WSF_VALIDATOR [G] + rename + make as make_validator redefine state end create - make_max_validator + make feature {NONE} -- Initialization - make_max_validator (m: INTEGER; e: STRING) + make (m: INTEGER; e: STRING) -- Initialize with specified maximum and error message which will be displayed on validation failure do - make (e) + make_validator (e) max := m end diff --git a/draft/library/wsf_js_widget/kernel/validator/wsf_min_validator.e b/draft/library/wsf_js_widget/kernel/validator/wsf_min_validator.e index a496f500..1175c147 100644 --- a/draft/library/wsf_js_widget/kernel/validator/wsf_min_validator.e +++ b/draft/library/wsf_js_widget/kernel/validator/wsf_min_validator.e @@ -5,24 +5,26 @@ note revision: "$Revision$" class - WSF_MIN_VALIDATOR [G->FINITE[ANY]] + WSF_MIN_VALIDATOR [G -> FINITE [ANY]] inherit WSF_VALIDATOR [G] + rename + make as make_validator redefine state end create - make_min_validator + make feature {NONE} -- Initialization - make_min_validator (m: INTEGER; e: STRING) + make (m: INTEGER; e: STRING) -- Initialize with specified minimum and error message which will be displayed on validation failure do - make (e) + make_validator (e) min := m end diff --git a/draft/library/wsf_js_widget/kernel/validator/wsf_phone_number_validator.e b/draft/library/wsf_js_widget/kernel/validator/wsf_phone_number_validator.e index e5ca0cc4..3f377d12 100644 --- a/draft/library/wsf_js_widget/kernel/validator/wsf_phone_number_validator.e +++ b/draft/library/wsf_js_widget/kernel/validator/wsf_phone_number_validator.e @@ -10,6 +10,9 @@ class inherit WSF_REGEXP_VALIDATOR + rename + make as make_regexp_validator + end create make_with_message diff --git a/draft/library/wsf_js_widget/kernel/validator/wsf_regexp_validator.e b/draft/library/wsf_js_widget/kernel/validator/wsf_regexp_validator.e index ccb74c3e..0914acd3 100644 --- a/draft/library/wsf_js_widget/kernel/validator/wsf_regexp_validator.e +++ b/draft/library/wsf_js_widget/kernel/validator/wsf_regexp_validator.e @@ -10,19 +10,21 @@ class inherit WSF_VALIDATOR [STRING] + rename + make as make_validator redefine state end create - make_regexp_validator + make feature {NONE} -- Initialization - make_regexp_validator (r, e: STRING) + make (r, e: STRING) -- Initialize with specified regular expression and error message which will be displayed on validation failure do - make (e) + make_validator (e) regexp_string := r create regexp end diff --git a/draft/library/wsf_js_widget/kernel/webcontrol/wsf_form_control.e b/draft/library/wsf_js_widget/kernel/webcontrol/wsf_form_control.e index e30ea200..81fc8796 100644 --- a/draft/library/wsf_js_widget/kernel/webcontrol/wsf_form_control.e +++ b/draft/library/wsf_js_widget/kernel/webcontrol/wsf_form_control.e @@ -9,23 +9,41 @@ class inherit - WSF_STATELESS_MULTI_CONTROL [WSF_CONTROL] + WSF_STATELESS_MULTI_CONTROL [WSF_STATELESS_CONTROL] rename make as make_multi_control + redefine + add_control end WSF_VALIDATABLE create - make + make, make_with_label_width feature {NONE} -- Initialization make -- Initialize + do + make_with_label_width (2) + end + + make_with_label_width (w: INTEGER) do make_multi_control tag_name := "form" + label_width := w + end + +feature + + add_control (c: WSF_STATELESS_CONTROL) + do + Precursor (c) + if attached {WSF_FORM_ELEMENT_CONTROL[ANY]} c as fec then + fec.set_label_width (label_width) + end end feature -- Validation @@ -49,4 +67,8 @@ feature -- Validation is_valid: BOOLEAN -- Tells whether the last validation was valid +feature + + label_width: INTEGER + end diff --git a/draft/library/wsf_js_widget/kernel/webcontrol/wsf_form_element_control.e b/draft/library/wsf_js_widget/kernel/webcontrol/wsf_form_element_control.e index ee76d77a..e4b860b6 100644 --- a/draft/library/wsf_js_widget/kernel/webcontrol/wsf_form_element_control.e +++ b/draft/library/wsf_js_widget/kernel/webcontrol/wsf_form_element_control.e @@ -48,6 +48,13 @@ feature {NONE} -- Initialization error := "" end +feature + + set_label_width (w: INTEGER) + do + label_width := w + end + feature {WSF_PAGE_CONTROL, WSF_CONTROL} -- State management load_state (new_states: JSON_OBJECT) @@ -138,9 +145,9 @@ feature -- Implementation do body := "" if not label.is_empty then - body.append ("") + body.append ("") end - body.append ("