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