(function(){ var _1=ibmCfg.portalConfig.contentHandlerURI+"?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(){ i$.addClass(i$.byId(_11.id),wptheme.contextMenu.css.show); var _13=i$.byId(_11.id)._firstSelectable; if(_13){ _13.focus(); i$.byId(_11.id)._currentSelected=_13; } i$.bindDomEvt(i$.byId(_11.id),"onmouseleave",function(){ var _14=i$.byId(_11.id); i$.removeClass(_14,wptheme.contextMenu.css.show); var _15=_14._currentSelected; if(_15){ _15.blur(); } var _16=wptheme.contextMenu._findFocusNode(_14); ((_16)?_16:_14).focus(); }); }; wptheme.contextMenu._initialize(_e).then(_12,_12); _e=null; },initSubmenu:function(_17,_18,_19){ _17._contextMenu=_17._contextMenu||{}; _17._contextMenu._submenu=true; _17._contextMenu._menuitemTemplate=_19._menuitemTemplate; _17._contextMenu._subMenuTemplate=_19._subMenuTemplate; _17._contextMenu._loadingTemplate=_19._loadingTemplate; wptheme.contextMenu.init(_17,_18,_19.jsonQuery); },_findFocusNode:function(_1a){ var _1b,i,_1c; var _1d=function(_1e,_1f){ var l=_1e.childNodes.length; for(i=0;i=0;i--){ _24=_26.childNodes[i]; if(i$.hasClass(_24,wptheme.contextMenu.css.menuTemplate)){ _21=_24; continue; } if(i$.hasClass(_24,wptheme.contextMenu.css.submenuTemplate)){ _22=_24; continue; } if(i$.hasClass(_24,wptheme.contextMenu.css.loadingTemplate)){ _23=_24; continue; } if(_24.childNodes){ i=_25(_24,i); } } return _27; }; _25(_20); return {"menu":_21,"submenu":_22,"loading":_23}; },_invalidateCallback:function(){ wptheme.contextMenu.cache={}; },_initialize:function(_28){ var _29=_28._contextMenu; if(wptheme.contextMenu.cache[_29.id]||_29._inProgress){ return i$.promise.resolved(null); } _29._inProgress=true; i$.addListener("wptheme/contextMenu/invalidate/all",wptheme.contextMenu._invalidateCallback); var _2a,_2b,tmp=i$.createDom("div"); if(_29._submenu){ tmp.innerHTML=_29._subMenuTemplate.replace(/\$\{submenu-id\}/g,_29.id+"_menu"); _28.appendChild(tmp.firstChild); _2a=i$.byId(_29.id+"_menu"); _2b=i$.createDom("div"); _2b.innerHTML=_29._loadingTemplate; }else{ var _2c=wptheme.contextMenu._findNodes(_28); _2a=_2c.menu; if(!_29._menuitemTemplate){ _29._menuitemTemplate=i$.trim(_2a.innerHTML); } if(!_29._loadingTemplate){ _2b=i$.createDom("div"); _2b.appendChild(_2c.loading); _29._loadingTemplate=i$.trim(_2b.innerHTML); _2b=null; } _2b=i$.createDom("div"); _2b.innerHTML=_29._loadingTemplate; tmp.appendChild(_2c.submenu.cloneNode(true)); if(!_29._subMenuTemplate){ _29._subMenuTemplate=i$.trim(tmp.innerHTML); } } while(_2a.firstChild){ _2a.removeChild(_2a.firstChild); } _2a.appendChild(_2b); i$.addClass(_28,wptheme.contextMenu.css.show); return wptheme.contextMenu._load(_29).then(function(_2d){ var _2e=wptheme.contextMenu._parseData(_2d).then(function(_2f){ _2f=wptheme.contextMenu._filterMenu(_2f); if(!_2f||_2f.length==0){ var tmp=i$.createDom("div"); tmp.innerHTML=wptheme.contextMenu._fromTemplate(_29._menuitemTemplate,wptheme.contextMenu.css.error,"No items to display."); while(_2a.firstChild){ _2a.removeChild(_2a.firstChild); } _2a.appendChild(tmp); }else{ wptheme.contextMenu._buildMenu(_29,_2a,_2f); } wptheme.contextMenu.cache[_29.id]=true; }); _29._inProgress=false; return _2e; },function(){ var tmp=i$.createDom("div"); tmp.innerHTML=wptheme.contextMenu._fromTemplate(_29._menuitemTemplate,wptheme.contextMenu.css.error,"Error happened while loading the menu."); while(_2a.firstChild){ _2a.removeChild(_2a.firstChild); } _2a.appendChild(tmp); _29._inProgress=false; wptheme.contextMenu.cache[_29.id]=true; }); },_load:function(_30){ var _31=_1.replace(/\$\{id\}/g,_30.menuId); if(_30.jsonQuery){ _31+=(_31.indexOf("?")==-1?"?":"&")+i$.toQuery(_30.jsonQuery); } return i$.xhrGet({url:_31,headers:{"X-IBM-XHR":"true"},responseType:"json"}).then(function(_32){ return _32.data; },function(_33){ var _34=_33.xhr.getResponseHeader("Content-Type")||""; if((_34.indexOf("text/html")==0)||(_33.xhr.status==401)){ window.setTimeout(function(){ document.location.reload(); },0); } console.log("Error trying to load the context menu feed for '"+_30.menuId+"': "+_33); return null; }); },_parseData:function(_35){ var _36=[]; i$.each(_35,function(_37){ var _38=i$.fromPath("moduleInfo.deferred",false,_37)?i$.modules.loadDeferred():i$.promise.resolved(true); _36.push(_38.then(function(){ var _39=wptheme.contextMenu._checkFunction(_37,_37.visibilityFn,_37,(typeof _37.visibility!="undefined")?_37.visibility:true); var _3a=wptheme.contextMenu._checkFunction(_37,_37.enableFn,_37,(typeof _37.enabled!="undefined")?_37.enabled:true); return i$.whenAll(_39,_3a).then(function(_3b){ _37._visible=_3b[0]; _37._enabled=_3b[1]; return _37; }); })); }); return i$.whenAll.apply(i$,_36); },_filterMenu:function(_3c){ var _3d=[],_3e,_3f={"type":"Separator"}; for(var i=_3c.length-1;i>=0;i--){ _3e=_3c[i]; if(!_3e._visible){ continue; } if(_3e.type=="Separator"){ if(_3f.type=="Separator"){ continue; } }else{ if(_3e.type=="Header"){ if((_3f.type=="Separator")||(_3f.type=="Header")){ continue; } } } _3f=_3e; _3d.unshift(_3e); } while(_3d.length>0&&_3d[0].type=="Separator"){ _3d=_3d.slice(1); } return _3d; },_buildMenu:function(_40,_41,_42){ var _43=document.createDocumentFragment(),tmp=i$.createDom("div"),_44,_45,_46,_47; for(var i=0,l=_42.length;i