/** * jQuery EasyUI 1.4 * * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. * * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt * To use it on other terms please contact us at info@jeasyui.com * */ (function($){ function _1(_2){ var _3=$.data(_2,"combo"); var _4=_3.options; if(!_3.panel){ _3.panel=$("
").appendTo("body"); _3.panel.panel({minWidth:_4.panelMinWidth,maxWidth:_4.panelMaxWidth,minHeight:_4.panelMinHeight,maxHeight:_4.panelMaxHeight,doSize:false,closed:true,cls:"combo-p",style:{position:"absolute",zIndex:10},onOpen:function(){ var p=$(this).panel("panel"); if($.fn.menu){ p.css("z-index",$.fn.menu.defaults.zIndex++); }else{ if($.fn.window){ p.css("z-index",$.fn.window.defaults.zIndex++); } } $(this).panel("resize"); },onBeforeClose:function(){ _e(this); },onClose:function(){ var _5=$.data(_2,"combo"); if(_5){ _5.options.onHidePanel.call(_2); } }}); } var _6=$.extend(true,[],_4.icons); if(_4.hasDownArrow){ _6.push({iconCls:"combo-arrow",handler:function(e){ _a(e.data.target); }}); } $(_2).addClass("combo-f").textbox($.extend({},_4,{icons:_6,onChange:function(){ }})); $(_2).attr("comboName",$(_2).attr("textboxName")); _3.combo=$(_2).next(); _3.combo.addClass("combo"); }; function _7(_8){ var _9=$.data(_8,"combo"); _9.panel.panel("destroy"); $(_8).textbox("destroy"); }; function _a(_b){ var _c=$.data(_b,"combo").panel; if(_c.is(":visible")){ _d(_b); }else{ var p=$(_b).closest("div.combo-panel"); $("div.combo-panel:visible").not(_c).not(p).panel("close"); $(_b).combo("showPanel"); } $(_b).combo("textbox").focus(); }; function _e(_f){ $(_f).find(".combo-f").each(function(){ var p=$(this).combo("panel"); if(p.is(":visible")){ p.panel("close"); } }); }; function _10(_11){ $(document).unbind(".combo").bind("mousedown.combo",function(e){ var p=$(e.target).closest("span.combo,div.combo-p"); if(p.length){ _e(p); return; } $("body>div.combo-p>div.combo-panel:visible").panel("close"); }); }; function _12(e){ var _13=e.data.target; var _14=$.data(_13,"combo"); var _15=_14.options; var _16=_14.panel; if(!_15.editable){ _a(_13); }else{ var p=$(_13).closest("div.combo-panel"); $("div.combo-panel:visible").not(_16).not(p).panel("close"); } }; function _17(e){ var _18=e.data.target; var t=$(_18); var _19=t.data("combo"); var _1a=t.combo("options"); switch(e.keyCode){ case 38: _1a.keyHandler.up.call(_18,e); break; case 40: _1a.keyHandler.down.call(_18,e); break; case 37: _1a.keyHandler.left.call(_18,e); break; case 39: _1a.keyHandler.right.call(_18,e); break; case 13: e.preventDefault(); _1a.keyHandler.enter.call(_18,e); return false; case 9: case 27: _d(_18); break; default: if(_1a.editable){ if(_19.timer){ clearTimeout(_19.timer); } _19.timer=setTimeout(function(){ var q=t.combo("getText"); if(_19.previousText!=q){ _19.previousText=q; t.combo("showPanel"); _1a.keyHandler.query.call(_18,q,e); t.combo("validate"); } },_1a.delay); } } }; function _1b(_1c){ var _1d=$.data(_1c,"combo"); var _1e=_1d.combo; var _1f=_1d.panel; var _20=$(_1c).combo("options"); _1f.panel("move",{left:_21(),top:_22()}); if(_1f.panel("options").closed){ _1f.panel("open").panel("resize",{width:(_20.panelWidth?_20.panelWidth:_1e._outerWidth()),height:_20.panelHeight}); _20.onShowPanel.call(_1c); } (function(){ if(_1f.is(":visible")){ _1f.panel("move",{left:_21(),top:_22()}); setTimeout(arguments.callee,200); } })(); function _21(){ var _23=_1e.offset().left; if(_20.panelAlign=="right"){ _23+=_1e._outerWidth()-_1f._outerWidth(); } if(_23+_1f._outerWidth()>$(window)._outerWidth()+$(document).scrollLeft()){ _23=$(window)._outerWidth()+$(document).scrollLeft()-_1f._outerWidth(); } if(_23<0){ _23=0; } return _23; }; function _22(){ var top=_1e.offset().top+_1e._outerHeight(); if(top+_1f._outerHeight()>$(window)._outerHeight()+$(document).scrollTop()){ top=_1e.offset().top-_1f._outerHeight(); } if(top<$(document).scrollTop()){ top=_1e.offset().top+_1e._outerHeight(); } return top; }; }; function _d(_24){ var _25=$.data(_24,"combo").panel; _25.panel("close"); }; function _26(_27){ var _28=$.data(_27,"combo"); var _29=_28.options; var _2a=_28.combo; $(_27).textbox("clear"); if(_29.multiple){ _2a.find(".textbox-value").remove(); }else{ _2a.find(".textbox-value").val(""); } }; function _2b(_2c,_2d){ var _2e=$.data(_2c,"combo"); var _2f=$(_2c).textbox("getText"); if(_2f!=_2d){ $(_2c).textbox("setText",_2d); _2e.previousText=_2d; } }; function _30(_31){ var _32=[]; var _33=$.data(_31,"combo").combo; _33.find(".textbox-value").each(function(){ _32.push($(this).val()); }); return _32; }; function _34(_35,_36){ if(!$.isArray(_36)){ _36=[_36]; } var _37=$.data(_35,"combo"); var _38=_37.options; var _39=_37.combo; var _3a=_30(_35); _39.find(".textbox-value").remove(); var _3b=$(_35).attr("textboxName")||""; for(var i=0;i<_36.length;i++){ var _3c=$("").appendTo(_39); _3c.attr("name",_3b); if(_38.disabled){ _3c.attr("disabled","disabled"); } _3c.val(_36[i]); } var _3d=(function(){ if(_3a.length!=_36.length){ return true; } var a1=$.extend(true,[],_3a); var a2=$.extend(true,[],_36); a1.sort(); a2.sort(); for(var i=0;i