| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239 |
- /**
- * EasyUI for jQuery 1.9.4
- *
- * Copyright (c) 2009-2020 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.onBeforeSelect;
- var _20=_1c.onSelect;
- _1c.onBeforeCheck=_1c.onCheck=_1c.onBeforeSelect=_1c.onSelect=function(){
- };
- if(!$.isArray(_17)){
- _17=_17.split(_1a.separator);
- }
- if(!_1a.multiple){
- _17=_17.length?[_17[0]]:[""];
- }
- var vv=$.map(_17,function(_21){
- return String(_21);
- });
- _1b.find("div.tree-node-selected").removeClass("tree-node-selected");
- $.map(_1b.tree("getChecked"),function(_22){
- if($.inArray(String(_22.id),vv)==-1){
- _1b.tree("uncheck",_22.target);
- }
- });
- var ss=[];
- _1a.unselectedValues=[];
- $.map(vv,function(v){
- var _23=_1b.tree("find",v);
- if(_23){
- _1b.tree("check",_23.target).tree("select",_23.target);
- ss.push(_24(_23));
- }else{
- ss.push(_25(v,_1a.mappingRows)||v);
- _1a.unselectedValues.push(v);
- }
- });
- if(_1a.multiple){
- $.map(_1b.tree("getChecked"),function(_26){
- var id=String(_26.id);
- if($.inArray(id,vv)==-1){
- vv.push(id);
- ss.push(_24(_26));
- }
- });
- }
- _1c.onBeforeCheck=_1d;
- _1c.onCheck=_1e;
- _1c.onBeforeSelect=_1f;
- _1c.onSelect=_20;
- if(!_18){
- var s=ss.join(_1a.separator);
- if($(_16).combo("getText")!=s){
- $(_16).combo("setText",s);
- }
- }
- $(_16).combo("setValues",vv);
- function _25(_27,a){
- var _28=$.easyui.getArrayItem(a,"id",_27);
- return _28?_24(_28):undefined;
- };
- function _24(_29){
- return _29[_1a.textField||""]||_29.text;
- };
- };
- function _2a(_2b,q){
- var _2c=$.data(_2b,"combotree");
- var _2d=_2c.options;
- var _2e=_2c.tree;
- _2c.remainText=true;
- _2e.tree("doFilter",_2d.multiple?q.split(_2d.separator):q);
- };
- function _2f(_30){
- var _31=$.data(_30,"combotree");
- _31.remainText=false;
- $(_30).combotree("setValues",$(_30).combotree("getValues"));
- $(_30).combotree("hidePanel");
- };
- $.fn.combotree=function(_32,_33){
- if(typeof _32=="string"){
- var _34=$.fn.combotree.methods[_32];
- if(_34){
- return _34(this,_33);
- }else{
- return this.combo(_32,_33);
- }
- }
- _32=_32||{};
- return this.each(function(){
- var _35=$.data(this,"combotree");
- if(_35){
- $.extend(_35.options,_32);
- }else{
- $.data(this,"combotree",{options:$.extend({},$.fn.combotree.defaults,$.fn.combotree.parseOptions(this),_32)});
- }
- _1(this);
- });
- };
- $.fn.combotree.methods={options:function(jq){
- var _36=jq.combo("options");
- return $.extend($.data(jq[0],"combotree").options,{width:_36.width,height:_36.height,originalValue:_36.originalValue,disabled:_36.disabled,readonly:_36.readonly});
- },clone:function(jq,_37){
- var t=jq.combo("clone",_37);
- 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,_38){
- return jq.each(function(){
- var _39=$.data(this,"combotree").options;
- _39.data=_38;
- var _3a=$.data(this,"combotree").tree;
- _3a.tree("loadData",_38);
- });
- },reload:function(jq,url){
- return jq.each(function(){
- var _3b=$.data(this,"combotree").options;
- var _3c=$.data(this,"combotree").tree;
- if(url){
- _3b.url=url;
- }
- _3c.tree({url:_3b.url});
- });
- },setValues:function(jq,_3d){
- return jq.each(function(){
- var _3e=$(this).combotree("options");
- if($.isArray(_3d)){
- _3d=$.map(_3d,function(_3f){
- if(_3f&&typeof _3f=="object"){
- $.easyui.addArrayItem(_3e.mappingRows,"id",_3f);
- return _3f.id;
- }else{
- return _3f;
- }
- });
- }
- _15(this,_3d);
- });
- },setValue:function(jq,_40){
- return jq.each(function(){
- $(this).combotree("setValues",$.isArray(_40)?_40:[_40]);
- });
- },clear:function(jq){
- return jq.each(function(){
- $(this).combotree("setValues",[]);
- });
- },reset:function(jq){
- return jq.each(function(){
- var _41=$(this).combotree("options");
- if(_41.multiple){
- $(this).combotree("setValues",_41.originalValue);
- }else{
- $(this).combotree("setValue",_41.originalValue);
- }
- });
- }};
- $.fn.combotree.parseOptions=function(_42){
- return $.extend({},$.fn.combo.parseOptions(_42),$.fn.tree.parseOptions(_42));
- };
- $.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){
- _2f(this);
- },query:function(q,e){
- _2a(this,q);
- }}});
- })(jQuery);
|