Commit 97ee784a25934d3e6407d84b2b9574d4ae33ec14
1 parent
42149afb
Adding checkbox to DojoDialog
Showing
1 changed file
with
48 additions
and
13 deletions
Show diff stats
calexium_lib/web/CXM_dojo.anubis
| ... | ... | @@ -73,9 +73,10 @@ public type Input_Type: |
| 73 | 73 | password. |
| 74 | 74 | |
| 75 | 75 | public type InputDial: |
| 76 | - input_dial(String id, Input_Type input_type, String label, Maybe(String) class), | |
| 77 | - input_date(String id, String label), | |
| 78 | - input_combo(String label, HtmlId id, WebArgName name, List((WebArgValue,String)) list_data). | |
| 76 | + input_dial(HtmlId id, Input_Type input_type, String label, Maybe(String) class), | |
| 77 | + input_date(HtmlId id, String label), | |
| 78 | + input_combo(HtmlId id, String label, List((WebArgValue,String)) list_data), | |
| 79 | + input_check(HtmlId id, String label, Bool checked). | |
| 79 | 80 | |
| 80 | 81 | |
| 81 | 82 | define List(HTML_Off_Form) |
| ... | ... | @@ -111,20 +112,45 @@ public define HTML_Off_Form |
| 111 | 112 | ]). |
| 112 | 113 | |
| 113 | 114 | define HTML_Off_Form |
| 115 | + _maybe_label | |
| 116 | + ( | |
| 117 | + String label_text, | |
| 118 | + HtmlId html_id | |
| 119 | + ) = | |
| 120 | + if length(label_text) > 0 then literal("<label for=\"" + html_id.id + "\">" + label_text + "</label>") | |
| 121 | + else literal(""). | |
| 122 | + | |
| 123 | +public define HTML_Off_Form | |
| 124 | + dojo_checkbox | |
| 125 | + ( | |
| 126 | + WebArgName the_name, | |
| 127 | + HtmlId the_id, | |
| 128 | + String label, | |
| 129 | + WebArgValue val, | |
| 130 | + Bool checked, | |
| 131 | + )= | |
| 132 | + sequence([ | |
| 133 | + _maybe_label(label, the_id), | |
| 134 | + literal("<input type=\"checkbox\" name=\"" + the_name.name + "\" id=\"" + the_id.id + "\" value=\"" + val.value + "\"" | |
| 135 | + + (if checked then " checked=\"checked\" " else "") + " dojoType=\"dijit.form.CheckBox\" />"), | |
| 136 | + ]). | |
| 137 | + | |
| 138 | + | |
| 139 | +define HTML_Off_Form | |
| 114 | 140 | input_in_dialog |
| 115 | 141 | ( |
| 116 | 142 | InputDial input_data |
| 117 | 143 | )= |
| 118 | 144 | if input_data is |
| 119 | 145 | { |
| 120 | - input_dial(id, input, label, class) then | |
| 146 | + input_dial(html_id, input, label, class) then | |
| 121 | 147 | sequence([ |
| 122 | - literal("<div id=\"" + id +"_block\"" + | |
| 148 | + literal("<div id=\"" + html_id.id +"_block\"" + | |
| 123 | 149 | if class is |
| 124 | 150 | { |
| 125 | 151 | failure then "", |
| 126 | 152 | success(class_name) then " class=\"block_"+ class_name +"\"" |
| 127 | - }+"><label for=\"" + id + "\" id=\"label_" + id + "\"" + | |
| 153 | + }+"><label for=\"" + html_id.id + "\" id=\"label_" + html_id.id + "\"" + | |
| 128 | 154 | if class is |
| 129 | 155 | { |
| 130 | 156 | failure then "", |
| ... | ... | @@ -137,22 +163,31 @@ define HTML_Off_Form |
| 137 | 163 | text then "type=\"text\"", |
| 138 | 164 | password then "type=\"password\"" |
| 139 | 165 | } + |
| 140 | - " name=\""+id+"\" id=\""+id+"\" /></div>") | |
| 166 | + " name=\""+html_id.id+"\" id=\""+html_id.id+"\" /></div>") | |
| 141 | 167 | ]), |
| 142 | - input_date(id, label) then | |
| 168 | + | |
| 169 | + input_date(html_id, label) then | |
| 143 | 170 | sequence([ |
| 144 | - literal("<div id=\"" + id +"_block\"><label for=\"" + id + "\"> " + label + "</label>"), | |
| 145 | - literal("<div id=\""+id+"\" type=\"text\" name=\"date1\" | |
| 171 | + literal("<div id=\"" + html_id.id +"_block\"><label for=\"" + html_id.id + "\"> " + label + "</label>"), | |
| 172 | + literal("<div id=\""+html_id.id+"\" type=\"text\" name=\"date1\" | |
| 146 | 173 | dojoType=\"dijit.form.DateTextBox\"> |
| 147 | 174 | </div></div>" |
| 148 | 175 | ) |
| 149 | 176 | ]), |
| 150 | - input_combo(label, the_id, name, list_data) then | |
| 177 | + | |
| 178 | + input_combo(the_id, label, list_data) then | |
| 151 | 179 | sequence([ |
| 152 | 180 | literal("<div id=\"" + the_id.id +"_block\">"), |
| 153 | - dojo_combobox(name, the_id, label, list_data), | |
| 181 | + dojo_combobox(wan(the_id.id), the_id, label, list_data), | |
| 154 | 182 | literal("</div>") |
| 155 | - ]) | |
| 183 | + ]), | |
| 184 | + | |
| 185 | + input_check(the_id, label, checked) then | |
| 186 | + sequence([ | |
| 187 | + literal("<div id=\"" + the_id.id +"_block\">"), | |
| 188 | + dojo_checkbox(wan(the_id.id), the_id, label, wav("1"), checked), | |
| 189 | + literal("</div>"), | |
| 190 | + ]), | |
| 156 | 191 | } |
| 157 | 192 | . |
| 158 | 193 | ... | ... |