Files
jshERP/erp_web/js/easyui-1.3.5/plugins/jquery.menubutton.js
2018-12-19 23:51:59 +08:00

133 lines
3.1 KiB
Java

/**
* jQuery EasyUI 1.3.5
*
* Copyright (c) 2009-2013 www.jeasyui.com. All rights reserved.
*
* Licensed under the GPL or commercial licenses
* To use it on other terms please contact us: info@jeasyui.com
* http://www.gnu.org/licenses/gpl.txt
* http://www.jeasyui.com/license_commercial.php
*
*/
(function($){
function _1(_2){
var _3=$.data(_2,"menubutton").options;
var _4=$(_2);
_4.removeClass(_3.cls.btn1+" "+_3.cls.btn2).addClass("m-btn");
_4.linkbutton($.extend({},_3,{text:_3.text+"<span class=\""+_3.cls.arrow+"\">&nbsp;</span>"}));
if(_3.menu){
$(_3.menu).menu();
var _5=$(_3.menu).menu("options");
var _6=_5.onShow;
var _7=_5.onHide;
$.extend(_5,{onShow:function(){
var _8=$(this).menu("options");
var _9=$(_8.alignTo);
var _a=_9.menubutton("options");
_9.addClass((_a.plain==true)?_a.cls.btn2:_a.cls.btn1);
_6.call(this);
},onHide:function(){
var _b=$(this).menu("options");
var _c=$(_b.alignTo);
var _d=_c.menubutton("options");
_c.removeClass((_d.plain==true)?_d.cls.btn2:_d.cls.btn1);
_7.call(this);
}});
}
_e(_2,_3.disabled);
};
function _e(_f,_10){
var _11=$.data(_f,"menubutton").options;
_11.disabled=_10;
var btn=$(_f);
var t=btn.find("."+_11.cls.trigger);
if(!t.length){
t=btn;
}
t.unbind(".menubutton");
if(_10){
btn.linkbutton("disable");
}else{
btn.linkbutton("enable");
var _12=null;
t.bind("click.menubutton",function(){
_13(_f);
return false;
}).bind("mouseenter.menubutton",function(){
_12=setTimeout(function(){
_13(_f);
},_11.duration);
return false;
}).bind("mouseleave.menubutton",function(){
if(_12){
clearTimeout(_12);
}
});
}
};
function _13(_14){
var _15=$.data(_14,"menubutton").options;
if(_15.disabled||!_15.menu){
return;
}
$("body>div.menu-top").menu("hide");
var btn=$(_14);
var mm=$(_15.menu);
if(mm.length){
mm.menu("options").alignTo=btn;
mm.menu("show",{alignTo:btn});
}
btn.blur();
};
$.fn.menubutton=function(_16,_17){
if(typeof _16=="string"){
var _18=$.fn.menubutton.methods[_16];
if(_18){
return _18(this,_17);
}else{
return this.linkbutton(_16,_17);
}
}
_16=_16||{};
return this.each(function(){
var _19=$.data(this,"menubutton");
if(_19){
$.extend(_19.options,_16);
}else{
$.data(this,"menubutton",{options:$.extend({},$.fn.menubutton.defaults,$.fn.menubutton.parseOptions(this),_16)});
$(this).removeAttr("disabled");
}
_1(this);
});
};
$.fn.menubutton.methods={options:function(jq){
var _1a=jq.linkbutton("options");
var _1b=$.data(jq[0],"menubutton").options;
_1b.toggle=_1a.toggle;
_1b.selected=_1a.selected;
return _1b;
},enable:function(jq){
return jq.each(function(){
_e(this,false);
});
},disable:function(jq){
return jq.each(function(){
_e(this,true);
});
},destroy:function(jq){
return jq.each(function(){
var _1c=$(this).menubutton("options");
if(_1c.menu){
$(_1c.menu).menu("destroy");
}
$(this).remove();
});
}};
$.fn.menubutton.parseOptions=function(_1d){
var t=$(_1d);
return $.extend({},$.fn.linkbutton.parseOptions(_1d),$.parser.parseOptions(_1d,["menu",{plain:"boolean",duration:"number"}]));
};
$.fn.menubutton.defaults=$.extend({},$.fn.linkbutton.defaults,{plain:true,menu:null,duration:100,cls:{btn1:"m-btn-active",btn2:"m-btn-plain-active",arrow:"m-btn-downarrow",trigger:"m-btn"}});
})(jQuery);