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