diff --git a/calexium_lib/web/CXM_dojo.anubis b/calexium_lib/web/CXM_dojo.anubis
index 96ae705..d73188b 100644
--- a/calexium_lib/web/CXM_dojo.anubis
+++ b/calexium_lib/web/CXM_dojo.anubis
@@ -6,20 +6,21 @@
*
*/
-read calexium_lib/web/CXM_making_a_web_site.anubis
+read tools/basis.anubis
read tools/base64.anubis
-read tools/basis.anubis // required for 'make_directory'
read locale/L3LanguageInfo.anubis
+read system/string.anubis
-read mailfountain_constants.anubis
-read mailfountain_types.anubis
read calexium_lib/web/CXM_common.anubis
read calexium_lib/web/CXM_making_a_web_site.anubis
read calexium_lib/web/CXM_multihost_http_server.anubis
+read calexium_lib/net_services_protocols/logger_service.anubis
+
+read mailfountain_constants.anubis
+read mailfountain_types.anubis
read common/language_management.anubis
read tools/mf_loggers.anubis
-read calexium_lib/net_services_protocols/logger_service.anubis
read system/logger.anubis
public type Dojo_Grid_Data :
@@ -72,26 +73,132 @@ public define HTML_Off_Form
//
")
]
.
+public type DojoGridEditor:
+ inputEditor,
+ boolEditor,
+ selectEditor(List(String) options),
+ alwaysOnEditor.
+
+public type DojoGridDefaultColumn:
+ dojo_grid_default_column(
+ String styles,
+ Maybe(String) width,
+ Maybe(DojoGridEditor) editor).
+
+public type DojoGridColumn:
+ dojo_grid_column( String label,
+ String field_name,
+ Maybe(String) width,
+ Maybe(DojoGridEditor) editor).
+
+public type DojoGridView:
+ dojo_grid_view(
+ Maybe(DojoGridDefaultColumn) default_column,
+ List(DojoGridColumn) columns).
+
+public type DojoGridLayout:
+ dojo_grid_layout(
+ Maybe(String) selectable_row_header_width,
+ List(DojoGridView) views).
+
+define String to_String(DojoGridEditor editor) =
+ "editor: " +
+ if editor is
+ {
+ inputEditor then "dojox.grid.editors.Input",
+ boolEditor then "dojox.grid.editors.Bool",
+ selectEditor(options) then "dojox.grid.editors.Select, options: [" + join(",", map((String o) |-> "\"" + o + "\"", options)) + "]",
+ alwaysOnEditor then "dojox.grid.editors.AlwaysOn"
+ }.
+
+define String to_String(DojoGridView view) =
+ "{ " + (if view.default_column is success(col) then
+ (if col is dojo_grid_default_column(styles, mb_width, mb_editor) then
+ "defaultCell: {"
+ + "styles: \"" + styles + "\""
+ + (if mb_width is success(w) then ", width=\"" + w + "\"" else "")
+ + (if mb_editor is success(e) then ", " + to_String(e) else "")
+ + "}, ")
+ else "")
+ + "cells: [[" + join(",", map((DojoGridColumn col) |->
+ if col is dojo_grid_column(label, field, mb_width, mb_editor) then
+ "{"
+ + "name: \"" + label + "\""
+ + "field: \"" + field + "\""
+ + (if mb_width is success(w) then ", width=\"" + w + "\"" else "")
+ + (if mb_editor is success(e) then ", " + to_String(e) else "")
+ + "}",
+ view.columns)) + "]]"
+ +"}".
+
+
+public define String
+ dojo_make_grid_script
+ (
+ HtmlId html_id,
+ DojoGridLayout layout,
+ String layout_name,
+ String store_name,
+ Bool can_edit
+ )
+ =
+"".
+
+public define HTML_Off_Form
+ dojo_make_grid_script
+ (
+ HtmlId html_id,
+ List(String) columns,
+ Bool can_edit
+ )
+ =
+ literal(
+"").
public define HTML_Off_Form
dojo_grid
(
- String id,
+ HtmlId html_id,
+ List(CoreAttrs) attributes,
+ )
+ =
+ div_empty([id(html_id.id), attr("dojoType", "dojox.Grid") . attributes ]).
+
+
+public define HTML_Off_Form
+ dojo_grid
+ (
+ HtmlId html_id,
+ List(CoreAttrs) attributes,
+// List(GridColumn) columns,
String colum1,
String colum2,
String colum3,
String colum4,
- Bool can_edit
+ Bool can_edit
)
=
- literal("
-