/** * jQuery EasyUI 1.4.5 * * Copyright (c) 2009-2016 www.jeasyui.com. All rights reserved. * * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php * To use it on other terms please contact us: info@jeasyui.com * */ (function($){ $(function(){ $(document).unbind(".menu").bind("mousedown.menu",function(e){ var m=$(e.target).closest("div.menu,div.combo-p"); if(m.length){ return; } $("body>div.menu-top:visible").not(".menu-inline").menu("hide"); _1($("body>div.menu:visible").not(".menu-inline")); }); }); function _2(_3){ var _4=$.data(_3,"menu").options; $(_3).addClass("menu-top"); _4.inline?$(_3).addClass("menu-inline"):$(_3).appendTo("body"); $(_3).bind("_resize",function(e,_5){ if($(this).hasClass("easyui-fluid")||_5){ $(_3).menu("resize",_3); } return false; }); var _6=_7($(_3)); for(var i=0;i<_6.length;i++){ _8(_6[i]); } function _7(_9){ var _a=[]; _9.addClass("menu"); _a.push(_9); if(!_9.hasClass("menu-content")){ _9.children("div").each(function(){ var _b=$(this).children("div"); if(_b.length){ _b.appendTo("body"); this.submenu=_b; var mm=_7(_b); _a=_a.concat(mm); } }); } return _a; }; function _8(_c){ var wh=$.parser.parseOptions(_c[0],["width","height"]); _c[0].originalHeight=wh.height||0; if(_c.hasClass("menu-content")){ _c[0].originalWidth=wh.width||_c._outerWidth(); }else{ _c[0].originalWidth=wh.width||0; _c.children("div").each(function(){ var _d=$(this); var _e=$.extend({},$.parser.parseOptions(this,["name","iconCls","href",{separator:"boolean"}]),{disabled:(_d.attr("disabled")?true:undefined)}); if(_e.separator){ _d.addClass("menu-sep"); } if(!_d.hasClass("menu-sep")){ _d[0].itemName=_e.name||""; _d[0].itemHref=_e.href||""; var _f=_d.addClass("menu-item").html(); _d.empty().append($("
").html(_f)); if(_e.iconCls){ $("").addClass(_e.iconCls).appendTo(_d); } if(_e.disabled){ _10(_3,_d[0],true); } if(_d[0].submenu){ $("").appendTo(_d); } _11(_3,_d); } }); $("").prependTo(_c); } _12(_3,_c); if(!_c.hasClass("menu-inline")){ _c.hide(); } _13(_3,_c); }; }; function _12(_14,_15){ var _16=$.data(_14,"menu").options; var _17=_15.attr("style")||""; _15.css({display:"block",left:-10000,height:"auto",overflow:"hidden"}); _15.find(".menu-item").each(function(){ $(this)._outerHeight(_16.itemHeight); $(this).find(".menu-text").css({height:(_16.itemHeight-2)+"px",lineHeight:(_16.itemHeight-2)+"px"}); }); _15.removeClass("menu-noline").addClass(_16.noline?"menu-noline":""); var _18=_15[0].originalWidth||"auto"; if(isNaN(parseInt(_18))){ _18=0; _15.find("div.menu-text").each(function(){ if(_18<$(this)._outerWidth()){ _18=$(this)._outerWidth(); } }); _18+=40; } var _19=_15.outerHeight(); var _1a=_15[0].originalHeight||"auto"; if(isNaN(parseInt(_1a))){ _1a=_19; if(_15.hasClass("menu-top")&&_16.alignTo){ var at=$(_16.alignTo); var h1=at.offset().top-$(document).scrollTop(); var h2=$(window)._outerHeight()+$(document).scrollTop()-at.offset().top-at._outerHeight(); _1a=Math.min(_1a,Math.max(h1,h2)); }else{ if(_1a>$(window)._outerHeight()){ _1a=$(window).height(); } } } _15.attr("style",_17); _15._size({fit:(_15[0]==_14?_16.fit:false),width:_18,minWidth:_16.minWidth,height:_1a}); _15.css("overflow",_15.outerHeight()<_19?"auto":"hidden"); _15.children("div.menu-line")._outerHeight(_19-2); }; function _13(_1b,_1c){ if(_1c.hasClass("menu-inline")){ return; } var _1d=$.data(_1b,"menu"); _1c.unbind(".menu").bind("mouseenter.menu",function(){ if(_1d.timer){ clearTimeout(_1d.timer); _1d.timer=null; } }).bind("mouseleave.menu",function(){ if(_1d.options.hideOnUnhover){ _1d.timer=setTimeout(function(){ _1e(_1b,$(_1b).hasClass("menu-inline")); },_1d.options.duration); } }); }; function _11(_1f,_20){ if(!_20.hasClass("menu-item")){ return; } _20.unbind(".menu"); _20.bind("click.menu",function(){ if($(this).hasClass("menu-item-disabled")){ return; } if(!this.submenu){ _1e(_1f,$(_1f).hasClass("menu-inline")); var _21=this.itemHref; if(_21){ location.href=_21; } } $(this).trigger("mouseenter"); var _22=$(_1f).menu("getItem",this); $.data(_1f,"menu").options.onClick.call(_1f,_22); }).bind("mouseenter.menu",function(e){ _20.siblings().each(function(){ if(this.submenu){ _1(this.submenu); } $(this).removeClass("menu-active"); }); _20.addClass("menu-active"); if($(this).hasClass("menu-item-disabled")){ _20.addClass("menu-active-disabled"); return; } var _23=_20[0].submenu; if(_23){ $(_1f).menu("show",{menu:_23,parent:_20}); } }).bind("mouseleave.menu",function(e){ _20.removeClass("menu-active menu-active-disabled"); var _24=_20[0].submenu; if(_24){ if(e.pageX>=parseInt(_24.css("left"))){ _20.addClass("menu-active"); }else{ _1(_24); } }else{ _20.removeClass("menu-active"); } }); }; function _1e(_25,_26){ var _27=$.data(_25,"menu"); if(_27){ if($(_25).is(":visible")){ _1($(_25)); if(_26){ $(_25).show(); }else{ _27.options.onHide.call(_25); } } } return false; }; function _28(_29,_2a){ _2a=_2a||{}; var _2b,top; var _2c=$.data(_29,"menu").options; var _2d=$(_2a.menu||_29); $(_29).menu("resize",_2d[0]); if(_2d.hasClass("menu-top")){ $.extend(_2c,_2a); _2b=_2c.left; top=_2c.top; if(_2c.alignTo){ var at=$(_2c.alignTo); _2b=at.offset().left; top=at.offset().top+at._outerHeight(); if(_2c.align=="right"){ _2b+=at.outerWidth()-_2d.outerWidth(); } } if(_2b+_2d.outerWidth()>$(window)._outerWidth()+$(document)._scrollLeft()){ _2b=$(window)._outerWidth()+$(document).scrollLeft()-_2d.outerWidth()-5; } if(_2b<0){ _2b=0; } top=_2e(top,_2c.alignTo); }else{ var _2f=_2a.parent; _2b=_2f.offset().left+_2f.outerWidth()-2; if(_2b+_2d.outerWidth()+5>$(window)._outerWidth()+$(document).scrollLeft()){ _2b=_2f.offset().left-_2d.outerWidth()+2; } top=_2e(_2f.offset().top-3); } function _2e(top,_30){ if(top+_2d.outerHeight()>$(window)._outerHeight()+$(document).scrollTop()){ if(_30){ top=$(_30).offset().top-_2d._outerHeight(); }else{ top=$(window)._outerHeight()+$(document).scrollTop()-_2d.outerHeight(); } } if(top<0){ top=0; } return top; }; _2d.css(_2c.position.call(_29,_2d[0],_2b,top)); _2d.show(0,function(){ if(!_2d[0].shadow){ _2d[0].shadow=$("").insertAfter(_2d); } _2d[0].shadow.css({display:(_2d.hasClass("menu-inline")?"none":"block"),zIndex:$.fn.menu.defaults.zIndex++,left:_2d.css("left"),top:_2d.css("top"),width:_2d.outerWidth(),height:_2d.outerHeight()}); _2d.css("z-index",$.fn.menu.defaults.zIndex++); if(_2d.hasClass("menu-top")){ _2c.onShow.call(_29); } }); }; function _1(_31){ if(_31&&_31.length){ _32(_31); _31.find("div.menu-item").each(function(){ if(this.submenu){ _1(this.submenu); } $(this).removeClass("menu-active"); }); } function _32(m){ m.stop(true,true); if(m[0].shadow){ m[0].shadow.hide(); } m.hide(); }; }; function _33(_34,_35){ var _36=null; var tmp=$(""); function _37(_38){ _38.children("div.menu-item").each(function(){ var _39=$(_34).menu("getItem",this); var s=tmp.empty().html(_39.text).text(); if(_35==$.trim(s)){ _36=_39; }else{ if(this.submenu&&!_36){ _37(this.submenu); } } }); }; _37($(_34)); tmp.remove(); return _36; }; function _10(_3a,_3b,_3c){ var t=$(_3b); if(!t.hasClass("menu-item")){ return; } if(_3c){ t.addClass("menu-item-disabled"); if(_3b.onclick){ _3b.onclick1=_3b.onclick; _3b.onclick=null; } }else{ t.removeClass("menu-item-disabled"); if(_3b.onclick1){ _3b.onclick=_3b.onclick1; _3b.onclick1=null; } } }; function _3d(_3e,_3f){ var _40=$.data(_3e,"menu").options; var _41=$(_3e); if(_3f.parent){ if(!_3f.parent.submenu){ var _42=$(" ").appendTo("body"); _42.hide(); _3f.parent.submenu=_42; $("").appendTo(_3f.parent); } _41=_3f.parent.submenu; } if(_3f.separator){ var _43=$("").appendTo(_41); }else{ var _43=$("").appendTo(_41); $("").html(_3f.text).appendTo(_43); } if(_3f.iconCls){ $("").addClass(_3f.iconCls).appendTo(_43); } if(_3f.id){ _43.attr("id",_3f.id); } if(_3f.name){ _43[0].itemName=_3f.name; } if(_3f.href){ _43[0].itemHref=_3f.href; } if(_3f.onclick){ if(typeof _3f.onclick=="string"){ _43.attr("onclick",_3f.onclick); }else{ _43[0].onclick=cceval(_3f.onclick); } } if(_3f.handler){ _43[0].onclick=cceval(_3f.handler); } if(_3f.disabled){ _10(_3e,_43[0],true); } _11(_3e,_43); _13(_3e,_41); _12(_3e,_41); }; function _44(_45,_46){ function _47(el){ if(el.submenu){ el.submenu.children("div.menu-item").each(function(){ _47(this); }); var _48=el.submenu[0].shadow; if(_48){ _48.remove(); } el.submenu.remove(); } $(el).remove(); }; var _49=$(_46).parent(); _47(_46); _12(_45,_49); }; function _4a(_4b,_4c,_4d){ var _4e=$(_4c).parent(); if(_4d){ $(_4c).show(); }else{ $(_4c).hide(); } _12(_4b,_4e); }; function _4f(_50){ $(_50).children("div.menu-item").each(function(){ _44(_50,this); }); if(_50.shadow){ _50.shadow.remove(); } $(_50).remove(); }; $.fn.menu=function(_51,_52){ if(typeof _51=="string"){ return $.fn.menu.methods[_51](this,_52); } _51=_51||{}; return this.each(function(){ var _53=$.data(this,"menu"); if(_53){ $.extend(_53.options,_51); }else{ _53=$.data(this,"menu",{options:$.extend({},$.fn.menu.defaults,$.fn.menu.parseOptions(this),_51)}); _2(this); } $(this).css({left:_53.options.left,top:_53.options.top}); }); }; $.fn.menu.methods={options:function(jq){ return $.data(jq[0],"menu").options; },show:function(jq,pos){ return jq.each(function(){ _28(this,pos); }); },hide:function(jq){ return jq.each(function(){ _1e(this); }); },destroy:function(jq){ return jq.each(function(){ _4f(this); }); },setText:function(jq,_54){ return jq.each(function(){ $(_54.target).children("div.menu-text").html(_54.text); }); },setIcon:function(jq,_55){ return jq.each(function(){ $(_55.target).children("div.menu-icon").remove(); if(_55.iconCls){ $("").addClass(_55.iconCls).appendTo(_55.target); } }); },getItem:function(jq,_56){ var t=$(_56); var _57={target:_56,id:t.attr("id"),text:$.trim(t.children("div.menu-text").html()),disabled:t.hasClass("menu-item-disabled"),name:_56.itemName,href:_56.itemHref,onclick:_56.onclick}; var _58=t.children("div.menu-icon"); if(_58.length){ var cc=[]; var aa=_58.attr("class").split(" "); for(var i=0;i