// ----------------------------------------------------------- // hdfdFormWidgets: // ----------------------------------------------------------- function hdfdFormWidgets(widgets) { var jsCaller = "hdfdFormWidgets"; //console.log(jsCaller, " widgets: ", widgets); require(["dijit/registry"], function(registry){ for (var i = 0; i < widgets.length; i++) { if (registry.byId(widgets[i].id)) { //console.log(jsCaller, " widgets[i].id: ", widgets[i].id); registry.byId(widgets[i].id).destroyRecursive(true); } if (widgets[i].id && widgets[i].parent) { switch (widgets[i].ditype) { case 'NumberSpinner': hdfdFormSpinner(widgets[i]); break; case 'ProgressBar': hdfdFormProgressBar(widgets[i]); break; case 'CheckBox': hdfdFormCheckBox(widgets[i]); break; case 'DateTextBox': hdfdFormDateTextBox(widgets[i]); break; case 'TextBox': hdfdFormTextBox(widgets[i]); break; case 'NumberTextBox': hdfdFormNumberTextBox(widgets[i]); break; default: hdfdFormWidgetError (jsCaller, "this widget Type: " + widgets[i].ditype + " is not supported ", widgets[i]); } } else { hdfdFormWidgetError (jsCaller, "'id' and 'parent' attributes are required on all Widgets", widgets[i]); } } }); return; } // ----------------------------------------------------------- // Function: hdfdFormSpinner // Parameter: Widget Definition // ----------------------------------------------------------- function hdfdFormSpinner(widget) { var jsCaller = "hdfdFormSpinner"; console.log(jsCaller, " widget: ", widget); require(["dojo/ready", "dijit/form/NumberSpinner"], function(ready, NumberSpinner){ if (!widget.domid || !widget.value || !widget.smallDelta || !widget.constraints || !widget.parent) { hdfdFormWidgetError (jsCaller, "some required attributes are missing", widget); return; } var spinner = new NumberSpinner({ id: widget.domid, ditype: widget.ditype, value: widget.value, smallDelta: widget.smallDelta, constraints: { min:10, max:1000, places:0 }, style: widget.style, onChange: widget.onchange }, widget.parent); }); return; } // ----------------------------------------------------------- // Function: hdfdFormProgressBar // Parameter: Widget Definition // ----------------------------------------------------------- function hdfdFormProgressBar(widget) { var jsCaller = "hdfdFormProgressBar"; console.log(jsCaller, " widget: ", widget); require(["dojo/ready", "dijit/ProgressBar"], function(ready, ProgressBar){ var progress = new ProgressBar({ id: widget.domid, ditype: widget.ditype, value: widget.value, maximum: widget.maximum, style: widget.style }, widget.parent); }); return; } // ----------------------------------------------------------- // hdfdFormCheckBox: // ----------------------------------------------------------- function hdfdFormCheckBox(widget) { var jsCaller = "hdfdFormCheckBox"; console.log(jsCaller, " widget: ", widget); require(["dojo/ready","dijit/form/CheckBox"], function(ready, CheckBox){ var checkBox = new CheckBox(widget, widget.parent); }); /* require(["dojo/ready","dijit/form/CheckBox", "dijit/registry", "dojo/dom"], function(ready, CheckBox, registry, dom){ if (registry.byId("inpCheckBox")) { registry.byId("inpCheckBox").destroyRecursive(true); } var checkBox = new CheckBox({ id: widget.domid, ditype: widget.ditype, name: widget.domid, checked: false, onChange: widget.onchange }, widget.parent); }); */ return; } // ----------------------------------------------------------- // hdfdFormDateTextBox: // ----------------------------------------------------------- function hdfdFormDateTextBox(widget) { var jsCaller = "hdfdFormDateTextBox"; require(["dojo/ready","dijit/form/DateTextBox", "dojo/date/locale"], function(ready, DateTextBox, locale){ var dateTextBox = new DateTextBox(widget, widget.parent); }); return; } // ----------------------------------------------------------- // hdfdFormTextBox: // ----------------------------------------------------------- function hdfdFormTextBox(widget) { var jsCaller = "hdfdFormTextBox"; require(["dojo/ready","dijit/form/TextBox"], function(ready, TextBox){ var textBox = new TextBox(widget, widget.parent); }); return; } // ----------------------------------------------------------- // hdfdFormNumberTextBox: // ----------------------------------------------------------- function hdfdFormNumberTextBox(widget) { var jsCaller = "hdfdFormNumberTextBox"; require(["dojo/ready","dijit/form/NumberTextBox"], function(ready, NumberTextBox){ var numberTextBox = new NumberTextBox(widget, widget.parent); }); return; } // ----------------------------------------------------------- // hdfdFormOther: // ----------------------------------------------------------- function hdfdFormOther(fieldName, dijitForm) { var jsCaller = "hdfdFormOther"; console.log(jsCaller, " fieldName: ", fieldName, " dijitForm: ", dijitForm); return; } // ----------------------------------------------------------- // Function: hdfdFormWidget Error // ----------------------------------------------------------- function hdfdFormWidgetError(jsCaller, msgHdr, widget) { require(["dojo/ready", "dojo/json", "dijit/Dialog"], function(ready, json, Dialog){ var msgTitle = jsCaller + ": " + msgHdr; var msgContent = widget.ditype + "
" + json.stringify(widget) + "
" + "