u
This commit is contained in:
1 parent
e3d765a9d4
commit
04491e14a3
977 files changed
+67280
No files matched your search
@@ -0,0 +1,270 @@
|
||||
/**
|
||||
* 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,"combogrid");
|
||||
var _4=_3.options;
|
||||
var _5=_3.grid;
|
||||
$(_2).addClass("combogrid-f").combo($.extend({},_4,{onShowPanel:function(){
|
||||
var p=$(this).combogrid("panel");
|
||||
var _6=p.outerHeight()-p.height();
|
||||
var _7=p._size("minHeight");
|
||||
var _8=p._size("maxHeight");
|
||||
$(this).combogrid("grid").datagrid("resize",{width:"100%",height:(isNaN(parseInt(_4.panelHeight))?"auto":"100%"),minHeight:(_7?_7-_6:""),maxHeight:(_8?_8-_6:"")});
|
||||
_4.onShowPanel.call(this);
|
||||
}}));
|
||||
var _9=$(_2).combo("panel");
|
||||
if(!_5){
|
||||
_5=$("<table></table>").appendTo(_9);
|
||||
_3.grid=_5;
|
||||
}
|
||||
_5.datagrid($.extend({},_4,{border:false,singleSelect:(!_4.multiple),onLoadSuccess:function(_a){
|
||||
var _b=$(_2).combo("getValues");
|
||||
var _c=_4.onSelect;
|
||||
_4.onSelect=function(){
|
||||
};
|
||||
_1c(_2,_b,_3.remainText);
|
||||
_4.onSelect=_c;
|
||||
_4.onLoadSuccess.apply(_2,arguments);
|
||||
},onClickRow:_d,onSelect:function(_e,_f){
|
||||
_10();
|
||||
_4.onSelect.call(this,_e,_f);
|
||||
},onUnselect:function(_11,row){
|
||||
_10();
|
||||
_4.onUnselect.call(this,_11,row);
|
||||
},onSelectAll:function(_12){
|
||||
_10();
|
||||
_4.onSelectAll.call(this,_12);
|
||||
},onUnselectAll:function(_13){
|
||||
if(_4.multiple){
|
||||
_10();
|
||||
}
|
||||
_4.onUnselectAll.call(this,_13);
|
||||
}}));
|
||||
function _d(_14,row){
|
||||
_3.remainText=false;
|
||||
_10();
|
||||
if(!_4.multiple){
|
||||
$(_2).combo("hidePanel");
|
||||
}
|
||||
_4.onClickRow.call(this,_14,row);
|
||||
};
|
||||
function _10(){
|
||||
var _15=_5.datagrid("getSelections");
|
||||
var vv=[],ss=[];
|
||||
for(var i=0;i<_15.length;i++){
|
||||
vv.push(_15[i][_4.idField]);
|
||||
ss.push(_15[i][_4.textField]);
|
||||
}
|
||||
if(!_4.multiple){
|
||||
$(_2).combo("setValues",(vv.length?vv:[""]));
|
||||
}else{
|
||||
$(_2).combo("setValues",vv);
|
||||
}
|
||||
if(!_3.remainText){
|
||||
$(_2).combo("setText",ss.join(_4.separator));
|
||||
}
|
||||
};
|
||||
};
|
||||
function nav(_16,dir){
|
||||
var _17=$.data(_16,"combogrid");
|
||||
var _18=_17.options;
|
||||
var _19=_17.grid;
|
||||
var _1a=_19.datagrid("getRows").length;
|
||||
if(!_1a){
|
||||
return;
|
||||
}
|
||||
var tr=_18.finder.getTr(_19[0],null,"highlight");
|
||||
if(!tr.length){
|
||||
tr=_18.finder.getTr(_19[0],null,"selected");
|
||||
}
|
||||
var _1b;
|
||||
if(!tr.length){
|
||||
_1b=(dir=="next"?0:_1a-1);
|
||||
}else{
|
||||
var _1b=parseInt(tr.attr("datagrid-row-index"));
|
||||
_1b+=(dir=="next"?1:-1);
|
||||
if(_1b<0){
|
||||
_1b=_1a-1;
|
||||
}
|
||||
if(_1b>=_1a){
|
||||
_1b=0;
|
||||
}
|
||||
}
|
||||
_19.datagrid("highlightRow",_1b);
|
||||
if(_18.selectOnNavigation){
|
||||
_17.remainText=false;
|
||||
_19.datagrid("selectRow",_1b);
|
||||
}
|
||||
};
|
||||
function _1c(_1d,_1e,_1f){
|
||||
var _20=$.data(_1d,"combogrid");
|
||||
var _21=_20.options;
|
||||
var _22=_20.grid;
|
||||
var _23=_22.datagrid("getRows");
|
||||
var ss=[];
|
||||
var _24=$(_1d).combo("getValues");
|
||||
var _25=$(_1d).combo("options");
|
||||
var _26=_25.onChange;
|
||||
_25.onChange=function(){
|
||||
};
|
||||
_22.datagrid("clearSelections");
|
||||
for(var i=0;i<_1e.length;i++){
|
||||
var _27=_22.datagrid("getRowIndex",_1e[i]);
|
||||
if(_27>=0){
|
||||
_22.datagrid("selectRow",_27);
|
||||
ss.push(_23[_27][_21.textField]);
|
||||
}else{
|
||||
ss.push(_1e[i]);
|
||||
}
|
||||
}
|
||||
$(_1d).combo("setValues",_24);
|
||||
_25.onChange=_26;
|
||||
$(_1d).combo("setValues",_1e);
|
||||
if(!_1f){
|
||||
var s=ss.join(_21.separator);
|
||||
if($(_1d).combo("getText")!=s){
|
||||
$(_1d).combo("setText",s);
|
||||
}
|
||||
}
|
||||
};
|
||||
function _28(_29,q){
|
||||
var _2a=$.data(_29,"combogrid");
|
||||
var _2b=_2a.options;
|
||||
var _2c=_2a.grid;
|
||||
_2a.remainText=true;
|
||||
if(_2b.multiple&&!q){
|
||||
_1c(_29,[],true);
|
||||
}else{
|
||||
_1c(_29,[q],true);
|
||||
}
|
||||
if(_2b.mode=="remote"){
|
||||
_2c.datagrid("clearSelections");
|
||||
_2c.datagrid("load",$.extend({},_2b.queryParams,{q:q}));
|
||||
}else{
|
||||
if(!q){
|
||||
return;
|
||||
}
|
||||
_2c.datagrid("clearSelections").datagrid("highlightRow",-1);
|
||||
var _2d=_2c.datagrid("getRows");
|
||||
var qq=_2b.multiple?q.split(_2b.separator):[q];
|
||||
$.map(qq,function(q){
|
||||
q=$.trim(q);
|
||||
if(q){
|
||||
$.map(_2d,function(row,i){
|
||||
if(q==row[_2b.textField]){
|
||||
_2c.datagrid("selectRow",i);
|
||||
}else{
|
||||
if(_2b.filter.call(_29,q,row)){
|
||||
_2c.datagrid("highlightRow",i);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
function _2e(_2f){
|
||||
var _30=$.data(_2f,"combogrid");
|
||||
var _31=_30.options;
|
||||
var _32=_30.grid;
|
||||
var tr=_31.finder.getTr(_32[0],null,"highlight");
|
||||
_30.remainText=false;
|
||||
if(tr.length){
|
||||
var _33=parseInt(tr.attr("datagrid-row-index"));
|
||||
if(_31.multiple){
|
||||
if(tr.hasClass("datagrid-row-selected")){
|
||||
_32.datagrid("unselectRow",_33);
|
||||
}else{
|
||||
_32.datagrid("selectRow",_33);
|
||||
}
|
||||
}else{
|
||||
_32.datagrid("selectRow",_33);
|
||||
}
|
||||
}
|
||||
var vv=[];
|
||||
$.map(_32.datagrid("getSelections"),function(row){
|
||||
vv.push(row[_31.idField]);
|
||||
});
|
||||
$(_2f).combogrid("setValues",vv);
|
||||
if(!_31.multiple){
|
||||
$(_2f).combogrid("hidePanel");
|
||||
}
|
||||
};
|
||||
$.fn.combogrid=function(_34,_35){
|
||||
if(typeof _34=="string"){
|
||||
var _36=$.fn.combogrid.methods[_34];
|
||||
if(_36){
|
||||
return _36(this,_35);
|
||||
}else{
|
||||
return this.combo(_34,_35);
|
||||
}
|
||||
}
|
||||
_34=_34||{};
|
||||
return this.each(function(){
|
||||
var _37=$.data(this,"combogrid");
|
||||
if(_37){
|
||||
$.extend(_37.options,_34);
|
||||
}else{
|
||||
_37=$.data(this,"combogrid",{options:$.extend({},$.fn.combogrid.defaults,$.fn.combogrid.parseOptions(this),_34)});
|
||||
}
|
||||
_1(this);
|
||||
});
|
||||
};
|
||||
$.fn.combogrid.methods={options:function(jq){
|
||||
var _38=jq.combo("options");
|
||||
return $.extend($.data(jq[0],"combogrid").options,{width:_38.width,height:_38.height,originalValue:_38.originalValue,disabled:_38.disabled,readonly:_38.readonly});
|
||||
},grid:function(jq){
|
||||
return $.data(jq[0],"combogrid").grid;
|
||||
},setValues:function(jq,_39){
|
||||
return jq.each(function(){
|
||||
_1c(this,_39);
|
||||
});
|
||||
},setValue:function(jq,_3a){
|
||||
return jq.each(function(){
|
||||
_1c(this,[_3a]);
|
||||
});
|
||||
},clear:function(jq){
|
||||
return jq.each(function(){
|
||||
$(this).combogrid("grid").datagrid("clearSelections");
|
||||
$(this).combo("clear");
|
||||
});
|
||||
},reset:function(jq){
|
||||
return jq.each(function(){
|
||||
var _3b=$(this).combogrid("options");
|
||||
if(_3b.multiple){
|
||||
$(this).combogrid("setValues",_3b.originalValue);
|
||||
}else{
|
||||
$(this).combogrid("setValue",_3b.originalValue);
|
||||
}
|
||||
});
|
||||
}};
|
||||
$.fn.combogrid.parseOptions=function(_3c){
|
||||
var t=$(_3c);
|
||||
return $.extend({},$.fn.combo.parseOptions(_3c),$.fn.datagrid.parseOptions(_3c),$.parser.parseOptions(_3c,["idField","textField","mode"]));
|
||||
};
|
||||
$.fn.combogrid.defaults=$.extend({},$.fn.combo.defaults,$.fn.datagrid.defaults,{loadMsg:null,idField:null,textField:null,mode:"local",keyHandler:{up:function(e){
|
||||
nav(this,"prev");
|
||||
e.preventDefault();
|
||||
},down:function(e){
|
||||
nav(this,"next");
|
||||
e.preventDefault();
|
||||
},left:function(e){
|
||||
},right:function(e){
|
||||
},enter:function(e){
|
||||
_2e(this);
|
||||
},query:function(q,e){
|
||||
_28(this,q);
|
||||
}},filter:function(q,row){
|
||||
var _3d=$(this).combogrid("options");
|
||||
return row[_3d.textField].toLowerCase().indexOf(q.toLowerCase())==0;
|
||||
}});
|
||||
})(jQuery);
|
||||
|
||||
Reference in new issue
Block a user