// ----------------------------------------------------------- // // ----------------------------------------------------------- function hdfdeModal(efolder) { var dateTime = new Date().getTime(); require(["dojo/ready", "dojo/text!.." + efolder.ifsedithtml + "?dummy=" + dateTime, "dijit/Dialog", "dijit/registry", "dojo/dom", "dojo/dom-construct", "dijit/layout/TabContainer", "dijit/layout/ContentPane", "dijit/form/DateTextBox", "dijit/form/TimeTextBox", "dijit/form/TextBox", "dijit/form/Textarea", "dijit/form/ValidationTextBox", "dojo/store/Memory", "dojo/store/Observable","dojo/data/ObjectStore", "dijit/form/NumberTextBox", "dijit/form/NumberSpinner", "dijit/form/CheckBox", "dijit/form/Button", "dojo/domReady!"], function(ready, paneData, Dialog, registry, dom, domConstruct, TabContainer, ContentPane, DateTextBox, TimeTextBox, TextBox, Textarea, ValidationTextBox, Memory, DojoMemory, Observable, NumberTextBox, NumberSpinner, CheckBox, Button) { ready(function(){ console.log("hdfdeModal efolder: ", efolder); //console.log("hdfdeModal paneData: ", paneData); if (dijit.byId("hdmModalDialog")) { dijit.byId("hdmModalDialog").destroyRecursive(false); } var editDialog = new Dialog({ title: efolder.clsid + ": " + efolder.paneid, style: efolder.panestyle, id: "hdmModalDialog", content: paneData, draggable: true, closable: true, doLayout: true, duration: 1000 }).placeAt(dojo.body()); editDialog.domNode.id ="hdmModalEdit"; editDialog.show(); /* var contentArea = dojo.create("div", { "class": "dijitDialogPaneContentArea", "innerHTML": paneData }, editDialog.containerNode); var actionBar = dojo.create("div", { "class": "dijitDialogPaneActionBar" }, editDialog.containerNode); */ hdfdeModalControl(efolder, editDialog, paneData); // editDialog.containerNode = contentArea; }); }); return; } // ----------------------------------------------------------- // Function: hdfdeModalControl: // ----------------------------------------------------------- function hdfdeModalControl(efolder, editTab, paneData) { var urlString = efolder.ifseditctl; dojo.xhrGet({ url: urlString, handleAs: "json", load: function(jsonResponse, ioArgs) { hdfdeModalControlRsp(editTab, paneData,jsonResponse); return jsonResponse; }, error: function(jsonResponse, ioArgs) { hdfiServerHttpError("hdfdeModalControl", ioArgs); return jsonResponse; } }); return; } // ----------------------------------------------------------- // hdfdeModalCtlRsp: // ----------------------------------------------------------- function hdfdeModalControlRsp(editTab, paneData,jsonResponse) { var jsCaller = "hdfdeModalControlRsp"; if (jsonResponse.widgets) { hdfdFormWidgets(jsonResponse.widgets); } require(["dojo/ready", "dojo/_base/json", "dijit/registry", "dojo/dom", "dijit/form/TextBox", "dijit/form/Textarea","dijit/form/NumberTextBox", "dijit/form/NumberSpinner", "dijit/form/CheckBox", "dojo/domReady!"], function(ready, json, registry, dom, TextBox, Textarea, NumberTextBox, NumberSpinner, CheckBox){ ready(function(){ hjsonEditResponse = jsonResponse; hugmarSettings.editenv = jsonResponse.env; //console.log(jsCaller, "hdfdeModalControlRsp jsonResponse: ", jsonResponse); //console.log(jsCaller, "hdfdeModalControlRsp registry: ", registry); // Buttons (BOTTOM) for (var i = 0; i < jsonResponse.button.length; i++) { hdfdeModalButton(registry, dom, jsonResponse.button[i]); } }); }); return; } // ----------------------------------------------------------- // // ----------------------------------------------------------- function hdfdeModalButton(registry, dom, oneButton) { require(["dojo/ready", "dijit/form/Button"], function(ready, Button) { var spanID = "hdmModalBotBut" + oneButton.cmd; //console.log("hdfdeModalButton oneButton: ", oneButton); var editButton = registry.byId(spanID); if (registry.byId(editButton)) { editButton.destroyRecursive(true); } var span = dom.byId(spanID); var editButton = new Button({ id: spanID, label: oneButton.label, iconClass: oneButton.icon, action: oneButton.action, actype: oneButton.actype, disabled: oneButton.disabled, origin: oneButton.origin, jsId: oneButton.action, jsIndex: oneButton.index, onClick: function(evt) { var butNode = registry.getEnclosingWidget(evt.target); hdfdeModalConfirm(butNode); }, title: oneButton.title}, span).placeAt(dom.byId("hdmModalBotCtl")); }); } // ----------------------------------------------------------- // // ----------------------------------------------------------- function hdfdeModalFldWidget(widgetType, fieldName, widgetValue) { require(["dojo/ready", "dojo/json", "dojo/_base/lang","dijit/registry", "dojo/dom"], function(ready, json, lang, registry, dom) { var jsCaller = "hdfdeModalFldWidget"; //console.log(jsCaller, " widgetType: ", widgetType, " fieldName: ", fieldName, " widgetValue: ", widgetValue ); if (typeof widgetValue == "boolean") { var fieldValue = widgetValue.toString(); } else { if (widgetType == "DateTextBox") { var yyyy = widgetValue.getFullYear().toString(); var mm = (widgetValue.getMonth()+1).toString(); // getMonth() is zero-based var dd = widgetValue.getDate().toString(); var fieldValue = yyyy + '-' + (mm[1]?mm:"0"+mm[0]) + '-' + (dd[1]?dd:"0"+dd[0]); } else { var fieldValue = widgetValue; } } console.log(jsCaller, " widgetType: ", widgetType, " fieldName: ", fieldName, " fieldValue: ", fieldValue ); //var fieldValue = dom.byId(fieldName).value; //var fieldValue = fieldValue.replace(/\!/g, "*;33;"); /* ! */ //var fieldValue = fieldValue.replace(/\"/g, "*;34;"); //var fieldValue = fieldValue.replace(/\#/g, "*;35;"); /* # */ //var fieldValue = fieldValue.replace(/\$/g, "*;36;"); /* $ */ //var fieldValue = fieldValue.replace(/\%/g, "*;37;"); /* % */ //var fieldValue = fieldValue.replace(/\&/g, "*;38;"); /* & */ var jsonObj = hdfiServerSetJsonObj(jsCaller, "HWEBNAEB2", "EB2_Parms"); jsonObj.procparm = "context"; jsonObj.editenv = hugmarSettings.editenv; jsonObj.field = {}; jsonObj.field.name = fieldName; jsonObj.field.value = fieldValue; jsonObj.field.event = widgetType; jsonObj.field.filler = " "; //console.log(jsCaller, " jsonObj: ", jsonObj); var jsonUrl = hugmarSettings.host.pgmdir + "/hwebhtp120.pgm?json=" + json.stringify(jsonObj); dojo.xhrGet({ url: jsonUrl, load: function(response, ioArgs) { hdfdeModalFldRsp(registry, dom, response); return response; }, error: function(response, ioArgs) { hdfiServerHttpError("hdfdeModalFieldWidget", ioArgs); return response; } }); }); return; } // ----------------------------------------------------------- // // ----------------------------------------------------------- function hdfdeModalField(fieldName, keyEvent, fieldType) { require(["dojo/ready", "dojo/json", "dojo/_base/lang","dijit/registry", "dojo/dom"], function(ready, json, lang, registry, dom) { var jsCaller = "hdfdeModalField"; //console.log(jsCaller, " fieldName: ", fieldName, " fieldType: ", fieldType , " keyEvent: ", keyEvent); var fieldValue = dom.byId(fieldName).value; //console.log(jsCaller, " fieldValue: ", fieldValue); //console.log(jsCaller, " fieldName: ", dom.byId(fieldName)); if (window.event) { /* Internet Explorer */ //console.log(jsCaller, " window.event: ", window.event); var keyEventType = keyEvent.type; var keyEventNum = keyEvent.keyCode; } else if (keyEvent.type) { /* Other Browsers */ var keyEventType = keyEvent.type; //var keyEventNum = keyEvent.which; } // Errorcheck Numeric Values if (fieldType == "int" || fieldType == "flt") { var fieldErrMsg = "err" + fieldName.substr(3); dom.byId(fieldErrMsg).innerHTML = " "; // Clear Error Message } if (fieldType == "int" & fieldValue != parseInt(fieldValue)) { dom.byId(fieldErrMsg).innerHTML = "Integer is Invalid (" + fieldName.substr(3) + ")"; return; } if (fieldType == "flt" & fieldValue != parseFloat(fieldValue)) { dom.byId(fieldErrMsg).innerHTML = "Decimal is Invalid (" + fieldName.substr(3) + ")"; return; } // Boolean if (fieldType == "boo") { var fieldValue = keyEvent.currentTarget.checked; //console.log(jsCaller, " fieldValue: ", fieldValue); //alert(fieldValue); } else { var fieldValue = dom.byId(fieldName).value; fieldValue = globalModifyCell(fieldValue); fieldValue = fieldValue.replace(/\!/g, "*;33;"); /* ! */ fieldValue = fieldValue.replace(/\#/g, "*;35;"); /* # */ fieldValue = fieldValue.replace(/\$/g, "*;36;"); /* $ */ fieldValue = fieldValue.replace(/\%/g, "*;37;"); /* % */ fieldValue = fieldValue.replace(/\&/g, "*;38;"); /* & */ } var jsonObj = hdfiServerSetJsonObj(jsCaller,"HWEBNAEB2","EB2_Parms"); jsonObj.procparm = "context"; jsonObj.editenv = hugmarSettings.editenv; jsonObj.field = {}; jsonObj.field.name = fieldName; jsonObj.field.value = fieldValue; jsonObj.field.event = keyEventType; jsonObj.field.filler = " "; console.log(jsCaller, " jsonObj.editenv: ", jsonObj.editenv); console.log(jsCaller, " jsonObj.field: ", jsonObj.field); if (editenvClone && fieldClone) { //console.log(jsCaller, " editenvClone: ", editenvClone); //console.log(jsCaller, " fieldClone: ", fieldClone); } var editenvClone= lang.clone(jsonObj.editenv); var fieldClone = lang.clone(jsonObj.field); var jsonUrl = hugmarSettings.host.pgmdir + "/hwebhtp120.pgm?json=" + json.stringify(jsonObj); console.log(jsCaller, " jsonUrl: ", jsonUrl); dojo.xhrGet({ url: jsonUrl, load: function(response, ioArgs) { console.log("...hdfdeModalField: response(substring) ", response.substring(600)); hdfdeModalFldRsp(registry, dom, response); return response; }, error: function(response, ioArgs) { console.log("...hdfdeModalField: response(2) ", response); hdfiServerHttpError("hdfdeModalField", ioArgs); return response; } }); }); return; } // ----------------------------------------------------------- // hdfdeModalFldRsp: // ----------------------------------------------------------- function hdfdeModalFldRsp(registry, dom, textResponse) { console.log("...hdfdeModalFldRsp: textResponse ", textResponse); var editResponse = dojo.fromJson(textResponse); console.log("...hdfdeModalFldRsp: editResponse ", editResponse); if (editResponse.javascript == "iServerAcknowledge") { return; } if (editResponse.errcnt == "0") { dom.byId("hdmModalPageMsg").innerHTML = '
Page is OK
'; registry.byId("hdmModalBotButConfirm").set("disabled", false); } else { dom.byId("hdmModalPageMsg").innerHTML = '
Page has ' + editResponse.errcnt + ' errors
'; registry.byId("hdmModalBotButConfirm").set("disabled", true); } var cells = editResponse.editrows; for (var i = 0; i < cells.length; i++) { var errTagName = "err" + cells[i].fldname; var msgTagName = "msg" + cells[i].fldname; dom.byId(errTagName).innerHTML = cells[i].errmsg; dom.byId(msgTagName).innerHTML = cells[i].fldmsg; var fldTagName = cells[i].prefix + cells[i].fldname; if (cells[i].dijit == "" || cells[i].dijit == "none") { dom.byId(fldTagName).innerHTML = cells[i].fldvalue; } else { registry.byId(fldTagName).set("value", cells[i].fldvalue); } } return; } // ----------------------------------------------------------- // hdfdeModalConfirm: function to Confirm Edit and Close Tab // ----------------------------------------------------------- function hdfdeModalConfirm(butNode) { require(["dojo/ready", "dojo/json", "dijit/Dialog", "dijit/TooltipDialog", "dijit/popup", "dijit/registry", "dojo/dom"], function(ready, json, Dialog, TooltipDialog, popup, registry, dom) { if (registry.byId("hdmdeModalTooltip")) { registry.byId("hdmdeModalTooltip").destroyRecursive(true); } //console.log("hdfdeModalConfirm butNode: ", butNode); //alert ("hdfdeModalConfirm: Check Console for actype, action and index"); if (butNode.action == "Cancel") { if (dijit.byId("hdmModalDialog")) { dijit.byId("hdmModalDialog").destroyRecursive(false); } return; } //console.log("hdfdeModalConfirm hjsonEditResponse: ", hjsonEditResponse); if (hjsonEditResponse.errcnt != "0") { hdfdeModalShowDialog ("

Errors On Screen, Please Correct and then Confirm

"); return; } if (hjsonEditResponse.chgflag == false && butNode.action == "Change") { hdfdeModalShowDialog ("

No Changes have been Made

"); return; } if (butNode.origin == "ILEPGM") { var procId = butNode.origin; var docId = "EB3_Parms"; } else { var procId = "HWEBNAEB3"; var docId = "EB3_Parms"; } var jsCaller = "hdfdeModalConfirm"; var jsonObj = hdfiServerSetJsonObj(jsCaller, procId, docId); jsonObj.procparm = "Confirm"; jsonObj.editenv = hugmarSettings.editenv; jsonObj.editenv.actype = butNode.actype; jsonObj.editenv.action = butNode.action; jsonObj.editenv.origin = butNode.origin; jsonObj.editenv.index = butNode.index; jsonObj.editenv.filler = " "; var jsonUrl = hugmarSettings.host.pgmdir + "/hwebhtp120.pgm?json=" + json.stringify(jsonObj); //console.log("...hdfdeModalConfirm jsonUrl: ", jsonUrl); dojo.xhrGet({ url: jsonUrl, handleAs: "json", load: function(jsonResponse, ioArgs) { //console.log("hdfdeModalConfirm jsonResponse: ", jsonResponse); hdfdeModalConfirmRsp(json, registry, dom, jsonResponse); return jsonResponse; }, error: function(jsonResponse, ioArgs) { hdfiServerHttpError("hdfdeModalConfirm", ioArgs); return jsonResponse; } }); }); return; } // ----------------------------------------------------------- // // ----------------------------------------------------------- function hdfdeModalConfirmRsp(json, registry, dom, jsonResponse) { console.log("hdfdeModalConfirmRsp jsonResponse: ", jsonResponse); if (dijit.byId("hdmModalDialog")) { dijit.byId("hdmModalDialog").destroyRecursive(false); } if (jsonResponse.javascript == "iServerNotify") { hdfiServerNotify(jsonResponse); return; } if (jsonResponse.msgtype) { if (jsonResponse.msgtype == "loadpane") { hdfdeModalContent(jsonResponse, editTab); return; } if (jsonResponse.msgtype == "JSONGRID") { hdfiServerRsp(jsonResponse); return; } } //console.log("hdfdeModalConfirmRsp registry: ", registry); if (registry.byId("hdmdeModalToolbar_0")) { //console.log("hdfdeModalConfirmRsp hdmdeModalToolbar_0", registry.byId("hdmdeModalToolbar_0")); registry.byId("hdmdeModalToolbar_0").set ("disabled", true); } if (dijit.byId("hdmModalDialog")) { dijit.byId("hdmModalDialog").destroyRecursive(false); } hdfdeModalShowDialog ("

" + jsonResponse.errmsg + "

"); // Check Grid Refresh if (jsonResponse.errcode == "OK") { hdfdeModalGridRefresh(json, jsonResponse); } return; } // ----------------------------------------------------------- // hdfdeModalGridRefresh: // ----------------------------------------------------------- function hdfdeModalGridRefresh(json, prvResponse) { //console.log("hdfdeModalGridRefresh prvResponse: ", prvResponse); var jsCaller = "hdfdeModalGridRefresh"; if (prvResponse.refreshprocid) { var procId = prvResponse.refreshprocid; var docId = prvResponse.refreshdoc; } else { var procId = "v2TopCtl"; var docId = "EB3_EditRefresh"; } var jsonObj = hdfiServerSetJsonObj(jsCaller, procId, docId); jsonObj.procparm = "Refresh"; jsonObj.editenv = hugmarSettings.editenv; jsonObj.editenv.action = "Refresh"; //console.log("hdfdeModalGridRefresh jsonObj: ", jsonObj); //alert ("hdfdeModalGridRefresh: check Console"); var jsonUrl = hugmarSettings.host.pgmdir + "/hwebhtp120.pgm?json=" + json.stringify(jsonObj); hdfiServerGet(jsCaller, jsonUrl); return; } // ----------------------------------------------------------- // Function: hdfdeModalShowDialog // ----------------------------------------------------------- function hdfdeModalShowDialog(dialogContent) { return; //console.log("hdfdeModalShowDialog: ", dialogContent); require(["dojo/ready","dijit/Dialog", "dijit/registry", "dojo/dom"], function(ready, Dialog, registry, dom) { if (dijit.byId("hdmModalTooltip")) { dijit.byId("hdmModalTooltip").destroyRecursive(false); } var editTooltip = new Dialog({ title: "Confirm Message: ", style: "width: 300px;", id: "hdmModalTooltip", content: dialogContent, draggable: true, closable: true, doLayout: true, duration: 1500 }).placeAt(dojo.body()); editTooltip.show(); setTimeout(dijit.byId("hdmModalTooltip").destroyRecursive(false), 1500); }); return; }