123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237 |
- /**
- * EasyUI for jQuery 1.6.10
- *
- * Copyright (c) 2009-2018 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 _1(_2){
- var _3=$.data(_2,"combotree");
- var _4=_3.options;
- var _5=_3.tree;
- $(_2).addClass("combotree-f");
- $(_2).combo($.extend({},_4,{onShowPanel:function(){
- if(_4.editable){
- _5.tree("doFilter","");
- }
- _4.onShowPanel.call(this);
- }}));
- var _6=$(_2).combo("panel");
- if(!_5){
- _5=$("<ul></ul>").appendTo(_6);
- _3.tree=_5;
- }
- _5.tree($.extend({},_4,{checkbox:_4.multiple,onLoadSuccess:function(_7,_8){
- var _9=$(_2).combotree("getValues");
- if(_4.multiple){
- $.map(_5.tree("getChecked"),function(_a){
- $.easyui.addArrayItem(_9,_a.id);
- });
- }
- _15(_2,_9,_3.remainText);
- _4.onLoadSuccess.call(this,_7,_8);
- },onClick:function(_b){
- if(_4.multiple){
- $(this).tree(_b.checked?"uncheck":"check",_b.target);
- }else{
- $(_2).combo("hidePanel");
- }
- _3.remainText=false;
- _e(_2);
- _4.onClick.call(this,_b);
- },onCheck:function(_c,_d){
- _3.remainText=false;
- _e(_2);
- _4.onCheck.call(this,_c,_d);
- }}));
- };
- function _e(_f){
- var _10=$.data(_f,"combotree");
- var _11=_10.options;
- var _12=_10.tree;
- var vv=[];
- if(_11.multiple){
- vv=$.map(_12.tree("getChecked"),function(_13){
- return _13.id;
- });
- }else{
- var _14=_12.tree("getSelected");
- if(_14){
- vv.push(_14.id);
- }
- }
- vv=vv.concat(_11.unselectedValues);
- _15(_f,vv,_10.remainText);
- };
- function _15(_16,_17,_18){
- var _19=$.data(_16,"combotree");
- var _1a=_19.options;
- var _1b=_19.tree;
- var _1c=_1b.tree("options");
- var _1d=_1c.onBeforeCheck;
- var _1e=_1c.onCheck;
- var _1f=_1c.onSelect;
- _1c.onBeforeCheck=_1c.onCheck=_1c.onSelect=function(){
- };
- if(!$.isArray(_17)){
- _17=_17.split(_1a.separator);
- }
- if(!_1a.multiple){
- _17=_17.length?[_17[0]]:[""];
- }
- var vv=$.map(_17,function(_20){
- return String(_20);
- });
- _1b.find("div.tree-node-selected").removeClass("tree-node-selected");
- $.map(_1b.tree("getChecked"),function(_21){
- if($.inArray(String(_21.id),vv)==-1){
- _1b.tree("uncheck",_21.target);
- }
- });
- var ss=[];
- _1a.unselectedValues=[];
- $.map(vv,function(v){
- var _22=_1b.tree("find",v);
- if(_22){
- _1b.tree("check",_22.target).tree("select",_22.target);
- ss.push(_23(_22));
- }else{
- ss.push(_24(v,_1a.mappingRows)||v);
- _1a.unselectedValues.push(v);
- }
- });
- if(_1a.multiple){
- $.map(_1b.tree("getChecked"),function(_25){
- var id=String(_25.id);
- if($.inArray(id,vv)==-1){
- vv.push(id);
- ss.push(_23(_25));
- }
- });
- }
- _1c.onBeforeCheck=_1d;
- _1c.onCheck=_1e;
- _1c.onSelect=_1f;
- if(!_18){
- var s=ss.join(_1a.separator);
- if($(_16).combo("getText")!=s){
- $(_16).combo("setText",s);
- }
- }
- $(_16).combo("setValues",vv);
- function _24(_26,a){
- var _27=$.easyui.getArrayItem(a,"id",_26);
- return _27?_23(_27):undefined;
- };
- function _23(_28){
- return _28[_1a.textField||""]||_28.text;
- };
- };
- function _29(_2a,q){
- var _2b=$.data(_2a,"combotree");
- var _2c=_2b.options;
- var _2d=_2b.tree;
- _2b.remainText=true;
- _2d.tree("doFilter",_2c.multiple?q.split(_2c.separator):q);
- };
- function _2e(_2f){
- var _30=$.data(_2f,"combotree");
- _30.remainText=false;
- $(_2f).combotree("setValues",$(_2f).combotree("getValues"));
- $(_2f).combotree("hidePanel");
- };
- $.fn.combotree=function(_31,_32){
- if(typeof _31=="string"){
- var _33=$.fn.combotree.methods[_31];
- if(_33){
- return _33(this,_32);
- }else{
- return this.combo(_31,_32);
- }
- }
- _31=_31||{};
- return this.each(function(){
- var _34=$.data(this,"combotree");
- if(_34){
- $.extend(_34.options,_31);
- }else{
- $.data(this,"combotree",{options:$.extend({},$.fn.combotree.defaults,$.fn.combotree.parseOptions(this),_31)});
- }
- _1(this);
- });
- };
- $.fn.combotree.methods={options:function(jq){
- var _35=jq.combo("options");
- return $.extend($.data(jq[0],"combotree").options,{width:_35.width,height:_35.height,originalValue:_35.originalValue,disabled:_35.disabled,readonly:_35.readonly});
- },clone:function(jq,_36){
- var t=jq.combo("clone",_36);
- t.data("combotree",{options:$.extend(true,{},jq.combotree("options")),tree:jq.combotree("tree")});
- return t;
- },tree:function(jq){
- return $.data(jq[0],"combotree").tree;
- },loadData:function(jq,_37){
- return jq.each(function(){
- var _38=$.data(this,"combotree").options;
- _38.data=_37;
- var _39=$.data(this,"combotree").tree;
- _39.tree("loadData",_37);
- });
- },reload:function(jq,url){
- return jq.each(function(){
- var _3a=$.data(this,"combotree").options;
- var _3b=$.data(this,"combotree").tree;
- if(url){
- _3a.url=url;
- }
- _3b.tree({url:_3a.url});
- });
- },setValues:function(jq,_3c){
- return jq.each(function(){
- var _3d=$(this).combotree("options");
- if($.isArray(_3c)){
- _3c=$.map(_3c,function(_3e){
- if(_3e&&typeof _3e=="object"){
- $.easyui.addArrayItem(_3d.mappingRows,"id",_3e);
- return _3e.id;
- }else{
- return _3e;
- }
- });
- }
- _15(this,_3c);
- });
- },setValue:function(jq,_3f){
- return jq.each(function(){
- $(this).combotree("setValues",$.isArray(_3f)?_3f:[_3f]);
- });
- },clear:function(jq){
- return jq.each(function(){
- $(this).combotree("setValues",[]);
- });
- },reset:function(jq){
- return jq.each(function(){
- var _40=$(this).combotree("options");
- if(_40.multiple){
- $(this).combotree("setValues",_40.originalValue);
- }else{
- $(this).combotree("setValue",_40.originalValue);
- }
- });
- }};
- $.fn.combotree.parseOptions=function(_41){
- return $.extend({},$.fn.combo.parseOptions(_41),$.fn.tree.parseOptions(_41));
- };
- $.fn.combotree.defaults=$.extend({},$.fn.combo.defaults,$.fn.tree.defaults,{editable:false,textField:null,unselectedValues:[],mappingRows:[],keyHandler:{up:function(e){
- },down:function(e){
- },left:function(e){
- },right:function(e){
- },enter:function(e){
- _2e(this);
- },query:function(q,e){
- _29(this,q);
- }}});
- })(jQuery);
|