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