You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1324 lines
31 KiB
1324 lines
31 KiB
/**
|
|
* jQuery EasyUI 1.5
|
|
*
|
|
* Copyright (c) 2009-2016 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,"treegrid");
|
|
var _4=_3.options;
|
|
$(_2).datagrid($.extend({},_4,{url:null,data:null,loader:function(){
|
|
return false;
|
|
},onBeforeLoad:function(){
|
|
return false;
|
|
},onLoadSuccess:function(){
|
|
},onResizeColumn:function(_5,_6){
|
|
_16(_2);
|
|
_4.onResizeColumn.call(_2,_5,_6);
|
|
},onBeforeSortColumn:function(_7,_8){
|
|
if(_4.onBeforeSortColumn.call(_2,_7,_8)==false){
|
|
return false;
|
|
}
|
|
},onSortColumn:function(_9,_a){
|
|
_4.sortName=_9;
|
|
_4.sortOrder=_a;
|
|
if(_4.remoteSort){
|
|
_15(_2);
|
|
}else{
|
|
var _b=$(_2).treegrid("getData");
|
|
_4f(_2,null,_b);
|
|
}
|
|
_4.onSortColumn.call(_2,_9,_a);
|
|
},onClickCell:function(_c,_d){
|
|
_4.onClickCell.call(_2,_d,_30(_2,_c));
|
|
},onDblClickCell:function(_e,_f){
|
|
_4.onDblClickCell.call(_2,_f,_30(_2,_e));
|
|
},onRowContextMenu:function(e,_10){
|
|
_4.onContextMenu.call(_2,e,_30(_2,_10));
|
|
}}));
|
|
var _11=$.data(_2,"datagrid").options;
|
|
_4.columns=_11.columns;
|
|
_4.frozenColumns=_11.frozenColumns;
|
|
_3.dc=$.data(_2,"datagrid").dc;
|
|
if(_4.pagination){
|
|
var _12=$(_2).datagrid("getPager");
|
|
_12.pagination({pageNumber:_4.pageNumber,pageSize:_4.pageSize,pageList:_4.pageList,onSelectPage:function(_13,_14){
|
|
_4.pageNumber=_13;
|
|
_4.pageSize=_14;
|
|
_15(_2);
|
|
}});
|
|
_4.pageSize=_12.pagination("options").pageSize;
|
|
}
|
|
};
|
|
function _16(_17,_18){
|
|
var _19=$.data(_17,"datagrid").options;
|
|
var dc=$.data(_17,"datagrid").dc;
|
|
if(!dc.body1.is(":empty")&&(!_19.nowrap||_19.autoRowHeight)){
|
|
if(_18!=undefined){
|
|
var _1a=_1b(_17,_18);
|
|
for(var i=0;i<_1a.length;i++){
|
|
_1c(_1a[i][_19.idField]);
|
|
}
|
|
}
|
|
}
|
|
$(_17).datagrid("fixRowHeight",_18);
|
|
function _1c(_1d){
|
|
var tr1=_19.finder.getTr(_17,_1d,"body",1);
|
|
var tr2=_19.finder.getTr(_17,_1d,"body",2);
|
|
tr1.css("height","");
|
|
tr2.css("height","");
|
|
var _1e=Math.max(tr1.height(),tr2.height());
|
|
tr1.css("height",_1e);
|
|
tr2.css("height",_1e);
|
|
};
|
|
};
|
|
function _1f(_20){
|
|
var dc=$.data(_20,"datagrid").dc;
|
|
var _21=$.data(_20,"treegrid").options;
|
|
if(!_21.rownumbers){
|
|
return;
|
|
}
|
|
dc.body1.find("div.datagrid-cell-rownumber").each(function(i){
|
|
$(this).html(i+1);
|
|
});
|
|
};
|
|
function _22(_23){
|
|
return function(e){
|
|
$.fn.datagrid.defaults.rowEvents[_23?"mouseover":"mouseout"](e);
|
|
var tt=$(e.target);
|
|
var fn=_23?"addClass":"removeClass";
|
|
if(tt.hasClass("tree-hit")){
|
|
tt.hasClass("tree-expanded")?tt[fn]("tree-expanded-hover"):tt[fn]("tree-collapsed-hover");
|
|
}
|
|
};
|
|
};
|
|
function _24(e){
|
|
var tt=$(e.target);
|
|
if(tt.hasClass("tree-hit")){
|
|
_25(_26);
|
|
}else{
|
|
if(tt.hasClass("tree-checkbox")){
|
|
_25(_27);
|
|
}else{
|
|
$.fn.datagrid.defaults.rowEvents.click(e);
|
|
}
|
|
}
|
|
function _25(fn){
|
|
var tr=tt.closest("tr.datagrid-row");
|
|
var _28=tr.closest("div.datagrid-view").children(".datagrid-f")[0];
|
|
fn(_28,tr.attr("node-id"));
|
|
};
|
|
};
|
|
function _27(_29,_2a,_2b,_2c){
|
|
var _2d=$.data(_29,"treegrid");
|
|
var _2e=_2d.checkedRows;
|
|
var _2f=_2d.options;
|
|
if(!_2f.checkbox){
|
|
return;
|
|
}
|
|
var row=_30(_29,_2a);
|
|
if(!row.checkState){
|
|
return;
|
|
}
|
|
var tr=_2f.finder.getTr(_29,_2a);
|
|
var ck=tr.find(".tree-checkbox");
|
|
if(_2b==undefined){
|
|
if(ck.hasClass("tree-checkbox1")){
|
|
_2b=false;
|
|
}else{
|
|
if(ck.hasClass("tree-checkbox0")){
|
|
_2b=true;
|
|
}else{
|
|
if(row._checked==undefined){
|
|
row._checked=ck.hasClass("tree-checkbox1");
|
|
}
|
|
_2b=!row._checked;
|
|
}
|
|
}
|
|
}
|
|
row._checked=_2b;
|
|
if(_2b){
|
|
if(ck.hasClass("tree-checkbox1")){
|
|
return;
|
|
}
|
|
}else{
|
|
if(ck.hasClass("tree-checkbox0")){
|
|
return;
|
|
}
|
|
}
|
|
if(!_2c){
|
|
if(_2f.onBeforeCheckNode.call(_29,row,_2b)==false){
|
|
return;
|
|
}
|
|
}
|
|
if(_2f.cascadeCheck){
|
|
_31(_29,row,_2b);
|
|
_32(_29,row);
|
|
}else{
|
|
_33(_29,row,_2b?"1":"0");
|
|
}
|
|
if(!_2c){
|
|
_2f.onCheckNode.call(_29,row,_2b);
|
|
}
|
|
};
|
|
function _33(_34,row,_35){
|
|
var _36=$.data(_34,"treegrid");
|
|
var _37=_36.checkedRows;
|
|
var _38=_36.options;
|
|
if(!row.checkState||_35==undefined){
|
|
return;
|
|
}
|
|
var tr=_38.finder.getTr(_34,row[_38.idField]);
|
|
var ck=tr.find(".tree-checkbox");
|
|
if(!ck.length){
|
|
return;
|
|
}
|
|
row.checkState=["unchecked","checked","indeterminate"][_35];
|
|
row.checked=(row.checkState=="checked");
|
|
ck.removeClass("tree-checkbox0 tree-checkbox1 tree-checkbox2");
|
|
ck.addClass("tree-checkbox"+_35);
|
|
if(_35==0){
|
|
$.easyui.removeArrayItem(_37,_38.idField,row[_38.idField]);
|
|
}else{
|
|
$.easyui.addArrayItem(_37,_38.idField,row);
|
|
}
|
|
};
|
|
function _31(_39,row,_3a){
|
|
var _3b=_3a?1:0;
|
|
_33(_39,row,_3b);
|
|
$.easyui.forEach(row.children||[],true,function(r){
|
|
_33(_39,r,_3b);
|
|
});
|
|
};
|
|
function _32(_3c,row){
|
|
var _3d=$.data(_3c,"treegrid").options;
|
|
var _3e=_3f(_3c,row[_3d.idField]);
|
|
if(_3e){
|
|
_33(_3c,_3e,_40(_3e));
|
|
_32(_3c,_3e);
|
|
}
|
|
};
|
|
function _40(row){
|
|
var len=0;
|
|
var c0=0;
|
|
var c1=0;
|
|
$.easyui.forEach(row.children||[],false,function(r){
|
|
if(r.checkState){
|
|
len++;
|
|
if(r.checkState=="checked"){
|
|
c1++;
|
|
}else{
|
|
if(r.checkState=="unchecked"){
|
|
c0++;
|
|
}
|
|
}
|
|
}
|
|
});
|
|
if(len==0){
|
|
return undefined;
|
|
}
|
|
var _41=0;
|
|
if(c0==len){
|
|
_41=0;
|
|
}else{
|
|
if(c1==len){
|
|
_41=1;
|
|
}else{
|
|
_41=2;
|
|
}
|
|
}
|
|
return _41;
|
|
};
|
|
function _42(_43,_44){
|
|
var _45=$.data(_43,"treegrid").options;
|
|
if(!_45.checkbox){
|
|
return;
|
|
}
|
|
var row=_30(_43,_44);
|
|
var tr=_45.finder.getTr(_43,_44);
|
|
var ck=tr.find(".tree-checkbox");
|
|
if(_45.view.hasCheckbox(_43,row)){
|
|
if(!ck.length){
|
|
row.checkState=row.checkState||"unchecked";
|
|
$("<span class=\"tree-checkbox\"></span>").insertBefore(tr.find(".tree-title"));
|
|
}
|
|
if(row.checkState=="checked"){
|
|
_27(_43,_44,true,true);
|
|
}else{
|
|
if(row.checkState=="unchecked"){
|
|
_27(_43,_44,false,true);
|
|
}else{
|
|
var _46=_40(row);
|
|
if(_46===0){
|
|
_27(_43,_44,false,true);
|
|
}else{
|
|
if(_46===1){
|
|
_27(_43,_44,true,true);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}else{
|
|
ck.remove();
|
|
row.checkState=undefined;
|
|
row.checked=undefined;
|
|
_32(_43,row);
|
|
}
|
|
};
|
|
function _47(_48,_49){
|
|
var _4a=$.data(_48,"treegrid").options;
|
|
var tr1=_4a.finder.getTr(_48,_49,"body",1);
|
|
var tr2=_4a.finder.getTr(_48,_49,"body",2);
|
|
var _4b=$(_48).datagrid("getColumnFields",true).length+(_4a.rownumbers?1:0);
|
|
var _4c=$(_48).datagrid("getColumnFields",false).length;
|
|
_4d(tr1,_4b);
|
|
_4d(tr2,_4c);
|
|
function _4d(tr,_4e){
|
|
$("<tr class=\"treegrid-tr-tree\">"+"<td style=\"border:0px\" colspan=\""+_4e+"\">"+"<div></div>"+"</td>"+"</tr>").insertAfter(tr);
|
|
};
|
|
};
|
|
function _4f(_50,_51,_52,_53,_54){
|
|
var _55=$.data(_50,"treegrid");
|
|
var _56=_55.options;
|
|
var dc=_55.dc;
|
|
_52=_56.loadFilter.call(_50,_52,_51);
|
|
var _57=_30(_50,_51);
|
|
if(_57){
|
|
var _58=_56.finder.getTr(_50,_51,"body",1);
|
|
var _59=_56.finder.getTr(_50,_51,"body",2);
|
|
var cc1=_58.next("tr.treegrid-tr-tree").children("td").children("div");
|
|
var cc2=_59.next("tr.treegrid-tr-tree").children("td").children("div");
|
|
if(!_53){
|
|
_57.children=[];
|
|
}
|
|
}else{
|
|
var cc1=dc.body1;
|
|
var cc2=dc.body2;
|
|
if(!_53){
|
|
_55.data=[];
|
|
}
|
|
}
|
|
if(!_53){
|
|
cc1.empty();
|
|
cc2.empty();
|
|
}
|
|
if(_56.view.onBeforeRender){
|
|
_56.view.onBeforeRender.call(_56.view,_50,_51,_52);
|
|
}
|
|
_56.view.render.call(_56.view,_50,cc1,true);
|
|
_56.view.render.call(_56.view,_50,cc2,false);
|
|
if(_56.showFooter){
|
|
_56.view.renderFooter.call(_56.view,_50,dc.footer1,true);
|
|
_56.view.renderFooter.call(_56.view,_50,dc.footer2,false);
|
|
}
|
|
if(_56.view.onAfterRender){
|
|
_56.view.onAfterRender.call(_56.view,_50);
|
|
}
|
|
if(!_51&&_56.pagination){
|
|
var _5a=$.data(_50,"treegrid").total;
|
|
var _5b=$(_50).datagrid("getPager");
|
|
if(_5b.pagination("options").total!=_5a){
|
|
_5b.pagination({total:_5a});
|
|
}
|
|
}
|
|
_16(_50);
|
|
_1f(_50);
|
|
$(_50).treegrid("showLines");
|
|
$(_50).treegrid("setSelectionState");
|
|
$(_50).treegrid("autoSizeColumn");
|
|
if(!_54){
|
|
_56.onLoadSuccess.call(_50,_57,_52);
|
|
}
|
|
};
|
|
function _15(_5c,_5d,_5e,_5f,_60){
|
|
var _61=$.data(_5c,"treegrid").options;
|
|
var _62=$(_5c).datagrid("getPanel").find("div.datagrid-body");
|
|
if(_5d==undefined&&_61.queryParams){
|
|
_61.queryParams.id=undefined;
|
|
}
|
|
if(_5e){
|
|
_61.queryParams=_5e;
|
|
}
|
|
var _63=$.extend({},_61.queryParams);
|
|
if(_61.pagination){
|
|
$.extend(_63,{page:_61.pageNumber,rows:_61.pageSize});
|
|
}
|
|
if(_61.sortName){
|
|
$.extend(_63,{sort:_61.sortName,order:_61.sortOrder});
|
|
}
|
|
var row=_30(_5c,_5d);
|
|
if(_61.onBeforeLoad.call(_5c,row,_63)==false){
|
|
return;
|
|
}
|
|
var _64=_62.find("tr[node-id=\""+_5d+"\"] span.tree-folder");
|
|
_64.addClass("tree-loading");
|
|
$(_5c).treegrid("loading");
|
|
var _65=_61.loader.call(_5c,_63,function(_66){
|
|
_64.removeClass("tree-loading");
|
|
$(_5c).treegrid("loaded");
|
|
_4f(_5c,_5d,_66,_5f);
|
|
if(_60){
|
|
_60();
|
|
}
|
|
},function(){
|
|
_64.removeClass("tree-loading");
|
|
$(_5c).treegrid("loaded");
|
|
_61.onLoadError.apply(_5c,arguments);
|
|
if(_60){
|
|
_60();
|
|
}
|
|
});
|
|
if(_65==false){
|
|
_64.removeClass("tree-loading");
|
|
$(_5c).treegrid("loaded");
|
|
}
|
|
};
|
|
function _67(_68){
|
|
var _69=_6a(_68);
|
|
return _69.length?_69[0]:null;
|
|
};
|
|
function _6a(_6b){
|
|
return $.data(_6b,"treegrid").data;
|
|
};
|
|
function _3f(_6c,_6d){
|
|
var row=_30(_6c,_6d);
|
|
if(row._parentId){
|
|
return _30(_6c,row._parentId);
|
|
}else{
|
|
return null;
|
|
}
|
|
};
|
|
function _1b(_6e,_6f){
|
|
var _70=$.data(_6e,"treegrid").data;
|
|
if(_6f){
|
|
var _71=_30(_6e,_6f);
|
|
_70=_71?(_71.children||[]):[];
|
|
}
|
|
var _72=[];
|
|
$.easyui.forEach(_70,true,function(_73){
|
|
_72.push(_73);
|
|
});
|
|
return _72;
|
|
};
|
|
function _74(_75,_76){
|
|
var _77=$.data(_75,"treegrid").options;
|
|
var tr=_77.finder.getTr(_75,_76);
|
|
var _78=tr.children("td[field=\""+_77.treeField+"\"]");
|
|
return _78.find("span.tree-indent,span.tree-hit").length;
|
|
};
|
|
function _30(_79,_7a){
|
|
var _7b=$.data(_79,"treegrid");
|
|
var _7c=_7b.options;
|
|
var _7d=null;
|
|
$.easyui.forEach(_7b.data,true,function(_7e){
|
|
if(_7e[_7c.idField]==_7a){
|
|
_7d=_7e;
|
|
return false;
|
|
}
|
|
});
|
|
return _7d;
|
|
};
|
|
function _7f(_80,_81){
|
|
var _82=$.data(_80,"treegrid").options;
|
|
var row=_30(_80,_81);
|
|
var tr=_82.finder.getTr(_80,_81);
|
|
var hit=tr.find("span.tree-hit");
|
|
if(hit.length==0){
|
|
return;
|
|
}
|
|
if(hit.hasClass("tree-collapsed")){
|
|
return;
|
|
}
|
|
if(_82.onBeforeCollapse.call(_80,row)==false){
|
|
return;
|
|
}
|
|
hit.removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed");
|
|
hit.next().removeClass("tree-folder-open");
|
|
row.state="closed";
|
|
tr=tr.next("tr.treegrid-tr-tree");
|
|
var cc=tr.children("td").children("div");
|
|
if(_82.animate){
|
|
cc.slideUp("normal",function(){
|
|
$(_80).treegrid("autoSizeColumn");
|
|
_16(_80,_81);
|
|
_82.onCollapse.call(_80,row);
|
|
});
|
|
}else{
|
|
cc.hide();
|
|
$(_80).treegrid("autoSizeColumn");
|
|
_16(_80,_81);
|
|
_82.onCollapse.call(_80,row);
|
|
}
|
|
};
|
|
function _83(_84,_85){
|
|
var _86=$.data(_84,"treegrid").options;
|
|
var tr=_86.finder.getTr(_84,_85);
|
|
var hit=tr.find("span.tree-hit");
|
|
var row=_30(_84,_85);
|
|
if(hit.length==0){
|
|
return;
|
|
}
|
|
if(hit.hasClass("tree-expanded")){
|
|
return;
|
|
}
|
|
if(_86.onBeforeExpand.call(_84,row)==false){
|
|
return;
|
|
}
|
|
hit.removeClass("tree-collapsed tree-collapsed-hover").addClass("tree-expanded");
|
|
hit.next().addClass("tree-folder-open");
|
|
var _87=tr.next("tr.treegrid-tr-tree");
|
|
if(_87.length){
|
|
var cc=_87.children("td").children("div");
|
|
_88(cc);
|
|
}else{
|
|
_47(_84,row[_86.idField]);
|
|
var _87=tr.next("tr.treegrid-tr-tree");
|
|
var cc=_87.children("td").children("div");
|
|
cc.hide();
|
|
var _89=$.extend({},_86.queryParams||{});
|
|
_89.id=row[_86.idField];
|
|
_15(_84,row[_86.idField],_89,true,function(){
|
|
if(cc.is(":empty")){
|
|
_87.remove();
|
|
}else{
|
|
_88(cc);
|
|
}
|
|
});
|
|
}
|
|
function _88(cc){
|
|
row.state="open";
|
|
if(_86.animate){
|
|
cc.slideDown("normal",function(){
|
|
$(_84).treegrid("autoSizeColumn");
|
|
_16(_84,_85);
|
|
_86.onExpand.call(_84,row);
|
|
});
|
|
}else{
|
|
cc.show();
|
|
$(_84).treegrid("autoSizeColumn");
|
|
_16(_84,_85);
|
|
_86.onExpand.call(_84,row);
|
|
}
|
|
};
|
|
};
|
|
function _26(_8a,_8b){
|
|
var _8c=$.data(_8a,"treegrid").options;
|
|
var tr=_8c.finder.getTr(_8a,_8b);
|
|
var hit=tr.find("span.tree-hit");
|
|
if(hit.hasClass("tree-expanded")){
|
|
_7f(_8a,_8b);
|
|
}else{
|
|
_83(_8a,_8b);
|
|
}
|
|
};
|
|
function _8d(_8e,_8f){
|
|
var _90=$.data(_8e,"treegrid").options;
|
|
var _91=_1b(_8e,_8f);
|
|
if(_8f){
|
|
_91.unshift(_30(_8e,_8f));
|
|
}
|
|
for(var i=0;i<_91.length;i++){
|
|
_7f(_8e,_91[i][_90.idField]);
|
|
}
|
|
};
|
|
function _92(_93,_94){
|
|
var _95=$.data(_93,"treegrid").options;
|
|
var _96=_1b(_93,_94);
|
|
if(_94){
|
|
_96.unshift(_30(_93,_94));
|
|
}
|
|
for(var i=0;i<_96.length;i++){
|
|
_83(_93,_96[i][_95.idField]);
|
|
}
|
|
};
|
|
function _97(_98,_99){
|
|
var _9a=$.data(_98,"treegrid").options;
|
|
var ids=[];
|
|
var p=_3f(_98,_99);
|
|
while(p){
|
|
var id=p[_9a.idField];
|
|
ids.unshift(id);
|
|
p=_3f(_98,id);
|
|
}
|
|
for(var i=0;i<ids.length;i++){
|
|
_83(_98,ids[i]);
|
|
}
|
|
};
|
|
function _9b(_9c,_9d){
|
|
var _9e=$.data(_9c,"treegrid");
|
|
var _9f=_9e.options;
|
|
if(_9d.parent){
|
|
var tr=_9f.finder.getTr(_9c,_9d.parent);
|
|
if(tr.next("tr.treegrid-tr-tree").length==0){
|
|
_47(_9c,_9d.parent);
|
|
}
|
|
var _a0=tr.children("td[field=\""+_9f.treeField+"\"]").children("div.datagrid-cell");
|
|
var _a1=_a0.children("span.tree-icon");
|
|
if(_a1.hasClass("tree-file")){
|
|
_a1.removeClass("tree-file").addClass("tree-folder tree-folder-open");
|
|
var hit=$("<span class=\"tree-hit tree-expanded\"></span>").insertBefore(_a1);
|
|
if(hit.prev().length){
|
|
hit.prev().remove();
|
|
}
|
|
}
|
|
}
|
|
_4f(_9c,_9d.parent,_9d.data,_9e.data.length>0,true);
|
|
};
|
|
function _a2(_a3,_a4){
|
|
var ref=_a4.before||_a4.after;
|
|
var _a5=$.data(_a3,"treegrid").options;
|
|
var _a6=_3f(_a3,ref);
|
|
_9b(_a3,{parent:(_a6?_a6[_a5.idField]:null),data:[_a4.data]});
|
|
var _a7=_a6?_a6.children:$(_a3).treegrid("getRoots");
|
|
for(var i=0;i<_a7.length;i++){
|
|
if(_a7[i][_a5.idField]==ref){
|
|
var _a8=_a7[_a7.length-1];
|
|
_a7.splice(_a4.before?i:(i+1),0,_a8);
|
|
_a7.splice(_a7.length-1,1);
|
|
break;
|
|
}
|
|
}
|
|
_a9(true);
|
|
_a9(false);
|
|
_1f(_a3);
|
|
$(_a3).treegrid("showLines");
|
|
function _a9(_aa){
|
|
var _ab=_aa?1:2;
|
|
var tr=_a5.finder.getTr(_a3,_a4.data[_a5.idField],"body",_ab);
|
|
var _ac=tr.closest("table.datagrid-btable");
|
|
tr=tr.parent().children();
|
|
var _ad=_a5.finder.getTr(_a3,ref,"body",_ab);
|
|
if(_a4.before){
|
|
tr.insertBefore(_ad);
|
|
}else{
|
|
var sub=_ad.next("tr.treegrid-tr-tree");
|
|
tr.insertAfter(sub.length?sub:_ad);
|
|
}
|
|
_ac.remove();
|
|
};
|
|
};
|
|
function _ae(_af,_b0){
|
|
var _b1=$.data(_af,"treegrid");
|
|
var _b2=_b1.options;
|
|
var _b3=_3f(_af,_b0);
|
|
$(_af).datagrid("deleteRow",_b0);
|
|
$.easyui.removeArrayItem(_b1.checkedRows,_b2.idField,_b0);
|
|
_1f(_af);
|
|
if(_b3){
|
|
_42(_af,_b3[_b2.idField]);
|
|
}
|
|
_b1.total-=1;
|
|
$(_af).datagrid("getPager").pagination("refresh",{total:_b1.total});
|
|
$(_af).treegrid("showLines");
|
|
};
|
|
function _b4(_b5){
|
|
var t=$(_b5);
|
|
var _b6=t.treegrid("options");
|
|
if(_b6.lines){
|
|
t.treegrid("getPanel").addClass("tree-lines");
|
|
}else{
|
|
t.treegrid("getPanel").removeClass("tree-lines");
|
|
return;
|
|
}
|
|
t.treegrid("getPanel").find("span.tree-indent").removeClass("tree-line tree-join tree-joinbottom");
|
|
t.treegrid("getPanel").find("div.datagrid-cell").removeClass("tree-node-last tree-root-first tree-root-one");
|
|
var _b7=t.treegrid("getRoots");
|
|
if(_b7.length>1){
|
|
_b8(_b7[0]).addClass("tree-root-first");
|
|
}else{
|
|
if(_b7.length==1){
|
|
_b8(_b7[0]).addClass("tree-root-one");
|
|
}
|
|
}
|
|
_b9(_b7);
|
|
_ba(_b7);
|
|
function _b9(_bb){
|
|
$.map(_bb,function(_bc){
|
|
if(_bc.children&&_bc.children.length){
|
|
_b9(_bc.children);
|
|
}else{
|
|
var _bd=_b8(_bc);
|
|
_bd.find(".tree-icon").prev().addClass("tree-join");
|
|
}
|
|
});
|
|
if(_bb.length){
|
|
var _be=_b8(_bb[_bb.length-1]);
|
|
_be.addClass("tree-node-last");
|
|
_be.find(".tree-join").removeClass("tree-join").addClass("tree-joinbottom");
|
|
}
|
|
};
|
|
function _ba(_bf){
|
|
$.map(_bf,function(_c0){
|
|
if(_c0.children&&_c0.children.length){
|
|
_ba(_c0.children);
|
|
}
|
|
});
|
|
for(var i=0;i<_bf.length-1;i++){
|
|
var _c1=_bf[i];
|
|
var _c2=t.treegrid("getLevel",_c1[_b6.idField]);
|
|
var tr=_b6.finder.getTr(_b5,_c1[_b6.idField]);
|
|
var cc=tr.next().find("tr.datagrid-row td[field=\""+_b6.treeField+"\"] div.datagrid-cell");
|
|
cc.find("span:eq("+(_c2-1)+")").addClass("tree-line");
|
|
}
|
|
};
|
|
function _b8(_c3){
|
|
var tr=_b6.finder.getTr(_b5,_c3[_b6.idField]);
|
|
var _c4=tr.find("td[field=\""+_b6.treeField+"\"] div.datagrid-cell");
|
|
return _c4;
|
|
};
|
|
};
|
|
$.fn.treegrid=function(_c5,_c6){
|
|
if(typeof _c5=="string"){
|
|
var _c7=$.fn.treegrid.methods[_c5];
|
|
if(_c7){
|
|
return _c7(this,_c6);
|
|
}else{
|
|
return this.datagrid(_c5,_c6);
|
|
}
|
|
}
|
|
_c5=_c5||{};
|
|
return this.each(function(){
|
|
var _c8=$.data(this,"treegrid");
|
|
if(_c8){
|
|
$.extend(_c8.options,_c5);
|
|
}else{
|
|
_c8=$.data(this,"treegrid",{options:$.extend({},$.fn.treegrid.defaults,$.fn.treegrid.parseOptions(this),_c5),data:[],checkedRows:[],tmpIds:[]});
|
|
}
|
|
_1(this);
|
|
if(_c8.options.data){
|
|
$(this).treegrid("loadData",_c8.options.data);
|
|
}
|
|
_15(this);
|
|
});
|
|
};
|
|
$.fn.treegrid.methods={options:function(jq){
|
|
return $.data(jq[0],"treegrid").options;
|
|
},resize:function(jq,_c9){
|
|
return jq.each(function(){
|
|
$(this).datagrid("resize",_c9);
|
|
});
|
|
},fixRowHeight:function(jq,_ca){
|
|
return jq.each(function(){
|
|
_16(this,_ca);
|
|
});
|
|
},loadData:function(jq,_cb){
|
|
return jq.each(function(){
|
|
_4f(this,_cb.parent,_cb);
|
|
});
|
|
},load:function(jq,_cc){
|
|
return jq.each(function(){
|
|
$(this).treegrid("options").pageNumber=1;
|
|
$(this).treegrid("getPager").pagination({pageNumber:1});
|
|
$(this).treegrid("reload",_cc);
|
|
});
|
|
},reload:function(jq,id){
|
|
return jq.each(function(){
|
|
var _cd=$(this).treegrid("options");
|
|
var _ce={};
|
|
if(typeof id=="object"){
|
|
_ce=id;
|
|
}else{
|
|
_ce=$.extend({},_cd.queryParams);
|
|
_ce.id=id;
|
|
}
|
|
if(_ce.id){
|
|
var _cf=$(this).treegrid("find",_ce.id);
|
|
if(_cf.children){
|
|
_cf.children.splice(0,_cf.children.length);
|
|
}
|
|
_cd.queryParams=_ce;
|
|
var tr=_cd.finder.getTr(this,_ce.id);
|
|
tr.next("tr.treegrid-tr-tree").remove();
|
|
tr.find("span.tree-hit").removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed");
|
|
_83(this,_ce.id);
|
|
}else{
|
|
_15(this,null,_ce);
|
|
}
|
|
});
|
|
},reloadFooter:function(jq,_d0){
|
|
return jq.each(function(){
|
|
var _d1=$.data(this,"treegrid").options;
|
|
var dc=$.data(this,"datagrid").dc;
|
|
if(_d0){
|
|
$.data(this,"treegrid").footer=_d0;
|
|
}
|
|
if(_d1.showFooter){
|
|
_d1.view.renderFooter.call(_d1.view,this,dc.footer1,true);
|
|
_d1.view.renderFooter.call(_d1.view,this,dc.footer2,false);
|
|
if(_d1.view.onAfterRender){
|
|
_d1.view.onAfterRender.call(_d1.view,this);
|
|
}
|
|
$(this).treegrid("fixRowHeight");
|
|
}
|
|
});
|
|
},getData:function(jq){
|
|
return $.data(jq[0],"treegrid").data;
|
|
},getFooterRows:function(jq){
|
|
return $.data(jq[0],"treegrid").footer;
|
|
},getRoot:function(jq){
|
|
return _67(jq[0]);
|
|
},getRoots:function(jq){
|
|
return _6a(jq[0]);
|
|
},getParent:function(jq,id){
|
|
return _3f(jq[0],id);
|
|
},getChildren:function(jq,id){
|
|
return _1b(jq[0],id);
|
|
},getLevel:function(jq,id){
|
|
return _74(jq[0],id);
|
|
},find:function(jq,id){
|
|
return _30(jq[0],id);
|
|
},isLeaf:function(jq,id){
|
|
var _d2=$.data(jq[0],"treegrid").options;
|
|
var tr=_d2.finder.getTr(jq[0],id);
|
|
var hit=tr.find("span.tree-hit");
|
|
return hit.length==0;
|
|
},select:function(jq,id){
|
|
return jq.each(function(){
|
|
$(this).datagrid("selectRow",id);
|
|
});
|
|
},unselect:function(jq,id){
|
|
return jq.each(function(){
|
|
$(this).datagrid("unselectRow",id);
|
|
});
|
|
},collapse:function(jq,id){
|
|
return jq.each(function(){
|
|
_7f(this,id);
|
|
});
|
|
},expand:function(jq,id){
|
|
return jq.each(function(){
|
|
_83(this,id);
|
|
});
|
|
},toggle:function(jq,id){
|
|
return jq.each(function(){
|
|
_26(this,id);
|
|
});
|
|
},collapseAll:function(jq,id){
|
|
return jq.each(function(){
|
|
_8d(this,id);
|
|
});
|
|
},expandAll:function(jq,id){
|
|
return jq.each(function(){
|
|
_92(this,id);
|
|
});
|
|
},expandTo:function(jq,id){
|
|
return jq.each(function(){
|
|
_97(this,id);
|
|
});
|
|
},append:function(jq,_d3){
|
|
return jq.each(function(){
|
|
_9b(this,_d3);
|
|
});
|
|
},insert:function(jq,_d4){
|
|
return jq.each(function(){
|
|
_a2(this,_d4);
|
|
});
|
|
},remove:function(jq,id){
|
|
return jq.each(function(){
|
|
_ae(this,id);
|
|
});
|
|
},pop:function(jq,id){
|
|
var row=jq.treegrid("find",id);
|
|
jq.treegrid("remove",id);
|
|
return row;
|
|
},refresh:function(jq,id){
|
|
return jq.each(function(){
|
|
var _d5=$.data(this,"treegrid").options;
|
|
_d5.view.refreshRow.call(_d5.view,this,id);
|
|
});
|
|
},update:function(jq,_d6){
|
|
return jq.each(function(){
|
|
var _d7=$.data(this,"treegrid").options;
|
|
var row=_d6.row;
|
|
_d7.view.updateRow.call(_d7.view,this,_d6.id,row);
|
|
if(row.checked!=undefined){
|
|
row=_30(this,_d6.id);
|
|
$.extend(row,{checkState:row.checked?"checked":(row.checked===false?"unchecked":undefined)});
|
|
_42(this,_d6.id);
|
|
}
|
|
});
|
|
},beginEdit:function(jq,id){
|
|
return jq.each(function(){
|
|
$(this).datagrid("beginEdit",id);
|
|
$(this).treegrid("fixRowHeight",id);
|
|
});
|
|
},endEdit:function(jq,id){
|
|
return jq.each(function(){
|
|
$(this).datagrid("endEdit",id);
|
|
});
|
|
},cancelEdit:function(jq,id){
|
|
return jq.each(function(){
|
|
$(this).datagrid("cancelEdit",id);
|
|
});
|
|
},showLines:function(jq){
|
|
return jq.each(function(){
|
|
_b4(this);
|
|
});
|
|
},setSelectionState:function(jq){
|
|
return jq.each(function(){
|
|
$(this).datagrid("setSelectionState");
|
|
var _d8=$(this).data("treegrid");
|
|
for(var i=0;i<_d8.tmpIds.length;i++){
|
|
_27(this,_d8.tmpIds[i],true,true);
|
|
}
|
|
_d8.tmpIds=[];
|
|
});
|
|
},getCheckedNodes:function(jq,_d9){
|
|
_d9=_d9||"checked";
|
|
var _da=[];
|
|
$.easyui.forEach(jq.data("treegrid").checkedRows,false,function(row){
|
|
if(row.checkState==_d9){
|
|
_da.push(row);
|
|
}
|
|
});
|
|
return _da;
|
|
},checkNode:function(jq,id){
|
|
return jq.each(function(){
|
|
_27(this,id,true);
|
|
});
|
|
},uncheckNode:function(jq,id){
|
|
return jq.each(function(){
|
|
_27(this,id,false);
|
|
});
|
|
},clearChecked:function(jq){
|
|
return jq.each(function(){
|
|
var _db=this;
|
|
var _dc=$(_db).treegrid("options");
|
|
$(_db).datagrid("clearChecked");
|
|
$.map($(_db).treegrid("getCheckedNodes"),function(row){
|
|
_27(_db,row[_dc.idField],false,true);
|
|
});
|
|
});
|
|
}};
|
|
$.fn.treegrid.parseOptions=function(_dd){
|
|
return $.extend({},$.fn.datagrid.parseOptions(_dd),$.parser.parseOptions(_dd,["treeField",{checkbox:"boolean",cascadeCheck:"boolean",onlyLeafCheck:"boolean"},{animate:"boolean"}]));
|
|
};
|
|
var _de=$.extend({},$.fn.datagrid.defaults.view,{render:function(_df,_e0,_e1){
|
|
var _e2=$.data(_df,"treegrid").options;
|
|
var _e3=$(_df).datagrid("getColumnFields",_e1);
|
|
var _e4=$.data(_df,"datagrid").rowIdPrefix;
|
|
if(_e1){
|
|
if(!(_e2.rownumbers||(_e2.frozenColumns&&_e2.frozenColumns.length))){
|
|
return;
|
|
}
|
|
}
|
|
var _e5=this;
|
|
if(this.treeNodes&&this.treeNodes.length){
|
|
var _e6=_e7.call(this,_e1,this.treeLevel,this.treeNodes);
|
|
$(_e0).append(_e6.join(""));
|
|
}
|
|
function _e7(_e8,_e9,_ea){
|
|
var _eb=$(_df).treegrid("getParent",_ea[0][_e2.idField]);
|
|
var _ec=(_eb?_eb.children.length:$(_df).treegrid("getRoots").length)-_ea.length;
|
|
var _ed=["<table class=\"datagrid-btable\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tbody>"];
|
|
for(var i=0;i<_ea.length;i++){
|
|
var row=_ea[i];
|
|
if(row.state!="open"&&row.state!="closed"){
|
|
row.state="open";
|
|
}
|
|
var css=_e2.rowStyler?_e2.rowStyler.call(_df,row):"";
|
|
var cs=this.getStyleValue(css);
|
|
var cls="class=\"datagrid-row "+(_ec++%2&&_e2.striped?"datagrid-row-alt ":" ")+cs.c+"\"";
|
|
var _ee=cs.s?"style=\""+cs.s+"\"":"";
|
|
var _ef=_e4+"-"+(_e8?1:2)+"-"+row[_e2.idField];
|
|
_ed.push("<tr id=\""+_ef+"\" node-id=\""+row[_e2.idField]+"\" "+cls+" "+_ee+">");
|
|
_ed=_ed.concat(_e5.renderRow.call(_e5,_df,_e3,_e8,_e9,row));
|
|
_ed.push("</tr>");
|
|
if(row.children&&row.children.length){
|
|
var tt=_e7.call(this,_e8,_e9+1,row.children);
|
|
var v=row.state=="closed"?"none":"block";
|
|
_ed.push("<tr class=\"treegrid-tr-tree\"><td style=\"border:0px\" colspan="+(_e3.length+(_e2.rownumbers?1:0))+"><div style=\"display:"+v+"\">");
|
|
_ed=_ed.concat(tt);
|
|
_ed.push("</div></td></tr>");
|
|
}
|
|
}
|
|
_ed.push("</tbody></table>");
|
|
return _ed;
|
|
};
|
|
},renderFooter:function(_f0,_f1,_f2){
|
|
var _f3=$.data(_f0,"treegrid").options;
|
|
var _f4=$.data(_f0,"treegrid").footer||[];
|
|
var _f5=$(_f0).datagrid("getColumnFields",_f2);
|
|
var _f6=["<table class=\"datagrid-ftable\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tbody>"];
|
|
for(var i=0;i<_f4.length;i++){
|
|
var row=_f4[i];
|
|
row[_f3.idField]=row[_f3.idField]||("foot-row-id"+i);
|
|
_f6.push("<tr class=\"datagrid-row\" node-id=\""+row[_f3.idField]+"\">");
|
|
_f6.push(this.renderRow.call(this,_f0,_f5,_f2,0,row));
|
|
_f6.push("</tr>");
|
|
}
|
|
_f6.push("</tbody></table>");
|
|
$(_f1).html(_f6.join(""));
|
|
},renderRow:function(_f7,_f8,_f9,_fa,row){
|
|
var _fb=$.data(_f7,"treegrid");
|
|
var _fc=_fb.options;
|
|
var cc=[];
|
|
if(_f9&&_fc.rownumbers){
|
|
cc.push("<td class=\"datagrid-td-rownumber\"><div class=\"datagrid-cell-rownumber\">0</div></td>");
|
|
}
|
|
for(var i=0;i<_f8.length;i++){
|
|
var _fd=_f8[i];
|
|
var col=$(_f7).datagrid("getColumnOption",_fd);
|
|
if(col){
|
|
var css=col.styler?(col.styler(row[_fd],row)||""):"";
|
|
var cs=this.getStyleValue(css);
|
|
var cls=cs.c?"class=\""+cs.c+"\"":"";
|
|
var _fe=col.hidden?"style=\"display:none;"+cs.s+"\"":(cs.s?"style=\""+cs.s+"\"":"");
|
|
cc.push("<td field=\""+_fd+"\" "+cls+" "+_fe+">");
|
|
var _fe="";
|
|
if(!col.checkbox){
|
|
if(col.align){
|
|
_fe+="text-align:"+col.align+";";
|
|
}
|
|
if(!_fc.nowrap){
|
|
_fe+="white-space:normal;height:auto;";
|
|
}else{
|
|
if(_fc.autoRowHeight){
|
|
_fe+="height:auto;";
|
|
}
|
|
}
|
|
}
|
|
cc.push("<div style=\""+_fe+"\" ");
|
|
if(col.checkbox){
|
|
cc.push("class=\"datagrid-cell-check ");
|
|
}else{
|
|
cc.push("class=\"datagrid-cell "+col.cellClass);
|
|
}
|
|
cc.push("\">");
|
|
if(col.checkbox){
|
|
if(row.checked){
|
|
cc.push("<input type=\"checkbox\" checked=\"checked\"");
|
|
}else{
|
|
cc.push("<input type=\"checkbox\"");
|
|
}
|
|
cc.push(" name=\""+_fd+"\" value=\""+(row[_fd]!=undefined?row[_fd]:"")+"\">");
|
|
}else{
|
|
var val=null;
|
|
if(col.formatter){
|
|
val=col.formatter(row[_fd],row);
|
|
}else{
|
|
val=row[_fd];
|
|
}
|
|
if(_fd==_fc.treeField){
|
|
for(var j=0;j<_fa;j++){
|
|
cc.push("<span class=\"tree-indent\"></span>");
|
|
}
|
|
if(row.state=="closed"){
|
|
cc.push("<span class=\"tree-hit tree-collapsed\"></span>");
|
|
cc.push("<span class=\"tree-icon tree-folder "+(row.iconCls?row.iconCls:"")+"\"></span>");
|
|
}else{
|
|
if(row.children&&row.children.length){
|
|
cc.push("<span class=\"tree-hit tree-expanded\"></span>");
|
|
cc.push("<span class=\"tree-icon tree-folder tree-folder-open "+(row.iconCls?row.iconCls:"")+"\"></span>");
|
|
}else{
|
|
cc.push("<span class=\"tree-indent\"></span>");
|
|
cc.push("<span class=\"tree-icon tree-file "+(row.iconCls?row.iconCls:"")+"\"></span>");
|
|
}
|
|
}
|
|
if(this.hasCheckbox(_f7,row)){
|
|
var _ff=0;
|
|
var crow=$.easyui.getArrayItem(_fb.checkedRows,_fc.idField,row[_fc.idField]);
|
|
if(crow){
|
|
_ff=crow.checkState=="checked"?1:2;
|
|
}else{
|
|
var prow=$.easyui.getArrayItem(_fb.checkedRows,_fc.idField,row._parentId);
|
|
if(prow&&prow.checkState=="checked"&&_fc.cascadeCheck){
|
|
_ff=1;
|
|
row.checked=true;
|
|
$.easyui.addArrayItem(_fb.checkedRows,_fc.idField,row);
|
|
}else{
|
|
if(row.checked){
|
|
$.easyui.addArrayItem(_fb.tmpIds,row[_fc.idField]);
|
|
}
|
|
}
|
|
row.checkState=_ff?"checked":"unchecked";
|
|
}
|
|
cc.push("<span class=\"tree-checkbox tree-checkbox"+_ff+"\"></span>");
|
|
}else{
|
|
row.checkState=undefined;
|
|
row.checked=undefined;
|
|
}
|
|
cc.push("<span class=\"tree-title\">"+val+"</span>");
|
|
}else{
|
|
cc.push(val);
|
|
}
|
|
}
|
|
cc.push("</div>");
|
|
cc.push("</td>");
|
|
}
|
|
}
|
|
return cc.join("");
|
|
},hasCheckbox:function(_100,row){
|
|
var opts=$.data(_100,"treegrid").options;
|
|
if(opts.checkbox){
|
|
if($.isFunction(opts.checkbox)){
|
|
if(opts.checkbox.call(_100,row)){
|
|
return true;
|
|
}else{
|
|
return false;
|
|
}
|
|
}else{
|
|
if(opts.onlyLeafCheck){
|
|
if(row.state=="open"&&!(row.children&&row.children.length)){
|
|
return true;
|
|
}
|
|
}else{
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
return false;
|
|
},refreshRow:function(_101,id){
|
|
this.updateRow.call(this,_101,id,{});
|
|
},updateRow:function(_102,id,row){
|
|
var opts=$.data(_102,"treegrid").options;
|
|
var _103=$(_102).treegrid("find",id);
|
|
$.extend(_103,row);
|
|
var _104=$(_102).treegrid("getLevel",id)-1;
|
|
var _105=opts.rowStyler?opts.rowStyler.call(_102,_103):"";
|
|
var _106=$.data(_102,"datagrid").rowIdPrefix;
|
|
var _107=_103[opts.idField];
|
|
function _108(_109){
|
|
var _10a=$(_102).treegrid("getColumnFields",_109);
|
|
var tr=opts.finder.getTr(_102,id,"body",(_109?1:2));
|
|
var _10b=tr.find("div.datagrid-cell-rownumber").html();
|
|
var _10c=tr.find("div.datagrid-cell-check input[type=checkbox]").is(":checked");
|
|
tr.html(this.renderRow(_102,_10a,_109,_104,_103));
|
|
tr.attr("style",_105||"");
|
|
tr.find("div.datagrid-cell-rownumber").html(_10b);
|
|
if(_10c){
|
|
tr.find("div.datagrid-cell-check input[type=checkbox]")._propAttr("checked",true);
|
|
}
|
|
if(_107!=id){
|
|
tr.attr("id",_106+"-"+(_109?1:2)+"-"+_107);
|
|
tr.attr("node-id",_107);
|
|
}
|
|
};
|
|
_108.call(this,true);
|
|
_108.call(this,false);
|
|
$(_102).treegrid("fixRowHeight",id);
|
|
},deleteRow:function(_10d,id){
|
|
var opts=$.data(_10d,"treegrid").options;
|
|
var tr=opts.finder.getTr(_10d,id);
|
|
tr.next("tr.treegrid-tr-tree").remove();
|
|
tr.remove();
|
|
var _10e=del(id);
|
|
if(_10e){
|
|
if(_10e.children.length==0){
|
|
tr=opts.finder.getTr(_10d,_10e[opts.idField]);
|
|
tr.next("tr.treegrid-tr-tree").remove();
|
|
var cell=tr.children("td[field=\""+opts.treeField+"\"]").children("div.datagrid-cell");
|
|
cell.find(".tree-icon").removeClass("tree-folder").addClass("tree-file");
|
|
cell.find(".tree-hit").remove();
|
|
$("<span class=\"tree-indent\"></span>").prependTo(cell);
|
|
}
|
|
}
|
|
this.setEmptyMsg(_10d);
|
|
function del(id){
|
|
var cc;
|
|
var _10f=$(_10d).treegrid("getParent",id);
|
|
if(_10f){
|
|
cc=_10f.children;
|
|
}else{
|
|
cc=$(_10d).treegrid("getData");
|
|
}
|
|
for(var i=0;i<cc.length;i++){
|
|
if(cc[i][opts.idField]==id){
|
|
cc.splice(i,1);
|
|
break;
|
|
}
|
|
}
|
|
return _10f;
|
|
};
|
|
},onBeforeRender:function(_110,_111,data){
|
|
if($.isArray(_111)){
|
|
data={total:_111.length,rows:_111};
|
|
_111=null;
|
|
}
|
|
if(!data){
|
|
return false;
|
|
}
|
|
var _112=$.data(_110,"treegrid");
|
|
var opts=_112.options;
|
|
if(data.length==undefined){
|
|
if(data.footer){
|
|
_112.footer=data.footer;
|
|
}
|
|
if(data.total){
|
|
_112.total=data.total;
|
|
}
|
|
data=this.transfer(_110,_111,data.rows);
|
|
}else{
|
|
function _113(_114,_115){
|
|
for(var i=0;i<_114.length;i++){
|
|
var row=_114[i];
|
|
row._parentId=_115;
|
|
if(row.children&&row.children.length){
|
|
_113(row.children,row[opts.idField]);
|
|
}
|
|
}
|
|
};
|
|
_113(data,_111);
|
|
}
|
|
var node=_30(_110,_111);
|
|
if(node){
|
|
if(node.children){
|
|
node.children=node.children.concat(data);
|
|
}else{
|
|
node.children=data;
|
|
}
|
|
}else{
|
|
_112.data=_112.data.concat(data);
|
|
}
|
|
this.sort(_110,data);
|
|
this.treeNodes=data;
|
|
this.treeLevel=$(_110).treegrid("getLevel",_111);
|
|
},sort:function(_116,data){
|
|
var opts=$.data(_116,"treegrid").options;
|
|
if(!opts.remoteSort&&opts.sortName){
|
|
var _117=opts.sortName.split(",");
|
|
var _118=opts.sortOrder.split(",");
|
|
_119(data);
|
|
}
|
|
function _119(rows){
|
|
rows.sort(function(r1,r2){
|
|
var r=0;
|
|
for(var i=0;i<_117.length;i++){
|
|
var sn=_117[i];
|
|
var so=_118[i];
|
|
var col=$(_116).treegrid("getColumnOption",sn);
|
|
var _11a=col.sorter||function(a,b){
|
|
return a==b?0:(a>b?1:-1);
|
|
};
|
|
r=_11a(r1[sn],r2[sn])*(so=="asc"?1:-1);
|
|
if(r!=0){
|
|
return r;
|
|
}
|
|
}
|
|
return r;
|
|
});
|
|
for(var i=0;i<rows.length;i++){
|
|
var _11b=rows[i].children;
|
|
if(_11b&&_11b.length){
|
|
_119(_11b);
|
|
}
|
|
}
|
|
};
|
|
},transfer:function(_11c,_11d,data){
|
|
var opts=$.data(_11c,"treegrid").options;
|
|
var rows=$.extend([],data);
|
|
var _11e=_11f(_11d,rows);
|
|
var toDo=$.extend([],_11e);
|
|
while(toDo.length){
|
|
var node=toDo.shift();
|
|
var _120=_11f(node[opts.idField],rows);
|
|
if(_120.length){
|
|
if(node.children){
|
|
node.children=node.children.concat(_120);
|
|
}else{
|
|
node.children=_120;
|
|
}
|
|
toDo=toDo.concat(_120);
|
|
}
|
|
}
|
|
return _11e;
|
|
function _11f(_121,rows){
|
|
var rr=[];
|
|
for(var i=0;i<rows.length;i++){
|
|
var row=rows[i];
|
|
if(row._parentId==_121){
|
|
rr.push(row);
|
|
rows.splice(i,1);
|
|
i--;
|
|
}
|
|
}
|
|
return rr;
|
|
};
|
|
}});
|
|
$.fn.treegrid.defaults=$.extend({},$.fn.datagrid.defaults,{treeField:null,checkbox:false,cascadeCheck:true,onlyLeafCheck:false,lines:false,animate:false,singleSelect:true,view:_de,rowEvents:$.extend({},$.fn.datagrid.defaults.rowEvents,{mouseover:_22(true),mouseout:_22(false),click:_24}),loader:function(_122,_123,_124){
|
|
var opts=$(this).treegrid("options");
|
|
if(!opts.url){
|
|
return false;
|
|
}
|
|
$.ajax({type:opts.method,url:opts.url,data:_122,dataType:"json",success:function(data){
|
|
_123(data);
|
|
},error:function(){
|
|
_124.apply(this,arguments);
|
|
}});
|
|
},loadFilter:function(data,_125){
|
|
return data;
|
|
},finder:{getTr:function(_126,id,type,_127){
|
|
type=type||"body";
|
|
_127=_127||0;
|
|
var dc=$.data(_126,"datagrid").dc;
|
|
if(_127==0){
|
|
var opts=$.data(_126,"treegrid").options;
|
|
var tr1=opts.finder.getTr(_126,id,type,1);
|
|
var tr2=opts.finder.getTr(_126,id,type,2);
|
|
return tr1.add(tr2);
|
|
}else{
|
|
if(type=="body"){
|
|
var tr=$("#"+$.data(_126,"datagrid").rowIdPrefix+"-"+_127+"-"+id);
|
|
if(!tr.length){
|
|
tr=(_127==1?dc.body1:dc.body2).find("tr[node-id=\""+id+"\"]");
|
|
}
|
|
return tr;
|
|
}else{
|
|
if(type=="footer"){
|
|
return (_127==1?dc.footer1:dc.footer2).find("tr[node-id=\""+id+"\"]");
|
|
}else{
|
|
if(type=="selected"){
|
|
return (_127==1?dc.body1:dc.body2).find("tr.datagrid-row-selected");
|
|
}else{
|
|
if(type=="highlight"){
|
|
return (_127==1?dc.body1:dc.body2).find("tr.datagrid-row-over");
|
|
}else{
|
|
if(type=="checked"){
|
|
return (_127==1?dc.body1:dc.body2).find("tr.datagrid-row-checked");
|
|
}else{
|
|
if(type=="last"){
|
|
return (_127==1?dc.body1:dc.body2).find("tr:last[node-id]");
|
|
}else{
|
|
if(type=="allbody"){
|
|
return (_127==1?dc.body1:dc.body2).find("tr[node-id]");
|
|
}else{
|
|
if(type=="allfooter"){
|
|
return (_127==1?dc.footer1:dc.footer2).find("tr[node-id]");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},getRow:function(_128,p){
|
|
var id=(typeof p=="object")?p.attr("node-id"):p;
|
|
return $(_128).treegrid("find",id);
|
|
},getRows:function(_129){
|
|
return $(_129).treegrid("getChildren");
|
|
}},onBeforeLoad:function(row,_12a){
|
|
},onLoadSuccess:function(row,data){
|
|
},onLoadError:function(){
|
|
},onBeforeCollapse:function(row){
|
|
},onCollapse:function(row){
|
|
},onBeforeExpand:function(row){
|
|
},onExpand:function(row){
|
|
},onClickRow:function(row){
|
|
},onDblClickRow:function(row){
|
|
},onClickCell:function(_12b,row){
|
|
},onDblClickCell:function(_12c,row){
|
|
},onContextMenu:function(e,row){
|
|
},onBeforeEdit:function(row){
|
|
},onAfterEdit:function(row,_12d){
|
|
},onCancelEdit:function(row){
|
|
},onBeforeCheckNode:function(row,_12e){
|
|
},onCheckNode:function(row,_12f){
|
|
}});
|
|
})(jQuery);
|
|
|