/** * jQuery EasyUI 1.4.1 * * 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){ _26(_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){ _25(_2); }else{ var _b=$(_2).treegrid("getData"); _3f(_2,0,_b); } _4.onSortColumn.call(_2,_9,_a); },onBeforeEdit:function(_c,_d){ if(_4.onBeforeEdit.call(_2,_d)==false){ return false; } },onAfterEdit:function(_e,_f,_10){ _4.onAfterEdit.call(_2,_f,_10); },onCancelEdit:function(_11,row){ _4.onCancelEdit.call(_2,row); },onBeforeSelect:function(_12){ if(_4.onBeforeSelect.call(_2,_47(_2,_12))==false){ return false; } },onSelect:function(_13){ _4.onSelect.call(_2,_47(_2,_13)); },onBeforeUnselect:function(_14){ if(_4.onBeforeUnselect.call(_2,_47(_2,_14))==false){ return false; } },onUnselect:function(_15){ _4.onUnselect.call(_2,_47(_2,_15)); },onBeforeCheck:function(_16){ if(_4.onBeforeCheck.call(_2,_47(_2,_16))==false){ return false; } },onCheck:function(_17){ _4.onCheck.call(_2,_47(_2,_17)); },onBeforeUncheck:function(_18){ if(_4.onBeforeUncheck.call(_2,_47(_2,_18))==false){ return false; } },onUncheck:function(_19){ _4.onUncheck.call(_2,_47(_2,_19)); },onClickRow:function(_1a){ _4.onClickRow.call(_2,_47(_2,_1a)); },onDblClickRow:function(_1b){ _4.onDblClickRow.call(_2,_47(_2,_1b)); },onClickCell:function(_1c,_1d){ _4.onClickCell.call(_2,_1d,_47(_2,_1c)); },onDblClickCell:function(_1e,_1f){ _4.onDblClickCell.call(_2,_1f,_47(_2,_1e)); },onRowContextMenu:function(e,_20){ _4.onContextMenu.call(_2,e,_47(_2,_20)); }})); if(!_4.columns){ var _21=$.data(_2,"datagrid").options; _4.columns=_21.columns; _4.frozenColumns=_21.frozenColumns; } _3.dc=$.data(_2,"datagrid").dc; if(_4.pagination){ var _22=$(_2).datagrid("getPager"); _22.pagination({pageNumber:_4.pageNumber,pageSize:_4.pageSize,pageList:_4.pageList,onSelectPage:function(_23,_24){ _4.pageNumber=_23; _4.pageSize=_24; _25(_2); }}); _4.pageSize=_22.pagination("options").pageSize; } }; function _26(_27,_28){ var _29=$.data(_27,"datagrid").options; var dc=$.data(_27,"datagrid").dc; if(!dc.body1.is(":empty")&&(!_29.nowrap||_29.autoRowHeight)){ if(_28!=undefined){ var _2a=_2b(_27,_28); for(var i=0;i<_2a.length;i++){ _2c(_2a[i][_29.idField]); } } } $(_27).datagrid("fixRowHeight",_28); function _2c(_2d){ var tr1=_29.finder.getTr(_27,_2d,"body",1); var tr2=_29.finder.getTr(_27,_2d,"body",2); tr1.css("height",""); tr2.css("height",""); var _2e=Math.max(tr1.height(),tr2.height()); tr1.css("height",_2e); tr2.css("height",_2e); }; }; function _2f(_30){ var dc=$.data(_30,"datagrid").dc; var _31=$.data(_30,"treegrid").options; if(!_31.rownumbers){ return; } dc.body1.find("div.datagrid-cell-rownumber").each(function(i){ $(this).html(i+1); }); }; function _32(_33){ return function(e){ $.fn.datagrid.defaults.rowEvents[_33?"mouseover":"mouseout"](e); var tt=$(e.target); var fn=_33?"addClass":"removeClass"; if(tt.hasClass("tree-hit")){ tt.hasClass("tree-expanded")?tt[fn]("tree-expanded-hover"):tt[fn]("tree-collapsed-hover"); } }; }; function _34(e){ var tt=$(e.target); if(tt.hasClass("tree-hit")){ var tr=tt.closest("tr.datagrid-row"); var _35=tr.closest("div.datagrid-view").children(".datagrid-f")[0]; _36(_35,tr.attr("node-id")); }else{ $.fn.datagrid.defaults.rowEvents.click(e); } }; function _37(_38,_39){ var _3a=$.data(_38,"treegrid").options; var tr1=_3a.finder.getTr(_38,_39,"body",1); var tr2=_3a.finder.getTr(_38,_39,"body",2); var _3b=$(_38).datagrid("getColumnFields",true).length+(_3a.rownumbers?1:0); var _3c=$(_38).datagrid("getColumnFields",false).length; _3d(tr1,_3b); _3d(tr2,_3c); function _3d(tr,_3e){ $(""+""+"
"+""+"").insertAfter(tr); }; }; function _3f(_40,_41,_42,_43){ var _44=$.data(_40,"treegrid"); var _45=_44.options; var dc=_44.dc; _42=_45.loadFilter.call(_40,_42,_41); var _46=_47(_40,_41); if(_46){ var _48=_45.finder.getTr(_40,_41,"body",1); var _49=_45.finder.getTr(_40,_41,"body",2); var cc1=_48.next("tr.treegrid-tr-tree").children("td").children("div"); var cc2=_49.next("tr.treegrid-tr-tree").children("td").children("div"); if(!_43){ _46.children=[]; } }else{ var cc1=dc.body1; var cc2=dc.body2; if(!_43){ _44.data=[]; } } if(!_43){ cc1.empty(); cc2.empty(); } if(_45.view.onBeforeRender){ _45.view.onBeforeRender.call(_45.view,_40,_41,_42); } _45.view.render.call(_45.view,_40,cc1,true); _45.view.render.call(_45.view,_40,cc2,false); if(_45.showFooter){ _45.view.renderFooter.call(_45.view,_40,dc.footer1,true); _45.view.renderFooter.call(_45.view,_40,dc.footer2,false); } if(_45.view.onAfterRender){ _45.view.onAfterRender.call(_45.view,_40); } if(!_41&&_45.pagination){ var _4a=$.data(_40,"treegrid").total; var _4b=$(_40).datagrid("getPager"); if(_4b.pagination("options").total!=_4a){ _4b.pagination({total:_4a}); } } _26(_40); _2f(_40); $(_40).treegrid("showLines"); $(_40).treegrid("setSelectionState"); $(_40).treegrid("autoSizeColumn"); _45.onLoadSuccess.call(_40,_46,_42); }; function _25(_4c,_4d,_4e,_4f,_50){ var _51=$.data(_4c,"treegrid").options; var _52=$(_4c).datagrid("getPanel").find("div.datagrid-body"); if(_4e){ _51.queryParams=_4e; } var _53=$.extend({},_51.queryParams); if(_51.pagination){ $.extend(_53,{page:_51.pageNumber,rows:_51.pageSize}); } if(_51.sortName){ $.extend(_53,{sort:_51.sortName,order:_51.sortOrder}); } var row=_47(_4c,_4d); if(_51.onBeforeLoad.call(_4c,row,_53)==false){ return; } var _54=_52.find("tr[node-id=\""+_4d+"\"] span.tree-folder"); _54.addClass("tree-loading"); $(_4c).treegrid("loading"); var _55=_51.loader.call(_4c,_53,function(_56){ _54.removeClass("tree-loading"); $(_4c).treegrid("loaded"); _3f(_4c,_4d,_56,_4f); if(_50){ _50(); } },function(){ _54.removeClass("tree-loading"); $(_4c).treegrid("loaded"); _51.onLoadError.apply(_4c,arguments); if(_50){ _50(); } }); if(_55==false){ _54.removeClass("tree-loading"); $(_4c).treegrid("loaded"); } }; function _57(_58){ var _59=_5a(_58); if(_59.length){ return _59[0]; }else{ return null; } }; function _5a(_5b){ return $.data(_5b,"treegrid").data; }; function _5c(_5d,_5e){ var row=_47(_5d,_5e); if(row._parentId){ return _47(_5d,row._parentId); }else{ return null; } }; function _2b(_5f,_60){ var _61=$.data(_5f,"treegrid").options; var _62=$(_5f).datagrid("getPanel").find("div.datagrid-view2 div.datagrid-body"); var _63=[]; if(_60){ _64(_60); }else{ var _65=_5a(_5f); for(var i=0;i<_65.length;i++){ _63.push(_65[i]); _64(_65[i][_61.idField]); } } function _64(_66){ var _67=_47(_5f,_66); if(_67&&_67.children){ for(var i=0,len=_67.children.length;i").insertBefore(_95); if(hit.prev().length){ hit.prev().remove(); } } } _3f(_91,_92.parent,_92.data,true); }; function _96(_97,_98){ var ref=_98.before||_98.after; var _99=$.data(_97,"treegrid").options; var _9a=_5c(_97,ref); _90(_97,{parent:(_9a?_9a[_99.idField]:null),data:[_98.data]}); var _9b=_9a?_9a.children:$(_97).treegrid("getRoots"); for(var i=0;i<_9b.length;i++){ if(_9b[i][_99.idField]==ref){ var _9c=_9b[_9b.length-1]; _9b.splice(_98.before?i:(i+1),0,_9c); _9b.splice(_9b.length-1,1); break; } } _9d(true); _9d(false); _2f(_97); $(_97).treegrid("showLines"); function _9d(_9e){ var _9f=_9e?1:2; var tr=_99.finder.getTr(_97,_98.data[_99.idField],"body",_9f); var _a0=tr.closest("table.datagrid-btable"); tr=tr.parent().children(); var _a1=_99.finder.getTr(_97,ref,"body",_9f); if(_98.before){ tr.insertBefore(_a1); }else{ var sub=_a1.next("tr.treegrid-tr-tree"); tr.insertAfter(sub.length?sub:_a1); } _a0.remove(); }; }; function _a2(_a3,_a4){ var _a5=$.data(_a3,"treegrid"); $(_a3).datagrid("deleteRow",_a4); _2f(_a3); _a5.total-=1; $(_a3).datagrid("getPager").pagination("refresh",{total:_a5.total}); $(_a3).treegrid("showLines"); }; function _a6(_a7){ var t=$(_a7); var _a8=t.treegrid("options"); if(_a8.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 _a9=t.treegrid("getRoots"); if(_a9.length>1){ _aa(_a9[0]).addClass("tree-root-first"); }else{ if(_a9.length==1){ _aa(_a9[0]).addClass("tree-root-one"); } } _ab(_a9); _ac(_a9); function _ab(_ad){ $.map(_ad,function(_ae){ if(_ae.children&&_ae.children.length){ _ab(_ae.children); }else{ var _af=_aa(_ae); _af.find(".tree-icon").prev().addClass("tree-join"); } }); if(_ad.length){ var _b0=_aa(_ad[_ad.length-1]); _b0.addClass("tree-node-last"); _b0.find(".tree-join").removeClass("tree-join").addClass("tree-joinbottom"); } }; function _ac(_b1){ $.map(_b1,function(_b2){ if(_b2.children&&_b2.children.length){ _ac(_b2.children); } }); for(var i=0;i<_b1.length-1;i++){ var _b3=_b1[i]; var _b4=t.treegrid("getLevel",_b3[_a8.idField]); var tr=_a8.finder.getTr(_a7,_b3[_a8.idField]); var cc=tr.next().find("tr.datagrid-row td[field=\""+_a8.treeField+"\"] div.datagrid-cell"); cc.find("span:eq("+(_b4-1)+")").addClass("tree-line"); } }; function _aa(_b5){ var tr=_a8.finder.getTr(_a7,_b5[_a8.idField]); var _b6=tr.find("td[field=\""+_a8.treeField+"\"] div.datagrid-cell"); return _b6; }; }; $.fn.treegrid=function(_b7,_b8){ if(typeof _b7=="string"){ var _b9=$.fn.treegrid.methods[_b7]; if(_b9){ return _b9(this,_b8); }else{ return this.datagrid(_b7,_b8); } } _b7=_b7||{}; return this.each(function(){ var _ba=$.data(this,"treegrid"); if(_ba){ $.extend(_ba.options,_b7); }else{ _ba=$.data(this,"treegrid",{options:$.extend({},$.fn.treegrid.defaults,$.fn.treegrid.parseOptions(this),_b7),data:[]}); } _1(this); if(_ba.options.data){ $(this).treegrid("loadData",_ba.options.data); } _25(this); }); }; $.fn.treegrid.methods={options:function(jq){ return $.data(jq[0],"treegrid").options; },resize:function(jq,_bb){ return jq.each(function(){ $(this).datagrid("resize",_bb); }); },fixRowHeight:function(jq,_bc){ return jq.each(function(){ _26(this,_bc); }); },loadData:function(jq,_bd){ return jq.each(function(){ _3f(this,_bd.parent,_bd); }); },load:function(jq,_be){ return jq.each(function(){ $(this).treegrid("options").pageNumber=1; $(this).treegrid("getPager").pagination({pageNumber:1}); $(this).treegrid("reload",_be); }); },reload:function(jq,id){ return jq.each(function(){ var _bf=$(this).treegrid("options"); var _c0={}; if(typeof id=="object"){ _c0=id; }else{ _c0=$.extend({},_bf.queryParams); _c0.id=id; } if(_c0.id){ var _c1=$(this).treegrid("find",_c0.id); if(_c1.children){ _c1.children.splice(0,_c1.children.length); } _bf.queryParams=_c0; var tr=_bf.finder.getTr(this,_c0.id); tr.next("tr.treegrid-tr-tree").remove(); tr.find("span.tree-hit").removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed"); _78(this,_c0.id); }else{ _25(this,null,_c0); } }); },reloadFooter:function(jq,_c2){ return jq.each(function(){ var _c3=$.data(this,"treegrid").options; var dc=$.data(this,"datagrid").dc; if(_c2){ $.data(this,"treegrid").footer=_c2; } if(_c3.showFooter){ _c3.view.renderFooter.call(_c3.view,this,dc.footer1,true); _c3.view.renderFooter.call(_c3.view,this,dc.footer2,false); if(_c3.view.onAfterRender){ _c3.view.onAfterRender.call(_c3.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 _57(jq[0]); },getRoots:function(jq){ return _5a(jq[0]); },getParent:function(jq,id){ return _5c(jq[0],id); },getChildren:function(jq,id){ return _2b(jq[0],id); },getLevel:function(jq,id){ return _69(jq[0],id); },find:function(jq,id){ return _47(jq[0],id); },isLeaf:function(jq,id){ var _c4=$.data(jq[0],"treegrid").options; var tr=_c4.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(){ _74(this,id); }); },expand:function(jq,id){ return jq.each(function(){ _78(this,id); }); },toggle:function(jq,id){ return jq.each(function(){ _36(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,_c5){ return jq.each(function(){ _90(this,_c5); }); },insert:function(jq,_c6){ return jq.each(function(){ _96(this,_c6); }); },remove:function(jq,id){ return jq.each(function(){ _a2(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 _c7=$.data(this,"treegrid").options; _c7.view.refreshRow.call(_c7.view,this,id); }); },update:function(jq,_c8){ return jq.each(function(){ var _c9=$.data(this,"treegrid").options; _c9.view.updateRow.call(_c9.view,this,_c8.id,_c8.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); }); },showLines:function(jq){ return jq.each(function(){ _a6(this); }); }}; $.fn.treegrid.parseOptions=function(_ca){ return $.extend({},$.fn.datagrid.parseOptions(_ca),$.parser.parseOptions(_ca,["treeField",{animate:"boolean"}])); }; var _cb=$.extend({},$.fn.datagrid.defaults.view,{render:function(_cc,_cd,_ce){ var _cf=$.data(_cc,"treegrid").options; var _d0=$(_cc).datagrid("getColumnFields",_ce); var _d1=$.data(_cc,"datagrid").rowIdPrefix; if(_ce){ if(!(_cf.rownumbers||(_cf.frozenColumns&&_cf.frozenColumns.length))){ return; } } var _d2=this; if(this.treeNodes&&this.treeNodes.length){ var _d3=_d4(_ce,this.treeLevel,this.treeNodes); $(_cd).append(_d3.join("")); } function _d4(_d5,_d6,_d7){ var _d8=$(_cc).treegrid("getParent",_d7[0][_cf.idField]); var _d9=(_d8?_d8.children.length:$(_cc).treegrid("getRoots").length)-_d7.length; var _da=[""]; for(var i=0;i<_d7.length;i++){ var row=_d7[i]; if(row.state!="open"&&row.state!="closed"){ row.state="open"; } var css=_cf.rowStyler?_cf.rowStyler.call(_cc,row):""; var _db=""; var _dc=""; if(typeof css=="string"){ _dc=css; }else{ if(css){ _db=css["class"]||""; _dc=css["style"]||""; } } var cls="class=\"datagrid-row "+(_d9++%2&&_cf.striped?"datagrid-row-alt ":" ")+_db+"\""; var _dd=_dc?"style=\""+_dc+"\"":""; var _de=_d1+"-"+(_d5?1:2)+"-"+row[_cf.idField]; _da.push(""); _da=_da.concat(_d2.renderRow.call(_d2,_cc,_d0,_d5,_d6,row)); _da.push(""); if(row.children&&row.children.length){ var tt=_d4(_d5,_d6+1,row.children); var v=row.state=="closed"?"none":"block"; _da.push(""); } } _da.push("
"); _da=_da.concat(tt); _da.push("
"); return _da; }; },renderFooter:function(_df,_e0,_e1){ var _e2=$.data(_df,"treegrid").options; var _e3=$.data(_df,"treegrid").footer||[]; var _e4=$(_df).datagrid("getColumnFields",_e1); var _e5=[""]; for(var i=0;i<_e3.length;i++){ var row=_e3[i]; row[_e2.idField]=row[_e2.idField]||("foot-row-id"+i); _e5.push(""); _e5.push(this.renderRow.call(this,_df,_e4,_e1,0,row)); _e5.push(""); } _e5.push("
"); $(_e0).html(_e5.join("")); },renderRow:function(_e6,_e7,_e8,_e9,row){ var _ea=$.data(_e6,"treegrid").options; var cc=[]; if(_e8&&_ea.rownumbers){ cc.push("
0
"); } for(var i=0;i<_e7.length;i++){ var _eb=_e7[i]; var col=$(_e6).datagrid("getColumnOption",_eb); if(col){ var css=col.styler?(col.styler(row[_eb],row)||""):""; var _ec=""; var _ed=""; if(typeof css=="string"){ _ed=css; }else{ if(cc){ _ec=css["class"]||""; _ed=css["style"]||""; } } var cls=_ec?"class=\""+_ec+"\"":""; var _ee=col.hidden?"style=\"display:none;"+_ed+"\"":(_ed?"style=\""+_ed+"\"":""); cc.push(""); var _ee=""; if(!col.checkbox){ if(col.align){ _ee+="text-align:"+col.align+";"; } if(!_ea.nowrap){ _ee+="white-space:normal;height:auto;"; }else{ if(_ea.autoRowHeight){ _ee+="height:auto;"; } } } cc.push("
"); if(col.checkbox){ if(row.checked){ cc.push(""); }else{ var val=null; if(col.formatter){ val=col.formatter(row[_eb],row); }else{ val=row[_eb]; } if(_eb==_ea.treeField){ for(var j=0;j<_e9;j++){ cc.push(""); } if(row.state=="closed"){ cc.push(""); cc.push(""); }else{ if(row.children&&row.children.length){ cc.push(""); cc.push(""); }else{ cc.push(""); cc.push(""); } } cc.push(""+val+""); }else{ cc.push(val); } } cc.push("
"); cc.push(""); } } return cc.join(""); },refreshRow:function(_ef,id){ this.updateRow.call(this,_ef,id,{}); },updateRow:function(_f0,id,row){ var _f1=$.data(_f0,"treegrid").options; var _f2=$(_f0).treegrid("find",id); $.extend(_f2,row); var _f3=$(_f0).treegrid("getLevel",id)-1; var _f4=_f1.rowStyler?_f1.rowStyler.call(_f0,_f2):""; var _f5=$.data(_f0,"datagrid").rowIdPrefix; var _f6=_f2[_f1.idField]; function _f7(_f8){ var _f9=$(_f0).treegrid("getColumnFields",_f8); var tr=_f1.finder.getTr(_f0,id,"body",(_f8?1:2)); var _fa=tr.find("div.datagrid-cell-rownumber").html(); var _fb=tr.find("div.datagrid-cell-check input[type=checkbox]").is(":checked"); tr.html(this.renderRow(_f0,_f9,_f8,_f3,_f2)); tr.attr("style",_f4||""); tr.find("div.datagrid-cell-rownumber").html(_fa); if(_fb){ tr.find("div.datagrid-cell-check input[type=checkbox]")._propAttr("checked",true); } if(_f6!=id){ tr.attr("id",_f5+"-"+(_f8?1:2)+"-"+_f6); tr.attr("node-id",_f6); } }; _f7.call(this,true); _f7.call(this,false); $(_f0).treegrid("fixRowHeight",id); },deleteRow:function(_fc,id){ var _fd=$.data(_fc,"treegrid").options; var tr=_fd.finder.getTr(_fc,id); tr.next("tr.treegrid-tr-tree").remove(); tr.remove(); var _fe=del(id); if(_fe){ if(_fe.children.length==0){ tr=_fd.finder.getTr(_fc,_fe[_fd.idField]); tr.next("tr.treegrid-tr-tree").remove(); var _ff=tr.children("td[field=\""+_fd.treeField+"\"]").children("div.datagrid-cell"); _ff.find(".tree-icon").removeClass("tree-folder").addClass("tree-file"); _ff.find(".tree-hit").remove(); $("").prependTo(_ff); } } function del(id){ var cc; var _100=$(_fc).treegrid("getParent",id); if(_100){ cc=_100.children; }else{ cc=$(_fc).treegrid("getData"); } for(var i=0;ib?1:-1); }; r=_10b(r1[sn],r2[sn])*(so=="asc"?1:-1); if(r!=0){ return r; } } return r; }); for(var i=0;i