Commit 89a023757dc77e6c6b966fba38ac29389667415e
1 parent
4ec4e372
rename some CXM_FormField to CXM_Form_Field
remove the CXM_form_field.anubis because the content was already in CXM_form
Showing
2 changed files
with
35 additions
and
730 deletions
Show diff stats
web/CXM_form.anubis
| ... | ... | @@ -33,7 +33,7 @@ public type FormFieldWidth: |
| 33 | 33 | public type CXM_FormTooltip: |
| 34 | 34 | tooltip(String title, String content, Int width). |
| 35 | 35 | |
| 36 | -public type CXM_FormField: | |
| 36 | +public type CXM_Form_Field: | |
| 37 | 37 | no_field, // empty field |
| 38 | 38 | |
| 39 | 39 | //--- title field --------------------------------------------------------------------- |
| ... | ... | @@ -130,7 +130,7 @@ public type CXM_FormField: |
| 130 | 130 | WebArgName web_arg_name, |
| 131 | 131 | WebArgValue web_arg_value, |
| 132 | 132 | Bool checked, |
| 133 | - List(CXM_FormField) fields), | |
| 133 | + List(CXM_Form_Field) fields), | |
| 134 | 134 | |
| 135 | 135 | //--- radio-button field -------------------------------------------------------------- |
| 136 | 136 | radio_button (List(InputAttrs) options, |
| ... | ... | @@ -165,7 +165,7 @@ public type CXM_FormField: |
| 165 | 165 | // //--- fields line --------------------------------------------------------------------- |
| 166 | 166 | // fields_line (String tag, |
| 167 | 167 | // List(FormField) fields), |
| 168 | - one_line_fields (List(CXM_FormField) fields), | |
| 168 | + one_line_fields (List(CXM_Form_Field) fields), | |
| 169 | 169 | |
| 170 | 170 | // |
| 171 | 171 | // //--- preview field ------------------------------------------------------------------- |
| ... | ... | @@ -185,7 +185,7 @@ public type CXM_FormField: |
| 185 | 185 | HTML_In_Form input), |
| 186 | 186 | div (List(CoreAttrs), HTML_In_Form content), |
| 187 | 187 | partial (HTML_Partial_Content p_content), |
| 188 | - input_with_help (CXM_FormField field, | |
| 188 | + input_with_help (CXM_Form_Field field, | |
| 189 | 189 | Maybe(String) help_title, |
| 190 | 190 | String help_text, |
| 191 | 191 | Int width), |
| ... | ... | @@ -207,67 +207,67 @@ public type CXM_FormField: |
| 207 | 207 | // ////////////////////////////////////////////// |
| 208 | 208 | // Alternative constructors: |
| 209 | 209 | |
| 210 | -public define CXM_FormField | |
| 210 | +public define CXM_Form_Field | |
| 211 | 211 | input(WebArgName n, InitialValue init_value, Width width) |
| 212 | 212 | = input([], "", htmlId(n.name), n, init_value, width, non_mandatory). |
| 213 | 213 | |
| 214 | -public define CXM_FormField | |
| 214 | +public define CXM_Form_Field | |
| 215 | 215 | input(String label, WebArgName n, InitialValue init_value, Width width) |
| 216 | 216 | = input([], label, htmlId(n.name), n, init_value, width, non_mandatory). |
| 217 | 217 | |
| 218 | -public define CXM_FormField | |
| 218 | +public define CXM_Form_Field | |
| 219 | 219 | input(String label, WebArgName n, InitialValue init_value, Width width, Mandatory mand) |
| 220 | 220 | = input([], label, htmlId(n.name), n, init_value, width, mand). |
| 221 | 221 | |
| 222 | -public define CXM_FormField | |
| 222 | +public define CXM_Form_Field | |
| 223 | 223 | input_readonly(String label, WebArgName n, InitialValue init_value, Width width) |
| 224 | 224 | = input_readonly([], label, htmlId(n.name), n, init_value, width). |
| 225 | 225 | |
| 226 | -public define CXM_FormField | |
| 226 | +public define CXM_Form_Field | |
| 227 | 227 | password_input(String label, WebArgName n, InitialValue init_value, Width width, Mandatory mand) |
| 228 | 228 | = password_input([], label, htmlId(n.name), n, init_value, width, mand). |
| 229 | 229 | |
| 230 | -public define CXM_FormField | |
| 230 | +public define CXM_Form_Field | |
| 231 | 231 | checkbox(String label, WebArgName n, WebArgValue value, Bool checked, Mandatory mand) |
| 232 | 232 | = checkbox([], label, htmlId(n.name), n, value, checked, mand). |
| 233 | 233 | |
| 234 | -public define CXM_FormField | |
| 234 | +public define CXM_Form_Field | |
| 235 | 235 | checkboxr(String label, WebArgName n, WebArgValue value, Bool checked, Mandatory mand) |
| 236 | 236 | = checkboxr([], label, htmlId(n.name), n, value, checked, mand). |
| 237 | 237 | |
| 238 | -public define CXM_FormField | |
| 238 | +public define CXM_Form_Field | |
| 239 | 239 | radio_button(String label, WebArgName n, WebArgValue value, Bool checked, Mandatory mand) |
| 240 | 240 | = radio_button([], label, htmlId(n.name), n, value, checked, mand). |
| 241 | 241 | |
| 242 | -public define CXM_FormField | |
| 242 | +public define CXM_Form_Field | |
| 243 | 243 | radio_buttonr(String label, WebArgName n, WebArgValue value, Bool checked, Mandatory mand) |
| 244 | 244 | = radio_buttonr([], label, htmlId(n.name), n, value, checked, mand). |
| 245 | 245 | |
| 246 | -public define CXM_FormField | |
| 246 | +public define CXM_Form_Field | |
| 247 | 247 | submit(String action_name, HtmlClass class, Maybe(String) label, String button_text, List((String,String)) extra_operands) |
| 248 | 248 | = submit([], class, action_name, label, button_text, extra_operands). |
| 249 | 249 | |
| 250 | -public define CXM_FormField | |
| 250 | +public define CXM_Form_Field | |
| 251 | 251 | submit(String action_name, Maybe(String) label, String button_text, List((String,String)) extra_operands) |
| 252 | 252 | = submit([], htmlClass(""), action_name, label, button_text, extra_operands). |
| 253 | 253 | |
| 254 | -public define CXM_FormField | |
| 254 | +public define CXM_Form_Field | |
| 255 | 255 | upload(String label, HtmlId id, WebArgName name, Width width) |
| 256 | 256 | = upload([], label, id, name, width, non_mandatory). |
| 257 | 257 | |
| 258 | -public define CXM_FormField | |
| 258 | +public define CXM_Form_Field | |
| 259 | 259 | upload(String label, HtmlId id, WebArgName name, Width width, Mandatory mand) |
| 260 | 260 | = upload([], label, id, name, width, mand). |
| 261 | 261 | |
| 262 | -public define CXM_FormField | |
| 263 | - input_with_help (CXM_FormField field, String help_text) | |
| 262 | +public define CXM_Form_Field | |
| 263 | + input_with_help (CXM_Form_Field field, String help_text) | |
| 264 | 264 | = input_with_help (field, failure, help_text, 250). |
| 265 | 265 | |
| 266 | -public define CXM_FormField | |
| 267 | - input_with_help (CXM_FormField field, String help_text, Int width) | |
| 266 | +public define CXM_Form_Field | |
| 267 | + input_with_help (CXM_Form_Field field, String help_text, Int width) | |
| 268 | 268 | = input_with_help (field, failure, help_text, width). |
| 269 | 269 | |
| 270 | -public define CXM_FormField | |
| 270 | +public define CXM_Form_Field | |
| 271 | 271 | ip_input |
| 272 | 272 | ( |
| 273 | 273 | String label, |
| ... | ... | @@ -282,7 +282,7 @@ public define CXM_FormField |
| 282 | 282 | ). |
| 283 | 283 | |
| 284 | 284 | |
| 285 | -public define CXM_FormField | |
| 285 | +public define CXM_Form_Field | |
| 286 | 286 | partial_ip_input |
| 287 | 287 | ( |
| 288 | 288 | String label, |
| ... | ... | @@ -297,7 +297,7 @@ public define CXM_FormField |
| 297 | 297 | partial_ip_input(id, wan_prefix, ip_fixed_part, ip) |
| 298 | 298 | ). |
| 299 | 299 | |
| 300 | -public define CXM_FormField | |
| 300 | +public define CXM_Form_Field | |
| 301 | 301 | hidden |
| 302 | 302 | ( |
| 303 | 303 | WebArgName web_arg_name, |
| ... | ... | @@ -314,7 +314,7 @@ public define CXM_FormField |
| 314 | 314 | public define HTML_In_Form |
| 315 | 315 | cxm_format_form_field |
| 316 | 316 | ( |
| 317 | - CXM_FormField ff | |
| 317 | + CXM_Form_Field ff | |
| 318 | 318 | ) = |
| 319 | 319 | with star = (Mandatory m) |-> (String) |
| 320 | 320 | if m is |
| ... | ... | @@ -406,7 +406,7 @@ public define HTML_In_Form |
| 406 | 406 | with div_id = generate_random_string(15), |
| 407 | 407 | sequence([ |
| 408 | 408 | check_box([event(onclick, "checkbox_hide_show_element('"+div_id+"', this);")], label, htmlId(""), name, val, checked), |
| 409 | - div([id(div_id), style("display:"+if checked then "block" else "none")], sequence(map((CXM_FormField ff2) |-> div([class("form_field")], cxm_format_form_field(ff2)),fields))) | |
| 409 | + div([id(div_id), style("display:"+if checked then "block" else "none")], sequence(map((CXM_Form_Field ff2) |-> div([class("form_field")], cxm_format_form_field(ff2)),fields))) | |
| 410 | 410 | ]), |
| 411 | 411 | |
| 412 | 412 | radio_button(options, label, id, name, val, checked, mand) then |
| ... | ... | @@ -432,7 +432,7 @@ public define HTML_In_Form |
| 432 | 432 | ]), |
| 433 | 433 | one_line_fields(fields) then |
| 434 | 434 | table([nude],[row([], |
| 435 | - map((CXM_FormField ff2) |-> cell([],cxm_format_form_field(ff2)),fields))]) | |
| 435 | + map((CXM_Form_Field ff2) |-> cell([],cxm_format_form_field(ff2)),fields))]) | |
| 436 | 436 | , |
| 437 | 437 | |
| 438 | 438 | upload(options, label, id, name, w, mand) then |
| ... | ... | @@ -478,21 +478,21 @@ public define HTML_In_Form |
| 478 | 478 | public define HTML_In_Form |
| 479 | 479 | cxm_fieldset |
| 480 | 480 | ( |
| 481 | - List(CoreAttrs) options, | |
| 482 | - String legend, | |
| 483 | - List(CXM_FormField) fields | |
| 481 | + List(CoreAttrs) options, | |
| 482 | + String legend, | |
| 483 | + List(CXM_Form_Field)fields | |
| 484 | 484 | ) = |
| 485 | 485 | sequence([ |
| 486 | 486 | literal("<fieldset" + format_attrs(options) + ">"), |
| 487 | 487 | literal(if length(legend) > 0 then "<legend>" + legend + "</legend>" else ""), |
| 488 | - sequence( map((CXM_FormField ff) |-> div([class("form_field")], cxm_format_form_field(ff)), fields) ), | |
| 488 | + sequence( map((CXM_Form_Field ff) |-> div([class("form_field")], cxm_format_form_field(ff)), fields) ), | |
| 489 | 489 | literal("</fieldset>")]). |
| 490 | 490 | |
| 491 | 491 | public define HTML_In_Form |
| 492 | 492 | cxm_fieldset |
| 493 | 493 | ( |
| 494 | 494 | HtmlId fieldSetId, |
| 495 | - List(CXM_FormField) fields | |
| 495 | + List(CXM_Form_Field)fields | |
| 496 | 496 | ) = |
| 497 | 497 | cxm_fieldset([id(fieldSetId.id), class("aligned")], "", fields). |
| 498 | 498 | |
| ... | ... | @@ -537,7 +537,7 @@ public define HTML_Off_Form |
| 537 | 537 | String action_name, |
| 538 | 538 | List((String,String)) extra_ops, |
| 539 | 539 | |
| 540 | - List(CXM_FormField) fields | |
| 540 | + List(CXM_Form_Field) fields | |
| 541 | 541 | ) = |
| 542 | 542 | cxm_form(form_name, options, action_name, extra_ops, |
| 543 | 543 | [ |
| ... | ... | @@ -550,7 +550,7 @@ public define HTML_Off_Form |
| 550 | 550 | String form_name, |
| 551 | 551 | List(CoreAttrs) options, |
| 552 | 552 | HtmlId fieldSetId, |
| 553 | - List(CXM_FormField) fields | |
| 553 | + List(CXM_Form_Field) fields | |
| 554 | 554 | ) = |
| 555 | 555 | cxm_form(form_name, options, |
| 556 | 556 | [ |
| ... | ... | @@ -570,7 +570,7 @@ public define HTML_Off_Form |
| 570 | 570 | ( |
| 571 | 571 | String form_name, |
| 572 | 572 | HtmlId fieldSetId, |
| 573 | - List(CXM_FormField) fields | |
| 573 | + List(CXM_Form_Field) fields | |
| 574 | 574 | ) = |
| 575 | 575 | cxm_form(form_name, [], fieldSetId, fields). |
| 576 | 576 | ... | ... |
web/CXM_form_field.anubis deleted
| 1 | -/* | |
| 2 | - * Created by PyramIDE. | |
| 3 | - * User: totoro | |
| 4 | - * Date: 24/07/2007 | |
| 5 | - * Time: 21:09 | |
| 6 | - * | |
| 7 | - */ | |
| 8 | - | |
| 9 | -read tools/basis.anubis | |
| 10 | -read system/lists.anubis | |
| 11 | -read system/string.anubis | |
| 12 | -read system_colors/rgb.anubis | |
| 13 | - | |
| 14 | -read calexium_lib/web/CXM_making_a_web_site.anubis | |
| 15 | -read calexium_lib/web/CXM_multihost_http_server.anubis | |
| 16 | -read calexium_lib/web/CXM_dojo.anubis | |
| 17 | - | |
| 18 | - read app_constants.anubis | |
| 19 | - read app_version.anubis | |
| 20 | -read web_pages/common/language_management.anubis | |
| 21 | -read web_pages/common/web_widgets.anubis | |
| 22 | -read calexium_lib/web/widgets/css_helper.anubis | |
| 23 | -read tools/base_tools.anubis | |
| 24 | -read utils.anubis | |
| 25 | - read types/app_web_types.anubis | |
| 26 | - | |
| 27 | - define Text_Option | |
| 28 | - menu_state_to_class | |
| 29 | - ( | |
| 30 | - MenuState state | |
| 31 | - ) | |
| 32 | - = | |
| 33 | - if state is | |
| 34 | - { | |
| 35 | - none then class("item_normal"), | |
| 36 | - highlight then class("item_highlight"), | |
| 37 | - sub then class("subitem"), | |
| 38 | - sub_and_highlight then class("subitem_highlight"), | |
| 39 | - disabled then class("item_disabled") | |
| 40 | - }. | |
| 41 | - | |
| 42 | - public define HTML_Off_Form | |
| 43 | - menu_title | |
| 44 | - ( | |
| 45 | - String view_text | |
| 46 | - ) = | |
| 47 | - literal("<h1 class=\"menu_title\">" + view_text + "</h1>"). | |
| 48 | - | |
| 49 | - public define HTML_Off_Form | |
| 50 | - menu_entry | |
| 51 | - ( | |
| 52 | - String view_text, | |
| 53 | - String action, | |
| 54 | - MenuState state | |
| 55 | - )= | |
| 56 | - paragraph([id(action), menu_state_to_class(state)], | |
| 57 | - actioner( same, same, | |
| 58 | - link([], view_text), | |
| 59 | - action, | |
| 60 | - [])). | |
| 61 | - | |
| 62 | - public define HTML_Off_Form | |
| 63 | - menu_entry | |
| 64 | - ( | |
| 65 | - String view_text, | |
| 66 | - String action, | |
| 67 | - $T val, | |
| 68 | - $T wanted | |
| 69 | - )= | |
| 70 | - if val = wanted then | |
| 71 | - menu_entry(view_text, action, highlight) | |
| 72 | - else | |
| 73 | - menu_entry(view_text, action, none). | |
| 74 | - | |
| 75 | - public define HTML_Off_Form | |
| 76 | - sub_menu_entry | |
| 77 | - ( | |
| 78 | - String view_text, | |
| 79 | - String action, | |
| 80 | - $T val, | |
| 81 | - $T wanted | |
| 82 | - )= | |
| 83 | - if val = wanted then | |
| 84 | - menu_entry(view_text, action, sub_and_highlight) | |
| 85 | - else | |
| 86 | - menu_entry(view_text, action, sub). | |
| 87 | - | |
| 88 | - | |
| 89 | - public define HTML_Off_Form | |
| 90 | - step_title | |
| 91 | - ( | |
| 92 | - String view_text | |
| 93 | - ) = | |
| 94 | - literal("<h1 class=\"wizard_title\">" + view_text + "</h1>"). | |
| 95 | - | |
| 96 | - public define HTML_Off_Form | |
| 97 | - step_entry | |
| 98 | - ( | |
| 99 | - String view_text, | |
| 100 | - String action, | |
| 101 | - $T val, | |
| 102 | - $T wanted, | |
| 103 | - List($T) stepsDone | |
| 104 | - )= | |
| 105 | - if contains(stepsDone, wanted) | val = wanted then | |
| 106 | - with state = if val = wanted then highlight | |
| 107 | - else none, | |
| 108 | - paragraph([id(action), menu_state_to_class(state)], | |
| 109 | - actioner( same, same, | |
| 110 | - link([], view_text), | |
| 111 | - action, | |
| 112 | - [])) | |
| 113 | - else | |
| 114 | - paragraph([id(action), class("item_disabled")], | |
| 115 | - literal(view_text)) | |
| 116 | - . | |
| 117 | - | |
| 118 | -public define HTML_In_Form | |
| 119 | - display_info_line | |
| 120 | - ( | |
| 121 | - String html_id, | |
| 122 | - String html_class, | |
| 123 | - String txt, | |
| 124 | - ) = | |
| 125 | - div([class(html_class)], literal(txt)). | |
| 126 | - | |
| 127 | -public define HTML_Off_Form | |
| 128 | - display_info_line | |
| 129 | - ( | |
| 130 | - String html_id, | |
| 131 | - String html_class, | |
| 132 | - String txt, | |
| 133 | - ) = | |
| 134 | - div([class(html_class)], literal(txt)). | |
| 135 | - | |
| 136 | -public define HTML_Off_Form | |
| 137 | - display_main_info_line | |
| 138 | - ( | |
| 139 | - String html_class, | |
| 140 | - String txt | |
| 141 | - ) = | |
| 142 | - display_info_line("informations", html_class, txt). | |
| 143 | - | |
| 144 | -// ************************************************************************************* | |
| 145 | -// *** Generic form | |
| 146 | -// ************************************************************************************* | |
| 147 | - | |
| 148 | -read calexium_lib/web/CXM_common.anubis | |
| 149 | - | |
| 150 | -public type Mandatory: // used to mark fields as mandatory. | |
| 151 | - mandatory, | |
| 152 | - non_mandatory. | |
| 153 | - | |
| 154 | -public type Width: | |
| 155 | - small, | |
| 156 | - narrow, | |
| 157 | - wide, | |
| 158 | - custom(Int). | |
| 159 | - | |
| 160 | -public type FormFieldWidth: | |
| 161 | - auto, | |
| 162 | - custom(Int). | |
| 163 | - | |
| 164 | -public type MF_FormTooltip: | |
| 165 | - tooltip(String title, String content, Int width). | |
| 166 | - | |
| 167 | -public type CXM_Form_Field: | |
| 168 | - no_field, // empty field | |
| 169 | - | |
| 170 | - //--- title field --------------------------------------------------------------------- | |
| 171 | - title (String text), | |
| 172 | -// title (Int text_size, | |
| 173 | -// String text), | |
| 174 | -// title_f (List(Text_Option) -> HTML_In_Form), | |
| 175 | - | |
| 176 | - //--- message field ------------------------------------------------------------------- | |
| 177 | - message (String text), | |
| 178 | - | |
| 179 | - //--- text input field ---------------------------------------------------------------- | |
| 180 | - input (List(InputAttrs) options, | |
| 181 | - String label, | |
| 182 | - HtmlId id, | |
| 183 | - WebArgName web_arg_name, | |
| 184 | - InitialValue init_value, | |
| 185 | - Width width, | |
| 186 | - Mandatory mandatory), | |
| 187 | - input_readonly (List(InputAttrs) options, | |
| 188 | - String label, | |
| 189 | - HtmlId id, | |
| 190 | - WebArgName web_arg_name, | |
| 191 | - InitialValue init_value, | |
| 192 | - Width width), | |
| 193 | - | |
| 194 | - //--- text area field ----------------------------------------------------------------- | |
| 195 | - text_area (List(TextAreaOption) options, | |
| 196 | - String label, | |
| 197 | - HtmlId id, | |
| 198 | - WebArgName web_arg_name, | |
| 199 | - InitialValue init_value, | |
| 200 | - Width width, | |
| 201 | - Int height, | |
| 202 | - Mandatory mandatory), | |
| 203 | - | |
| 204 | - //--- password input field ------------------------------------------------------------ | |
| 205 | - password_input (List(InputAttrs) options, | |
| 206 | - String label, | |
| 207 | - HtmlId id, | |
| 208 | - WebArgName web_arg_name, | |
| 209 | - InitialValue init_value, | |
| 210 | - Width width, | |
| 211 | - Mandatory mandatory), | |
| 212 | - | |
| 213 | - //--- hidden field ------------------------------------------------------------ | |
| 214 | - hidden (HtmlId id, | |
| 215 | - WebArgName web_arg_name, | |
| 216 | - InitialValue init_value), | |
| 217 | - //--- explanation field --------------------------------------------------------------- | |
| 218 | - explain (String text), | |
| 219 | - | |
| 220 | - //--- selector field ------------------------------------------------------------------ | |
| 221 | - selector (List(InputAttrs) options, | |
| 222 | - String label, | |
| 223 | - HtmlId id, | |
| 224 | - WebArgName web_arg_name, | |
| 225 | - Int size, | |
| 226 | - List(String) items, | |
| 227 | - Maybe(InitialValue) selected, | |
| 228 | - Mandatory mandatory), | |
| 229 | - selector_c (List(InputAttrs) options, | |
| 230 | - String label, | |
| 231 | - HtmlId id, | |
| 232 | - WebArgName web_arg_name, | |
| 233 | - Int size, | |
| 234 | - List((List(CoreAttrs),WebArgValue,String)) items, | |
| 235 | - Maybe(InitialValue) selected, | |
| 236 | - Mandatory mandatory), | |
| 237 | - | |
| 238 | - | |
| 239 | - | |
| 240 | - //--- checkbox field ------------------------------------------------------------------ | |
| 241 | - checkbox (List(InputAttrs) options, | |
| 242 | - String label, | |
| 243 | - HtmlId id, | |
| 244 | - WebArgName web_arg_name, | |
| 245 | - WebArgValue web_arg_value, | |
| 246 | - Bool checked, | |
| 247 | - Mandatory mandatory), | |
| 248 | - // the same one, but with the tag on the right of the checkbox | |
| 249 | - checkboxr (List(InputAttrs) options, | |
| 250 | - String label, | |
| 251 | - HtmlId id, | |
| 252 | - WebArgName web_arg_name, | |
| 253 | - WebArgValue web_arg_value, | |
| 254 | - Bool checked, | |
| 255 | - Mandatory mandatory), | |
| 256 | - | |
| 257 | - //--- radio-button field -------------------------------------------------------------- | |
| 258 | - radio_button (List(InputAttrs) options, | |
| 259 | - String label, | |
| 260 | - HtmlId id, | |
| 261 | - WebArgName web_arg_name, | |
| 262 | - WebArgValue web_arg_value, | |
| 263 | - Bool checked, | |
| 264 | - Mandatory mandatory), | |
| 265 | - // the same one, but with the tag on the right of the radio_button | |
| 266 | - radio_buttonr (List(InputAttrs) options, | |
| 267 | - String label, | |
| 268 | - HtmlId id, | |
| 269 | - WebArgName web_arg_name, | |
| 270 | - WebArgValue web_arg_value, | |
| 271 | - Bool checked, | |
| 272 | - Mandatory mandatory), | |
| 273 | - | |
| 274 | - radio_button_list (List(InputAttrs) options, | |
| 275 | - String label, | |
| 276 | - HtmlId id, | |
| 277 | - WebArgName web_arg_name, | |
| 278 | - List((WebArgValue, String)) web_arg_value, | |
| 279 | - Maybe(InitialValue) selected, | |
| 280 | - Mandatory mandatory, | |
| 281 | - Bool is_wide), | |
| 282 | - | |
| 283 | -// //--- fields table -------------------------------------------------------------------- | |
| 284 | -// fields_table (String tag, | |
| 285 | -// List(FormField) fields), | |
| 286 | -// | |
| 287 | -// //--- fields line --------------------------------------------------------------------- | |
| 288 | -// fields_line (String tag, | |
| 289 | -// List(FormField) fields), | |
| 290 | - one_line_fields (List(CXM_Form_Field) fields), | |
| 291 | - | |
| 292 | -// | |
| 293 | -// //--- preview field ------------------------------------------------------------------- | |
| 294 | -// preview (String html_text), | |
| 295 | - | |
| 296 | - //--- upload field ------------------------------------------------------------------- | |
| 297 | - upload (List(InputAttrs) options, | |
| 298 | - String label, | |
| 299 | - HtmlId id, | |
| 300 | - WebArgName name, | |
| 301 | - Width width, | |
| 302 | - Mandatory mandatory), | |
| 303 | - | |
| 304 | - raw_in_form (HTML_In_Form html), | |
| 305 | - raw_in_form (String label, | |
| 306 | - HtmlId id, | |
| 307 | - HTML_In_Form input), | |
| 308 | - div (List(CoreAttrs), HTML_In_Form content), | |
| 309 | - partial (HTML_Partial_Content p_content), | |
| 310 | - input_with_help (CXM_Form_Field field, | |
| 311 | - Maybe(String) help_title, | |
| 312 | - String help_text, | |
| 313 | - Int width), | |
| 314 | - | |
| 315 | - sub_fieldset (HTML_In_Form fieldset), | |
| 316 | - | |
| 317 | - blank_space, | |
| 318 | - blank_space (HtmlClass class), | |
| 319 | - | |
| 320 | - //--- submit button ------------------------------------------------------------------- | |
| 321 | - submit (List(CoreAttrs) options, | |
| 322 | - HtmlClass class, | |
| 323 | - String action_name, | |
| 324 | - Maybe(String) label, | |
| 325 | - String button_text, | |
| 326 | - List((String,String)) extra_operands), | |
| 327 | - empty. | |
| 328 | - | |
| 329 | -// ////////////////////////////////////////////// | |
| 330 | -// Alternative constructors: | |
| 331 | - | |
| 332 | -public define CXM_Form_Field | |
| 333 | - input(WebArgName n, InitialValue init_value, Width width) | |
| 334 | - = input([], "", htmlId(n.name), n, init_value, width, non_mandatory). | |
| 335 | - | |
| 336 | -public define CXM_Form_Field | |
| 337 | - input(String label, WebArgName n, InitialValue init_value, Width width) | |
| 338 | - = input([], label, htmlId(n.name), n, init_value, width, non_mandatory). | |
| 339 | - | |
| 340 | -public define CXM_Form_Field | |
| 341 | - input(String label, WebArgName n, InitialValue init_value, Width width, Mandatory mand) | |
| 342 | - = input([], label, htmlId(n.name), n, init_value, width, mand). | |
| 343 | - | |
| 344 | -public define CXM_Form_Field | |
| 345 | - input_readonly(String label, WebArgName n, InitialValue init_value, Width width) | |
| 346 | - = input_readonly([], label, htmlId(n.name), n, init_value, width). | |
| 347 | - | |
| 348 | -public define CXM_Form_Field | |
| 349 | - password_input(String label, WebArgName n, InitialValue init_value, Width width, Mandatory mand) | |
| 350 | - = password_input([], label, htmlId(n.name), n, init_value, width, mand). | |
| 351 | - | |
| 352 | -public define CXM_Form_Field | |
| 353 | - checkbox(String label, WebArgName n, WebArgValue value, Bool checked, Mandatory mand) | |
| 354 | - = checkbox([], label, htmlId(n.name), n, value, checked, mand). | |
| 355 | - | |
| 356 | -public define CXM_Form_Field | |
| 357 | - checkboxr(String label, WebArgName n, WebArgValue value, Bool checked, Mandatory mand) | |
| 358 | - = checkboxr([], label, htmlId(n.name), n, value, checked, mand). | |
| 359 | - | |
| 360 | -public define CXM_Form_Field | |
| 361 | - radio_button(String label, WebArgName n, WebArgValue value, Bool checked, Mandatory mand) | |
| 362 | - = radio_button([], label, htmlId(n.name), n, value, checked, mand). | |
| 363 | - | |
| 364 | -public define CXM_Form_Field | |
| 365 | - radio_buttonr(String label, WebArgName n, WebArgValue value, Bool checked, Mandatory mand) | |
| 366 | - = radio_buttonr([], label, htmlId(n.name), n, value, checked, mand). | |
| 367 | - | |
| 368 | -public define CXM_Form_Field | |
| 369 | - submit(String action_name, HtmlClass class, Maybe(String) label, String button_text, List((String,String)) extra_operands) | |
| 370 | - = submit([], class, action_name, label, button_text, extra_operands). | |
| 371 | - | |
| 372 | -public define CXM_Form_Field | |
| 373 | - submit(String action_name, Maybe(String) label, String button_text, List((String,String)) extra_operands) | |
| 374 | - = submit([], htmlClass(""), action_name, label, button_text, extra_operands). | |
| 375 | - | |
| 376 | -public define CXM_Form_Field | |
| 377 | - upload(String label, HtmlId id, WebArgName name, Width width) | |
| 378 | - = upload([], label, id, name, width, non_mandatory). | |
| 379 | - | |
| 380 | -public define CXM_Form_Field | |
| 381 | - upload(String label, HtmlId id, WebArgName name, Width width, Mandatory mand) | |
| 382 | - = upload([], label, id, name, width, mand). | |
| 383 | - | |
| 384 | -public define CXM_Form_Field | |
| 385 | - input_with_help (CXM_Form_Field field, String help_text) | |
| 386 | - = input_with_help (field, failure, help_text, 250). | |
| 387 | - | |
| 388 | -public define CXM_Form_Field | |
| 389 | - input_with_help (CXM_Form_Field field, String help_text, Int width) | |
| 390 | - = input_with_help (field, failure, help_text, width). | |
| 391 | - | |
| 392 | -public define CXM_Form_Field | |
| 393 | - ip_input | |
| 394 | - ( | |
| 395 | - String label, | |
| 396 | - HtmlId id, | |
| 397 | - WebArgName wan_prefix, | |
| 398 | - String ip | |
| 399 | - )= | |
| 400 | - raw_in_form( | |
| 401 | - label, | |
| 402 | - id, | |
| 403 | - ip_input(id, wan_prefix, ip) | |
| 404 | - ). | |
| 405 | - | |
| 406 | - | |
| 407 | -public define CXM_Form_Field | |
| 408 | - partial_ip_input | |
| 409 | - ( | |
| 410 | - String label, | |
| 411 | - HtmlId id, | |
| 412 | - WebArgName wan_prefix, | |
| 413 | - List(String) ip_fixed_part, | |
| 414 | - String ip | |
| 415 | - )= | |
| 416 | - raw_in_form( | |
| 417 | - label, | |
| 418 | - id, | |
| 419 | - partial_ip_input(id, wan_prefix, ip_fixed_part, ip) | |
| 420 | - ). | |
| 421 | - | |
| 422 | -public define CXM_Form_Field | |
| 423 | - hidden | |
| 424 | - ( | |
| 425 | - WebArgName web_arg_name, | |
| 426 | - InitialValue init_value | |
| 427 | - )= | |
| 428 | - if web_arg_name is wan(name) then | |
| 429 | - hidden(htmlId(name), web_arg_name, init_value). | |
| 430 | - | |
| 431 | - | |
| 432 | - //--- explanation field --------------------- | |
| 433 | - | |
| 434 | -// ////////////////////////////////////////////////////////// | |
| 435 | - | |
| 436 | -public define HTML_In_Form | |
| 437 | - cxm_format_form_field | |
| 438 | - ( | |
| 439 | - CXM_Form_Field ff | |
| 440 | - ) = | |
| 441 | - with star = (Mandatory m) |-> (String) | |
| 442 | - if m is | |
| 443 | - { | |
| 444 | - mandatory then "<span>*</span>", | |
| 445 | - non_mandatory then "" | |
| 446 | - }, | |
| 447 | - pixels = (Width width) |-> | |
| 448 | - if width is | |
| 449 | - { | |
| 450 | - small then 10, | |
| 451 | - narrow then 50, | |
| 452 | - wide then 70, | |
| 453 | - custom(n) then n | |
| 454 | - }, | |
| 455 | - // special case out of the div("inputable") tag. | |
| 456 | -// if ff is submit(attrs, action_name, mb_label, button_text, extra_operands) then | |
| 457 | -// mf_format_form_field_inside_inputable(ff, star, pixels) | |
| 458 | -// else if ff is hidden(name, init) then | |
| 459 | -// mf_format_form_field_inside_inputable(ff, star, pixels) | |
| 460 | -// else if ff is sub_fieldset(fieldset) then | |
| 461 | -// mf_format_form_field_inside_inputable(ff, star, pixels) | |
| 462 | -// else | |
| 463 | -// div([class("inputable")], | |
| 464 | -// mf_format_form_field_inside_inputable(ff, star, pixels)) | |
| 465 | - | |
| 466 | -// sequence([ | |
| 467 | -// literal(" <tr class=\"form_row\">\n"), | |
| 468 | -// mf_format_form_field_inside_inputable(ff, star, pixels, failure), | |
| 469 | -// literal(" </tr>\n"), | |
| 470 | -// ]) | |
| 471 | - | |
| 472 | - if ff is | |
| 473 | - { | |
| 474 | - no_field then | |
| 475 | - literal(""), | |
| 476 | - | |
| 477 | - title(t) then | |
| 478 | - literal("<h2>" + t + "</h2>"), | |
| 479 | - | |
| 480 | -// title(s,t) then | |
| 481 | -// text([h_center, size(s),bold,color(rgb(0,0,0))], t), | |
| 482 | -// | |
| 483 | -// title_f(t) then | |
| 484 | -// t([h_center, size(16),bold,color(rgb(0,0,0))]), | |
| 485 | - | |
| 486 | - message(t) then | |
| 487 | - literal(t), | |
| 488 | - | |
| 489 | - input(options, label, id, name, init, w, mand) then | |
| 490 | - text_input([class("in") . options], label + star(mand), id, name, init, pixels(w)), | |
| 491 | - | |
| 492 | - input_readonly(options, label, id, name, init, w) then | |
| 493 | - text_input_ro([class("in") . options], label, id, name, init, pixels(w)), | |
| 494 | - | |
| 495 | - text_area(options, label, id, name, init, w, height, mand) then | |
| 496 | - text_area([input_attrs([class("in")]) . options], label + star(mand), id, name, init, pixels(w), height), | |
| 497 | - | |
| 498 | - password_input(options, label, id, name, init, w, mand) then | |
| 499 | - password_input([class("in") . options], label + star(mand), id, name, init, pixels(w)), | |
| 500 | - | |
| 501 | - hidden(id, name, init) then | |
| 502 | - hidden(id, name, init), | |
| 503 | - | |
| 504 | - explain(t) then | |
| 505 | - div([class("sub")], literal(t)), | |
| 506 | - | |
| 507 | - selector(options, label, id, wan, size, items, selected, mand) then | |
| 508 | - if selected is | |
| 509 | - { | |
| 510 | - failure then selector(options, label + star(mand), id, wan, size, items), | |
| 511 | - success(init) then selector(options, label + star(mand), id, wan, size, items, init), | |
| 512 | - }, | |
| 513 | - | |
| 514 | - selector_c(options, label, id, wan, size, items, selected, mand) then | |
| 515 | - if selected is | |
| 516 | - { | |
| 517 | - failure then selector_c(options, label + star(mand), id, wan, size, items), | |
| 518 | - success(init) then selector_c(options, label + star(mand), id, wan, size, items, init), | |
| 519 | - }, | |
| 520 | - | |
| 521 | - checkbox(options, label, id, name, val, checked, mand) then | |
| 522 | - check_box(options, label + star(mand), id, name, val, checked), | |
| 523 | - | |
| 524 | - checkboxr(options, label, id, name, val, checked, mand) then | |
| 525 | - check_box_r(options, label + star(mand), id, name, val, checked), | |
| 526 | - | |
| 527 | - radio_button(options, label, id, name, val, checked, mand) then | |
| 528 | - radio_button(options, label + star(mand), id, name, val, checked), | |
| 529 | - | |
| 530 | - radio_buttonr(options, label, id, name, val, checked, mand) then | |
| 531 | - radio_button_r(options, label + star(mand), id, name, val, checked), | |
| 532 | - | |
| 533 | - radio_button_list (options, label, id, wan, items, selected, mand, wide) then | |
| 534 | - sequence([ | |
| 535 | - literal("<label for=\"" + wan.name + "\">" + label + star(mand) + "</label>"), | |
| 536 | - div( [class("radiolist")], sequence( | |
| 537 | - with i = var((Int)-1), | |
| 538 | - itemclass = if wide then "radiolistitem_wide" else "radiolistitem", | |
| 539 | - map( ((WebArgValue, String) item) |-> | |
| 540 | - i <- *i + 1; | |
| 541 | - if item is (wav, item_label) then | |
| 542 | - with id = if id is htmlId(the_id) then htmlId(the_id + "_radio_" + *i), | |
| 543 | - div([class(itemclass)], radio_button_r(options, item_label, id, wan, wav, | |
| 544 | - if selected is success(v) then wav.value = v.value else false)), | |
| 545 | - items)) | |
| 546 | - ), | |
| 547 | - ]), | |
| 548 | - one_line_fields(fields) then | |
| 549 | - table([nude],[row([], | |
| 550 | - map((CXM_Form_Field ff2) |-> cell([],cxm_format_form_field(ff2)),fields))]) | |
| 551 | - , | |
| 552 | - | |
| 553 | - | |
| 554 | - upload(options, label, id, name, w, mand) then | |
| 555 | - file_upload(options, label + star(mand), id, name, pixels(w)), | |
| 556 | - | |
| 557 | - raw_in_form(html) then | |
| 558 | - html, | |
| 559 | -// div([class("in")], html), | |
| 560 | - raw_in_form(label, id, input) then | |
| 561 | - sequence([ | |
| 562 | - if id is htmlId(id) then | |
| 563 | - literal("<label for=\"" + id + "\">" + label + "</label>"), | |
| 564 | - input]), | |
| 565 | - div(options, e) then div(options, e), | |
| 566 | - partial(p_content) then partial(p_content), | |
| 567 | - input_with_help(input, help_title, help_text, width) then | |
| 568 | - sequence([ | |
| 569 | - cxm_format_form_field(input), | |
| 570 | - html_tooltip(force_String(help_title), help_text, width), | |
| 571 | - ]), | |
| 572 | - | |
| 573 | - sub_fieldset(fieldset) then | |
| 574 | - fieldset, | |
| 575 | - | |
| 576 | - blank_space then | |
| 577 | - div([class("blank_space")], literal(" ")), | |
| 578 | - | |
| 579 | - blank_space(htmlClass) then | |
| 580 | - div([class(htmlClass.class)], literal(" ")), | |
| 581 | - | |
| 582 | - submit(attrs, htmlClass, action_name, mb_label, button_text, extra_operands) then | |
| 583 | - actioner( same, // TODO change this to allow external URL | |
| 584 | - if mb_label is | |
| 585 | - { | |
| 586 | - failure then same, | |
| 587 | - success(n) then same(n) | |
| 588 | - }, | |
| 589 | - submit(attrs + [class(htmlClass.class)], button_text), | |
| 590 | - action_name, | |
| 591 | - extra_operands | |
| 592 | - ), | |
| 593 | - empty then literal("") | |
| 594 | - }. | |
| 595 | - | |
| 596 | -public define HTML_In_Form | |
| 597 | - cxm_generic_fieldset | |
| 598 | - ( | |
| 599 | - List(CoreAttrs) options, | |
| 600 | - String legend, | |
| 601 | - List(CXM_Form_Field)fields | |
| 602 | - ) = | |
| 603 | - sequence([ | |
| 604 | - literal("<fieldset" + format_attrs(options) + ">"), | |
| 605 | - literal(if length(legend) > 0 then "<legend>" + legend + "</legend>" else ""), | |
| 606 | - sequence( map((CXM_Form_Field ff) |-> div([class("form_field")], cxm_format_form_field(ff)), fields) ), | |
| 607 | - literal("</fieldset>")]). | |
| 608 | - | |
| 609 | -public define HTML_In_Form | |
| 610 | - cxm_generic_fieldset | |
| 611 | - ( | |
| 612 | - HtmlId fieldSetId, | |
| 613 | - List(CXM_Form_Field)fields | |
| 614 | - ) = | |
| 615 | - cxm_generic_fieldset([id(fieldSetId.id), class("aligned")], "", fields). | |
| 616 | - | |
| 617 | -public define HTML_Off_Form | |
| 618 | - cxm_generic_form | |
| 619 | - ( | |
| 620 | - String form_name, | |
| 621 | - List(CoreAttrs) options, | |
| 622 | - String action_name, | |
| 623 | - List((String,String)) extra_ops, | |
| 624 | - List(HTML_In_Form) fieldSets | |
| 625 | - ) = | |
| 626 | - //div([class("formulaire")], | |
| 627 | - form( form_name, | |
| 628 | - [class("formulaire") . options], | |
| 629 | - action_name, | |
| 630 | - extra_ops, | |
| 631 | - sequence( fieldSets ) | |
| 632 | - // ) | |
| 633 | - ). | |
| 634 | - | |
| 635 | -public define HTML_Off_Form | |
| 636 | - cxm_generic_form | |
| 637 | - ( | |
| 638 | - String form_name, | |
| 639 | - List(CoreAttrs) options, | |
| 640 | - List(HTML_In_Form) fieldSets | |
| 641 | - ) = | |
| 642 | - //div([class("formulaire")], | |
| 643 | - form( form_name, | |
| 644 | - [class("formulaire") . options], | |
| 645 | - sequence( fieldSets ) | |
| 646 | - // ) | |
| 647 | - ). | |
| 648 | - | |
| 649 | -public define HTML_Off_Form | |
| 650 | - cxm_generic_form | |
| 651 | - ( | |
| 652 | - String form_name, | |
| 653 | - List(CoreAttrs) options, | |
| 654 | - HtmlId fieldSetId, | |
| 655 | - String action_name, | |
| 656 | - List((String,String)) extra_ops, | |
| 657 | - | |
| 658 | - List(CXM_Form_Field) fields | |
| 659 | - ) = | |
| 660 | - cxm_generic_form(form_name, options, action_name, extra_ops, | |
| 661 | - [ | |
| 662 | - cxm_generic_fieldset([id(fieldSetId.id), class("aligned")], "", fields) | |
| 663 | - ]). | |
| 664 | - | |
| 665 | -public define HTML_Off_Form | |
| 666 | - cxm_generic_form | |
| 667 | - ( | |
| 668 | - String form_name, | |
| 669 | - List(CoreAttrs) options, | |
| 670 | - HtmlId fieldSetId, | |
| 671 | - List(CXM_Form_Field) fields | |
| 672 | - ) = | |
| 673 | - cxm_generic_form(form_name, options, | |
| 674 | - [ | |
| 675 | - cxm_generic_fieldset([id(fieldSetId.id), class("aligned")], "", fields) | |
| 676 | - ]). | |
| 677 | - | |
| 678 | -public define HTML_Off_Form | |
| 679 | - cxm_generic_form | |
| 680 | - ( | |
| 681 | - String form_name, | |
| 682 | - List(HTML_In_Form) fieldSets | |
| 683 | - ) = | |
| 684 | - cxm_generic_form(form_name, [], fieldSets). | |
| 685 | - | |
| 686 | -public define HTML_Off_Form | |
| 687 | - cxm_generic_form | |
| 688 | - ( | |
| 689 | - String form_name, | |
| 690 | - HtmlId fieldSetId, | |
| 691 | - List(CXM_Form_Field) fields | |
| 692 | - ) = | |
| 693 | - cxm_generic_form(form_name, [], fieldSetId, fields). | |
| 694 | - | |
| 695 | - |