/*
* Created by PyramIDE.
* User: フランスのトトロ
* Date: 07/12/2014
* Time: 16:49
* © David RENÉ
*/
// *************************************************************************************
// *** Generic form
// *************************************************************************************
read tools/basis.anubis
read system/string.anubis
read calexium_lib/web/CXM_common.anubis
read calexium_lib/web/CXM_web_arg_utils.anubis
read calexium_lib/web/CXM_making_a_web_site.anubis
read calexium_lib/web/CXM_html_tooltip.anubis
read calexium_lib/web/CXM_widgets.anubis
read calexium_lib/web/widgets/specialized_elements.anubis
public type Mandatory: // used to mark fields as mandatory.
mandatory,
non_mandatory.
public type Width:
small, //10 char
narrow_small, //20 char
narrow, //50 char
wide, //70 char
custom(Int).
public type FormFieldWidth:
auto,
custom(Int).
public type CXM_Form_Field:
no_field, // empty field
//--- title field ---------------------------------------------------------------------
title(
String text
),
//--- message field -------------------------------------------------------------------
message(
String text
),
//--- text input field ----------------------------------------------------------------
input(
List(CoreAttrs) options,
HTML_Label label,
HTML_Id id,
WebArgName web_arg_name,
InitialValue init_value,
Width width,
Mandatory mandatory
),
input_readonly(
List(CoreAttrs) options,
HTML_Label label,
HTML_Id id,
WebArgName web_arg_name,
InitialValue init_value,
Width width
),
//--- text area field -----------------------------------------------------------------
text_area(
List(TextAreaOption) options,
HTML_Label label,
HTML_Id id,
WebArgName web_arg_name,
InitialValue init_value,
Width width,
Int height,
Mandatory mandatory
),
//--- password input field ------------------------------------------------------------
password_input(
List(CoreAttrs) options,
HTML_Label label,
HTML_Id id,
WebArgName web_arg_name,
InitialValue init_value,
Width width,
Mandatory mandatory),
//--- phone field ------------------------------------------------------------
phone_input(
Maybe(List(CoreAttrs)) sms_icon_options, //if there is sms available it's success with the options (generally the js call to edit sms)
List(CoreAttrs) phone_icon_options,
List(CoreAttrs) text_options,
HTML_Label label,
HTML_Id id,
WebArgName web_arg_name,
InitialValue init_value,
Phone_Type phone_type,
Width width,
Mandatory mandatory),
//--- email field ------------------------------------------------------------
email_input(
List(CoreAttrs) icon_options,
List(CoreAttrs) options,
HTML_Label label,
HTML_Id id,
WebArgName web_arg_name,
InitialValue init_value,
Width width,
Mandatory mandatory),
//--- url field ------------------------------------------------------------
url_input(
List(CoreAttrs) icon_options,
List(CoreAttrs) options,
HTML_Label label,
HTML_Id id,
WebArgName web_arg_name,
InitialValue init_value,
Width width,
Mandatory mandatory),
//--- hidden field ------------------------------------------------------------
hidden(
HTML_Id id,
WebArgName web_arg_name,
WebArgValue init_value
),
//--- explanation field ---------------------------------------------------------------
explain(
String text
),
//--- selector field ------------------------------------------------------------------
selector(
List(CoreAttrs) options,
HTML_Label label,
HTML_Id id,
WebArgName web_arg_name,
Int size,
List(String) items,
Maybe(InitialValue) selected,
Mandatory mandatory
),
selector_c(
List(CoreAttrs) options,
HTML_Label label,
HTML_Id id,
WebArgName web_arg_name,
Int size,
List((List(CoreAttrs), WebArgValue, String)) items,
Maybe(InitialValue) selected,
Mandatory mandatory
),
selector_hide_show (List(CoreAttrs) options,
HTML_Label label,
HTML_Id id,
WebArgName web_arg_name,
Int size,
List((List(CoreAttrs), WebArgValue, String, HTML_Partial_Content)) items,
Maybe(InitialValue) selected,
Mandatory mandatory),
//--- checkbox field ------------------------------------------------------------------
checkbox (List(CoreAttrs) options,
HTML_Label label,
HTML_Id id,
WebArgName web_arg_name,
Bool checked,
Mandatory mandatory),
// the same one, but with the tag on the right of the checkbox
checkboxr(
List(CoreAttrs) options,
HTML_Label label,
HTML_Id id,
WebArgName web_arg_name,
Bool checked,
Mandatory mandatory
),
//checkbox_hide_show
checkbox_hide_show(
List(CoreAttrs) options,
HTML_Label label,
WebArgName web_arg_name,
Bool checked,
List(CXM_Form_Field) fields
),
//--- radio-button field --------------------------------------------------------------
radio_button(
List(CoreAttrs) options,
HTML_Label label,
HTML_Id id,
WebArgName web_arg_name,
WebArgValue web_arg_value,
Bool checked,
Mandatory mandatory
),
//radio_button_hide_show
radio_button_hide_show(
List(CoreAttrs) options,
HTML_Label label,
WebArgName web_arg_name,
WebArgValue web_arg_value,
Bool checked,
List(CXM_Form_Field) fields
),
// the same one, but with the tag on the right of the radio_button
radio_buttonr (List(CoreAttrs) options,
HTML_Label label,
HTML_Id id,
WebArgName web_arg_name,
WebArgValue web_arg_value,
Bool checked,
Mandatory mandatory),
radio_button_list(
List(CoreAttrs) options,
HTML_Label label,
HTML_Id id,
WebArgName web_arg_name,
List((WebArgValue, String)) web_arg_value,
Maybe(InitialValue) selected,
Mandatory mandatory,
Bool is_wide),
// //--- fields table --------------------------------------------------------------------
// fields_table (String tag,
// List(FormField) fields),
//
// //--- fields line ---------------------------------------------------------------------
// fields_line (String tag,
// List(FormField) fields),
one_line_fields (List(CXM_Form_Field) fields),
//
// //--- preview field -------------------------------------------------------------------
// preview (String html_text),
//--- upload field -------------------------------------------------------------------
upload (List(CoreAttrs) options,
HTML_Label label,
HTML_Id id,
WebArgName name,
Width width,
Mandatory mandatory),
raw_in_form (HTML_In_Form html),
label_for ( String label,
HTML_Id id,
HTML_In_Form input),
div (List(CoreAttrs), List(HTML_In_Form) contents),
div (List(CoreAttrs), List(CXM_Form_Field) fields),
partial (HTML_Partial_Content p_content),
br,
hr (List(CoreAttrs) options),
// input_with_help (CXM_Form_Field field,
// Maybe(String) help_title,
// String help_text,
// Int width),
fieldset (List(CoreAttrs) options,
String legend,
List(CXM_Form_Field) fields),
blank_space,
blank_space (HtmlClass class),
//--- submit button -------------------------------------------------------------------
submit (List(CoreAttrs) options,
HtmlClass class,
WEB_Action_Name action_name,
Maybe(String) label,
String button_text,
List((String,String)) extra_operands),
empty.
// //////////////////////////////////////////////
// Alternate constructors:
public define CXM_Form_Field
fieldset
(
HTML_Id fieldSetId,
List(CXM_Form_Field) fields
) =
fieldset([id(fieldSetId.id)], "", fields).
public define CXM_Form_Field
fieldset
(
List(CXM_Form_Field) fields
) =
fieldset([], "", fields).
public define CXM_Form_Field
fieldset
(
String legend,
List(CXM_Form_Field) fields
) =
fieldset([], legend, fields).
public define CXM_Form_Field
input(WebArgName n, InitialValue init_value, Width width)
= input([], no_label, html_Id(n.name), n, init_value, width, non_mandatory).
public define CXM_Form_Field
input(HTML_Label label, WebArgName n, InitialValue init_value, Width width)
= input([], label, html_Id(n.name), n, init_value, width, non_mandatory).
public define CXM_Form_Field
input(HTML_Label label, WebArgName n, InitialValue init_value, Width width, Mandatory mand)
= input([], label, html_Id(n.name), n, init_value, width, mand).
public define CXM_Form_Field
input(HTML_Label label, HTML_Id id, WebArgName n, InitialValue init_value, Width width, Mandatory mand)
= input([], label, id, n, init_value, width, mand).
public define CXM_Form_Field
input(List(CoreAttrs) options, HTML_Label label, WebArgName n, InitialValue init_value, Width width, Mandatory mand)
= input(options, label, html_Id(n.name), n, init_value, width, mand).
public define CXM_Form_Field
input_readonly(HTML_Label label, WebArgName n, InitialValue init_value, Width width)
= input_readonly([], label, html_Id(n.name), n, init_value, width).
public define CXM_Form_Field
password_input(HTML_Label label, WebArgName n, InitialValue init_value, Width width, Mandatory mand)
= password_input([], label, html_Id(n.name), n, init_value, width, mand).
public define CXM_Form_Field
checkbox(HTML_Label label, WebArgName n, Bool checked, Mandatory mand)
= checkbox([], label, html_Id(n.name), n, checked, mand).
public define CXM_Form_Field
checkboxr(HTML_Label label, WebArgName n, Bool checked, Mandatory mand)
= checkboxr([], label, html_Id(n.name), n, checked, mand).
public define CXM_Form_Field
radio_button(HTML_Label label, WebArgName n, WebArgValue value, Bool checked, Mandatory mand)
= radio_button([], label, html_Id(n.name), n, value, checked, mand).
public define CXM_Form_Field
radio_buttonr(HTML_Label label, WebArgName n, WebArgValue value, Bool checked, Mandatory mand)
= radio_buttonr([], label, html_Id(n.name), n, value, checked, mand).
public define CXM_Form_Field
submit(WEB_Action_Name action_name, HtmlClass class, Maybe(String) label, String button_text, List((String,String)) extra_operands)
= submit([], class, action_name, label, button_text, extra_operands).
public define CXM_Form_Field
submit(WEB_Action_Name action_name, Maybe(String) label, String button_text, List((String,String)) extra_operands)
= submit([], htmlClass(""), action_name, label, button_text, extra_operands).
public define CXM_Form_Field
submit(WEB_Action_Name action_name, Maybe(String) label, String button_text)
= submit([], htmlClass(""), action_name, label, button_text, []).
public define CXM_Form_Field //Helper for older project wich use only String as Action name
submit(String _action_name, Maybe(String) label, String button_text, List((String,String)) extra_operands)
= submit([], htmlClass(""), action_name(_action_name), label, button_text, extra_operands).
public define CXM_Form_Field
upload(HTML_Label label, HTML_Id id, WebArgName name, Width width)
= upload([], label, id, name, width, non_mandatory).
public define CXM_Form_Field
upload(HTML_Label label, HTML_Id id, WebArgName name, Width width, Mandatory mand)
= upload([], label, id, name, width, mand).
public define CXM_Form_Field
input_with_help (CXM_Form_Field field, String help_text)
= input_with_help (field, failure, help_text, 250).
public define CXM_Form_Field
input_with_help (CXM_Form_Field field, String help_text, Int width)
= input_with_help (field, failure, help_text, width).
public define CXM_Form_Field
ip_input
(
String label,
HTML_Id id,
WebArgName wan_prefix,
String ip
)=
label_for(
label,
id,
ip_input(id, wan_prefix, ip)
).
public define CXM_Form_Field
partial_ip_input
(
String label,
HTML_Id id,
WebArgName wan_prefix,
List(String) ip_fixed_part,
String ip
)=
label_for(
label,
id,
partial_ip_input(id, wan_prefix, ip_fixed_part, ip)
).
public define CXM_Form_Field
hidden
(
WebArgName web_arg_name,
WebArgValue value
)=
hidden(html_Id(""), web_arg_name, value).
public define CXM_Form_Field
hr
=
hr([])
.
public define CXM_Form_Field
div
(
List(CoreAttrs) attrs,
HTML_In_Form content
)=
div(attrs, [content])
.
public define CXM_Form_Field
div
(
HTML_In_Form content
)=
div([], [content])
.
//--- explanation field ---------------------
// //////////////////////////////////////////////////////////
define (List((List(CoreAttrs), WebArgValue, String)), List(HTML_Partial_Content))
construct_selector_hide_show
(
String div_id,
List((List(CoreAttrs), WebArgValue, String, HTML_Partial_Content)) items,
List((List(CoreAttrs), WebArgValue, String)) so_far_1,
List(HTML_Partial_Content) so_far_2,
Int n
) =
if items is
{
[] then (so_far_1, so_far_2),
[h . t] then
since h is (cores, wav, label, content),
with linked_element = div_id + n,
construct_selector_hide_show(div_id, t, [([data("linked_element", linked_element) . cores], wav, label) . so_far_1], [ partial_content([], div([id(linked_element), style("display: none")], content)) . so_far_2 ], n + 1)
}.
define (List((List(CoreAttrs), WebArgValue, String)), List(HTML_Partial_Content))
construct_selector_hide_show
(
String div_id,
List((List(CoreAttrs), WebArgValue, String, HTML_Partial_Content)) items
) = construct_selector_hide_show(div_id, items, [], [], 0).
public define HTML_In_Form
format_div_CXM_Form_Field
(
List(CXM_Form_Field) field,
List(Web_arg) lwa,
String _class,
Bool b_with_label
).
public define HTML_In_Form
format_CXM_Form_Field
(
CXM_Form_Field ff, //CXM_Form_Field to format
List(Web_arg) lwa, //web arguments of the session, can be useful for the current drawing
String _class,
Bool b_with_label //if false, no need to show/generate label
) =
with star = (HTML_Label l, Mandatory m)
|->
(HTML_Label)
if b_with_label then
if m is
{
mandatory then
if l is
{
no_label then l,
label(str, help) then label(str + "*", help),
}
non_mandatory then l
}
else
no_label
,
pixels = (Width width)
|->
if width is
{
small then 10,
narrow_small then 20,
narrow then 50,
wide then 70,
custom(n) then n
},
if ff is
{
no_field then
empty,
title(t) then
literal("
"+t+"
"),
message(t) then
literal(t),
input(options, _label, id, wan, default, w, mand) then
text_input([class("in") . options], star(_label, mand), id, wan, init(get_String(lwa, wan.name, default.value)), pixels(w)),
input_readonly(options, _label, id, name, init, w) then
text_input_ro([class("in") . options], _label, id, name, init, pixels(w)),
text_area(options, _label, id, wan, default, w, height, mand) then
text_area([input_attrs([class("in")]) . options], star(_label, mand), id, wan, init(get_String(lwa, wan.name, default.value)), pixels(w), height),
password_input(options, _label, id, name, init, w, mand) then
password_input([class("in") . options], star(_label, mand), id, name, init, pixels(w)),
phone_input(mb_sms_options, icon_options, options, _label, id, wan, default, phone_type, w, mand) then
sequence([
if mb_sms_options is
{
failure then empty,
success(sms_options) then image([event(onmouseover, "/icons/16x16/send_sms.png")]+sms_options, "/icons/16x16/sms.png", "")
},
image(icon_options, "/icons/16x16/"+to_Icon(phone_type), ""),
text_input([class("in") . options], star(_label, mand), id, wan, init(get_String(lwa, wan.name, default.value)), pixels(w)),
]),
email_input(icon_options, options, _label, id, wan, default, w, mand) then
sequence([
image(icon_options, "/icons/16x16/email_edit.png", ""),
text_input([class("in") . options], star(_label, mand), id, wan, init(get_String(lwa, wan.name, default.value)), pixels(w)),
]),
url_input(icon_options, options, _label, id, wan, default, w, mand) then
sequence([
image(icon_options, "/icons/16x16/url.png", ""),
text_input([class("in") . options], star(_label, mand), id, wan, init(get_String(lwa, wan.name, default.value)), pixels(w)),
]),
hidden(id, name, init) then
hidden(id, name, init),
explain(t) then
div([class("sub")], literal(t)),
selector(options, _label, id, wan, size, items, selected, mand) then
if selected is
{
failure then selector([class("in") . options], star(_label, mand), id, wan, size, items),
success(default) then selector([class("in") . options], star(_label, mand), id, wan, size, items, init(get_String(lwa, wan.name, default.value))),
},
selector_c(options, _label, id, wan, size, items, selected, mand) then
if selected is
{
failure then selector_c([class("in") . options], star(_label, mand), id, wan, size, items),
success(default) then selector_c([class("in") . options], star(_label, mand), id, wan, size, items, init(get_String(lwa, wan.name, default.value))),
},
selector_hide_show(options, _label, id, wan, size, items_with_partial, selected, mand) then
with div_id = generate_random_string(15),
since construct_selector_hide_show(div_id, items_with_partial) is (items, partial_content_list),
sequence([
selector_c([class("in"), class("cxm_selector_hide_show"), event(onchange, "select_hide_show('" + div_id + "', this);")], star(_label, mand), id, wan, size, reverse(items), if selected is { failure then init(""), success(default) then init(get_String(lwa, wan.name, default.value)) } ),
partial(partial_content(partial_content_list))
]),
checkbox(options, _label, id, wan, checked, mand) then
check_box([class("in") . options], star(_label, mand), id, wan, get_Bool(lwa, wan.name, checked)),
checkboxr(options, _label, id, wan, checked, mand) then
check_box_r([class("in") . options], star(_label, mand), id, wan, get_Bool(lwa, wan.name, checked)),
checkbox_hide_show(options, _label, wan, checked, fields) then
with div_id = generate_random_string(15),
sequence([
check_box([data("show_id", div_id), class("in"), class("cxm_checkbox_hide_show"), event(onclick, "checked_hide_show_element('"+div_id+"', this);")], _label, html_Id("checkbox_"+div_id), wan, get_Bool(lwa, wan.name, checked)),
div([id(div_id), style("display:"+if checked then "block" else "none")], format_div_CXM_Form_Field(fields, lwa, _class, b_with_label))
]),
radio_button(options, _label, id, wan, val, checked, mand) then
radio_button([class("in"), event(onclick, "radio_hide_show_group('"+wan.name+"', this);") . options], star(_label, mand), id, wan, val, get_Bool(lwa, wan.name, checked)),
radio_button_hide_show(options, _label, wan, val, checked, fields) then
with div_id = generate_random_string(15),
sequence([
radio_button([data("show_id", div_id), class("in"), class("cxm_radio_hide_show"), event(onclick, "radio_hide_show_group('"+wan.name+"', this);")], _label, html_Id("radio_button_hide_show_"+div_id), wan, val, get_Bool(lwa, wan.name, checked)),
div([id(div_id), style("display:"+if checked then "block" else "none")], format_div_CXM_Form_Field(fields, lwa, _class, b_with_label))
]),
radio_buttonr(options, _label, id, wan, val, checked, mand) then
radio_button_r([class("in") . options], star(_label, mand), id, wan, val, get_Bool(lwa, wan.name, checked)),
radio_button_list (options, _label, id, wan, items, selected, mand, wide) then
with new_selected =
if get_String(lwa, wan.name) is
{
failure then selected,
success(value) then success(init(value))
},
sequence([
//literal(""),
div( [class("radiolist")], sequence(
with i = var((Int)-1),
itemclass = if wide then "radiolistitem_wide" else "radiolistitem",
map( ((WebArgValue, String) item) |->
i <- *i + 1;
if item is (wav, item_label) then
with _id = if id is html_Id(the_id) then html_Id(the_id + "_radio_" + *i),
div([class(itemclass)], radio_button_r(options, label(item_label), _id, wan, wav,
if new_selected is success(v) then wav.value = v.value else false)),
items))
),
]),
one_line_fields(fields) then
table([nude, class("form_one_line")],[row([],
map((CXM_Form_Field ff2) |-> cell([],format_CXM_Form_Field(ff2, lwa, _class, b_with_label)),fields))])
,
upload(options, _label, id, name, w, mand) then
file_upload([class("in") . options], star(_label, mand), id, name, pixels(w)),
raw_in_form(html) then html,
// div([class("in")], html),
label_for(label, id, input) then
sequence([
if id is html_Id(_id) then
literal(""),
input
]),
div(options, e) then div(options, e),
div(options, fields)then div(options, format_div_CXM_Form_Field(fields, lwa, _class, b_with_label)),
partial(p_content) then partial(p_content),
br then br,
hr(opts) then hr(opts),
// input_with_help(input, help_title, help_text, width) then
// sequence([
// format_CXM_Form_Field(input, lwa, html_tooltip(force_String(help_title), help_text, width)),
// ]),
fieldset(options, legend, fields) then
sequence([
literal("")
]),
blank_space then
div([class("blank_space")], literal(" ")),
blank_space(htmlClass) then
div([class(htmlClass.class)], literal(" ")),
submit(attrs, htmlClass, action_name, Maybe(String) mb_label, button_text, extra_operands) then
actioner( same, // TODO change this to allow external URL
if mb_label is
{
failure then same,
success(n) then same(n)
},
submit(attrs + [class(htmlClass.class + " cxm_submit")], button_text),
action_name,
extra_operands
),
empty then literal("")
}.
public define HTML_In_Form
format_div_CXM_Form_Field
(
CXM_Form_Field field,
List(Web_arg) lwa,
String _class,
Bool b_with_label
)=
if field is empty then
empty
else if field is no_field then
empty
else if field is hidden(id, name, init) then
format_CXM_Form_Field(field, lwa, _class, b_with_label)
else if field is br then
format_CXM_Form_Field(field, lwa, _class, b_with_label)
else if field is text_area(options, _label, id, wan, default, w, height, mand) then
div([], format_CXM_Form_Field(field, lwa, _class, b_with_label))
else
div([class(_class)], format_CXM_Form_Field(field, lwa, _class, b_with_label))
.
public define HTML_In_Form
format_div_CXM_Form_Field
(
List(CXM_Form_Field) fields,
List(Web_arg) lwa,
String _class,
Bool b_with_label
)=
//println("format_div_CXM_Form_Field");
sequence( map((CXM_Form_Field field)
|->
//with css_line = if line = 0 then " odd_line" else " even_line",
//println("class "+css_line+" line "+line);
if field is empty then
empty
else if field is no_field then
empty
else if field is hidden(id, name, init) then
format_CXM_Form_Field(field, lwa, _class, b_with_label)
else if field is br then
format_CXM_Form_Field(field, lwa, _class, b_with_label)
else if field is text_area(options, _label, id, wan, default, w, height, mand) then
div([class(_class)], format_CXM_Form_Field(field, lwa, _class, b_with_label))
else
div([class(_class)], format_CXM_Form_Field(field, lwa, _class, b_with_label))
, fields))
.
public define HTML_In_Form
to_HTML_In_Form
(
List(CXM_Form_Field) fields,
List(Web_arg) lwa,
String _class,
Bool b_with_label
)=
format_div_CXM_Form_Field(fields, lwa, _class, b_with_label)
.
"form_field aligned"
public define HTML_In_Form
fieldset
(
CXM_Form_Field field,
List(Web_arg) lwa,
String _class,
Bool b_with_label
)=
fieldset([field], lwa, _class, b_with_label)
.
public define HTML_In_Form
to_HTML_In_Form
(
List(CXM_Form_Field) fields,
String _class,
Bool b_with_label
)=
to_HTML_In_Form(fields, [], _class, b_with_label).
public define HTML_In_Form
to_HTML_In_Form
(
List(CXM_Form_Field) fields,
List(Web_arg) lwa
)=
to_HTML_In_Form(fields, lwa, "form_field aligned", true)
.
public define HTML_In_Form
to_HTML_In_Form
(
CXM_Form_Field field,
List(Web_arg) lwa
)=
to_HTML_In_Form([field], lwa, "form_field aligned", true)
.
public define HTML_In_Form
to_HTML_In_Form
(
List(CXM_Form_Field) fields
)=
to_HTML_In_Form(fields, [], "form_field aligned", true)
.
public define HTML_Off_Form
cxm_form
(
HTML_Id form_Id,
List(CoreAttrs) options,
WEB_Action_Name action,
List((String,String)) extra_ops,
List(Web_arg) lwa,
List(CXM_Form_Field) fields,
String _class,
Bool b_with_label
) =
form(
form_Id,
[class("cxm_form") . options],
action,
extra_ops,
format_div_CXM_Form_Field(fields, lwa, _class, b_with_label)
).
public define HTML_Off_Form
/* older manner to call CXM_form with action as String.
* this function only exists for compatibility with older projects. Please consider
* to use the above function with WEB_Action_Name instead of String
*/
cxm_form
(
HTML_Id form_Id,
List(CoreAttrs) options,
String action, //older manner to call action with String
List((String,String)) extra_ops,
List(Web_arg) lwa,
List(CXM_Form_Field) fields,
String _class,
Bool b_with_label
) =
form(
form_Id,
[class("cxm_form") . options],
action_name(action),
extra_ops,
format_div_CXM_Form_Field(fields, lwa, _class, b_with_label)
).
public define HTML_Off_Form
cxm_form
(
String form_name,
List(CoreAttrs) options,
WEB_Action_Name action,
List((String,String)) extra_ops,
List(Web_arg) lwa,
List(CXM_Form_Field) form_fields,
String _class,
Bool b_with_label
)=
cxm_form(html_Id(form_name), options, action, extra_ops, lwa, form_fields, _class, b_with_label).
public define HTML_Off_Form
cxm_form
(
String form_name,
List(CoreAttrs) options,
WEB_Action_Name action,
List((String,String)) extra_ops,
List(Web_arg) lwa,
List(CXM_Form_Field) form_fields
)=
cxm_form(form_name, options, action, extra_ops, lwa, form_fields, "form_field aligned", true)
.
public define HTML_Off_Form
cxm_form
(
String form_name,
List(CoreAttrs) options,
String action,
List((String,String)) extra_ops,
List(Web_arg) lwa,
List(CXM_Form_Field) form_fields,
Bool b_with_label
)=
cxm_form(html_Id(form_name), options, action_name(action), extra_ops, lwa, form_fields, "form_field aligned", b_with_label)
.
public define HTML_Off_Form
cxm_form
(
String form_name,
List(CoreAttrs) options,
String action,
List((String,String)) extra_ops,
List(Web_arg) lwa,
List(CXM_Form_Field) form_fields
)=
cxm_form(html_Id(form_name), options, action_name(action), extra_ops, lwa, form_fields, "form_field aligned", true)
.
public define HTML_Off_Form
cxm_form
(
String form_id,
List(CoreAttrs) options,
List(HTML_In_Form) fields,
String _class
) =
cxm_form(html_Id(form_id), options, action_name(""), [], [], map((HTML_In_Form field) |-> raw_in_form(field), fields), _class, true )
.
public define HTML_Off_Form
cxm_form
(
String form_id,
List(CoreAttrs) options,
List(HTML_In_Form) fields
) =
cxm_form(html_Id(form_id), options, action_name(""), [], [], map((HTML_In_Form field) |-> raw_in_form(field), fields), "form_field aligned", true )
.
public define HTML_Off_Form
cxm_form
(
String form_id,
List(CoreAttrs) options,
List(Web_arg) lwa,
List(CXM_Form_Field) fields,
String _class,
Bool b_with_label
) =
cxm_form(html_Id(form_id), options, action_name(""), [], lwa, fields, _class, b_with_label).
public define HTML_Off_Form
cxm_form
(
String form_id,
List(HTML_In_Form) fields,
String _class
) =
cxm_form(html_Id(form_id), [], action_name(""), [], [], map((HTML_In_Form field) |-> raw_in_form(field), fields), _class, true ).
public define HTML_Off_Form
cxm_form
(
String form_id,
List(Web_arg) lwa,
List(CXM_Form_Field) fields,
String _class
) =
cxm_form(form_id, [], lwa, fields, _class, true).
public define HTML_Off_Form
cxm_form
(
String form_id,
List(Web_arg) lwa,
List(CXM_Form_Field) fields,
) =
cxm_form(form_id, [], lwa, fields, "form_field aligned", true).
public define HTML_Off_Form
cxm_form
(
String form_id,
List(CoreAttrs) options,
List(CXM_Form_Field) fields,
) =
cxm_form(form_id, options, [], fields, "form_field aligned", true).
public define HTML_Off_Form
cxm_form
(
String form_id,
List(CXM_Form_Field) fields,
String _class
) =
cxm_form(html_Id(form_id), [], action_name(""), [], [], fields, _class, true).
public define HTML_Off_Form
cxm_form
(
String form_id,
List(CXM_Form_Field) fields
) =
cxm_form(html_Id(form_id), [], action_name(""), [], [], fields, "form_field aligned", true).