mainMenuDefHome.js 8.1 KB

1
  1. var shortcutMenuInfo;wd.edit.objectPicker.getInstance("grcdmb").onchange=function(){selectMB($("#grcdmbid").val())};for(var i=0;i<10&&null==parent1.shortcutMenuInfo;i++)parent1=parent1.parent;null!=parent1.shortcutMenuInfo&&(shortcutMenuInfo=parent1.shortcutMenuInfo);var shortcutGroup=[],menuRootSize=0,selectedMenuMenber=[];function isNumber(e){return!!/^[0-9]*$/.test(e)}function isLeft(e){for(var r in e)if(isNumber(r)){for(var t in e[r].members)if(e[r].members[t].memberId){var n=e[r].members[t].memberId.split("#");selectedMenuMenber.push(n[n.length-1])}}else for(var t in e[r].members)isNumber(e[r].members[t].memberId)||selectedMenuMenber.push(e[r].members[t].memberId)}function load(){for(var e in shortcutMenuInfo)"menuRoot"!=e&&shortcutGroup.push(e)}function selectByParentId(){var e="";$.each(menuTree,(function(r){var t=menuTree[r];if(-1==selectedMenuMenber.indexOf(t[0]))if("search"==t[2]){var n="<div class='list-background list' style='min-height: 41px;line-height: 41px;width: calc(100% - 4px);box-sizing: border-box;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;' ssObjId='"+t[0]+"' memberid='"+t[0]+"' name='"+t[1]+"' groupId='"+t[2]+"' url='"+t[3]+"'><span>"+t[1]+"[\u641c\u7d22]</ span ></div>",i=t[0];$.each(menuTree,(function(e){var r=menuTree[e];r[2]==t[0]&&(n+='<div class="list-background list" style="min-height: 41px;line-height: 41px;width: calc(100% - 4px);box-sizing: border-box;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;" ssObjId="'+r[0]+'" ssPobjId="'+i+'" memberid="'+r[0]+'"name="'+r[1]+'" groupId="'+r[2]+'" url="'+t[3]+'" ><span>'+r[1]+"[\u641c\u7d22]</ span ></div>")})),e+=n}else if(""!=t[2]&&t[2]!=window.top.menuRootName){n="<div class='list-background list' style='min-height: 41px;line-height: 41px;width: calc(100% - 4px);box-sizing: border-box;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;' ssObjId='"+t[0]+"' memberid='"+t[0]+"' name='"+t[1]+"' groupId='"+t[2]+"' url='"+t[3]+"'><span>"+t[1]+"</ span ></div>",i=t[0];$.each(menuTree,(function(e){var r=menuTree[e];r[2]==t[0]&&(n+='<div class="list-background list" style="min-height: 41px;line-height: 41px;width: calc(100% - 4px);box-sizing: border-box;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;" ssObjId="'+r[0]+'" ssPobjId="'+i+'" memberid="'+r[0]+'"name="'+r[1]+'" groupId="'+r[2]+'" url="'+t[3]+'" ><span>'+r[1]+"</ span ></div>")})),e+=n}})),e=e.replace(/&/g,"%26"),$("#cdOptionHtml").val(e),$('form[name="ddpOptionForm"]')[0].submit()}function addGroup(){var e=$("#ddpSelected").children(),r=prompt("\u65b0\u83dc\u5355\u540d\u79f0","\u672a\u5b9a\u4e49");if(""==r||null==r)return alert("\u540d\u79f0\u4e0d\u80fd\u4e3a\u7a7a!!\n"),!1;var t=!1;if($.each(e,(function(n){var i=$(e[n]).attr("name");if(r==i)return t=!0,!0})),t)return alert("\u83dc\u5355\u540d\u79f0"+r+"\u5df2\u5b58\u5728"),!1;var n=(new Date).getTime()+"";shortcutMenuInfo[n]={groupId:n,name:r,members:{}},shortcutGroup.push(n),DM.addItem(n,'<div class="list-background list" style="min-height: 41px;line-height: 41px;width: calc(100% - 4px);box-sizing: border-box;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;" ssObjId="'+n+'" memberid="'+n+'" name="'+r+'" groupId="menuRoot" url="null" ><span >'+r+"</span></div>",null,!0)}function beforeSubmit(){var e=$("#ddpSelected").children(),r={},t={};$.extend(t,shortcutMenuInfo.menuRoot),r.menuRoot=t,t.members={},$.each(e,(function(n){if(-1!=shortcutGroup.indexOf($(e[n]).attr("memberid"))||0!=$(e[n]).find("div div[ssObjId]").size()){var i={},o={};if(i.groupId=$(e[n]).attr("memberid"),i.name=$(e[n]).attr("name"),0!=$(e[n]).find("div div[ssObjId]").size()){var s=$(e[n]).find("div div[ssObjId]");$.each(s,(function(e){var r={};r.groupId=$(s[e]).attr("groupid"),r.memberId=$(s[e]).attr("memberid"),r.name=$(s[e]).attr("name"),r.url=$(s[e]).attr("url"),o["#"+e+"#"+$(s[e]).attr("memberid")]=r}))}i.members=o,r[$(e[n]).attr("memberid")]=i}var d={};d.memberId=$(e[n]).attr("memberId"),d.name=$(e[n]).attr("name"),0!=$(e[n]).find("div div[ssObjId]").size()?(d.groupId="menuRoot",d.url="null",shortcutGroup.push($(e[n]).attr("memberId"))):(d.groupId=$(e[n]).attr("groupId"),d.url=$(e[n]).attr("url")),t.members["#"+n+"#"+$(e[n]).attr("memberId")]=d})),shortcutMenuInfo={},shortcutMenuInfo=r}function selectMB(e){"0"==e&&(e="null"),shortcutMenuInfo=null==mbdata[e]?{}:mbdata[e],$("#ddpSelected").empty(),"0"!=e?(selectedMenuMenber.splice(0,selectedMenuMenber.length),isLeft(shortcutMenuInfo),initShortCutMenu(shortcutMenuInfo),$("#delmb").css("display","inline"),$("#savemb").css("display","inline")):($("#delmb").css("display","none"),$("#savemb").css("display","none"))}function generateHiddenForm(e,r,t){var n=document.createElement("input");n.type="hidden",n.name=r,n.value=t,e.appendChild(n)}function initShortCutMenu(e){var r;r=void 0===e.menuRoot?[]:e.menuRoot.members,DM.getDrager().selectedList.empty(),$.each(r,(function(t){var n=r[t],i=!1;if("null"!=n.url)i=!0;else if(null!=e[n.memberId]){var o=0;$.each(e[n.memberId].members,(function(e){o++})),o>0&&(i=!0)}if(i){if(n.memberId.indexOf("_search")>0)var s=$('<div class="list-background list" style="min-height: 41px;line-height: 41px;width: calc(100% - 4px);box-sizing: border-box;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;" ssObjId="'+n.memberId+'" memberid="'+n.memberId+'" name="'+n.name+'" groupId="search" url="'+n.url+'" class="item dragList"><span>'+n.name+"[\u641c\u7d22]</ span ></div>");else s=$('<div class="list-background list" style="min-height: 41px;line-height: 41px;width: calc(100% - 4px);box-sizing: border-box;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;" ssObjId="'+n.memberId+'" memberid="'+n.memberId+'" name="'+n.name+'" groupId="'+n.groupId+'" url="'+n.url+'" class="item dragList"><span>'+n.name+"</ span ></div>");DM.getDrager().selectedList.append(s[0]);var d=n.memberId;null!=e[n.memberId]&&$.each(e[n.memberId].members,(function(r){var t=e[n.memberId].members[r];if(t.memberId.indexOf("_search")>0)var i=$('<div class="list-background list" style="height: 41px;line-height: 41px;width: calc(100% - 4px);box-sizing: border-box;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;" ssObjId="'+r.split("#")[2]+'" ssPobjId="'+d+'" memberid="'+r.split("#")[2]+'" name="'+t.name+'" groupId="'+t.groupId+'" url="'+t.url+'" ><span>'+t.name+"[\u641c\u7d22]</ span ></div>");else i=$('<div class="list-background list" style="height: 41px;line-height: 41px;width: calc(100% - 4px);box-sizing: border-box;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;" ssObjId="'+r.split("#")[2]+'" ssPobjId="'+d+'" memberid="'+r.split("#")[2]+'" name="'+t.name+'" groupId="'+t.groupId+'" url="'+t.url+'" ><span>'+t.name+"</ span ></div>");DM.getDrager().selectedList.append(i[0])}))}})),DM.getDrager().selectedList.reload(),selectByParentId()}load(),$((function(){selectByParentId()})),$("#delmb").click((function(){var e=$("#grcdmbid").val(),r=JSON.parse('{"mbid":"'+e+'"}'),t=window.a;t=wd.display.replaceDynamicParam(t,r),$('form[name="shortcutForm"]').attr("action",t),$('form[name="shortcutForm"]').submit()})),$("#savemb").click((function(){beforeSubmit();var e=document.forms.shortcutForm,r=$("#cdmbselected").val(),t=JSON.stringify(shortcutMenuInfo),n=JSON.stringify(shortcutGroup);generateHiddenForm(e,"grcdmbid",r),generateHiddenForm(e,"shortcutGroup",n),generateHiddenForm(e,"shortcutMenuInfo",t),generateHiddenForm(e,"cdz","1"),$('form[name="shortcutForm"]').attr("action",window.b),$('form[name="shortcutForm"]').submit()}));var addcallback=function(e){if(null!=e.newMc&&""!=e.newMc){beforeSubmit();var r=document.forms.shortcutForm;generateHiddenForm(r,"newMc",e.newMc),generateHiddenForm(r,"ms",e.ms),generateHiddenForm(r,"grcdmbh",e.grcdmbh);var t=$("#cdmbselected").val(),n=JSON.stringify(shortcutMenuInfo),i=JSON.stringify(shortcutGroup);generateHiddenForm(r,"grcdmbid",t),generateHiddenForm(r,"shortcutGroup",i),generateHiddenForm(r,"shortcutMenuInfo",n),generateHiddenForm(r,"cdz","1"),$('form[name="shortcutForm"]').attr("action",window.c),$('form[name="shortcutForm"]').submit()}};$("#addmb").click((function(){wd.display.confirm({title:"\u53e6\u5b58\u4e3a\u65b0\u6a21\u677f",url:window.d,width:300,height:240,callback:addcallback})}));