diff --git a/calexium_lib/web/CXM_dojo.anubis b/calexium_lib/web/CXM_dojo.anubis index 451ada7..772f994 100644 --- a/calexium_lib/web/CXM_dojo.anubis +++ b/calexium_lib/web/CXM_dojo.anubis @@ -67,39 +67,63 @@ public define HTML_Off_Form ") . +public type InputDial: + input_dial(String id, Bool file, String label). + +define HTML_Row(HTML_Off_Form) + input_in_dialog + ( + InputDial input_data + )= + if input_data is input_dial(id, file, label) then + row([], [cell([], sequence([ + literal(""), + literal("") + ]))]). + +define List(HTML_Row(HTML_Off_Form)) + inputs_in_dialog + ( + List(InputDial) inputs_data + )= + if inputs_data is + { + [] then [], + [h . t] then [input_in_dialog(h) . inputs_in_dialog(t)] + }. + public define HTML_Off_Form dijit_dialog ( - String name, - String dialog_id, - String execute, - Bool file, - String ok_label, - Maybe(String) cancel, + String name, + String dialog_id, + String execute, + String ok_label, + Maybe(String) cancel, + List(InputDial) inputs_data ) = sequence[ div([attr("dojoType", "dijit.Dialog"), id(dialog_id), title(name), attr("execute", execute)], table([], empty, - [ - row([], [cell([], literal("") - - )]), - row([], [cell([columns(2), h_center], - literal("" + - if cancel is - { - failure then "", - success(cancel_label) then "" - } - ))]), - ], + append( + inputs_in_dialog(inputs_data), + [ + row([], [cell([columns(2), h_center], + literal("" + + if cancel is + { + failure then "", + success(cancel_label) then "" + } + ))]), + ]), empty)), literal("
"), ] @@ -111,14 +135,14 @@ public define HTML_Off_Form String name, String dialog_id, String execute, - Bool file, String ok_label, - Maybe(String) cancel + Maybe(String) cancel, + List(InputDial) inputs_data ) = sequence[ dojo_button(name,"dijit.byId('"+dialog_id+"').show()", dialog_id + "_button"), - dijit_dialog(name, dialog_id, execute, file, ok_label, cancel) + dijit_dialog(name, dialog_id, execute, ok_label, cancel, inputs_data) ] . -- libgit2 0.21.4