first commit
This commit is contained in:
@@ -0,0 +1,203 @@
|
||||
/**
|
||||
* jQuery EasyUI 1.2.5
|
||||
*
|
||||
* Licensed under the GPL terms
|
||||
* To use it on other terms please contact us
|
||||
*
|
||||
* Copyright(c) 2009-2011 stworthy [ stworthy@gmail.com ]
|
||||
*
|
||||
*/
|
||||
(function($){
|
||||
function _1(_2){
|
||||
var _3=$.data(_2,"combogrid").options;
|
||||
var _4=$.data(_2,"combogrid").grid;
|
||||
$(_2).addClass("combogrid-f");
|
||||
$(_2).combo(_3);
|
||||
var _5=$(_2).combo("panel");
|
||||
if(!_4){
|
||||
_4=$("<table></table>").appendTo(_5);
|
||||
$.data(_2,"combogrid").grid=_4;
|
||||
}
|
||||
_4.datagrid($.extend({},_3,{border:false,fit:true,singleSelect:(!_3.multiple),onLoadSuccess:function(_6){
|
||||
var _7=$.data(_2,"combogrid").remainText;
|
||||
var _8=$(_2).combo("getValues");
|
||||
_1c(_2,_8,_7);
|
||||
_3.onLoadSuccess.apply(_2,arguments);
|
||||
},onClickRow:_9,onSelect:function(_a,_b){
|
||||
_c();
|
||||
_3.onSelect.call(this,_a,_b);
|
||||
},onUnselect:function(_d,_e){
|
||||
_c();
|
||||
_3.onUnselect.call(this,_d,_e);
|
||||
},onSelectAll:function(_f){
|
||||
_c();
|
||||
_3.onSelectAll.call(this,_f);
|
||||
},onUnselectAll:function(_10){
|
||||
if(_3.multiple){
|
||||
_c();
|
||||
}
|
||||
_3.onUnselectAll.call(this,_10);
|
||||
}}));
|
||||
function _9(_11,row){
|
||||
$.data(_2,"combogrid").remainText=false;
|
||||
_c();
|
||||
if(!_3.multiple){
|
||||
$(_2).combo("hidePanel");
|
||||
}
|
||||
_3.onClickRow.call(this,_11,row);
|
||||
};
|
||||
function _c(){
|
||||
var _12=$.data(_2,"combogrid").remainText;
|
||||
var _13=_4.datagrid("getSelections");
|
||||
var vv=[],ss=[];
|
||||
for(var i=0;i<_13.length;i++){
|
||||
vv.push(_13[i][_3.idField]);
|
||||
ss.push(_13[i][_3.textField]);
|
||||
}
|
||||
if(!_3.multiple){
|
||||
$(_2).combo("setValues",(vv.length?vv:[""]));
|
||||
}else{
|
||||
$(_2).combo("setValues",vv);
|
||||
}
|
||||
if(!_12){
|
||||
$(_2).combo("setText",ss.join(_3.separator));
|
||||
}
|
||||
};
|
||||
};
|
||||
function _14(_15,_16){
|
||||
var _17=$.data(_15,"combogrid").options;
|
||||
var _18=$.data(_15,"combogrid").grid;
|
||||
var _19=_18.datagrid("getRows").length;
|
||||
$.data(_15,"combogrid").remainText=false;
|
||||
var _1a;
|
||||
var _1b=_18.datagrid("getSelections");
|
||||
if(_1b.length){
|
||||
_1a=_18.datagrid("getRowIndex",_1b[_1b.length-1][_17.idField]);
|
||||
_1a+=_16;
|
||||
if(_1a<0){
|
||||
_1a=0;
|
||||
}
|
||||
if(_1a>=_19){
|
||||
_1a=_19-1;
|
||||
}
|
||||
}else{
|
||||
if(_16>0){
|
||||
_1a=0;
|
||||
}else{
|
||||
if(_16<0){
|
||||
_1a=_19-1;
|
||||
}else{
|
||||
_1a=-1;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(_1a>=0){
|
||||
_18.datagrid("clearSelections");
|
||||
_18.datagrid("selectRow",_1a);
|
||||
}
|
||||
};
|
||||
function _1c(_1d,_1e,_1f){
|
||||
var _20=$.data(_1d,"combogrid").options;
|
||||
var _21=$.data(_1d,"combogrid").grid;
|
||||
var _22=_21.datagrid("getRows");
|
||||
var ss=[];
|
||||
for(var i=0;i<_1e.length;i++){
|
||||
var _23=_21.datagrid("getRowIndex",_1e[i]);
|
||||
if(_23>=0){
|
||||
_21.datagrid("selectRow",_23);
|
||||
ss.push(_22[_23][_20.textField]);
|
||||
}else{
|
||||
ss.push(_1e[i]);
|
||||
}
|
||||
}
|
||||
if($(_1d).combo("getValues").join(",")==_1e.join(",")){
|
||||
return;
|
||||
}
|
||||
$(_1d).combo("setValues",_1e);
|
||||
if(!_1f){
|
||||
$(_1d).combo("setText",ss.join(_20.separator));
|
||||
}
|
||||
};
|
||||
function _24(_25,q){
|
||||
var _26=$.data(_25,"combogrid").options;
|
||||
var _27=$.data(_25,"combogrid").grid;
|
||||
$.data(_25,"combogrid").remainText=true;
|
||||
if(_26.multiple&&!q){
|
||||
_1c(_25,[],true);
|
||||
}else{
|
||||
_1c(_25,[q],true);
|
||||
}
|
||||
if(_26.mode=="remote"){
|
||||
_27.datagrid("clearSelections");
|
||||
_27.datagrid("load",{q:q});
|
||||
}else{
|
||||
if(!q){
|
||||
return;
|
||||
}
|
||||
var _28=_27.datagrid("getRows");
|
||||
for(var i=0;i<_28.length;i++){
|
||||
if(_26.filter.call(_25,q,_28[i])){
|
||||
_27.datagrid("clearSelections");
|
||||
_27.datagrid("selectRow",i);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
$.fn.combogrid=function(_29,_2a){
|
||||
if(typeof _29=="string"){
|
||||
var _2b=$.fn.combogrid.methods[_29];
|
||||
if(_2b){
|
||||
return _2b(this,_2a);
|
||||
}else{
|
||||
return $.fn.combo.methods[_29](this,_2a);
|
||||
}
|
||||
}
|
||||
_29=_29||{};
|
||||
return this.each(function(){
|
||||
var _2c=$.data(this,"combogrid");
|
||||
if(_2c){
|
||||
$.extend(_2c.options,_29);
|
||||
}else{
|
||||
_2c=$.data(this,"combogrid",{options:$.extend({},$.fn.combogrid.defaults,$.fn.combogrid.parseOptions(this),_29)});
|
||||
}
|
||||
_1(this);
|
||||
});
|
||||
};
|
||||
$.fn.combogrid.methods={options:function(jq){
|
||||
return $.data(jq[0],"combogrid").options;
|
||||
},grid:function(jq){
|
||||
return $.data(jq[0],"combogrid").grid;
|
||||
},setValues:function(jq,_2d){
|
||||
return jq.each(function(){
|
||||
_1c(this,_2d);
|
||||
});
|
||||
},setValue:function(jq,_2e){
|
||||
return jq.each(function(){
|
||||
_1c(this,[_2e]);
|
||||
});
|
||||
},clear:function(jq){
|
||||
return jq.each(function(){
|
||||
$(this).combogrid("grid").datagrid("clearSelections");
|
||||
$(this).combo("clear");
|
||||
});
|
||||
}};
|
||||
$.fn.combogrid.parseOptions=function(_2f){
|
||||
var t=$(_2f);
|
||||
return $.extend({},$.fn.combo.parseOptions(_2f),$.fn.datagrid.parseOptions(_2f),{idField:(t.attr("idField")||undefined),textField:(t.attr("textField")||undefined),mode:t.attr("mode")});
|
||||
};
|
||||
$.fn.combogrid.defaults=$.extend({},$.fn.combo.defaults,$.fn.datagrid.defaults,{loadMsg:null,idField:null,textField:null,mode:"local",keyHandler:{up:function(){
|
||||
_14(this,-1);
|
||||
},down:function(){
|
||||
_14(this,1);
|
||||
},enter:function(){
|
||||
_14(this,0);
|
||||
$(this).combo("hidePanel");
|
||||
},query:function(q){
|
||||
_24(this,q);
|
||||
}},filter:function(q,row){
|
||||
var _30=$(this).combogrid("options");
|
||||
return row[_30.textField].indexOf(q)==0;
|
||||
}});
|
||||
})(jQuery);
|
||||
|
||||
Reference in New Issue
Block a user