Newer
Older
EMS-WEB-3.0 / out / artifacts / ems_Web_exploded / s / jquery-easyui-1.3.2 / plugins / jquery.treegrid.js
wxn on 9 Aug 2016 24 KB first commit
/**
 * jQuery EasyUI 1.3.2
 * 
 * Copyright (c) 2009-2013 www.jeasyui.com. All rights reserved.
 *
 * Licensed under the GPL or commercial licenses
 * To use it on other terms please contact us: jeasyui@gmail.com
 * http://www.gnu.org/licenses/gpl.txt
 * http://www.jeasyui.com/license_commercial.php
 *
 */
(function($){
function _1(a,o){
for(var i=0,_2=a.length;i<_2;i++){
if(a[i]==o){
return i;
}
}
return -1;
};
function _3(a,o){
var _4=_1(a,o);
if(_4!=-1){
a.splice(_4,1);
}
};
function _5(_6){
var _7=$.data(_6,"treegrid").options;
$(_6).datagrid($.extend({},_7,{url:null,data:null,loader:function(){
return false;
},onLoadSuccess:function(){
},onResizeColumn:function(_8,_9){
_21(_6);
_7.onResizeColumn.call(_6,_8,_9);
},onSortColumn:function(_a,_b){
_7.sortName=_a;
_7.sortOrder=_b;
if(_7.remoteSort){
_20(_6);
}else{
var _c=$(_6).treegrid("getData");
_3a(_6,0,_c);
}
_7.onSortColumn.call(_6,_a,_b);
},onBeforeEdit:function(_d,_e){
if(_7.onBeforeEdit.call(_6,_e)==false){
return false;
}
},onAfterEdit:function(_f,row,_10){
_7.onAfterEdit.call(_6,row,_10);
},onCancelEdit:function(_11,row){
_7.onCancelEdit.call(_6,row);
},onSelect:function(_12){
_7.onSelect.call(_6,_41(_6,_12));
},onUnselect:function(_13){
_7.onUnselect.call(_6,_41(_6,_13));
},onSelectAll:function(){
_7.onSelectAll.call(_6,$.data(_6,"treegrid").data);
},onUnselectAll:function(){
_7.onUnselectAll.call(_6,$.data(_6,"treegrid").data);
},onCheck:function(_14){
_7.onCheck.call(_6,_41(_6,_14));
},onUncheck:function(_15){
_7.onUncheck.call(_6,_41(_6,_15));
},onCheckAll:function(){
_7.onCheckAll.call(_6,$.data(_6,"treegrid").data);
},onUncheckAll:function(){
_7.onUncheckAll.call(_6,$.data(_6,"treegrid").data);
},onClickRow:function(_16){
_7.onClickRow.call(_6,_41(_6,_16));
},onDblClickRow:function(_17){
_7.onDblClickRow.call(_6,_41(_6,_17));
},onClickCell:function(_18,_19){
_7.onClickCell.call(_6,_19,_41(_6,_18));
},onDblClickCell:function(_1a,_1b){
_7.onDblClickCell.call(_6,_1b,_41(_6,_1a));
},onRowContextMenu:function(e,_1c){
_7.onContextMenu.call(_6,e,_41(_6,_1c));
}}));
if(_7.pagination){
var _1d=$(_6).datagrid("getPager");
_1d.pagination({pageNumber:_7.pageNumber,pageSize:_7.pageSize,pageList:_7.pageList,onSelectPage:function(_1e,_1f){
_7.pageNumber=_1e;
_7.pageSize=_1f;
_20(_6);
}});
_7.pageSize=_1d.pagination("options").pageSize;
}
};
function _21(_22,_23){
var _24=$.data(_22,"datagrid").options;
var dc=$.data(_22,"datagrid").dc;
if(!dc.body1.is(":empty")&&(!_24.nowrap||_24.autoRowHeight)){
if(_23!=undefined){
var _25=_26(_22,_23);
for(var i=0;i<_25.length;i++){
_27(_25[i][_24.idField]);
}
}
}
$(_22).datagrid("fixRowHeight",_23);
function _27(_28){
var tr1=_24.finder.getTr(_22,_28,"body",1);
var tr2=_24.finder.getTr(_22,_28,"body",2);
tr1.css("height","");
tr2.css("height","");
var _29=Math.max(tr1.height(),tr2.height());
tr1.css("height",_29);
tr2.css("height",_29);
};
};
function _2a(_2b){
var dc=$.data(_2b,"datagrid").dc;
var _2c=$.data(_2b,"treegrid").options;
if(!_2c.rownumbers){
return;
}
dc.body1.find("div.datagrid-cell-rownumber").each(function(i){
$(this).html(i+1);
});
};
function _2d(_2e){
var dc=$.data(_2e,"datagrid").dc;
var _2f=dc.body1.add(dc.body2);
var _30=($.data(_2f[0],"events")||$._data(_2f[0],"events")).click[0].handler;
dc.body1.add(dc.body2).bind("mouseover",function(e){
var tt=$(e.target);
var tr=tt.closest("tr.datagrid-row");
if(!tr.length){
return;
}
if(tt.hasClass("tree-hit")){
tt.hasClass("tree-expanded")?tt.addClass("tree-expanded-hover"):tt.addClass("tree-collapsed-hover");
}
e.stopPropagation();
}).bind("mouseout",function(e){
var tt=$(e.target);
var tr=tt.closest("tr.datagrid-row");
if(!tr.length){
return;
}
if(tt.hasClass("tree-hit")){
tt.hasClass("tree-expanded")?tt.removeClass("tree-expanded-hover"):tt.removeClass("tree-collapsed-hover");
}
e.stopPropagation();
}).unbind("click").bind("click",function(e){
var tt=$(e.target);
var tr=tt.closest("tr.datagrid-row");
if(!tr.length){
return;
}
if(tt.hasClass("tree-hit")){
_31(_2e,tr.attr("node-id"));
}else{
_30(e);
}
e.stopPropagation();
});
};
function _32(_33,_34){
var _35=$.data(_33,"treegrid").options;
var tr1=_35.finder.getTr(_33,_34,"body",1);
var tr2=_35.finder.getTr(_33,_34,"body",2);
var _36=$(_33).datagrid("getColumnFields",true).length+(_35.rownumbers?1:0);
var _37=$(_33).datagrid("getColumnFields",false).length;
_38(tr1,_36);
_38(tr2,_37);
function _38(tr,_39){
$("<tr class=\"treegrid-tr-tree\">"+"<td style=\"border:0px\" colspan=\""+_39+"\">"+"<div></div>"+"</td>"+"</tr>").insertAfter(tr);
};
};
function _3a(_3b,_3c,_3d,_3e){
var _3f=$.data(_3b,"treegrid").options;
var dc=$.data(_3b,"datagrid").dc;
_3d=_3f.loadFilter.call(_3b,_3d,_3c);
var _40=_41(_3b,_3c);
if(_40){
var _42=_3f.finder.getTr(_3b,_3c,"body",1);
var _43=_3f.finder.getTr(_3b,_3c,"body",2);
var cc1=_42.next("tr.treegrid-tr-tree").children("td").children("div");
var cc2=_43.next("tr.treegrid-tr-tree").children("td").children("div");
}else{
var cc1=dc.body1;
var cc2=dc.body2;
}
if(!_3e){
$.data(_3b,"treegrid").data=[];
cc1.empty();
cc2.empty();
}
if(_3f.view.onBeforeRender){
_3f.view.onBeforeRender.call(_3f.view,_3b,_3c,_3d);
}
_3f.view.render.call(_3f.view,_3b,cc1,true);
_3f.view.render.call(_3f.view,_3b,cc2,false);
if(_3f.showFooter){
_3f.view.renderFooter.call(_3f.view,_3b,dc.footer1,true);
_3f.view.renderFooter.call(_3f.view,_3b,dc.footer2,false);
}
if(_3f.view.onAfterRender){
_3f.view.onAfterRender.call(_3f.view,_3b);
}
_3f.onLoadSuccess.call(_3b,_40,_3d);
if(!_3c&&_3f.pagination){
var _44=$.data(_3b,"treegrid").total;
var _45=$(_3b).datagrid("getPager");
if(_45.pagination("options").total!=_44){
_45.pagination({total:_44});
}
}
_21(_3b);
_2a(_3b);
$(_3b).treegrid("autoSizeColumn");
};
function _20(_46,_47,_48,_49,_4a){
var _4b=$.data(_46,"treegrid").options;
var _4c=$(_46).datagrid("getPanel").find("div.datagrid-body");
if(_48){
_4b.queryParams=_48;
}
var _4d=$.extend({},_4b.queryParams);
if(_4b.pagination){
$.extend(_4d,{page:_4b.pageNumber,rows:_4b.pageSize});
}
if(_4b.sortName){
$.extend(_4d,{sort:_4b.sortName,order:_4b.sortOrder});
}
var row=_41(_46,_47);
if(_4b.onBeforeLoad.call(_46,row,_4d)==false){
return;
}
var _4e=_4c.find("tr[node-id="+_47+"] span.tree-folder");
_4e.addClass("tree-loading");
$(_46).treegrid("loading");
var _4f=_4b.loader.call(_46,_4d,function(_50){
_4e.removeClass("tree-loading");
$(_46).treegrid("loaded");
_3a(_46,_47,_50,_49);
if(_4a){
_4a();
}
},function(){
_4e.removeClass("tree-loading");
$(_46).treegrid("loaded");
_4b.onLoadError.apply(_46,arguments);
if(_4a){
_4a();
}
});
if(_4f==false){
_4e.removeClass("tree-loading");
$(_46).treegrid("loaded");
}
};
function _51(_52){
var _53=_54(_52);
if(_53.length){
return _53[0];
}else{
return null;
}
};
function _54(_55){
return $.data(_55,"treegrid").data;
};
function _56(_57,_58){
var row=_41(_57,_58);
if(row._parentId){
return _41(_57,row._parentId);
}else{
return null;
}
};
function _26(_59,_5a){
var _5b=$.data(_59,"treegrid").options;
var _5c=$(_59).datagrid("getPanel").find("div.datagrid-view2 div.datagrid-body");
var _5d=[];
if(_5a){
_5e(_5a);
}else{
var _5f=_54(_59);
for(var i=0;i<_5f.length;i++){
_5d.push(_5f[i]);
_5e(_5f[i][_5b.idField]);
}
}
function _5e(_60){
var _61=_41(_59,_60);
if(_61&&_61.children){
for(var i=0,len=_61.children.length;i<len;i++){
var _62=_61.children[i];
_5d.push(_62);
_5e(_62[_5b.idField]);
}
}
};
return _5d;
};
function _63(_64){
var _65=_66(_64);
if(_65.length){
return _65[0];
}else{
return null;
}
};
function _66(_67){
var _68=[];
var _69=$(_67).datagrid("getPanel");
_69.find("div.datagrid-view2 div.datagrid-body tr.datagrid-row-selected").each(function(){
var id=$(this).attr("node-id");
_68.push(_41(_67,id));
});
return _68;
};
function _6a(_6b,_6c){
if(!_6c){
return 0;
}
var _6d=$.data(_6b,"treegrid").options;
var _6e=$(_6b).datagrid("getPanel").children("div.datagrid-view");
var _6f=_6e.find("div.datagrid-body tr[node-id="+_6c+"]").children("td[field="+_6d.treeField+"]");
return _6f.find("span.tree-indent,span.tree-hit").length;
};
function _41(_70,_71){
var _72=$.data(_70,"treegrid").options;
var _73=$.data(_70,"treegrid").data;
var cc=[_73];
while(cc.length){
var c=cc.shift();
for(var i=0;i<c.length;i++){
var _74=c[i];
if(_74[_72.idField]==_71){
return _74;
}else{
if(_74["children"]){
cc.push(_74["children"]);
}
}
}
}
return null;
};
function _75(_76,_77){
var _78=$.data(_76,"treegrid").options;
var row=_41(_76,_77);
var tr=_78.finder.getTr(_76,_77);
var hit=tr.find("span.tree-hit");
if(hit.length==0){
return;
}
if(hit.hasClass("tree-collapsed")){
return;
}
if(_78.onBeforeCollapse.call(_76,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(_78.animate){
cc.slideUp("normal",function(){
$(_76).treegrid("autoSizeColumn");
_21(_76,_77);
_78.onCollapse.call(_76,row);
});
}else{
cc.hide();
$(_76).treegrid("autoSizeColumn");
_21(_76,_77);
_78.onCollapse.call(_76,row);
}
};
function _79(_7a,_7b){
var _7c=$.data(_7a,"treegrid").options;
var tr=_7c.finder.getTr(_7a,_7b);
var hit=tr.find("span.tree-hit");
var row=_41(_7a,_7b);
if(hit.length==0){
return;
}
if(hit.hasClass("tree-expanded")){
return;
}
if(_7c.onBeforeExpand.call(_7a,row)==false){
return;
}
hit.removeClass("tree-collapsed tree-collapsed-hover").addClass("tree-expanded");
hit.next().addClass("tree-folder-open");
var _7d=tr.next("tr.treegrid-tr-tree");
if(_7d.length){
var cc=_7d.children("td").children("div");
_7e(cc);
}else{
_32(_7a,row[_7c.idField]);
var _7d=tr.next("tr.treegrid-tr-tree");
var cc=_7d.children("td").children("div");
cc.hide();
_20(_7a,row[_7c.idField],{id:row[_7c.idField]},true,function(){
if(cc.is(":empty")){
_7d.remove();
}else{
_7e(cc);
}
});
}
function _7e(cc){
row.state="open";
if(_7c.animate){
cc.slideDown("normal",function(){
$(_7a).treegrid("autoSizeColumn");
_21(_7a,_7b);
_7c.onExpand.call(_7a,row);
});
}else{
cc.show();
$(_7a).treegrid("autoSizeColumn");
_21(_7a,_7b);
_7c.onExpand.call(_7a,row);
}
};
};
function _31(_7f,_80){
var _81=$.data(_7f,"treegrid").options;
var tr=_81.finder.getTr(_7f,_80);
var hit=tr.find("span.tree-hit");
if(hit.hasClass("tree-expanded")){
_75(_7f,_80);
}else{
_79(_7f,_80);
}
};
function _82(_83,_84){
var _85=$.data(_83,"treegrid").options;
var _86=_26(_83,_84);
if(_84){
_86.unshift(_41(_83,_84));
}
for(var i=0;i<_86.length;i++){
_75(_83,_86[i][_85.idField]);
}
};
function _87(_88,_89){
var _8a=$.data(_88,"treegrid").options;
var _8b=_26(_88,_89);
if(_89){
_8b.unshift(_41(_88,_89));
}
for(var i=0;i<_8b.length;i++){
_79(_88,_8b[i][_8a.idField]);
}
};
function _8c(_8d,_8e){
var _8f=$.data(_8d,"treegrid").options;
var ids=[];
var p=_56(_8d,_8e);
while(p){
var id=p[_8f.idField];
ids.unshift(id);
p=_56(_8d,id);
}
for(var i=0;i<ids.length;i++){
_79(_8d,ids[i]);
}
};
function _90(_91,_92){
var _93=$.data(_91,"treegrid").options;
if(_92.parent){
var tr=_93.finder.getTr(_91,_92.parent);
if(tr.next("tr.treegrid-tr-tree").length==0){
_32(_91,_92.parent);
}
var _94=tr.children("td[field="+_93.treeField+"]").children("div.datagrid-cell");
var _95=_94.children("span.tree-icon");
if(_95.hasClass("tree-file")){
_95.removeClass("tree-file").addClass("tree-folder");
var hit=$("<span class=\"tree-hit tree-expanded\"></span>").insertBefore(_95);
if(hit.prev().length){
hit.prev().remove();
}
}
}
_3a(_91,_92.parent,_92.data,true);
};
function _96(_97,_98){
var ref=_98.before||_98.after;
var _99=$.data(_97,"treegrid").options;
var _9a=_56(_97,ref);
_90(_97,{parent:(_9a?_9a[_99.idField]:null),data:[_98.data]});
_9b(true);
_9b(false);
_2a(_97);
function _9b(_9c){
var _9d=_9c?1:2;
var tr=_99.finder.getTr(_97,_98.data[_99.idField],"body",_9d);
var _9e=tr.closest("table.datagrid-btable");
tr=tr.parent().children();
var _9f=_99.finder.getTr(_97,ref,"body",_9d);
if(_98.before){
tr.insertBefore(_9f);
}else{
var sub=_9f.next("tr.treegrid-tr-tree");
tr.insertAfter(sub.length?sub:_9f);
}
_9e.remove();
};
};
function _a0(_a1,_a2){
var _a3=$.data(_a1,"treegrid").options;
var tr=_a3.finder.getTr(_a1,_a2);
tr.next("tr.treegrid-tr-tree").remove();
tr.remove();
var _a4=del(_a2);
if(_a4){
if(_a4.children.length==0){
tr=_a3.finder.getTr(_a1,_a4[_a3.idField]);
tr.next("tr.treegrid-tr-tree").remove();
var _a5=tr.children("td[field="+_a3.treeField+"]").children("div.datagrid-cell");
_a5.find(".tree-icon").removeClass("tree-folder").addClass("tree-file");
_a5.find(".tree-hit").remove();
$("<span class=\"tree-indent\"></span>").prependTo(_a5);
}
}
_2a(_a1);
function del(id){
var cc;
var _a6=_56(_a1,_a2);
if(_a6){
cc=_a6.children;
}else{
cc=$(_a1).treegrid("getData");
}
for(var i=0;i<cc.length;i++){
if(cc[i][_a3.idField]==id){
cc.splice(i,1);
break;
}
}
return _a6;
};
};
$.fn.treegrid=function(_a7,_a8){
if(typeof _a7=="string"){
var _a9=$.fn.treegrid.methods[_a7];
if(_a9){
return _a9(this,_a8);
}else{
return this.datagrid(_a7,_a8);
}
}
_a7=_a7||{};
return this.each(function(){
var _aa=$.data(this,"treegrid");
if(_aa){
$.extend(_aa.options,_a7);
}else{
_aa=$.data(this,"treegrid",{options:$.extend({},$.fn.treegrid.defaults,$.fn.treegrid.parseOptions(this),_a7),data:[]});
}
_5(this);
if(_aa.options.data){
$(this).treegrid("loadData",_aa.options.data);
}
_20(this);
_2d(this);
});
};
$.fn.treegrid.methods={options:function(jq){
return $.data(jq[0],"treegrid").options;
},resize:function(jq,_ab){
return jq.each(function(){
$(this).datagrid("resize",_ab);
});
},fixRowHeight:function(jq,_ac){
return jq.each(function(){
_21(this,_ac);
});
},loadData:function(jq,_ad){
return jq.each(function(){
_3a(this,null,_ad);
});
},reload:function(jq,id){
return jq.each(function(){
if(id){
var _ae=$(this).treegrid("find",id);
if(_ae.children){
_ae.children.splice(0,_ae.children.length);
}
var _af=$(this).datagrid("getPanel").find("div.datagrid-body");
var tr=_af.find("tr[node-id="+id+"]");
tr.next("tr.treegrid-tr-tree").remove();
var hit=tr.find("span.tree-hit");
hit.removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed");
_79(this,id);
}else{
_20(this,null,{});
}
});
},reloadFooter:function(jq,_b0){
return jq.each(function(){
var _b1=$.data(this,"treegrid").options;
var dc=$.data(this,"datagrid").dc;
if(_b0){
$.data(this,"treegrid").footer=_b0;
}
if(_b1.showFooter){
_b1.view.renderFooter.call(_b1.view,this,dc.footer1,true);
_b1.view.renderFooter.call(_b1.view,this,dc.footer2,false);
if(_b1.view.onAfterRender){
_b1.view.onAfterRender.call(_b1.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 _51(jq[0]);
},getRoots:function(jq){
return _54(jq[0]);
},getParent:function(jq,id){
return _56(jq[0],id);
},getChildren:function(jq,id){
return _26(jq[0],id);
},getSelected:function(jq){
return _63(jq[0]);
},getSelections:function(jq){
return _66(jq[0]);
},getLevel:function(jq,id){
return _6a(jq[0],id);
},find:function(jq,id){
return _41(jq[0],id);
},isLeaf:function(jq,id){
var _b2=$.data(jq[0],"treegrid").options;
var tr=_b2.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(){
_75(this,id);
});
},expand:function(jq,id){
return jq.each(function(){
_79(this,id);
});
},toggle:function(jq,id){
return jq.each(function(){
_31(this,id);
});
},collapseAll:function(jq,id){
return jq.each(function(){
_82(this,id);
});
},expandAll:function(jq,id){
return jq.each(function(){
_87(this,id);
});
},expandTo:function(jq,id){
return jq.each(function(){
_8c(this,id);
});
},append:function(jq,_b3){
return jq.each(function(){
_90(this,_b3);
});
},insert:function(jq,_b4){
return jq.each(function(){
_96(this,_b4);
});
},remove:function(jq,id){
return jq.each(function(){
_a0(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 _b5=$.data(this,"treegrid").options;
_b5.view.refreshRow.call(_b5.view,this,id);
});
},update:function(jq,_b6){
return jq.each(function(){
var _b7=$.data(this,"treegrid").options;
_b7.view.updateRow.call(_b7.view,this,_b6.id,_b6.row);
});
},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);
});
}};
$.fn.treegrid.parseOptions=function(_b8){
return $.extend({},$.fn.datagrid.parseOptions(_b8),$.parser.parseOptions(_b8,["treeField",{animate:"boolean"}]));
};
var _b9=$.extend({},$.fn.datagrid.defaults.view,{render:function(_ba,_bb,_bc){
var _bd=$.data(_ba,"treegrid").options;
var _be=$(_ba).datagrid("getColumnFields",_bc);
var _bf=$.data(_ba,"datagrid").rowIdPrefix;
if(_bc){
if(!(_bd.rownumbers||(_bd.frozenColumns&&_bd.frozenColumns.length))){
return;
}
}
var _c0=this;
var _c1=_c2(_bc,this.treeLevel,this.treeNodes);
$(_bb).append(_c1.join(""));
function _c2(_c3,_c4,_c5){
var _c6=["<table class=\"datagrid-btable\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tbody>"];
for(var i=0;i<_c5.length;i++){
var row=_c5[i];
if(row.state!="open"&&row.state!="closed"){
row.state="open";
}
var _c7=_bd.rowStyler?_bd.rowStyler.call(_ba,row):"";
var _c8=_c7?"style=\""+_c7+"\"":"";
var _c9=_bf+"-"+(_c3?1:2)+"-"+row[_bd.idField];
_c6.push("<tr id=\""+_c9+"\" class=\"datagrid-row\" node-id="+row[_bd.idField]+" "+_c8+">");
_c6=_c6.concat(_c0.renderRow.call(_c0,_ba,_be,_c3,_c4,row));
_c6.push("</tr>");
if(row.children&&row.children.length){
var tt=_c2(_c3,_c4+1,row.children);
var v=row.state=="closed"?"none":"block";
_c6.push("<tr class=\"treegrid-tr-tree\"><td style=\"border:0px\" colspan="+(_be.length+(_bd.rownumbers?1:0))+"><div style=\"display:"+v+"\">");
_c6=_c6.concat(tt);
_c6.push("</div></td></tr>");
}
}
_c6.push("</tbody></table>");
return _c6;
};
},renderFooter:function(_ca,_cb,_cc){
var _cd=$.data(_ca,"treegrid").options;
var _ce=$.data(_ca,"treegrid").footer||[];
var _cf=$(_ca).datagrid("getColumnFields",_cc);
var _d0=["<table class=\"datagrid-ftable\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tbody>"];
for(var i=0;i<_ce.length;i++){
var row=_ce[i];
row[_cd.idField]=row[_cd.idField]||("foot-row-id"+i);
_d0.push("<tr class=\"datagrid-row\" node-id="+row[_cd.idField]+">");
_d0.push(this.renderRow.call(this,_ca,_cf,_cc,0,row));
_d0.push("</tr>");
}
_d0.push("</tbody></table>");
$(_cb).html(_d0.join(""));
},renderRow:function(_d1,_d2,_d3,_d4,row){
var _d5=$.data(_d1,"treegrid").options;
var cc=[];
if(_d3&&_d5.rownumbers){
cc.push("<td class=\"datagrid-td-rownumber\"><div class=\"datagrid-cell-rownumber\">0</div></td>");
}
for(var i=0;i<_d2.length;i++){
var _d6=_d2[i];
var col=$(_d1).datagrid("getColumnOption",_d6);
if(col){
var _d7=col.styler?(col.styler(row[_d6],row)||""):"";
var _d8=col.hidden?"style=\"display:none;"+_d7+"\"":(_d7?"style=\""+_d7+"\"":"");
cc.push("<td field=\""+_d6+"\" "+_d8+">");
if(col.checkbox){
var _d8="";
}else{
var _d8="";
if(col.align){
_d8+="text-align:"+col.align+";";
}
if(!_d5.nowrap){
_d8+="white-space:normal;height:auto;";
}else{
if(_d5.autoRowHeight){
_d8+="height:auto;";
}
}
}
cc.push("<div style=\""+_d8+"\" ");
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=\""+_d6+"\" value=\""+(row[_d6]!=undefined?row[_d6]:"")+"\"/>");
}else{
var val=null;
if(col.formatter){
val=col.formatter(row[_d6],row);
}else{
val=row[_d6];
}
if(_d6==_d5.treeField){
for(var j=0;j<_d4;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>");
}
}
cc.push("<span class=\"tree-title\">"+val+"</span>");
}else{
cc.push(val);
}
}
cc.push("</div>");
cc.push("</td>");
}
}
return cc.join("");
},refreshRow:function(_d9,id){
this.updateRow.call(this,_d9,id,{});
},updateRow:function(_da,id,row){
var _db=$.data(_da,"treegrid").options;
var _dc=$(_da).treegrid("find",id);
$.extend(_dc,row);
var _dd=$(_da).treegrid("getLevel",id)-1;
var _de=_db.rowStyler?_db.rowStyler.call(_da,_dc):"";
function _df(_e0){
var _e1=$(_da).treegrid("getColumnFields",_e0);
var tr=_db.finder.getTr(_da,id,"body",(_e0?1:2));
var _e2=tr.find("div.datagrid-cell-rownumber").html();
var _e3=tr.find("div.datagrid-cell-check input[type=checkbox]").is(":checked");
tr.html(this.renderRow(_da,_e1,_e0,_dd,_dc));
tr.attr("style",_de||"");
tr.find("div.datagrid-cell-rownumber").html(_e2);
if(_e3){
tr.find("div.datagrid-cell-check input[type=checkbox]")._propAttr("checked",true);
}
};
_df.call(this,true);
_df.call(this,false);
$(_da).treegrid("fixRowHeight",id);
},onBeforeRender:function(_e4,_e5,_e6){
if(!_e6){
return false;
}
var _e7=$.data(_e4,"treegrid").options;
if(_e6.length==undefined){
if(_e6.footer){
$.data(_e4,"treegrid").footer=_e6.footer;
}
if(_e6.total){
$.data(_e4,"treegrid").total=_e6.total;
}
_e6=this.transfer(_e4,_e5,_e6.rows);
}else{
function _e8(_e9,_ea){
for(var i=0;i<_e9.length;i++){
var row=_e9[i];
row._parentId=_ea;
if(row.children&&row.children.length){
_e8(row.children,row[_e7.idField]);
}
}
};
_e8(_e6,_e5);
}
var _eb=_41(_e4,_e5);
if(_eb){
if(_eb.children){
_eb.children=_eb.children.concat(_e6);
}else{
_eb.children=_e6;
}
}else{
$.data(_e4,"treegrid").data=$.data(_e4,"treegrid").data.concat(_e6);
}
if(!_e7.remoteSort){
this.sort(_e4,_e6);
}
this.treeNodes=_e6;
this.treeLevel=$(_e4).treegrid("getLevel",_e5);
},sort:function(_ec,_ed){
var _ee=$.data(_ec,"treegrid").options;
var opt=$(_ec).treegrid("getColumnOption",_ee.sortName);
if(opt){
var _ef=opt.sorter||function(a,b){
return (a>b?1:-1);
};
_f0(_ed);
}
function _f0(_f1){
_f1.sort(function(r1,r2){
return _ef(r1[_ee.sortName],r2[_ee.sortName])*(_ee.sortOrder=="asc"?1:-1);
});
for(var i=0;i<_f1.length;i++){
var _f2=_f1[i].children;
if(_f2&&_f2.length){
_f0(_f2);
}
}
};
},transfer:function(_f3,_f4,_f5){
var _f6=$.data(_f3,"treegrid").options;
var _f7=[];
for(var i=0;i<_f5.length;i++){
_f7.push(_f5[i]);
}
var _f8=[];
for(var i=0;i<_f7.length;i++){
var row=_f7[i];
if(!_f4){
if(!row._parentId){
_f8.push(row);
_3(_f7,row);
i--;
}
}else{
if(row._parentId==_f4){
_f8.push(row);
_3(_f7,row);
i--;
}
}
}
var _f9=[];
for(var i=0;i<_f8.length;i++){
_f9.push(_f8[i]);
}
while(_f9.length){
var _fa=_f9.shift();
for(var i=0;i<_f7.length;i++){
var row=_f7[i];
if(row._parentId==_fa[_f6.idField]){
if(_fa.children){
_fa.children.push(row);
}else{
_fa.children=[row];
}
_f9.push(row);
_3(_f7,row);
i--;
}
}
}
return _f8;
}});
$.fn.treegrid.defaults=$.extend({},$.fn.datagrid.defaults,{treeField:null,animate:false,singleSelect:true,view:_b9,loader:function(_fb,_fc,_fd){
var _fe=$(this).treegrid("options");
if(!_fe.url){
return false;
}
$.ajax({type:_fe.method,url:_fe.url,data:_fb,dataType:"json",success:function(_ff){
_fc(_ff);
},error:function(){
_fd.apply(this,arguments);
}});
},loadFilter:function(data,_100){
return data;
},finder:{getTr:function(_101,id,type,_102){
type=type||"body";
_102=_102||0;
var dc=$.data(_101,"datagrid").dc;
if(_102==0){
var opts=$.data(_101,"treegrid").options;
var tr1=opts.finder.getTr(_101,id,type,1);
var tr2=opts.finder.getTr(_101,id,type,2);
return tr1.add(tr2);
}else{
if(type=="body"){
var tr=$("#"+$.data(_101,"datagrid").rowIdPrefix+"-"+_102+"-"+id);
if(!tr.length){
tr=(_102==1?dc.body1:dc.body2).find("tr[node-id="+id+"]");
}
return tr;
}else{
if(type=="footer"){
return (_102==1?dc.footer1:dc.footer2).find("tr[node-id="+id+"]");
}else{
if(type=="selected"){
return (_102==1?dc.body1:dc.body2).find("tr.datagrid-row-selected");
}else{
if(type=="last"){
return (_102==1?dc.body1:dc.body2).find("tr:last[node-id]");
}else{
if(type=="allbody"){
return (_102==1?dc.body1:dc.body2).find("tr[node-id]");
}else{
if(type=="allfooter"){
return (_102==1?dc.footer1:dc.footer2).find("tr[node-id]");
}
}
}
}
}
}
}
},getRow:function(_103,p){
var id=(typeof p=="object")?p.attr("node-id"):p;
return $(_103).treegrid("find",id);
}},onBeforeLoad:function(row,_104){
},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(_105,row){
},onDblClickCell:function(_106,row){
},onContextMenu:function(e,row){
},onBeforeEdit:function(row){
},onAfterEdit:function(row,_107){
},onCancelEdit:function(row){
}});
})(jQuery);