📄 tree.js
字号:
zk.load("zul.sel");if(!window.Tree_paging){window.Tree_paging=function(_1,_2,_3,_4,_5){var _6="";if(_5){_6+=zkTrow._genimg("dn","zkTrow._onpg(1");var v=_2-_3;if(v>2){_6+=zkTrow._genimg(v>3?"dn2":"btm","zkTrow._onpg(2");if(v>3){_6+=zkTrow._genimg("btm","zkTrow._onpg(9");}}}else{_6+=zkTrow._genimg("up","zkTrow._onpg(-1");if(_3>1){_6+=zkTrow._genimg(_3>2?"up2":"top","zkTrow._onpg(-2");if(_3>2){_6+=zkTrow._genimg("top","zkTrow._onpg(-9");}}}_6+="<img src=\""+zk.getUpdateURI("/web/zul/img/tree/spacer.gif")+"\" width=\"15\" height=\"1\"/>";if(_4<50){_6+=zkTrow._genimg("zoomin","zkTrow._onzoom(10");}if(_4>10){_6+=zkTrow._genimg("zoomout","zkTrow._onzoom(-10");}return _6;};}function zkTreeNewClass(){if(zk.Tree){return;}zk.Tree=Class.create();Object.extend(Object.extend(zk.Tree.prototype,zk.Selectable.prototype),{getItemUuid:function(_8){return getZKAttr(_8,"pitem");},_rowType:function(){return "Trow";},_doLeft:function(_9){if(zkTree.isOpen(_9)){this._openItem(_9,null,false);}},_doRight:function(_a){if(!zkTree.isOpen(_a)){this._openItem(_a,null,true);}},toggleOpen:function(_b,_c){var _d=zk.parentNode(_c,"TR");if(!_d){return;}var _e=!zkTree.isOpen(_d);this._openItem(_d,_c,_e);var el=$e(_d.id+"!sel");if(!el){el=$e(el+"!cm");}if(el){zk.asyncFocus(el.id);}Event.stop(_b);},_openItem:function(row,img,_12){if(!img){img=$e(row.id+"!open");if(!img){return;}}img.className=zk.renType(img.className,_12?"open":"close");setZKAttr(row,"open",_12?"true":"false");this._showKids(row,_12);if(_12&&this.realsize()==0){this._calcSize();}zkau.send({uuid:getZKAttr(row,"pitem"),cmd:"onOpen",data:[_12]},zkau.asapTimeout(row,"onOpen"));},_showKids:function(row,_14,_15){var _16=getZKAttr(row,"pitem");do{var r=row.nextSibling;if($tag(r)=="TR"){var pid=getZKAttr(r,"gpitem");if(_16!=pid){return row;}if(!_15){r.style.display=_14?"":"none";}r=this._showKids(r,_14,_14&&(_15||!zkTree.isOpen(r)));}}while(row=r);},stripe:function(){}});}zkTree={};zkTree.init=function(cmp){var _1a=zkau.getMeta(cmp);if(_1a){_1a.init();}else{zkTreeNewClass();_1a=new zk.Tree(cmp);if(_1a.body){zk.listen(_1a.body,"keydown",zkTree.bodyonkeydown);}}if(_1a.bodytbl){zkTrow._pgnt(cmp,_1a.bodytbl.rows);}};zkTree.cleanup=function(cmp){zkTrow._pgclean(cmp);};zkTree.onVisi=zkTree.onSize=function(cmp){var _1d=zkau.getMeta(cmp);if(_1d){_1d.init();}};zkTree.bodyonkeydown=function(evt){if(!evt){evt=window.event;}var _1f=Event.element(evt);var _20=zkau.getMetaByType(_1f,"Tree");return !_20||_20.dobodykeydown(evt,_1f);};zkTree.onkeydown=function(evt){if(!evt){evt=window.event;}var _22=Event.element(evt);var _23=zkau.getMetaByType(_22,"Tree");return !_23||_23.dokeydown(evt,_22);};zkTree.onclick=function(evt){if(!evt){evt=window.event;}var _25=Event.element(evt);var _26=zkau.getMetaByType(_25,"Tree");if(_26){_26.doclick(evt,_25);}};zkTree.focus=function(cmp){var _28=zkau.getMeta(cmp);if(_28){_28._refocus();}return true;};zkTree.setAttr=function(cmp,nm,val){var _2c=zkau.getMeta(cmp);if(_2c){if("z.pgInfo"==nm){zkTrow._setPgInfo(cmp,val);if(_2c.bodytbl){zkTrow._pgnt(cmp,_2c.bodytbl.rows);}return true;}return _2c.setAttr(nm,val);}};zkTree.ontoggle=function(evt){if(!evt){evt=window.event;}var _2e=Event.element(evt);var _2f=zkau.getMetaByType(_2e,"Tree");if(_2f){_2f.toggleOpen(evt,_2e);}};zkTree.isOpen=function(row){return getZKAttr(row,"open")=="true";};zkTrow={};zkTrow.init=function(cmp){zk.listen(cmp,"click",zkTree.onclick);zk.listen(cmp,"keydown",zkTree.onkeydown);zk.listen(cmp,"mouseover",zkSel.onover);zk.listen(cmp,"mouseout",zkSel.onout);_zktrx.init(cmp,"ptch");_zktrx.init(cmp,"pitem");var sib=getZKAttr(cmp,"tchsib");if(sib){_zktrx.sib[sib]=cmp.id;}zkTrow._pgnt(cmp);};zkTrow.cleanup=zkTrow._pgclean=function(cmp){zk.remove($e(cmp.id+"!ph"));zk.remove($e(cmp.id+"!pt"));_zktrx.cleanup(cmp,"ptch");_zktrx.cleanup(cmp,"pitem");delete _zktrx.sib[getZKAttr(cmp,"tchsib")];};zkTrow.setAttr=function(cmp,nm,val){if("open"==nm){var _37="true"==val;if(_37!=zkTree.isOpen(cmp)){var _38=zkau.getMeta($parentByType(cmp,"Tree"));if(_38){_38._openItem(cmp,null,_37);}}return true;}else{if("z.pgInfo"==nm){zkTrow._setPgInfo(cmp,val);zkTrow._pgnt(cmp);return true;}}return false;};zkTrow._setPgInfo=function(cmp,_3a){var j=_3a.indexOf(","),k=_3a.indexOf(",",j+1);setZKAttr(cmp,"pgc",_3a.substring(0,j).trim());setZKAttr(cmp,"pgi",_3a.substring(j+1,k).trim());setZKAttr(cmp,"pgsz",_3a.substring(k+1).trim());};zkTrow.open=function(n,_3e){if(typeof n=="string"){var p=$e(n);n=p?p:$e(_zktrx.sib[n]);}var _40=zkau.getMeta($parentByType(n,"Tree"));if(_40){_40._openItem(n,null,_3e!=false);}};zkTrow.onrtclk=function(cmp){var _42=zkau.getMetaByType(cmp,"Tree");if(_42&&!_42._isSelected(cmp)){_42.doclick(null,cmp);}};zkTrow._pgnt=function(cmp,_44){var _45=$e(cmp.id+"!ph"),_46=$e(cmp.id+"!pt");var pgc=getZKAttr(cmp,"pgc");if(pgc>1){var _48=(_44?_44[0].cells:cmp.cells).length;var _49=getZKAttr(cmp,"pgsz");var pgi=getZKAttr(cmp,"pgi");if(pgi>0){if(!_45||pgc!=getZKAttr(_45,"pgc")||pgi!=getZKAttr(_45,"pgi")){if(!_45){_45=zkTrow._genpg(cmp,_44,false);}zk.setInnerHTML($e(cmp.id+"!pch"),Tree_paging(cmp,pgc,pgi,_49,false));}else{zkTrow._fixpgspan(_45,_48);}_45=null;}if(pgi<pgc-1){if(!_46||pgc!=getZKAttr(_46,"pgc")||pgi!=getZKAttr(_46,"pgi")){if(!_46){_46=zkTrow._genpg(cmp,_44,true);}zk.setInnerHTML($e(cmp.id+"!pct"),Tree_paging(cmp,pgc,pgi,_49,true));}else{zkTrow._fixpgspan(_46,_48);}_46=null;}}zk.remove(_45);zk.remove(_46);};zkTrow._fixpgspan=function(n,_4c){if(_4c!=getZKAttr(n,"ncol")){n.colSpan=_4c;setZKAttr(n,"ncol",_4c);}};zkTrow._genpg=function(cmp,_4e,end){var tr=document.createElement("TR");tr.id=cmp.id+(end?"!pt":"!ph");if(!_4e&&(!zkTree.isOpen(cmp)||!$visible(cmp))){tr.style.display="none";}var td=document.createElement("TD");tr.appendChild(td);if(_4e){if(end){zk.insertAfter(tr,_4e[_4e.length-1]);}else{zk.insertBefore(tr,_4e[0]);}}else{setZKAttr(tr,"gpitem",getZKAttr(cmp,"pitem"));zk.insertAfter(tr,end?zkTrow._lastKid(cmp):cmp);}if(!_4e){var n=zk.nextSibling(end?cmp:tr,"TR");if(n.id.endsWith("!ph")){n=zk.nextSibling(n,"TR");}var _53=null;for(n=n.cells[0].firstChild,n=n&&n.firstChild?n.firstChild:n;n;n=n.nextSibling){if(n.getAttribute){if(!getZKAttr(n,"fc")&&!n.id.endsWith("!cm")){break;}if(_53){var _54=_53.cloneNode(true);if(_54.id.endsWith("!cm")){_54.id="";_54.style.visibility="hidden";}td.appendChild(_54);}_53=n;}}}var cnt=document.createElement("SPAN");cnt.id=cmp.id+"!pc"+(end?"t":"h");cnt.className="treeitem-paging";cnt.style.width="100%";td.appendChild(cnt);return tr;};zkTrow._genimg=function(uri,js){return "<img src=\""+zk.getUpdateURI("/web/zul/img/tree/"+uri+"-off.gif")+"\" onmouseover=\"zkau.onimgover(event)\" onmouseout=\"zkau.onimgout(event)\" align=\"top\" onclick=\""+js+",event)\"/>";};zkTrow._onpg=function(_58,evt){if(!evt){evt=window.event;}var n=$outer($parent(Event.element(evt)));zkau.send({uuid:getZKAttr(n,"tchsib"),cmd:"onPaging",data:[_58==-9?0:_58==9?$int(getZKAttr(n,"pgc"))-1:$int(getZKAttr(n,"pgi"))+_58]});};zkTrow._onzoom=function(_5b,evt){if(!evt){evt=window.event;}var n=$outer($parent(Event.element(evt)));zkau.send({uuid:getZKAttr(n,"tchsib"),cmd:"onPageSize",data:[$int(getZKAttr(n,"pgsz"))+_5b]});};zkTrow._lastKid=function(row){var _5f=getZKAttr(row,"pitem");var n=row;do{var r=n.nextSibling;if($tag(r)=="TR"){var pid=getZKAttr(r,"gpitem");if(_5f!=pid){return row;}row=r=zkTrow._lastKid(r);}}while(n=r);return row;};if(!zk.safari){zkTcfc={};zkTcfc.init=function(cmp){zk.listen(cmp,"focus",zkSel.cmonfocus);zk.listen(cmp,"blur",zkSel.cmonblur);};}zkTcop={};zkTcop.init=function(cmp){zk.listen(cmp,"click",zkTree.ontoggle);};zk.addModuleInit(function(){zkTcol={};Object.extend(zkTcol,zulHdr);zkTcol.resize=function(_65,_66,wd1,_68){var _69=zkau.getMeta($parentByType(_65,"Tree"));if(_69){_69.resizeCol($parentByType(_65,"Tcols"),_66,_65,wd1,_68);}};zkTcols=zulHdrs;});var _zktrx={};_zktrx.dom={};_zktrx.sib={};_zktrx.au={};_zktrx.init=function(_6a,_6b){var pt=getZKAttr(_6a,_6b);if(pt){var dom=_zktrx.dom[pt];if(!dom){dom=_zktrx.dom[pt]=[];}dom.push(_6a.id);if("pitem"==_6b){_zktrx.sib[pt]=_6a.id;}}};_zktrx.cleanup=function(_6e,_6f){var pt=getZKAttr(_6e,_6f);var dom=pt?_zktrx.dom[pt]:null;if(dom){dom.remove(_6e.id);if(!dom.length){delete _zktrx.dom[pt];}if("pitem"==_6f){delete _zktrx.sib[pt];}}};_zktrx.au.outer=zkau.cmd1.outer;zkau.cmd1.outer=function(_72,cmp,_74){if(!cmp){var dom=_zktrx.dom[_72];if(dom){for(var j=dom.length;--j>=0;){var id=dom[j];var _78=$e(id);_zktrx._rmKids(_78);if(j==0){_72=id;cmp=_78;}else{_zktrx.au.rm(id,_78);}}dom.length=0;}else{var sib=_zktrx.sib[_72];if(sib){_zktrx.au.addAft(_72,$e(sib),_74);return;}}}if(cmp&&_74.trim()){_zktrx.au.outer(_72,cmp,_74);}};_zktrx.au.addAft=zkau.cmd1.addAft;zkau.cmd1.addAft=function(_7a,cmp,_7c){if(!cmp){cmp=$e(_zktrx.sib[_7a]);if(cmp){cmp=zkTrow._lastKid(cmp);}}_zktrx.au.addAft(_7a,cmp,_7c);};_zktrx.au.addBfr=zkau.cmd1.addBfr;zkau.cmd1.addBfr=function(_7d,cmp,_7f){_zktrx.au.addBfr(_7d,cmp?cmp:$e(_zktrx.sib[_7d]),_7f);};_zktrx.au.addChd=zkau.cmd1.addChd;zkau.cmd1.addChd=function(_80,cmp,_82){if(cmp){_zktrx.au.addChd(_80,cmp,_82);}else{_zktrx.au.addAft(_80,$e(_zktrx.sib[_80]),_82);}};_zktrx.au.rm=zkau.cmd1.rm;zkau.cmd1.rm=function(_83,cmp){var dom=_zktrx.dom[_83];if(dom){for(var j=dom.length;--j>=0;){var id=dom[j];var _88=$e(id);_zktrx._rmKids(_88);_zktrx.au.rm(id,_88);}dom.length=0;return;}_zktrx.au.rm(_83,cmp);};_zktrx._rmKids=function(_89){var _8a=_89?getZKAttr(_89,"tchsib"):null;if(_8a){zkau.cmd1.rm(_8a,$e(_8a));}};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -