(function(){ var _1=ibmCfg.portalConfig.contentHandlerURI+((ibmCfg.portalConfig.contentHandlerURI.indexOf("?")<0)?"?":"&")+"uri=menu:${id}"; var _2=false; var _3=function(){ return i$.hasClass(document.getElementsByTagName("body")[0],"edit-mode"); }; if(typeof wptheme==="undefined"||!wptheme){ wptheme={}; } i$.mash(wptheme,{getWindowIDFromSkin:function(_4){ while((_4=_4.parentNode)!=null){ if(i$.hasClass(_4,"component-control")){ var m=_4&&(_4.className||"").match(/id-([\S]+)/); return m&&m[1]; } } return null; },getPortletState:function(_5){ var _6=i$.byId("portletState"); if(_6){ if(!_6._cache){ _6._cache=i$.fromJson(_6.innerHTML); _6._cache._defaults={"windowState":"normal","portletMode":"view"}; } if(_6._cache[_5]){ return _6._cache[_5]; }else{ return _6._cache._defaults; } } return {}; },isValidOp:function(_7){ if(_7.visibility===false){ return false; } var _8=_7.metadata||{}; switch(_7.id){ case "ibm.portal.operations.changePortletMode": return wptheme.getPortletState(_8.wid).portletMode!=_8.portletMode; case "ibm.portal.operations.changeWindowState": return wptheme.getPortletState(_8.wid).windowState!=_8.windowState; default: } return true; },operation:{changeToHelpMode:function(_9){ var _a=window.location.href; if(_9.actionUrl){ if(_9.actionUrl.indexOf("?")==0){ var _b=_a.indexOf("#"); if(_b!=-1){ var _c=_a.substring(0,_b); var _d=_a.substring(_b); _a=_c+(_c.indexOf("?")==-1?"?":"&")+_9.actionUrl.substring(1); _a+=_d; }else{ _a+=(_a.indexOf("?")==-1?"?":"&")+_9.actionUrl.substring(1); } }else{ _a=_9.actionUrl; } } window.open(_a,"","resizable=yes,scrollbars=yes,menubar=no,toolbar=no,status=no,width=800,height=600,screenX=10,screenY=10,top=10,left=10"); }},contextMenu:{cache:{},css:{focus:"wpthemeMenuFocus",disabled:"wpthemeMenuDisabled",show:"wpthemeMenuShow",error:"wpthemeMenuError",menuTemplate:"wpthemeTemplateMenu",submenuTemplate:"wpthemeTemplateSubmenu",loadingTemplate:"wpthemeTemplateLoading"},init:function(_e,_f,_10){ _e._contextMenu=_e._contextMenu||{}; _e._contextMenu.id=_e._contextMenu.id||Math.round(Math.random()*1000000000); _e.setAttribute("id",_e._contextMenu.id); _e._contextMenu.menuId=_f; _e._contextMenu.jsonQuery=_10; var _11=_e._contextMenu; var _12=function(_13){ if(_13.displayMenu){ i$.addClass(i$.byId(_11.id),wptheme.contextMenu.css.show); var _14=i$.byId(_11.id)._firstSelectable; if(_14){ _14.focus(); i$.byId(_11.id)._currentSelected=_14; } } }; wptheme.contextMenu._initialize(_e).then(_12,_12); _e=null; },initSubmenu:function(_15,_16,_17){ _15._contextMenu=_15._contextMenu||{}; _15._contextMenu._submenu=true; _15._contextMenu._menuitemTemplate=_17._menuitemTemplate; _15._contextMenu._subMenuTemplate=_17._subMenuTemplate; _15._contextMenu._loadingTemplate=_17._loadingTemplate; wptheme.contextMenu.init(_15,_16,_17.jsonQuery); },_findFocusNode:function(_18){ var _19,i,_1a; var _1b=function(_1c,_1d){ var l=_1c.childNodes.length; for(i=0;i=0;i--){ _22=_24.childNodes[i]; if(i$.hasClass(_22,wptheme.contextMenu.css.menuTemplate)){ _1f=_22; continue; } if(i$.hasClass(_22,wptheme.contextMenu.css.submenuTemplate)){ _20=_22; continue; } if(i$.hasClass(_22,wptheme.contextMenu.css.loadingTemplate)){ _21=_22; continue; } if(_22.childNodes){ i=_23(_22,i); } } return _25; }; _23(_1e); return {"menu":_1f,"submenu":_20,"loading":_21}; },_invalidateCallback:function(){ wptheme.contextMenu.cache={}; },_initialize:function(_26){ var _27=true; var _28=_26._contextMenu; if(wptheme.contextMenu.cache[_28.id]||_28._inProgress){ return i$.promise.resolved({displayMenu:_27}); } _28._inProgress=true; i$.addListener("wptheme/contextMenu/invalidate/all",wptheme.contextMenu._invalidateCallback); var _29,_2a,tmp=i$.createDom("div"); if(_28._submenu){ tmp.innerHTML=_28._subMenuTemplate.replace(/\$\{submenu-id\}/g,_28.id+"_menu"); _26.appendChild(tmp.firstChild); _29=i$.byId(_28.id+"_menu"); _2a=i$.createDom("div"); _2a.innerHTML=_28._loadingTemplate; }else{ var _2b=wptheme.contextMenu._findNodes(_26); _29=_2b.menu; if(!_28._menuitemTemplate){ _28._menuitemTemplate=i$.trim(_29.innerHTML); } if(!_28._loadingTemplate){ _2a=i$.createDom("div"); _2a.appendChild(_2b.loading); _28._loadingTemplate=i$.trim(_2a.innerHTML); _2a=null; } _2a=i$.createDom("div"); _2a.innerHTML=_28._loadingTemplate; tmp.appendChild(_2b.submenu.cloneNode(true)); if(!_28._subMenuTemplate){ _28._subMenuTemplate=i$.trim(tmp.innerHTML); } } while(_29.firstChild){ _29.removeChild(_29.firstChild); } _29.appendChild(_2a); i$.addClass(_26,wptheme.contextMenu.css.show); i$.bindDomEvt(i$.byId(_28.id),"onmouseleave",function(){ if(_28._inProgress){ _27=false; } var _2c=i$.byId(_28.id); i$.removeClass(_2c,wptheme.contextMenu.css.show); if(!_28.activeAction){ var _2d=_2c._currentSelected; if(_2d){ _2d.blur(); } var _2e=wptheme.contextMenu._findFocusNode(_2c); ((_2e)?_2e:_2c).focus(); } }); return wptheme.contextMenu._load(_28).then(function(_2f){ var _30=wptheme.contextMenu._parseData(_2f).then(function(_31){ _31=wptheme.contextMenu._filterMenu(_31); if(!_31||_31.length==0){ var tmp=i$.createDom("div"); tmp.innerHTML=wptheme.contextMenu._fromTemplate(_28._menuitemTemplate,wptheme.contextMenu.css.error,"No items to display."); while(_29.firstChild){ _29.removeChild(_29.firstChild); } _29.appendChild(tmp); }else{ wptheme.contextMenu._buildMenu(_28,_29,_31); } _28._inProgress=false; wptheme.contextMenu.cache[_28.id]=true; return {displayMenu:_27}; }); return _30; },function(){ var tmp=i$.createDom("div"); tmp.innerHTML=wptheme.contextMenu._fromTemplate(_28._menuitemTemplate,wptheme.contextMenu.css.error,"Error happened while loading the menu."); while(_29.firstChild){ _29.removeChild(_29.firstChild); } _29.appendChild(tmp); _28._inProgress=false; wptheme.contextMenu.cache[_28.id]=true; return {displayMenu:_27}; }); },_load:function(_32){ var _33=_1.replace(/\$\{id\}/g,_32.menuId); if(_32.jsonQuery){ _33+=(_33.indexOf("?")==-1?"?":"&")+i$.toQuery(_32.jsonQuery); } return i$.xhrGet({url:_33,headers:{"X-IBM-XHR":"true"},responseType:"json"}).then(function(_34){ return _34.data; },function(_35){ var _36=_35.xhr.getResponseHeader("Content-Type")||""; if((_36.indexOf("text/html")==0)||(_35.xhr.status==401)){ window.setTimeout(function(){ document.location.reload(); },0); } console.log("Error trying to load the context menu feed for '"+_32.menuId+"': "+_35); return null; }); },_parseData:function(_37){ var _38=[]; i$.each(_37,function(_39){ var _3a=i$.fromPath("moduleInfo.deferred",false,_39)?i$.modules.loadDeferred():i$.promise.resolved(true); _38.push(_3a.then(function(){ var _3b=wptheme.contextMenu._checkFunction(_39,_39.visibilityFn,_39,(typeof _39.visibility!="undefined")?_39.visibility:true); var _3c=wptheme.contextMenu._checkFunction(_39,_39.enableFn,_39,(typeof _39.enabled!="undefined")?_39.enabled:true); return i$.whenAll(_3b,_3c).then(function(_3d){ _39._visible=_3d[0]; _39._enabled=_3d[1]; return _39; }); })); }); return i$.whenAll.apply(i$,_38); },_filterMenu:function(_3e){ var _3f=[],_40,_41={"type":"Separator"}; for(var i=_3e.length-1;i>=0;i--){ _40=_3e[i]; if(!_40._visible){ continue; } if(_40.type=="Separator"){ if(_41.type=="Separator"){ continue; } }else{ if(_40.type=="Header"){ if((_41.type=="Separator")||(_41.type=="Header")){ continue; } } } _41=_40; _3f.unshift(_40); } while(_3f.length>0&&_3f[0].type=="Separator"){ _3f=_3f.slice(1); } return _3f; },_buildMenu:function(_42,_43,_44){ var _45=document.createDocumentFragment(),tmp=i$.createDom("div"),_46,_47,_48,_49; for(var i=0,l=_44.length;i