Added checkbox list, modified form validation
This commit is contained in:
@@ -75,6 +75,7 @@ typemap =
|
|||||||
"WSF_BUTTON_CONTROL":WSF_BUTTON_CONTROL
|
"WSF_BUTTON_CONTROL":WSF_BUTTON_CONTROL
|
||||||
"WSF_TEXT_CONTROL":WSF_TEXT_CONTROL
|
"WSF_TEXT_CONTROL":WSF_TEXT_CONTROL
|
||||||
"WSF_TEXTAREA_CONTROL":WSF_TEXTAREA_CONTROL
|
"WSF_TEXTAREA_CONTROL":WSF_TEXTAREA_CONTROL
|
||||||
|
"WSF_FORM_CONTROL":WSF_FORM_CONTROL
|
||||||
|
|
||||||
#create a js class for each control
|
#create a js class for each control
|
||||||
for name,state of window.states
|
for name,state of window.states
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ inherit
|
|||||||
create
|
create
|
||||||
make_email_validator
|
make_email_validator
|
||||||
|
|
||||||
feature
|
feature{NONE}
|
||||||
|
|
||||||
make_email_validator (e: STRING)
|
make_email_validator (e: STRING)
|
||||||
do
|
do
|
||||||
|
|||||||
@@ -6,8 +6,11 @@ note
|
|||||||
|
|
||||||
class
|
class
|
||||||
WSF_CHECKBOX_CONTROL
|
WSF_CHECKBOX_CONTROL
|
||||||
|
|
||||||
inherit
|
inherit
|
||||||
WSF_VALUE_CONTROL[BOOLEAN]
|
|
||||||
|
WSF_VALUE_CONTROL [BOOLEAN]
|
||||||
|
|
||||||
create
|
create
|
||||||
make_checkbox
|
make_checkbox
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,24 @@
|
|||||||
|
note
|
||||||
|
description: "Summary description for {WSF_CHECKBOX_LIST_CONTROL}."
|
||||||
|
author: ""
|
||||||
|
date: "$Date$"
|
||||||
|
revision: "$Revision$"
|
||||||
|
|
||||||
|
class
|
||||||
|
WSF_CHECKBOX_LIST_CONTROL
|
||||||
|
|
||||||
|
inherit
|
||||||
|
|
||||||
|
WSF_MULTI_CONTROL[WSF_CHECKBOX_CONTROL]
|
||||||
|
|
||||||
|
create
|
||||||
|
make_checkbox_list_control
|
||||||
|
|
||||||
|
feature {NONE}
|
||||||
|
|
||||||
|
make_checkbox_list_control (n: STRING)
|
||||||
|
do
|
||||||
|
make_multi_control (n)
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
@@ -9,7 +9,7 @@ class
|
|||||||
|
|
||||||
inherit
|
inherit
|
||||||
|
|
||||||
WSF_MULTI_CONTROL
|
WSF_MULTI_CONTROL [WSF_CONTROL]
|
||||||
|
|
||||||
create
|
create
|
||||||
make_form_control
|
make_form_control
|
||||||
@@ -22,8 +22,24 @@ feature {NONE}
|
|||||||
tag_name := "form"
|
tag_name := "form"
|
||||||
end
|
end
|
||||||
|
|
||||||
feature
|
feature -- Validation
|
||||||
|
|
||||||
|
|
||||||
|
validate: BOOLEAN
|
||||||
|
do
|
||||||
|
Result := True
|
||||||
|
across
|
||||||
|
controls as c
|
||||||
|
until
|
||||||
|
Result = False
|
||||||
|
loop
|
||||||
|
-- TODO: Change generic parameter of elm from ANY to <WILDCARD> if something like that is available in Eiffel.
|
||||||
|
-- Otherwise, check separately for STRING, LIST...
|
||||||
|
if attached {WSF_FORM_ELEMENT_CONTROL[ANY]} c.item as elem then
|
||||||
|
if not elem.is_valid then
|
||||||
|
Result := False
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -37,12 +37,17 @@ feature {NONE}
|
|||||||
|
|
||||||
feature
|
feature
|
||||||
|
|
||||||
is_valid (value: G): BOOLEAN
|
is_valid (): BOOLEAN
|
||||||
do
|
do
|
||||||
Result := True
|
Result := True
|
||||||
across
|
across
|
||||||
validators as c
|
validators as c
|
||||||
|
until
|
||||||
|
not Result
|
||||||
loop
|
loop
|
||||||
|
if not c.item.validate (value_control.value) then
|
||||||
|
Result := False
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ note
|
|||||||
revision: "$Revision$"
|
revision: "$Revision$"
|
||||||
|
|
||||||
class
|
class
|
||||||
WSF_MULTI_CONTROL
|
WSF_MULTI_CONTROL[G -> WSF_CONTROL]
|
||||||
|
|
||||||
inherit
|
inherit
|
||||||
|
|
||||||
@@ -18,14 +18,15 @@ inherit
|
|||||||
|
|
||||||
create
|
create
|
||||||
make_multi_control
|
make_multi_control
|
||||||
|
|
||||||
feature {NONE}
|
feature {NONE}
|
||||||
|
|
||||||
controls: LINKED_LIST [WSF_CONTROL]
|
controls: LINKED_LIST [G]
|
||||||
|
|
||||||
make_multi_control (n: STRING)
|
make_multi_control (n: STRING)
|
||||||
do
|
do
|
||||||
make (n, "div")
|
make (n, "div")
|
||||||
controls := create {LINKED_LIST [WSF_CONTROL]}.make;
|
controls := create {LINKED_LIST [G]}.make;
|
||||||
end
|
end
|
||||||
|
|
||||||
feature {WSF_PAGE_CONTROL, WSF_CONTROL} -- STATE MANAGEMENT
|
feature {WSF_PAGE_CONTROL, WSF_CONTROL} -- STATE MANAGEMENT
|
||||||
@@ -106,7 +107,7 @@ feature
|
|||||||
Result := render_tag (Result, "")
|
Result := render_tag (Result, "")
|
||||||
end
|
end
|
||||||
|
|
||||||
add_control (c: WSF_CONTROL)
|
add_control (c: G)
|
||||||
do
|
do
|
||||||
controls.put_front (c)
|
controls.put_front (c)
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user