// ----------------------------------------------------------- // hdfAccMenus: Last Update January 2017 // ----------------------------------------------------------- function hdfAccMenus(registry, loginSettings) { var urlString = loginSettings.wrkfolder + '/OUT/HWEBV2AMF_Menus.json'; require(["dojo/ready", "dojo/_base/xhr", "dojo/dom","dojo/domReady!"], function(ready, xhr, dom){ dojo.xhrGet({ url: urlString, handleAs: "json", load: function(jsonResponse, ioArgs) { hdfAccMenusRsp(jsonResponse); return jsonResponse; }, error: function(jsonResponse, ioArgs) { console.log("hdfAccMenus faild xhrGet", jsonResponse, ioArgs); /* handle the error */ return jsonResponse; } }); }); return; } // ----------------------------------------------------------- // hdfAccMenusRsp: // ----------------------------------------------------------- function hdfAccMenusRsp(jsonResponse) { require(["dojo/ready", "dojo/_base/json", "dojo/data/ItemFileReadStore", "dijit/layout/AccordionContainer", "dijit/layout/ContentPane", "dijit/tree/ForestStoreModel", "dijit/Tree", "dijit/registry", "dojo/dom"], function(ready, dojo, ItemFileReadStore, AccordionContainer, ContentPane, ForestStoreModel, Tree, registry, dom){ ready(function(){ var accMenuData = jsonResponse; var accMenuStore = new ItemFileReadStore({ id: "accMenuStore", data: accMenuData, jsId: "accMenus" }); var accContainer = registry.byId("hdmMainAccContainer"); for (var i = 0; i < hugmarSettings.menupanes.pane.length; i++) { hdfAccMenuAppsPane(registry, dom, accMenuStore, accContainer, hugmarSettings.menupanes.pane[i]); } accContainer.startup(); }); }); return; } // ----------------------------------------------------------- // Load Accordion Hugmar Application Pane // ----------------------------------------------------------- function hdfAccMenuAppsPane(registry, dom, accMenuStore, accContainer, pane) { require(["dojo/ready", "dojo/dom-construct","dijit/layout/ContentPane", "dijit/tree/ForestStoreModel", "dijit/Tree"], function(ready, domConstruct, ContentPane, ForestStoreModel, Tree){ ready(function(){ var accPaneID = "hdmAppsPane" + pane.qry + "Pane"; var menuNodeID = "hdmAppsPane" + pane.qry + "Menu"; var modelID = "AppsPane" + pane.qry + "Model"; var accPane = new ContentPane({ id: accPaneID, title: pane.caption, }); accPane.domNode.id = accPaneID; accContainer.addChild(accPane); dom.byId(accPaneID).innerHTML = "
" ; var appsMenuModel = new ForestStoreModel({ store: accMenuStore, query: {"query": pane.qry}, jsId: "AppsPane" + pane.qry + "Model", rootId: "AppsPane" + pane.qry + "Root", rootLabel: "AppsPane" + pane.qry + "Label", childrenAttrs: ["ML1"] }); var appsMenuTree = new Tree({ id: "AppsPane" + pane.qry + "MenuTree", title: "One Click to Execute Class", jsId: "AppsPane" + pane.qry + "MenuTree", model: appsMenuModel, showRoot: false, getIconClass: function(item) { return item.icon}, onClick: function(item) { if (item.query[0] === "Web") { hdfAccMenuWebGo(item); } else { hdfAccMenuAppsGo(registry, item); } return; } }, menuNodeID); }); }); return; } // ----------------------------------------------------------- // Accordion Application Menu: Execute OnClick Event // ----------------------------------------------------------- function hdfAccMenuAppsGo(registry, mItem) { if (mItem.type != "Class" && mItem.type != "Page") { return; } registry.byId("hdmAccStandby").show(); require(["dojo/ready", "dojo/json"], function(ready, json){ var jsCaller = "hdfAccMenuAppsGo"; var jsonObj = hdfiServerSetJsonObj(jsCaller,"v2MainMenu","DGA_AccMenu"); jsonObj.procparm = " "; jsonObj.accmenu = {}; jsonObj.accmenu.type = mItem.type[0]; jsonObj.accmenu.mid = mItem.mid[0]; jsonObj.accmenu.name = mItem.name[0]; jsonObj.accmenu.view = mItem.view[0]; //console.log("...hdfAccMenuAppsmenuGo: jsonObj ", jsonObj); if (mItem.appid) {jsonObj.accmenu.appid = mItem.appid[0];} if (mItem.clsid) {jsonObj.accmenu.clsid = mItem.clsid[0];} if (mItem.book) {jsonObj.accmenu.book = mItem.book[0];} if (mItem.page) {jsonObj.accmenu.page = mItem.page[0];} if (mItem.pind) {jsonObj.accmenu.pind = mItem.pind[0];} if (mItem.plib) {jsonObj.accmenu.plib = mItem.plib[0];} var jsonUrl = hugmarSettings.host.pgmdir + "/hwebhtp120.pgm?json=" + json.stringify(jsonObj) hdfiServerGet(jsCaller, jsonUrl); }); return; } // ----------------------------------------------------------- // Accordion Menu Apps Response // ----------------------------------------------------------- function hdfAccMenuAppsGoRsp(registry, dom, response) { registry.byId("hdmAccStandby").hide(); hugmarSettings.host.ifsctlpath = response.ifsctlpath; hugmarSettings.host.ifscolpath = response.ifscolpath; hugmarSettings.host.ifsgridpath = response.ifsgridpath; hugmarSettings.host.ifshdrpath = response.ifshdrpath; hugmarSettings.host.ifshtmlpath = response.ifshtmlpath; hugmarSettings.host.sandbox = ""; if (response.sandbox) { hugmarSettings.host.sandbox = response.sandbox; } hdfTopCtl(registry, dom); return; } // ----------------------------------------------------------- // Accordion Menu Weblinks: Execute OnClick Event // ----------------------------------------------------------- function hdfAccMenuWebGo(mItem) { //console.log("...hdfAccMenuWebGo mItem: ", mItem); if (mItem.type != "Class") { return; } if (mItem.mid == "link") { var features = "menubar=yes,resizable=yes,scrollbars=yes,status=yes,toolbar=yes"; newWindow = window.open(mItem.link,'newlink', features); if (newWindow != null) { newWindow.focus(); } return; } var menuDialog = new dijit.Dialog({ title: "Menu Dialog", style: "width: 400px", content: "This Menu Option is not available yet"}); menuDialog.show(); return; } // ----------------------------------------------------------- // hdfAccFav: Favorites // ----------------------------------------------------------- function hdfAccFav(registry, loginSettings) { return; // var urlString = loginSettings.wrkfolder + '/OUT/HWEBV2AMF_Books.json'; // // require(["dojo/ready", "dojo/json", "dojo/_base/xhr", "dojo/dom"], // function(ready, json, xhr, dom){ // dojo.xhrGet({ // url: urlString, // load: function(response, ioArgs) { // hdfAccFavRsp(registry, response); // return response; }, // error: function(response, ioArgs) { // console.log("hdfAccFav faild xhrGet", response, ioArgs); // /* handle the error */ // return response; } // }); // }); // // return; } // ----------------------------------------------------------- // // ----------------------------------------------------------- function hdfAccFavRsp(registry, response) { if (registry.byId("hdwBooksTree")) {registry.byId("hdwBooksTree").destroyRecursive(false);} if (registry.byId("hdwBooksModel")) {registry.byId("hdwBooksModel").destroyRecursive(false);} if (registry.byId("hdwBooksStore")) {registry.byId("hdwBooksModel").destroyRecursive(false);} require(["dojo/ready", "dojo/_base/json", "dijit/tree/ForestStoreModel", "dijit/Tree", "dojo/data/ItemFileReadStore", "dojo/dom"], function(ready, dojo, ForestStoreModel, Tree, ItemFileReadStore, dom){ var favMenuData = dojo.fromJson(response); dom.byId("hdmMainAccBooksPane").innerHTML = "