/** * jQuery EasyUI 1.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(".combo").bind("mousedown.combo mousewheel.combo",function(e){ var p=$(e.target).closest("span.combo,div.combo-p,div.menu"); if(p.length){ _1(p); return; } $("body>div.combo-p>div.combo-panel:visible").panel("close"); }); }); function _2(_3){ var _4=$.data(_3,"combo"); var _5=_4.options; if(!_4.panel){ _4.panel=$("
").appendTo("body"); _4.panel.panel({minWidth:_5.panelMinWidth,maxWidth:_5.panelMaxWidth,minHeight:_5.panelMinHeight,maxHeight:_5.panelMaxHeight,doSize:false,closed:true,cls:"combo-p",style:{position:"absolute",zIndex:10},onOpen:function(){ var _6=$(this).panel("options").comboTarget; var _7=$.data(_6,"combo"); if(_7){ _7.options.onShowPanel.call(_6); } },onBeforeClose:function(){ _1($(this).parent()); },onClose:function(){ var _8=$(this).panel("options").comboTarget; var _9=$(_8).data("combo"); if(_9){ _9.options.onHidePanel.call(_8); } }}); } var _a=$.extend(true,[],_5.icons); if(_5.hasDownArrow){ _a.push({iconCls:"combo-arrow",handler:function(e){ _f(e.data.target); }}); } $(_3).addClass("combo-f").textbox($.extend({},_5,{icons:_a,onChange:function(){ }})); $(_3).attr("comboName",$(_3).attr("textboxName")); _4.combo=$(_3).next(); _4.combo.addClass("combo"); }; function _b(_c){ var _d=$.data(_c,"combo"); var _e=_d.options; var p=_d.panel; if(p.is(":visible")){ p.panel("close"); } if(!_e.cloned){ p.panel("destroy"); } $(_c).textbox("destroy"); }; function _f(_10){ var _11=$.data(_10,"combo").panel; if(_11.is(":visible")){ var _12=_11.combo("combo"); _13(_12); if(_12!=_10){ $(_10).combo("showPanel"); } }else{ var p=$(_10).closest("div.combo-p").children(".combo-panel"); $("div.combo-panel:visible").not(_11).not(p).panel("close"); $(_10).combo("showPanel"); } $(_10).combo("textbox").focus(); }; function _1(_14){ $(_14).find(".combo-f").each(function(){ var p=$(this).combo("panel"); if(p.is(":visible")){ p.panel("close"); } }); }; function _15(e){ var _16=e.data.target; var _17=$.data(_16,"combo"); var _18=_17.options; if(!_18.editable){ _f(_16); }else{ var p=$(_16).closest("div.combo-p").children(".combo-panel"); $("div.combo-panel:visible").not(p).each(function(){ var _19=$(this).combo("combo"); if(_19!=_16){ _13(_19); } }); } }; function _1a(e){ var _1b=e.data.target; var t=$(_1b); var _1c=t.data("combo"); var _1d=t.combo("options"); _1c.panel.panel("options").comboTarget=_1b; switch(e.keyCode){ case 38: _1d.keyHandler.up.call(_1b,e); break; case 40: _1d.keyHandler.down.call(_1b,e); break; case 37: _1d.keyHandler.left.call(_1b,e); break; case 39: _1d.keyHandler.right.call(_1b,e); break; case 13: e.preventDefault(); _1d.keyHandler.enter.call(_1b,e); return false; case 9: case 27: _13(_1b); break; default: if(_1d.editable){ if(_1c.timer){ clearTimeout(_1c.timer); } _1c.timer=setTimeout(function(){ var q=t.combo("getText"); if(_1c.previousText!=q){ _1c.previousText=q; t.combo("showPanel"); _1d.keyHandler.query.call(_1b,q,e); t.combo("validate"); } },_1d.delay); } } }; function _1e(_1f){ var _20=$.data(_1f,"combo"); var _21=_20.combo; var _22=_20.panel; var _23=$(_1f).combo("options"); var _24=_22.panel("options"); _24.comboTarget=_1f; if(_24.closed){ _22.panel("panel").show().css({zIndex:($.fn.menu?$.fn.menu.defaults.zIndex++:($.fn.window?$.fn.window.defaults.zIndex++:99)),left:-999999}); _22.panel("resize",{width:(_23.panelWidth?_23.panelWidth:_21._outerWidth()),height:_23.panelHeight}); _22.panel("panel").hide(); _22.panel("open"); } (function(){ if(_24.comboTarget==_1f&&_22.is(":visible")){ _22.panel("move",{left:_25(),top:_26()}); setTimeout(arguments.callee,200); } })(); function _25(){ var _27=_21.offset().left; if(_23.panelAlign=="right"){ _27+=_21._outerWidth()-_22._outerWidth(); } if(_27+_22._outerWidth()>$(window)._outerWidth()+$(document).scrollLeft()){ _27=$(window)._outerWidth()+$(document).scrollLeft()-_22._outerWidth(); } if(_27<0){ _27=0; } return _27; }; function _26(){ var top=_21.offset().top+_21._outerHeight(); if(top+_22._outerHeight()>$(window)._outerHeight()+$(document).scrollTop()){ top=_21.offset().top-_22._outerHeight(); } if(top<$(document).scrollTop()){ top=_21.offset().top+_21._outerHeight(); } return top; }; }; function _13(_28){ var _29=$.data(_28,"combo").panel; _29.panel("close"); }; function _2a(_2b,_2c){ var _2d=$.data(_2b,"combo"); var _2e=$(_2b).textbox("getText"); if(_2e!=_2c){ $(_2b).textbox("setText",_2c); _2d.previousText=_2c; } }; function _2f(_30){ var _31=[]; var _32=$.data(_30,"combo").combo; _32.find(".textbox-value").each(function(){ _31.push($(this).val()); }); return _31; }; function _33(_34,_35){ var _36=$.data(_34,"combo"); var _37=_36.options; var _38=_36.combo; if(!$.isArray(_35)){ _35=_35.split(_37.separator); } var _39=_2f(_34); _38.find(".textbox-value").remove(); var _3a=$(_34).attr("textboxName")||""; for(var i=0;i<_35.length;i++){ var _3b=$("").appendTo(_38); _3b.attr("name",_3a); if(_37.disabled){ _3b.attr("disabled","disabled"); } _3b.val(_35[i]); } var _3c=(function(){ if(_39.length!=_35.length){ return true; } var a1=$.extend(true,[],_39); var a2=$.extend(true,[],_35); a1.sort(); a2.sort(); for(var i=0;i