/* * import SYS_DataStructure.js(Map) * import SYS_Ajax.js * import SYS_XMLManager.js */ $.extend({ CSPage : { initPage:function(){ var io = $.CSWidget.getObject("com.cs.widgets.IO"); io.request("post","../widgets/pagebuilder",function(res){ var items = res.response.responseJSON; $.CSWidget.setSysAttr(items); setTimeout(function(){ $.CSWidget.includePageStyles(); },1); //alert(regCntyCD) $.CSWidget.requires("../widgets/framework/plugins/Plugins.js",function(){ if(regCntyCD == "ENBD_AE"){ $.CSWidget.includeStylesheet("widgets/plugin/" + regCntyCD + "/plugins.css"); } else if(regCntyCD == "ENBD_SA"){ $.CSWidget.includeStylesheet("widgets/plugin/" + regCntyCD + "/plugins.css"); } else if(regCntyCD == "EIB_AE"){ $.CSWidget.includeStylesheet("widgets/plugin/" + regCntyCD + "/plugins.css"); } else if(regCntyCD == "ENBD_EG"){ $.CSWidget.includeStylesheet("widgets/plugin/" + regCntyCD + "/plugins.css"); } else if(regCntyCD == "ENBD_GB"){ $.CSWidget.includeStylesheet("widgets/plugin/" + regCntyCD + "/plugins.css"); } else if(regCntyCD == "ENBD_SG"){ $.CSWidget.includeStylesheet("widgets/plugin/" + regCntyCD + "/plugins.css"); } else if(regCntyCD == "ENBD_IN"){ $.CSWidget.includeStylesheet("widgets/plugin/" + regCntyCD + "/plugins.css"); } else{ $.CSWidget.includeStylesheet("widgets/plugin/plugins.css"); } //$.CSWidget.includeStylesheet("widgets/plugin/plugins.css"); }); $.CSWidget.setNavigation(); if("O" == LOGIN_NAME){ var isPopUp = $.CSWidget.getSysAttr("event.popup","false")=="true"; if(funcNavi&&isPopUp){ $.CSPage.addPageCloseBtn(); $.CSPage.hideBannerBtns(); } } },null,null,{ "action" : "settings", "labels" : "N" }); }, addPageCloseBtn:function(){ var cls = $(""); cls.text($.CSWidget.getLocalizedItemValue("page.common","close")); cls.click(function(){ closeTrxSession(); return false; }); $(".naviTabs").append(cls); }, hideBannerBtns:function(){ //$(".search-bar",".TopBanner").hide(); $(".logout",".TopBanner").hide(); } }, CSWidget : { version:"2.0", objs: new Object(), resources: new Array(), declare : function(clsName,pCls,body){ var property = null; if(pCls != null){ property = new Object(); var pObj = this.getObject(pCls); for(key in pObj){ property[key] = pObj[key]; } for(key in body){ property[key] = body[key]; } }else{ property = body; } this.objs[clsName] = property; }, initial:function(clsName,methods){ try{ var obj = this.getObject(clsName); for(key in methods){ obj[key] = methods[key]; } }catch(e){ alert(this.json2obj(methods)); } }, extend:function(src,ext){ if(ext){ for(key in ext){ var prop = ext[key]; if(typeof(prop) == "object"){ src[key] = this.clone(prop); }else{ src[key] = prop; } } } return src; }, getInstance : function(clsName,data){ var obj = null; var body = this.getObject(clsName); if(body != null){ obj = this.clone(body); } if(obj == null){ return null; } if(data){ for(key in data){ obj[key] = data[key]; } } return obj; }, getObject : function(clsName){ return this.objs[clsName]; }, clone : function(src){ if(src == null){ return new Object(); } var obj; if(src.constructor == Object || src.constructor == Array){ obj = new src.constructor(); }else{ obj = new src.constructor(src.valueOf()); } for(key in src){ var prop = src[key]; if(typeof(prop) == "object"){ obj[key] = this.clone(prop); }else{ obj[key] = prop; } } return obj; }, requires : function(uri,callbackFn){ if(this.resources.in_array(uri)){ if(callbackFn){ callbackFn(uri); } return; } var name = uri.replace(/^\s|\s$/g, ""); var att = name.split('.'); var suffix = att[att.length - 1].toLowerCase(); //CEV2-04-18-01 Hunk 2018-01-19 S var index = suffix.indexOf("?"); if(index>-1){ suffix = suffix.substring(0,index); } //CEV2-04-18-01 Hunk 2018-01-19 E this.resources.push(uri); if("js" == suffix){ $.getScript(uri,function(response,state){ if(callbackFn){ callbackFn(uri); } }); }else if("css" == suffix){ if(!this.cssrs){ this.cssrs = new Array(); } var link = document.createElement("link"); link.setAttribute("rel", "stylesheet"); link.setAttribute("type", "text/css"); link.setAttribute("href", uri); document.getElementsByTagName("head")[0].appendChild(link); } }, includeStylesheet : function(file,callbackFn){ var theme = this.getTheme(); var uri = "../theme/"+theme+"/"+file; this.requires(uri,callbackFn); }, includeWidgetCss:function(styles){ if(!styles.length){ return; } var len = parseInt(styles.length/31); len = len*31==styles.length?len:(len+1); for(var i=0;i"); navi.append(ul); //Added by satheesh on 09/05/2019 - Start var parWin = getTopWindow(); if(list.length == 2){ for(var k =0;k=3){ for(var j =0;j"); ul.append(li); li.html(list[i]); } $("li",ul).first().addClass("first"); } } }, writeLog:function(type,message){ var io = $.CSWidget.getObject("com.cs.widgets.IO"); io.request("post","../widgets/pagebuilder",null,null,null,{ "action":"jslog", "type":type, "message":message }); }, writeWidgetLog:function(type,wid,act,e){ var userId = this.getUserProfile("C_USER_ID"); var unitCode = this.getUserProfile("C_UNIT_CODE"); var time = new DateFormat().getDisplayDate(new Date(),"EEEE "+SYS_BU_DATE_FORMAT+" h:mm a"); var layout = this.getLayout(); var inst = layout.getInstance(wid); var wname = inst.iContext.getWidgetName(); var scope = inst.iContext.scope; var message = "["+unitCode+"]["+userId+"]["+time+"]\r\n" + "The widget "+wname+" have exceptions:\r\n" + "The instance is "+wid+".\r\nThe class name is: "+scope + ".\r\nThe method is: "+act+".\r\nThe exception message is: " + e.message + ".\r\n[end]\r\n"; this.writeLog(type,message); }, //CEV2-04-03-03 john.zhong 2015-12-14 S getPageDisp: function(){ var dirAttr = $("html").attr("dir"); var isRtl = false; if(dirAttr!=null&&dirAttr.toLowerCase()=="rtl"){ isRtl = true; } var dipObj = new Object(); dipObj.rtl = isRtl; return dipObj; }, //CEV2-04-03-03 john.zhong 2015-12-14 E Constants:{ navTabRoot:".widgetNavTabs", layoutRoot:".widgetMain", layoutBody:".csLayoutContainers", layoutCols:".component-container", widgetRoot:".component-control", widgetHead:".decoration-titlebar", widgetBody:".csWidgetBody", widgetFoot:".decoration-toolbar", actMenuIcon:".cs-mode-menu", placeholder:"widget-placeholder", widgetsPool:".widgetsPool", settingBar:".settingBar", initMode:"view", personalize:false, personalizeBtn:".personalizeBtn", TabSource:"../widgets/framework/scripts/Tabs.js", ActionMenuSource:"../widgets/framework/scripts/WidgetActionMenu.js", lang:null, SUPPORTED_IE:["6.0","7.0","8.0","9.0","10.0"] } } }); $.fn.extend({ _self:function(){ var wid = this.getSelfWidgetId(); var obj = $.CSWidget.getLayout().getInstance(wid); return obj; }, getSelfWidgetId:function(){ var root = $.CSWidget.Constants.widgetRoot; var p = $(this).parents(root); var wid = p.attr("id"); return wid; } }); $.CSWidget.declare("com.cs.widgets.pagebuilder.PageBuilder",null,{ layouts:new Object(), metaData:new Object(), onLoad:function(){ try{ var io = $.CSWidget.getObject("com.cs.widgets.IO"); io.request("post","../widgets/pagebuilder",function(res){ var items = res.response.responseJSON; $.CSWidget.setSysAttr(items); setTimeout(function(){ $.CSWidget.includePageStyles(); },1); $.CSWidget.requires("../widgets/framework/plugins/Plugins.js",function(){ if(regCntyCD == "ENBD_AE"){ $.CSWidget.includeStylesheet("widgets/plugin/" + regCntyCD + "/plugins.css"); } else if(regCntyCD == "ENBD_SA"){ $.CSWidget.includeStylesheet("widgets/plugin/" + regCntyCD + "/plugins.css"); } else if(regCntyCD == "EIB_AE"){ $.CSWidget.includeStylesheet("widgets/plugin/" + regCntyCD + "/plugins.css"); } else if(regCntyCD == "ENBD_EG"){ $.CSWidget.includeStylesheet("widgets/plugin/" + regCntyCD + "/plugins.css"); } else if(regCntyCD == "ENBD_GB"){ $.CSWidget.includeStylesheet("widgets/plugin/" + regCntyCD + "/plugins.css"); } else if(regCntyCD == "ENBD_SG"){ $.CSWidget.includeStylesheet("widgets/plugin/" + regCntyCD + "/plugins.css"); } else if(regCntyCD == "ENBD_IN"){ $.CSWidget.includeStylesheet("widgets/plugin/" + regCntyCD + "/plugins.css"); } else{ $.CSWidget.includeStylesheet("widgets/plugin/plugins.css"); } //$.CSWidget.includeStylesheet("widgets/plugin/plugins.css"); if($.CSWidget.Constants.personalize){ $.CSWidget.getPersonalize().onInit(); } var pb = $.CSWidget.getPageBuilder(); pb.loadTabs(); }); },null,null,{ "action" : "settings", "labels" : "Y" }); if($($.CSWidget.Constants.personalizeBtn).length){ $($.CSWidget.Constants.personalizeBtn).removeClass("hide"); $($.CSWidget.Constants.personalizeBtn).click(function(){ var mainform = document.MAINFORM; //CEV2-01-20-02 Personalize popup page doesn't hide the Token value in the URL. douglas.ding 20170227 s //mainform.action = encodeUrl("../widgets/pagebuilder?action=personalize"); //mainform.target = "_self"; //mainform.submit(); submitForm(mainform,"../widgets/pagebuilder?action=personalize","_self"); //CEV2-01-20-02 Personalize popup page doesn't hide the Token value in the URL. douglas.ding 20170227 e return false; }); } }catch(e){ $.CSWidget.writeLog("error",e.message); } }, loadTabs:function(){ var tabs = $.CSWidget.getTabs(); if(tabs == null){ $.CSWidget.requires($.CSWidget.Constants.TabSource,function(){ var tabs = $.CSWidget.getTabs(); tabs.onLoad(function(){ var layout = $.CSWidget.getLayout(); layout.onLoad(); }); }); }else{ tabs.onLoad(function(tab){ var layout = $.CSWidget.getLayout(); layout.onLoad(); }); } }, loadGlobalWidget:function(container,widgetName,mode){ if(typeof(mode) == "undefined"){ mode = "view"; } $(container).empty(); this.io = $.CSWidget.getObject("com.cs.widgets.IO"); this.io.request("post","../widgets/pagebuilder",function(evt){ $(container).append($(evt.response.responseText)); var layout = $.CSWidget.getLayout(); layout.initGlobalWidget(widgetName,mode); },null,null,{ "action":"wrapper", "wname":widgetName }); } }); $.CSWidget.declare("com.cs.widgets.pagebuilder.Layout",null,{ events:["onLoad","onUnload","onWindowStateChanged", "onSizeChanged","onNavStateChanged", "onRefreshNeeded","onNewWire","onRemoveWire", "onIncompleteEventDescription"], instances:new Map(), attrs:new Map(), isRevert:false, onLoad : function(){ var tabId = $.CSWidget.getTabs().getCurrentTab().id; this.io = $.CSWidget.getObject("com.cs.widgets.IO"); var url = "../widgets/pagebuilder"; $.CSWidget.setNavigation(); var panel = $("#"+tabId+"_panel"); $(".layout",$.CSWidget.Constants.layoutRoot).hide(); var loaded = "Y"; if(!panel.length){ panel = $("
"); panel.attr("id",tabId+"_panel"); $($.CSWidget.Constants.layoutRoot).append(panel); loaded = "N"; } this.io.request("post",url,function(evt){ if("N" == loaded){ panel.html(evt.response.responseText); if($.CSWidget.Constants.personalize){ var perz = $.CSWidget.getPersonalize(); perz.onLoad(); }else{ var layout = $.CSWidget.getLayout(); layout.initWidgets(); } }else{ if($.CSWidget.Constants.personalize){ $.CSWidget.getPersonalize().switchTab(); } } },null,null,{ "action":"layout", "tabid":tabId, "loaded":loaded, "resource":this.resources?"Y":"N" }); panel.show(); }, initData:function(id,widgets,resources){ this.id = id; if(this.isRevert){ this.widgets=new Array(); this.instances=new Map(); this.resources = null; } this.unloadInsts = new Array(); this.index = new Map(); for(var i=0;i -1){ uri = uri + '&timeStamp=' + timeStamp; }else{ uri = uri + '?timeStamp=' + timeStamp; } var randomNumber = ''; for(var i=0;i<5;i++){ randomNumber+=Math.floor(Math.random()*10); } uri+=randomNumber; //CEV2-04-18-01 Hunk 2018-01-19 E var fn = null; if(rs.skipLoad != ""){ fn = "function(){"+rs.skipLoad+"}"; }else if(rs.callback != ""){ fn = rs.callback; } var gid = rs.globalid; var ver = rs.version; if($.CSWidget.resources.in_array(uri)){ if(fn != null){ var callbackFn = eval(fn); callbackFn(gid,ver,uri); } if(wrs.length == 1){ onLoaded(wname,false); }else{ loaded.put(gid,uri); if(loaded.size() == wrs.length){ onLoaded(wname,false); } } }else{ $.CSWidget.requires(uri,function(){ if(fn != null){ var callbackFn = eval(fn); callbackFn(gid,ver,uri); } var layout = $.CSWidget.getLayout(); if(wrs.length == 1){ onLoaded(wname,true); }else{ loaded.put(gid,uri); if(loaded.size() == wrs.length){ onLoaded(wname,true); } } }); } } }catch(e){ alert(e); } }, revertInstance:function(wid,isLoadContent){ var widget = this.getWidget(wid); this.setNewWidgetInstance(widget,function(inst){ if(typeof(isLoadContent) == "undefined" || isLoadContent){ $.CSWidget.getLayout().loadWidget(inst); } }); }, revertWidgets:function(wname){ for(var i=0;i"); loading.loadingBar({ text: $.CSWidget.getLocalizedItemValue("page.common","setting.loading") }).attr("id","ft_"+wid+"_loading"); $($.CSWidget.Constants.widgetFoot,"#"+wid).append(loading); } loading.loadingBar("start"); this.io = $.CSWidget.getObject("com.cs.widgets.IO"); this.io.include(id,url,function(evt){ var layout = $.CSWidget.getLayout(); try{ var res = evt.response.responseJSON; if(res && res.errorResponse){ layout.appendErrorContent(wid,mode,res); return; } $(".mode-body","#"+wid).hide(); layout.appendModeButtons(wid,mode); $(id).show(); $($.CSWidget.Constants.widgetBody,"#"+wid).show(); var modeEvent = layout.getModeEvent(mode); var idesc = inst.iContext.getiDescriptor(); var changedMode = idesc.getChangedItem("mode"); var oldMode = changedMode?changedMode.oldValue:null; var modeData = layout.getAttribute(wid,"modeData"); if(modeData == null){ modeData = ""; } var obj = layout.getInstance(wid); try{ if(callback){ callback(); } obj.iContext.iEvents.fireEvent(modeEvent,null,{ "oldMode":oldMode, "responseData":modeData }); }catch(e){ $.CSWidget.writeWidgetLog("error",wid,modeEvent,e); throw e; } }catch(e){ layout.appendErrorContent(wid,mode); throw e; }finally{ $("#ft_"+wid+"_loading").loadingBar("complete"); } },data,{ "Widget-ID":wid, "Action":mode, "Widget-Name":wname },true,function(){ var layout = $.CSWidget.getLayout(); layout.appendErrorContent(wid,mode); }); }catch(e){ var wid = inst.iContext.getWidgetId(); var mode = inst.getWidgetMode(); this.appendErrorContent(wid,mode); } }, updateMetaItemSet:function(wid,data){ var meta = this.getMetaWidget(wid); var key = data.itemSetName; key = "idescriptor" == key?"descriptor":key; if(!meta[key]){ return; } var items = meta[key].items; if(!items){ return; } var changes = data.changes; if(changes.length){ for(var i=0;i"); body.append(btnBar); btnBar.addClass(mode+"-btn-bar mode-btn-bar"); if("help" != mode){ var backTxt = $.CSWidget.Constants.personalize?"button.revert":"button.cancel"; var backEvent = this.getModeEvent(mode)+"Back"; var back = $("").button({ style:"back-btn", text:$.CSWidget.getLocalizedItemValue("common.button",backTxt), click:function(ui){ var inst = ui._self(); if(inst[backEvent] && false == inst[backEvent]()){ return; } inst.revert(); } }).attr("href","javascript:;"); btnBar.append(back); } if(!$.CSWidget.Constants.personalize || "help" == mode){ var doneTxt = "help" == mode?"button.done":"button.save"; var doneEvent = this.getModeEvent(mode)+"Done"; var done = $("").button({ style:"done-btn", text:$.CSWidget.getLocalizedItemValue("common.button",doneTxt), click:function(ui){ var inst = ui._self(); if(inst[doneEvent] && false == inst[doneEvent]()){ return; } inst.iContext.processiWidgets(); } }).attr("href","javascript:;"); btnBar.append(done); } } }, displayModePanel : function(wid,mode){ $(".mode-body","#"+wid).hide(); var objId = "#ns_"+wid+"_"+mode; $(objId,"#"+wid).show(); }, appendErrorContent : function(wid,mode,data){ if(!mode){ mode = $.CSWidget.Constants.initMode; } $(".mode-body","#"+wid).hide(); var id = "#ns_"+wid+"_"+mode; $(id,"#"+wid).show(); var div = $("
"); $(id).html(div); if(data){ var ul = $("
    "); div.append(ul); if(data.errors){ for(var i=0;i"); ul.append(li); var icon = $("
    "); li.append(icon); var msg = $("
    "); li.append(msg); msg.html(data.errors[i].message); } } }else{ var icon = $("
    "); div.append(icon); var msg = _getClientMessage(90244); var span = $("
    "); div.append(span); span.html(msg); } $("#ft_"+wid+"_loading").loadingBar("complete"); }, getMetaWidget:function(wid){ var obj = null; if(!this.widgets){ this.widgets = new Array(); } for(var i=0;i