📄 wnd.js
字号:
zk.load("zul.zul");zkWnd={};zkWnd._szs={};zkWnd._clean2={};zkWnd._modal2={};zkWnd.init=function(_1){zkWnd._fixHgh(_1);var _2=$e(_1.id+"!close");if(_2){zk.listen(_2,"click",function(_3){zkau.sendOnClose(_1,true);Event.stop(_3);});zk.listen(_2,"mouseover",function(){if(window.zkau){zkau.onimgover(_2);}});zk.listen(_2,"mouseout",function(){zkau.onimgout(_2);});if(!_2.style.cursor){_2.style.cursor="default";}}zk.listen(_1,"mousemove",function(_4){if(window.zkWnd){zkWnd.onmouseove(_4,_1);}});zkWnd.setSizable(_1,zkWnd.sizable(_1));zkWnd._initMode(_1);};zkWnd.cleanup=function(_5){zkWnd.setSizable(_5,false);zkWnd._cleanMode(_5);};zkWnd.onVisi=zkWnd._fixHgh=function(_6){var _7=_6.style.height;if(_7&&_7!="auto"){var n=$e(_6.id+"!cave");if(n){_7=_6.clientHeight;for(var p=n,q;q=p.previousSibling;){if(q.offsetHeight){_7-=q.offsetHeight;}p=q;}for(var p=n,q;q=p.nextSibling;){if(q.offsetHeight){_7-=q.offsetHeight;}p=q;}zk.setOffsetHeight(n,_7);}}};zkWnd._embedded=function(_b){var v=getZKAttr(_b,"mode");return !v||v=="embedded";};zkWnd.setAttr=function(_d,nm,_f){switch(nm){case "visibility":var _10=_f=="true",_11=zkWnd._embedded(_d),_12=_11?0:1;for(var n=_d;n=$parent(n);){if($type(n)=="Wnd"&&!zkWnd._embedded(n)){_12=2;break;}}if(_12==1){setZKAttr(_d,"vvisi",_10?"t":"f");_10=_10&&zk.isRealVisible($parent(_d));zkau.setAttr(_d,nm,_10?"true":"false");if(_10){zk.setVParent(_d);}}else{if(_12==0&&(_10!=zk.isRealVisible(_d))){for(var id in zk._vpts){if(zk.isAncestor(_d,id)){var n=$e(id);if(n){var _15=getZKAttr(n,"vvisi");if(_15!="f"){var _16=$visible(n);if(_16!=_10){if(!_15){setZKAttr(n,"vvisi",_16?"t":"f");}zkau.setAttr(n,nm,_f);}}}}}}rmZKAttr(_d,"vvisi");zkau.setAttr(_d,nm,_f);}if(!_11){zkau.hideCovered();}return true;case "z.sizable":zkau.setAttr(_d,nm,_f);zkWnd.setSizable(_d,_f=="true");return true;case "z.cntStyle":var n=$e(_d.id+"!cave");if(n){zk.setStyle(n,_f!=null?_f:"");zkWnd._fixHgh(_d);}return true;case "z.cntScls":var n=$e(_d.id+"!cave");if(n){n.className=_f!=null?_f:"";zkWnd._fixHgh(_d);}return true;case "z.pos":zkau.setAttr(_d,nm,_f);if(_f&&!zkWnd._embedded(_d)){zkWnd._center(_d,null,_f);zkau.hideCovered();}return true;case "style":case "style.height":zkau.setAttr(_d,nm,_f);zkWnd._fixHgh(_d);if(nm=="style.height"){zk.onResize(0,_d);}return true;case "style.width":zk.onResize(0,_d);return false;}return false;};zkWnd.sizable=function(cmp){return getZKAttr(cmp,"sizable")=="true";};zkWnd.setSizable=function(cmp,_19){var id=cmp.id;if(_19){if(!zkWnd._szs[id]){var _1b=cmp.style.position;zkWnd._szs[id]=new Draggable(cmp,{starteffect:zkau.closeFloats,endeffect:zkWnd._endsizing,ghosting:zkWnd._ghostsizing,revert:true,reverteffect:zk.voidf,ignoredrag:zkWnd._ignoresizing});cmp.style.position=_1b;}}else{if(zkWnd._szs[id]){zkWnd._szs[id].destroy();delete zkWnd._szs[id];}}};zkWnd._insizer=function(cmp,x,y){var ofs=Position.cumulativeOffset(cmp);var r=ofs[0]+cmp.offsetWidth,b=ofs[1]+cmp.offsetHeight;if(x-ofs[0]<=5){if(y-ofs[1]<=5){return 8;}else{if(b-y<=5){return 6;}else{return 7;}}}else{if(r-x<=5){if(y-ofs[1]<=5){return 2;}else{if(b-y<=5){return 4;}else{return 3;}}}else{if(y-ofs[1]<=5){return 1;}else{if(b-y<=5){return 5;}}}}};zkWnd.onmouseove=function(evt,cmp){var _24=Event.element(evt);if(zkWnd.sizable(cmp)){var c=zkWnd._insizer(cmp,Event.pointerX(evt),Event.pointerY(evt));if(c){zk.backupStyle(cmp,"cursor");cmp.style.cursor=c==1?"n-resize":c==2?"ne-resize":c==3?"e-resize":c==4?"se-resize":c==5?"s-resize":c==6?"sw-resize":c==7?"w-resize":"nw-resize";}else{zk.restoreStyle(cmp,"cursor");}}};zkWnd._ignoresizing=function(cmp,_27){var dg=zkWnd._szs[cmp.id];if(dg){var v=zkWnd._insizer(cmp,_27[0],_27[1]);if(v){switch(dg.z_dir=v){case 1:case 5:dg.options.constraint="vertical";break;case 3:case 7:dg.options.constraint="horizontal";break;default:dg.options.constraint=null;}dg.z_orgzi=cmp.style.zIndex;return false;}}return true;};zkWnd._endsizing=function(cmp,evt){var dg=zkWnd._szs[cmp.id];if(!dg){return;}if(dg.z_orgzi!=null){cmp.style.zIndex=dg.z_orgzi;dg.z_orgzi=null;}if(dg.z_szofs&&(dg.z_szofs[0]||dg.z_szofs[1])){var _2d="";if(evt){if(evt.altKey){_2d+="a";}if(evt.ctrlKey){_2d+="c";}if(evt.shiftKey){_2d+="s";}}setTimeout("zkWnd._resize($e('"+cmp.id+"'),"+dg.z_dir+","+dg.z_szofs[0]+","+dg.z_szofs[1]+",'"+_2d+"')",50);dg.z_dir=dg.z_szofs=null;}};zkWnd._resize=function(cmp,dir,_30,_31,_32){var l,t,w=cmp.offsetWidth,h=cmp.offsetHeight;if(_31){if(dir==8||dir<=2){h-=_31;if(h<0){_31=cmp.offsetHeight;h=0;}t=$int(cmp.style.top)+_31;}if(dir>=4&&dir<=6){h+=_31;if(h<0){h=0;}}}if(_30){if(dir>=6&&dir<=8){w-=_30;if(w<0){_30=cmp.offsetWidth;w=0;}l=$int(cmp.style.left)+_30;}if(dir>=2&&dir<=4){w+=_30;if(w<0){w=0;}}}if(w!=cmp.offsetWidth||h!=cmp.offsetHeight){if(w!=cmp.offsetWidth){cmp.style.width=w+"px";}if(h!=cmp.offsetHeight){cmp.style.height=h+"px";zkWnd._fixHgh(cmp);}zkau.sendOnSize(cmp,_32);}if(l!=null||t!=null){if(l!=null){cmp.style.left=l+"px";}if(t!=null){cmp.style.top=t+"px";}zkau.sendOnMove(cmp,_32);}if(!zkWnd._embedded(cmp)){zkau.hideCovered();}};zkWnd._ghostsizing=function(dg,_38,_39){if(_38){var ofs=zkau.beginGhostToDIV(dg);var _3b="<div id=\"zk_ddghost\" style=\"position:absolute;top:"+ofs[1]+"px;left:"+ofs[0]+"px;width:"+zk.offsetWidth(dg.element)+"px;height:"+zk.offsetHeight(dg.element)+"px;";if(dg.z_dir==8||dg.z_dir<=2){_3b+="border-top:3px solid darkgray;";}if(dg.z_dir>=2&&dg.z_dir<=4){_3b+="border-right:3px solid darkgray;";}if(dg.z_dir>=4&&dg.z_dir<=6){_3b+="border-bottom:3px solid darkgray;";}if(dg.z_dir>=6&&dg.z_dir<=8){_3b+="border-left:3px solid darkgray;";}document.body.insertAdjacentHTML("afterbegin",_3b+"\"></div>");dg.element=$e("zk_ddghost");}else{var org=zkau.getGhostOrgin(dg);if(org){var _3d=Position.cumulativeOffset(dg.element);var _3e=Position.cumulativeOffset(org);dg.z_szofs=[_3d[0]-_3e[0],_3d[1]-_3e[1]];}else{dg.z_szofs=null;}zkau.endGhostToDIV(dg);}};zkWnd._initMode=function(cmp){var _40=getZKAttr(cmp,"mode");var _41=zkWnd._clean2[cmp.id]==_40;if(_41){delete zkWnd._clean2[cmp.id];}else{if(zkWnd._clean2[cmp.id]){zkWnd._cleanMode2(cmp.id,true);}}switch(_40){case "modal":case "highlighted":zkWnd._doModal(cmp,_41);break;case "overlapped":zkWnd._doOverlapped(cmp,_41);break;case "popup":zkWnd._doPopup(cmp,_41);}};zkWnd._cleanMode=function(cmp){var _43=getZKAttr(cmp,"mode");if(_43){zkWnd._stick(cmp);zkWnd._clean2[cmp.id]=_43;setTimeout("zkWnd._cleanMode2('"+cmp.id+"')",5);}};zkWnd._cleanMode2=function(_44,_45){var _46=zkWnd._clean2[_44];if(_46){delete zkWnd._clean2[_44];switch(_46){case "modal":case "highlighted":zkWnd._endModal(_44,_45);break;case "overlapped":zkWnd._endOverlapped(_44,_45);break;case "popup":zkWnd._endPopup(_44,_45);}}};zkWnd._show=function(cmp){if(getZKAttr(cmp,"conshow")){cmp.style.display="none";}zk.show(cmp);};zkWnd._doPopup=function(cmp,_49){zkWnd._doOverpop(cmp,zkau._popups,_49);};zkWnd._endPopup=function(_4a,_4b){zkWnd._endOverpop(_4a,zkau._popups,_4b);};zkWnd._doOverlapped=function(cmp,_4d){zkWnd._doOverpop(cmp,zkau._overlaps,_4d);};zkWnd._endOverlapped=function(_4e,_4f){zkWnd._endOverpop(_4e,zkau._overlaps,_4f);};zkWnd._doOverpop=function(cmp,_51,_52){var pos=getZKAttr(cmp,"pos");var isV=zkWnd.shallVParent(cmp);if(!pos&&isV&&!cmp.style.top&&!cmp.style.left){var xy=zk.revisedOffset(cmp);cmp.style.left=xy[0]+"px";cmp.style.top=xy[1]+"px";}if(isV){zk.setVParent(cmp);}if(_52){zkau.fixZIndex(cmp);zkWnd._float(cmp);return;}if(pos){zkWnd._center(cmp,null,pos);}zkau.closeFloats(cmp);zkau.fixZIndex(cmp);zkWnd._float(cmp);_51.push(cmp.id);zkau.hideCovered();if($visible(cmp)){zkWnd._show(cmp);}zk.asyncFocusDown(cmp.id);};zkWnd._endOverpop=function(_56,_57,_58){_57.remove(_56);var cmp=$e(_56);if(cmp){zk.unsetVParent(cmp);zkau.hideCovered();if(!_58){zkWnd._stick(cmp);}}};zkWnd.shallVParent=function(el){while(el=$parent(el)){if($type(el)=="Wnd"&&!zkWnd._embedded(el)){return false;}}return true;};zkWnd._doModal=function(cmp,_5c){if(_5c){zkWnd._float(cmp);return;}var _5d=zkau._modals.length;zkau.fixZIndex(cmp,true);var zi=++zkau.topZIndex;if(zkWnd.shallVParent(cmp)){zk.setVParent(cmp);}zkWnd._center(cmp,zi,getZKAttr(cmp,"pos"));zkWnd._show(cmp);zkau.closeFloats(cmp);var _5f=cmp.id+".mask";var _60=$e(_5f);if(!_60){var _61=true;for(var j=0;j<_5d;++j){var n=$e(zkau._modals[j]);if(n&&zk.isAncestor(n,cmp)){_61=false;break;}}if(_61){cmp.insertAdjacentHTML("beforebegin","<div id=\""+_5f+"\" class=\"modal_mask\"></div>");_60=$e(_5f);}}if(_60){zkWnd._posMask(_60);_60.style.display="block";_60.style.zIndex=zi-1;if(zkau.currentFocus){_60.setAttribute("zk_prevfocus",zkau.currentFocus.id);}}zkau._modals.push(cmp.id);if(_5d==0){zk.listen(window,"resize",zkWnd._onMoveMask);zk.listen(window,"scroll",zkWnd._onMoveMask);}zkWnd._float(cmp);zk.asyncFocusDown(cmp.id);zkWnd._modal2[cmp.id]=true;setTimeout("zkWnd._doModal2('"+cmp.id+"')",5);};zkWnd._doModal2=function(_64){if(zkWnd._modal2[_64]){delete zkWnd._modal2[_64];var cmp=$e(_64);if(cmp){zk.restoreDisabled(cmp);zk.disableAll(cmp);}}};zkWnd._endModal=function(_66,_67){var _68=_66+".mask";var _69=$e(_68);var _6a;if(_69){_6a=_69.getAttribute("zk_prevfocus");zk.remove(_69);}zkau._modals.remove(_66);delete zkWnd._modal2[_66];var cmp=$e(_66);if(cmp){zk.unsetVParent(cmp);}if(zkau._modals.length==0){zk.unlisten(window,"resize",zkWnd._onMoveMask);zk.unlisten(window,"scroll",zkWnd._onMoveMask);window.onscroll=null;zk.restoreDisabled();}else{var _6c=zkau._modals[zkau._modals.length-1];var _6d=$e(_6c);if(_6d){zk.restoreDisabled(_6d);if(!_6a&&!zk.inAsyncFocus){zk.asyncFocusDown(_6c,2);}}}if(!_67&&cmp){zkWnd._stick(cmp);}if(_6a&&!zk.inAsyncFocus){zk.asyncFocus(_6a,2);}};zkWnd._onMoveMask=function(evt){for(var j=zkau._modals.length;--j>=0;){var _70=$e(zkau._modals[j]+".mask");if(_70){zkWnd._posMask(_70);return;}}};zkWnd._posMask=function(_71){var ofs=zk.toStyleOffset(_71,zk.innerX(),zk.innerY());_71.style.left=ofs[0]+"px";_71.style.top=ofs[1]+"px";_71.style.width=zk.innerWidth()+"px";_71.style.height=zk.innerHeight()+"px";};zkWnd._center=function(cmp,zi,pos){cmp.style.position="absolute";zk.center(cmp,pos);zkau.sendOnMove(cmp);if(zi||zi==0){cmp.style.zIndex=zi;zkau.sendOnZIndex(cmp);}};zkWnd._float=function(cmp){if(cmp){var _77=$e(cmp.id+"!caption");if(_77){cmp.style.position="absolute";zul.initMovable(cmp,{handle:_77,starteffect:zkau.closeFloats,change:zkau.hideCovered,endeffect:zkWnd._onWndMove});}}};zkWnd._stick=function(cmp){if(cmp){zul.cleanMovable(cmp.id);cmp.style.position="";}};zkWnd._onWndMove=function(cmp,evt){var _7b="";if(evt){if(evt.altKey){_7b+="a";}if(evt.ctrlKey){_7b+="c";}if(evt.shiftKey){_7b+="s";}}zkau.sendOnMove(cmp,_7b);};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -