/** * jQuery EasyUI 1.1.2 * * Licensed under the GPL: * http://www.gnu.org/licenses/gpl.txt * * Copyright 2010 stworthy [ stworthy@gmail.com ] * */ (function($){ function _1(_2,_3){ var _4=$.data(_2,"combotree").options; var _5=$.data(_2,"combotree").combotree; var _6=$.data(_2,"combotree").content; if(_3){ _4.width=_3; } if(isNaN(_4.width)){ _4.width=_5.find("input.combotree-text").outerWidth(); } var _7=_5.find(".combotree-arrow").outerWidth(); var _3=_4.width-_7-(_5.outerWidth()-_5.width()); _5.find("input.combotree-text").width(_3); if(_4.treeWidth){ _6.width(_4.treeWidth); }else{ _6.width($.boxModel==true?_5.outerWidth()-(_6.outerWidth()-_6.width()):_5.outerWidth()); } if(_4.treeHeight){ _6.height(_4.treeHeight); } }; function _8(_9){ $(_9).hide(); var _a=$("").insertAfter(_9); $("").appendTo(_a); $("").appendTo(_a); $("").appendTo(_a); var _b=$("
").appendTo("body"); var _c=$(_9).attr("name"); if(_c){ _a.find("input.combotree-value").attr("name",_c); $(_9).removeAttr("name").attr("combotreeName",_c); } return {combotree:_a,content:_b}; }; function _d(_e){ $.data(_e,"combotree").content.remove(); $.data(_e,"combotree").combotree.remove(); $(_e).remove(); }; function _f(_10){ var _11=$.data(_10,"combotree").options; var _12=$.data(_10,"combotree").combotree; var _13=$.data(_10,"combotree").content; var _14=_12.find(".combotree-arrow"); $(document).unbind(".combotree"); _12.unbind(".combotree"); _13.unbind(".combotree"); _14.unbind(".combotree"); if(!_11.disabled){ $(document).bind("mousedown.combotree",function(){ $("body>div.combotree-content").hide(); }); _13.bind("mousedown.combotree",function(){ return false; }); _12.bind("click.combotree",function(){ _15(); return false; }); _14.bind("mouseenter.combotree",function(){ $(this).addClass("combotree-arrow-hover"); }).bind("mouseleave.combotree",function(){ $(this).removeClass("combotree-arrow-hover"); }); } function _15(){ if($.fn.window){ _13.css("z-index",$.fn.window.defaults.zIndex++); } _13.show(); (function(){ if(_13.is(":visible")){ var top=_12.offset().top+_12.outerHeight(); if(top+_13.outerHeight()>$(window).height()+$(document).scrollTop()){ top=_12.offset().top-_13.outerHeight(); } if(top<$(document).scrollTop()){ top=_12.offset().top+_12.outerHeight(); } _13.css({display:"block",left:_12.offset().left,top:top}); setTimeout(arguments.callee,200); } })(); }; }; function _16(_17){ var _18=$.data(_17,"combotree").options; var _19=$.data(_17,"combotree").combotree; var _1a=$.data(_17,"combotree").content; _1a.find(">ul").tree({onClick:function(_1b){ if(_18.onBeforeSelect.call(_17,_1b)==false){ return; } var _1c=_19.find("input.combotree-value").val(); _19.find("input.combotree-value").val(_1b.id); _19.find("input.combotree-text").val(_1b.text); _1a.hide(); _1d(_17,true); _18.onSelect.call(_17,_1b); if(_1c!=_1b.id){ _18.onChange.call(_17,_1b.id,_1c); } }}); }; function _1e(_1f){ var _20=$.data(_1f,"combotree").combotree; _20.find("input.combotree-value").val(""); _20.find("input.combotree-text").val(""); }; function _21(_22,_23){ var _24=$.data(_22,"combotree").options; var _25=$.data(_22,"combotree").combotree; var _26=$.data(_22,"combotree").content.find(">ul"); var _27,_28; var _29=_25.find("input.combotree-value").val(); if(typeof _23=="object"){ _27=_23.id; _28=_23.text; }else{ _27=_23; } var _2a=_26.find("div.tree-node[node-id="+_27+"]")[0]; _26.tree("select",_2a); var _2b=_26.tree("getSelected"); if(_2b){ _27=_2b.id; _28=_2b.text; } if(_28==undefined){ _28=_27; } _25.find("input.combotree-value").val(_27); _25.find("input.combotree-text").val(_28); _1d(_22,true); if(_29!=_27){ _24.onChange.call(_22,_27,_29); } }; function _2c(_2d){ var _2e=$.data(_2d,"combotree").combotree; return _2e.find("input.combotree-value").val(); }; function _2f(_30){ var _31=$.data(_30,"combotree").combotree; return _31.find("input.combotree-text").val(); }; function _32(_33,_34){ var _35=$.data(_33,"combotree").content; _35.find(">ul").tree("loadData",_34); }; function _36(_37,url){ var _38=$.data(_37,"combotree").options; var _39=$.data(_37,"combotree").content; if(url){ _38.url=url; } _39.find(">ul").tree({url:_38.url}).tree("reload"); }; function _1d(_3a,_3b){ if($.fn.validatebox){ var _3c=$.data(_3a,"combotree").options; var _3d=$.data(_3a,"combotree").combotree.find("input.combotree-text"); _3d.validatebox(_3c); if(_3b){ _3d.validatebox("validate"); _3d.trigger("mouseleave"); } } }; function _3e(_3f){ var _40=$.data(_3f,"combotree").content; return _40.find(">ul.tree"); }; function _41(_42,_43){ var _44=$.data(_42,"combotree").options; var _45=$.data(_42,"combotree").combotree; if(_43){ _44.disabled=true; $(_42).attr("disabled",true); _45.find("input.combotree-value").attr("disabled",true); _45.find("input.combotree-text").attr("disabled",true); }else{ _44.disabled=false; $(_42).removeAttr("disabled"); _45.find("input.combotree-value").removeAttr("disabled"); _45.find("input.combotree-text").removeAttr("disabled"); } }; $.fn.combotree=function(_46,_47){ if(typeof _46=="string"){ switch(_46){ case "destroy": return this.each(function(){ _d(this); }); case "resize": return this.each(function(){ _1(this,_47); }); case "tree": return _3e(this[0]); case "clear": return this.each(function(){ _1e(this); }); case "setValue": return this.each(function(){ _21(this,_47); }); case "getValue": return _2c(this[0]); case "getText": return _2f(this[0]); case "loadData": return this.each(function(){ _32(this,_47); }); case "reload": return this.each(function(){ _36(this,_47); }); case "disable": return this.each(function(){ _41(this,true); _f(this); }); case "enable": return this.each(function(){ _41(this,false); _f(this); }); } } _46=_46||{}; return this.each(function(){ var _48=$.data(this,"combotree"); if(_48){ $.extend(_48.options,_46); }else{ var r=_8(this); var t=$(this); _48=$.data(this,"combotree",{options:$.extend({},$.fn.combotree.defaults,{width:(parseInt(t.css("width"))||undefined),treeWidth:t.attr("treeWidth"),treeHeight:t.attr("treeHeight"),url:t.attr("url"),disabled:(t.attr("disabled")?true:undefined),required:(t.attr("required")?(t.attr("required")=="true"||t.attr("required")==true):undefined),missingMessage:(t.attr("missingMessage")||undefined)},_46),combotree:r.combotree,content:r.content}); t.removeAttr("disabled"); } _16(this); if(_48.options.data){ _32(this,_48.options.data); } if(_48.options.url){ _36(this,_48.options.url); } _41(this,_48.options.disabled); _f(this); _1(this); _1d(this); }); }; $.fn.combotree.defaults={width:"auto",treeWidth:null,treeHeight:200,url:null,data:null,disabled:false,required:false,missingMessage:"This field is required.",onBeforeSelect:function(_49){ },onSelect:function(_4a){ },onChange:function(_4b,_4c){ }}; })(jQuery);