// --------------------------------------------------------------- // SqlDriDialog // --------------------------------------------------------------- function SqlDriDialog(wrkfolder) { require(["dojo/text!desktop/text/sqldridialog.html", "dijit/layout/ContentPane", "dijit/Dialog", "dijit/registry", "dijit/form/TextBox", "dijit/form/Button", "dojo/dom-construct", "dojo/dom"], function(snippet, ContentPane, Dialog, registry, TextBox, Button, domConstruct, dom) { //console.log ("SqlDriLoad snippet: ", snippet); if (registry.byId("sqlDrillDialog")) { registry.byId("sqlDrillDialog").show(); return; } var sqlDrillDialog = new Dialog({ id: "sqlDrillDialog", title: "Drilldown", style: "width: 1000px; height: 700px;", content: snippet }); sqlDrillDialog.show(); SqlDriLoad(wrkfolder); }); } // --------------------------------------------------------------- // SqlDriLoad: // --------------------------------------------------------------- function SqlDriLoad(wrkfolder) { console.log ("SqlDriLoad wrkflder: ", wrkfolder); require(["dojo/ready", "dojo/_base/json", "dojo/request/xhr", "dijit/registry"], function(ready, dojo, xhr, registry){ var urlString = wrkfolder.sqldripath; xhr(urlString, { handleAs: "text", method: "GET" }).then(function(data){ var jsonResponse = dojo.fromJson(data); //console.log("SqlGetMessage jsonResponse: ", jsonResponse); SqlDriNav(jsonResponse); }, function(err){ // Handle the error condition }, function(evt){ // XHR2 events }); }); } // ----------------------------------------------------------- // // ----------------------------------------------------------- function SqlDriNav(jsonResponse) { require(["dojo/ready", "dijit/registry"], function(ready, registry){ var sql = jsonResponse; //console.log ("SqlDriNav sql", sql); //console.log ("SqlDriNav registry: ", registry); //console.log ("SqlDriNav registry(hdmSqlDri): ", registry.byId("hdmSqlDri")); hugmarSettings.sql = sql; if (sql.env.cltype == "SUBFILE") { domConstruct.destroy("hdmSqlDriGrpBy"); SqlDriWhere(sql); // Where SqlDriOrdBy(sql); // Order By SqlDriButtons(sql); } if (sql.env.cltype == "SUBFGROUP") { SqlDriWhere(sql); // Where SqlDriGrpBy(sql); // Group By SqlDriOrdBy(sql); // Order By SqlDriButtons(sql); } return; }); } // ----------------------------------------------------------- // // ----------------------------------------------------------- function SqlDriButtons(sql) { //console.log ("SqlDriButtons I am here: "); require(["dojo/dom", "dojo/dom-construct", "dijit/registry"], function(dom, domConstruct, registry){ var sqlButton = registry.byId("hdmSqlDriBut0"); if (sqlButton) { sqlButton.destroyRecursive(true); } var sqlButton = registry.byId("hdmSqlDriBut1"); if (sqlButton) { sqlButton.destroyRecursive(true); } var sqlButton = registry.byId("hdmSqlDriBut2"); if (sqlButton) { sqlButton.destroyRecursive(true); } var parNode = dom.byId("hdmSqlDriButtons"); // Confirm parNode.appendChild(domConstruct.create("div", {id: "hdmSqlDriBut0"})); SqlDriOneBut("hdmSqlDriBut0", "Confirm", "gif38", "confirm", "Confirm Sql Changes", sql); // Cancel parNode.appendChild(domConstruct.create("div", {id: "hdmSqlDriBut1"})); SqlDriOneBut("hdmSqlDriBut1", "Cancel", "gif33", "cancel", "Cancel Sql Changes", sql); // Refresh //parNode.appendChild(domConstruct.create("div", {id: "hdmSqlDriBut2"})); //SqlDriOneBut("hdmSqlDriBut2", "Refresh", "gif42", "refresh", "Refresh Sql Edit Panes", sql); return; }); } // ----------------------------------------------------------- // // ----------------------------------------------------------- function SqlDriOneBut(domID, label, icon, action, title, sql) { require(["dojo/dom", "dijit/registry", "dijit/form/Button"], function(dom, registry, Button){ //console.log ("SqlDriOneBut I am here: "); var sqlButton = registry.byId(domID); if (sqlButton) { sqlButton.destroyRecursive(true); } var dom = dom.byId(domID); var sqlButton = new Button({ label: label, iconClass: icon, jsId: action, sqlEnv: sql.env, onClick: function(evt) { var butNode = dijit.getEnclosingWidget(evt.target); //console.log("SqlDriOneBut onClick butNode: ", butNode); switch (butNode.jsId) { case 'cancel': SqlDriCancel(butNode.jsId, butNode.sqlEnv); break; case 'confirm': SqlDriConfirm(butNode.jsId, butNode.sqlEnv); break; case 'refresh': SqlDriWhere(sql); break; } }, title: title }, dom); }); } // ----------------------------------------------------------- // Remove Sql Tab // ----------------------------------------------------------- function SqlDriCancel(sqlType, sqlEnv) { require(["dojo/ready", "dojo/_base/json", "dojo/request/xhr", "dijit/registry"], function(ready, dojo, xhr, registry){ console.log ("SqlDriCancel: hugmarSettings: ", hugmarSettings); var jsCaller = "SqlDriCancel"; var jsonObj = SqlDriSetJsonObj(jsCaller,"HWEBNAFB4","sqlcancel", hugmarSettings); //jsonObj.gridenv = hjsonGridControl.env; jsonObj.procparm = sqlType; jsonObj.sqlrow.type = sqlType; var jsonString = dojo.toJson(jsonObj); var urlString = hugmarSettings.host.pgmdir + "/hwebhtp120.pgm?json=" + jsonString; dojo.xhrGet({ url: urlString, handleAs: "json", load: function(jsonResponse, ioArgs) { console.log("SqlDriCancel jsonResponse: ", jsonResponse); if (registry.byId("sqlDrillDialog")) { registry.byId("sqlDrillDialog").destroyRecursive(false); return jsonResponse; } return jsonResponse; }, error: function(jsonResponse, ioArgs) { SqlDriXhrGetError("SqlDriCancel", ioArgs); return jsonResponse; } }); return; }); return; } // ----------------------------------------------------------- // SqlDriConfirm: function to Confirm Sql Control Change // ----------------------------------------------------------- function SqlDriConfirm(sqlType, sqlEnv) { require(["dojo/ready", "dojo/dom", "dojo/_base/json", "dojo/request/xhr", "dijit/registry"], function(ready, dom, dojo, xhr, registry){ console.log ("SqlDriConfirm: hugmarSettings ", hugmarSettings); var jsCaller = "SqlDriConfirm"; var jsonObj = SqlDriSetJsonObj(jsCaller,"HWEBNAFB4","sqlconfirm", hugmarSettings); jsonObj.gridenv = sqlEnv; jsonObj.procparm = "sqlconfirm"; jsonObj.sqlrow.type = sqlType; var jsonString = dojo.toJson(jsonObj); var urlString = hugmarSettings.host.pgmdir + "/hwebhtp120.pgm?json=" + jsonString; if (registry.byId("sqlDrillDialog")) { registry.byId("sqlDrillDialog").destroyRecursive(false); } registry.byId("hdmMainStandby").show(); dojo.xhrGet({ url: urlString, handleAs: "json", load: function(jsonResponse, ioArgs) { console.log("SqlDriConfirm jsonResponse: ", jsonResponse); SqlDriConfirmRsp(registry, dom, jsonResponse, sqlEnv); return jsonResponse; }, error: function(jsonResponse, ioArgs) { SqlDriXhrGetError("SqlDriConfirm", ioArgs); return jsonResponse; } }); return; }); } // ----------------------------------------------------------- // Sql Control Confirm Response // ----------------------------------------------------------- function SqlDriConfirmRsp(registry, dom, jsonResponse, sqlEnv) { console.log ("SqlDriConfirmRsp: jsonResponse ", jsonResponse); //alert("Send Refresh Here") jsonResponse.javascript = "hdfTopToolServer"; hdfiServerRsp(jsonResponse) return; } // ----------------------------------------------------------- // SqlDriGridRefresh: // ----------------------------------------------------------- function SqlDriGridRebuild(registry, dom, prvResponse, sqlEnv) { console.log("SqlDriGridRebuild prvResponse: ", prvResponse); var jsCaller = "SqlDriGridRebuild"; if (prvResponse.refreshprocid) { var procId = prvResponse.refreshprocid; var docId = prvResponse.refreshdoc; } else { var procId = "v2TopCtl"; var docId = "DGA_SqlRebuild"; } require(["dojo/ready", "dojo/_base/json", "dojo/request/xhr"], function(ready, dojo, xhr){ var jsonObj = SqlDriSetJsonObj(jsCaller, docId, procId, hugmarSettings); jsonObj.procparm = "Rebuild"; jsonObj.sqlenv = sqlEnv; jsonObj.sqlenv.action = "Rebuild"; var jsonString = dojo.toJson(jsonObj); var urlString = hugmarSettings.host.pgmdir + "/hwebhtp120.pgm?json=" + jsonString; console.log("SqlDriGridRefresh urlString: ", urlString); alert ("SqlDriGridRefresh Before hdfiServerGet: check Console"); hdfiServerGet(jsCaller, urlString); return; }); } // ----------------------------------------------------------- // Set Standard JSON URL Parameters // ----------------------------------------------------------- function SqlDriSetJsonObj(jsCaller, procId, docName, hugmarSettings) { var jsonObj = { javascript: jsCaller, procid: procId, procparm: " ", handle: hugmarSettings.host.handle, userid: hugmarSettings.nav.username, usercls: hugmarSettings.host.userclass, docfolder: hugmarSettings.host.wrkfolder, docname: docName + ".json", format: "json", sqlrow: {}, sqlenv: {}, gridenv: {}, webid: new Date().getTime() }; return jsonObj; } // ----------------------------------------------------------- // SqlDri HTTP Error // ----------------------------------------------------------- function SqlDriXhrGetError(origin, ioArgs) { var message = ""; switch(ioArgs.xhr.status){ case 200: message = origin + ": The IBM server responded normally, but an error occurred on the JavaScript client"; break; case 404: message = origin + ": The requested page on the IBM server was not found"; break; case 500: message = origin + ": The IBM server reported an error."; break; case 407: message = origin + ": You need to authenticate with a proxy."; break; default: message = origin + ": Unknown error."; } require(["dojo/ready", "dijit/Dialog"], function(ready, Dialog){ var dialog = new Dialog({ title: "SqlDriXhrGet HTTP Server Error: ", style: "width: 400px", content: message + " " + "Please Contact IT"}); dialog.show(); }); return; } // ----------------------------------------------------------- // SqlDriGrpBy: // ---------------------------------------------------------- function SqlDriGrpBy(sql) { require(["dojo/dom", "dojo/dom-construct", "dijit/registry", "dojo/domReady!"], function(dom, domConstruct, registry){ if (registry.byId("hdmSqlDriGrpByGrid")) { registry.byId("hdmSqlDriGrpByGrid").destroyRecursive(true); } var dgridDomNode = domConstruct.create("div", {id: "hdmSqlDriGrpByGrid"}); domConstruct.place(dgridDomNode, "hdmSqlDriGrpByPane"); SqlDriGrpByGrid(sql); // Grid }); return; } // ----------------------------------------------------------- // Load Group By Grid // ----------------------------------------------------------- function SqlDriGrpByGrid(sql) { //console.log("SqlDriGrpBy sql: ", sql); require(["dgrid/OnDemandGrid", "dgrid/Selection", "dgrid/Keyboard", "dgrid/selector", "dgrid/Editor", "dgrid/extensions/ColumnHider", "dgrid/extensions/DijitRegistry", "dijit/form/ComboBox", "dijit/form/FilteringSelect", "dijit/registry", "dstore/Memory", "dojo/store/Memory", "dojo/store/Observable", "dojo/data/ObjectStore", "dojo/dom", "dojo/dom-style", "dojo/_base/declare", "dojo/_base/lang", "dojo/domReady!"], function(Grid, Selection, Keyboard, selector, Editor, ColumnHider, DijitRegistry, ComboBox, FilteringSelect, registry, Memory, DojoMemory, Observable, ObjectStore, dom, domStyle, declare, lang){ var grpByCol = SqlDriGrpByCol(sql); //console.log("SqlDriGrpBy grpByCol: ", grpByCol); //var dgridDomNode = dom.byId("hdmSqlDriGrpByGrid"); //console.log("SqlDriGrpBy dgridDomNode: ", dgridDomNode); if (registry.byId("hdmSqlDriGrpByGrid")) { grid = registry.byId("hdmSqlDriGrpByGrid"); console.log("SqlDriGrpBy refresh: ", grid); grid.refresh(); return; } else { var grid = new (declare([Grid, Selection, Editor, DijitRegistry, Keyboard]))({ id : "hdmSqlDriGrpByGrid", collection: Observable(new Memory({data: sql.grpdata})), columns: grpByCol, selectionMode: "none" }, "hdmSqlDriGrpByGrid"); } grid.on("dgrid-datachange", function(evt){ var rowid = grid.cell(evt).row.data.id; var colid = grid.cell(evt).column.id; var rowInt = parseInt(rowid); var grpData = hugmarSettings.sql.grpdata[rowInt-1]; switch (colid) { case 'fldname': grpData.fldname = evt.value; break; case 'grpflag': grpData.grpflag = evt.value; break; default: console.log("SqlDriGrpByEdit Unknown Column ID: ", colid); } grpData.confirm = 'x'; hugmarSettings.sql.grpdata[rowInt-1] = grpData; SqlDriGrpByGrid(hugmarSettings.sql); }); grid.on(".dgrid-row .dgrid-cell:click", function(evt){ evt.preventDefault(); // prevent default browser context menu var selectedRow = grid.cell(evt).row.data; var selectedCell = grid.cell(evt).column; if (selectedCell.field === "confirm" && selectedRow.confirm == "x") { console.log("cell clicked: selectedRow ", selectedRow); SqlDriGrpByEdit("grpby", selectedRow, sql.env); } }); }); } // ----------------------------------------------------------- // Edit and Error Check Where Cell // ----------------------------------------------------------- function SqlDriGrpByEdit(sqlType, selectedRow, sqlEnv) { require(["dojo/ready", "dojo/_base/json", "dojo/request/xhr", "dijit/registry"], function(ready, dojo, xhr, registry){ var rowInt = parseInt(selectedRow.id); var grpData = hugmarSettings.sql.grpdata[rowInt-1]; console.log("SqlDriGrpByEdit grpData: ", grpData); var jsCaller = "SqlDriGrpByEdit"; var jsonObj = SqlDriSetJsonObj(jsCaller,"HWEBNAFB4", "SqlDri", hugmarSettings); jsonObj.procparm = "sqlchange"; jsonObj.sqlenv = sqlEnv; jsonObj.sqlrow = grpData; jsonObj.sqlrow.sqltype = sqlType; jsonObj.sqlrow.rrn = selectedRow.id; jsonObj.sqlrow.filler = " "; var jsonString = dojo.toJson(jsonObj); //console.log("SqlDriGrpByEdit jsonString: ", jsonString); var urlString = hugmarSettings.host.pgmdir + "/hwebhtp120.pgm?json=" + jsonString; dojo.xhrGet({ url: urlString, handleAs: "json", load: function(jsonResponse, ioArgs) { console.log("SqlDriGrpByEdit jsonResponse: ", jsonResponse); hugmarSettings.sql.grpdata = jsonResponse.grpdata; hugmarSettings.sql.orddata = jsonResponse.orddata; hugmarSettings.sql.ordfld = jsonResponse.ordfld; SqlDriGrpBy(hugmarSettings.sql); SqlDriOrdBy(hugmarSettings.sql); return jsonResponse; }, error: function(jsonResponse, ioArgs) { SqlDriXhrGetError("SqlDriGrpByEdit", ioArgs); return jsonResponse; } }); }); return; } // ----------------------------------------------------------- // Get Sql GrpBy Columns: // ----------------------------------------------------------- function SqlDriGrpByCol(sql) { var grpByCol = []; require(["dgrid/Editor", "dijit/form/CheckBox", "dijit/form/ComboBox", "dijit/form/FilteringSelect", "dojo/store/Memory", "dojo/store/Observable" ], function(Editor, CheckBox, ComboBox, FilteringSelect, DojoMemory, Observable ){ grpByCol = [ {field: "id", id: "id", label: "", className: ["dgsshidden"]}, {field: "confirm", id: "confirm", label: " ", className: ["dgss40px"], sortable: false, formatter: function(val){ switch (val) { case '1': image = '1"; break; // Blank case '2': image = '"; break; // Confirmed case 'x': image = '"; break; // Dirty } return image; } }, {field: "fldname", id: "fldname", label: "field name", className: ["dgss180px"], sortable: false, editor: FilteringSelect, //editOn: 'click', editorArgs: { store: Observable(new DojoMemory({ idProperty: "id", data: sql.grpfld })), maxHeight: 400, style: "width:180px;" } }, {field: "grpflag", id: "grpflag", label: "Grouping", className: ["dgss120px"], sortable: false, editor: FilteringSelect, //editOn: 'click', editorArgs: { store: Observable(new DojoMemory({ idProperty: "id", data: [ {"id": "", "name": ""}, {"id": "C", "name": "Combined"}, {"id": "D", "name": "Description Only"}, {"id": "F", "name": "Field Only"}, {"id": "S", "name": "Split Columns"} ] })), maxHeight: 120, style: "width:120px;" } } ]; }); return grpByCol; } // ----------------------------------------------------------- // SqlDriOrdBy: // ---------------------------------------------------------- function SqlDriOrdBy(sql) { require(["dojo/dom", "dojo/dom-construct", "dijit/registry"], function(dom, domConstruct, registry){ if (registry.byId("hdmSqlDriOrdByGrid")) { registry.byId("hdmSqlDriOrdByGrid").destroyRecursive(true); } var dgridDomNode = domConstruct.create("div", {id: "hdmSqlDriOrdByGrid"}); domConstruct.place(dgridDomNode, "hdmSqlDriOrdByPane"); SqlDriOrdByGrid(sql); // Grid }); return; } // ----------------------------------------------------------- // SqlDriOrdBy: // ---------------------------------------------------------- function SqlDriOrdByGrid(sql) { //console.log("SqlDriOrdBy sql: ", sql); require(["dgrid/OnDemandGrid", "dgrid/Selection", "dgrid/Keyboard", "dgrid/selector", "dgrid/Editor", "dgrid/extensions/ColumnHider", "dgrid/extensions/DijitRegistry", "dijit/form/CheckBox", "dijit/form/ComboBox", "dijit/form/FilteringSelect", "dijit/registry", "dstore/Memory", "dojo/store/Memory", "dojo/store/Observable", "dojo/data/ObjectStore", "dojo/dom", "dojo/dom-style", "dojo/_base/declare", "dojo/_base/lang", "dojo/domReady!"], function(Grid, Selection, Keyboard, selector, Editor, ColumnHider, DijitRegistry, CheckBox, ComboBox, FilteringSelect, registry, Memory, DojoMemory, Observable, ObjectStore, dom, domStyle, declare, lang){ var ordByCol = SqlDriOrdByCol(sql); //console.log("SqlDriOrdBy ordByCol: ", ordByCol); if (registry.byId("hdmSqlDriOrdByGrid")) { grid = registry.byId("hdmSqlDriOrdByGrid"); grid.refresh(); return; } else { var grid = new (declare([Grid, Selection, Editor, DijitRegistry, Keyboard]))({ id : "hdmSqlDriOrdByGrid", collection: Observable(new Memory({data: sql.orddata})), columns: ordByCol, selectionMode: "none" }, "hdmSqlDriOrdByGrid"); } grid.on("dgrid-datachange", function(evt){ var rowid = grid.cell(evt).row.data.id; var colid = grid.cell(evt).column.id; var rowInt = parseInt(rowid); var ordData = hugmarSettings.sql.orddata[rowInt-1]; switch (colid) { case 'fldname': ordData.fldname = evt.value; break; case 'fldsort': ordData.fldsort = evt.value; break; case 'subtot': ordData.subtot = evt.value; break; default: console.log("SqlDriOrdByEdit Unknown Column ID: ", colid); } ordData.confirm = 'x'; hugmarSettings.sql.orddata[rowInt-1] = ordData; SqlDriOrdByGrid(hugmarSettings.sql); }); grid.on(".dgrid-row .dgrid-cell:click", function(evt){ evt.preventDefault(); // prevent default browser context menu var selectedRow = grid.cell(evt).row.data; var selectedCell = grid.cell(evt).column; if (selectedCell.field == "confirm" && selectedRow.confirm == "x") { console.log("cell clicked: selectedRow ", selectedRow); SqlDriOrdByEdit("ordby", selectedRow, sql.env); } }); }); return; } // ----------------------------------------------------------- // Edit and Error Check OrdBy Cell // ----------------------------------------------------------- function SqlDriOrdByEdit(sqlType, selectedRow, sqlEnv) { require(["dojo/ready", "dojo/_base/json", "dojo/request/xhr", "dijit/registry"], function(ready, dojo, xhr, registry){ var rowInt = parseInt(selectedRow.id); var ordData = hugmarSettings.sql.orddata[rowInt-1]; console.log("SqlDriOrdByEdit ordData: ", ordData); var jsCaller = "SqlDriOrdByEdit"; var jsonObj = SqlDriSetJsonObj(jsCaller,"HWEBNAFB4", "SqlDrill", hugmarSettings); jsonObj.procparm = "sqlchange"; jsonObj.sqlenv = sqlEnv; jsonObj.sqlrow = ordData; jsonObj.sqlrow.sqltype = sqlType; jsonObj.sqlrow.rrn = selectedRow.id; jsonObj.sqlrow.filler = " "; var jsonString = dojo.toJson(jsonObj); console.log("SqlDriOrdByEdit jsonString: ", jsonString); var urlString = hugmarSettings.host.pgmdir + "/hwebhtp120.pgm?json=" + jsonString; dojo.xhrGet({ url: urlString, handleAs: "json", load: function(jsonResponse, ioArgs) { console.log("SqlDriOrdByEdit jsonResponse: ", jsonResponse); hugmarSettings.sql.orddata = jsonResponse.orddata; SqlDriOrdBy(hugmarSettings.sql); return jsonResponse; }, error: function(jsonResponse, ioArgs) { SqlDriXhrGetError("SqlDriOrdByEdit", ioArgs); return jsonResponse; } }); /* xhr(urlString, { handleAs: "text", method: "GET" }).then(function(data){ console.log("SqlDriOrdByEdit data: ", data); }, function(err){ // Handle the error condition }, function(evt){ // XHR2 console.log("SqlDriOrdByEdit XHR2 evt: ", evt); }); */ }); return; } // ----------------------------------------------------------- // Get Sql OrdBy Columns: // ----------------------------------------------------------- function SqlDriOrdByCol(sql) { var ordByCol = []; require(["dgrid/Editor", "dijit/form/CheckBox", "dijit/form/ComboBox", "dijit/form/FilteringSelect", "dojo/store/Memory", "dojo/store/Observable" ], function(Editor, CheckBox, ComboBox, FilteringSelect, DojoMemory, Observable ){ if (sql.env.cltype == "SUBFILE") { ordByCol = [ {field: "id", id: "id", label: "", className: ["dgsshidden"]}, {field: "confirm", id: "confirm", label: " ", className: ["dgss40px"], sortable: false, formatter: function(val){ switch (val) { case '1': image = '1"; break; // Blank case '2': image = '"; break; // Confirmed case 'x': image = '"; break; // Dirty } return image; } }, {field: "fldname", id: "fldname", label: "field name", className: ["dgss180px"], sortable: false, editor: FilteringSelect, editorArgs: { store: Observable(new DojoMemory({ idProperty: "id", data: sql.ordfld })), maxHeight: 400, style: "width:180px;" } }, {field: "fldsort", id: "fldsort", label: "Sort", className: ["dgss80px"], sortable: false, editor: FilteringSelect, editorArgs: { store: Observable(new DojoMemory({ idProperty: "id", data: [ {"id": "blank", "name": ""}, {"id": "A", "name": "Ascend"}, {"id": "D", "name": "Descend"} ] })), maxHeight: 120, style: "width:80px;" } } ]; } if (sql.env.cltype == "SUBFGROUP") { ordByCol = [ {field: "id", id: "id", label: "", className: ["dgsshidden"]}, {field: "confirm", id: "confirm", label: " ", className: ["dgss40px"], sortable: false, formatter: function(val){ switch (val) { case '1': image = '1"; break; // Blank case '2': image = '"; break; // Confirmed case 'x': image = '"; break; // Dirty } return image; } }, {field: "fldname", id: "fldname", label: "field name", className: ["dgss180px"], sortable: false, editor: FilteringSelect, editorArgs: { store: Observable(new DojoMemory({ idProperty: "id", data: sql.ordfld })), maxHeight: 400, style: "width:180px;" } }, {field: "fldsort", id: "fldsort", label: "Sort", className: ["dgss60px"], sortable: false, editor: FilteringSelect, editorArgs: { store: Observable(new DojoMemory({ idProperty: "id", data: [ {"id": "blank", "name": ""}, {"id": "A", "name": "Ascend"}, {"id": "D", "name": "Descend"} ] })), maxHeight: 120, style: "width:80px;" } }, {field: "subtot", id: "subtot", label: "Total", className: ["dgss30px"], sortable: false, editor: CheckBox, get: function(item){ //console.log("get: ", item); if (item.subtot == true) {return true;} else {return false;}}, set: function(item){ //console.log("set: ", item); return item.subtot == false;}, editorArgs: { } } ]; } }); return ordByCol; } // ----------------------------------------------------------- // SqlDriWhere: // ---------------------------------------------------------- function SqlDriWhere(sql) { //console.log("SqlDriWhere sql: ", sql); require(["dojo/dom", "dojo/dom-construct", "dijit/layout/ContentPane", "dijit/registry"], function(dom, domConstruct, ContentPane, registry){ if (registry.byId("hdmSqlDriWhereGrid")) { registry.byId("hdmSqlDriWhereGrid").destroyRecursive(true); } var dgridDomNode = domConstruct.create("div", {id: "hdmSqlDriWhereGrid"}); domConstruct.place(dgridDomNode, "hdmSqlDriWherePane"); SqlDriWhereGrid(sql); // Grid }); return; } // ---------------------------------------------------------- // SqlDriWhereGrid: // ---------------------------------------------------------- function SqlDriWhereGrid(sql) { //console.log("SqlDriWhereGrid sql: ", sql); require(["dgrid/OnDemandGrid", "dgrid/Selection", "dgrid/Keyboard", "dgrid/selector", "dgrid/Editor", "dgrid/extensions/ColumnHider", "dgrid/extensions/DijitRegistry", "dijit/form/FilteringSelect", "dijit/registry", "dstore/Memory", "dstore/Trackable", "dojo/store/Memory", "dojo/store/Observable", "dojo/data/ObjectStore", "dojo/dom", "dojo/dom-style", "dojo/_base/declare", "dojo/_base/lang", "dojo/domReady!"], function(Grid, Selection, Keyboard, selector, Editor, ColumnHider, DijitRegistry, FilteringSelect, registry, Memory, Trackable, DojoMemory, Observable, ObjectStore, dom, domStyle, declare, lang){ var whereCol = [ {field: "id", id: "id", label: "", className: ["dgsshidden"]}, {field: "confirm", id: "confirm", label: " ", className: ["dgsshidden"], sortable: false}, {field: "andor", id: "andor", label: " ", className: ["dgss30px"], sortable: false}, {field: "brck1", id: "brck1",label: " ", className: ["dgss15px"], sortable: false}, {field: "fldname", id: "fldname", label: "field name", className: ["dgss120px"], sortable: false}, {field: "oper", id: "oper", label: "operation", className: ["dgss90px"], sortable: false}, {field: "opand", id: "opand", label: "Operand", className: ["dgss300px"], sortable: false}, {field: "brck2", id: "brck2", label: " ", className: ["dgss15px"], sortable: false} ]; var grid = new (declare([Grid, Selection, Editor, DijitRegistry, Keyboard]))({ id : "hdmSqlDriWhereGrid", collection: Observable(new Memory({data: sql.whedata})), columns: whereCol, selectionMode: "none" }, "hdmSqlDriWhereGrid"); }); return; }