📄 tb.js
字号:
zk.load("zul.widget");zkTmbox={POS_MIN:"1",POS_HOUR:"2"};zkTmbox.init=function(_1){zkTmbox.onVisi=zkWgt.fixDropBtn;zkTmbox.onHide=zkTxbox.onHide;zkTxbox.init($real(_1));_1.lastTime=new Date();_1.lastTime.setHours(0);_1.lastTime.setMinutes(0);_1.lastTimeStr="";_1.changed=false;_1.currentStep=1;_1.defaultStep=1;_1.lastPos=0;_1.runCount=0;_1.timerId=null;var _2=$real(_1);var _3=$e(_1.id+"!btn");zk.listen(_2,"focus",zkTmbox._inpfocus);zk.listen(_2,"blur",zkTmbox._inpblur);zk.listen(_2,"click",zkTmbox._inpclick);zk.listen(_2,"keydown",zkTmbox._inpkeydown);if(_3){zk.listen(_3,"mousedown",zkTmbox._btnDown);zk.listen(_3,"mouseup",zkTmbox._btnUp);zk.listen(_3,"mouseout",zkTmbox._btnOut);zkWgt.fixDropBtn(_1);}if(_2.value){zkTmbox._setTime(_1,_2.value);}else{zkTmbox._clearTime(_1);}};zkTmbox.cleanup=function(_4){if(_4.timerId){clearTimeout(_4.timerId);_4.timerId=null;}};zkTmbox.setAttr=function(_5,nm,_7){if("value"==nm){if(_7){zkTmbox._setTime(_5,_7);}else{zkTmbox._clearTime(_5);}return true;}else{if("z.btnVisi"==nm){var _8=$e(_5.id+"!btn");if(_8){_8.style.display=_7=="true"?"":"none";}if(_7=="true"){zkWgt.fixDropBtn(_5);}return true;}else{if("style"==nm){var _9=$real(_5);if(_9){zkau.setAttr(_9,nm,zk.getTextStyle(_7,true,true));}}else{if("style.width"==nm){var _9=$real(_5);if(_9){_9.style.width=_7;return true;}}else{if("style.height"==nm){var _9=$real(_5);if(_9){_9.style.height=_7;return true;}}}}}}zkau.setAttr(_5,nm,_7);return true;};zkTmbox.rmAttr=function(_a,nm){if("style"==nm){var _c=$real(_a);if(_c){zkau.rmAttr(_c,nm);}}else{if("style.width"==nm){var _c=$real(_a);if(_c){_c.style.width="";}}else{if("style.height"==nm){var _c=$real(_a);if(_c){_c.style.height="";}}}}zkau.rmAttr(_a,nm);return true;};zkTmbox._inpfocus=function(_d){if(!_d){_d=window.event;}var _e=$outer(Event.element(_d));var _f=zkTmbox._selrange(_e);_e.lastPos=_f[0];};zkTmbox._inpblur=function(evt){if(!evt){evt=window.event;}var cmp=$outer(Event.element(evt));var inp=$real(cmp);if(!zkTmbox._check(inp.value)){zkTmbox.setTime(cmp,cmp.lastTimeStr);}};zkTmbox._inpclick=function(evt){if(!evt){evt=window.event;}var cmp=$outer(Event.element(evt));var _15=zkTmbox._selrange(cmp);cmp.lastPos=_15[0];};zkTmbox._inpkeydown=function(evt){if(!evt){evt=window.event;}var cmp=$outer(Event.element(evt));var _18=zkTmbox._selrange(cmp);cmp.lastPos=_18[0];var _19=evt.keyCode;switch(_19){case 48:case 96:case 49:case 97:case 50:case 98:case 51:case 99:case 52:case 100:case 53:case 101:case 54:case 102:case 55:case 103:case 56:case 104:case 57:case 105:_19=_19-(_19>=96?96:48);zkTmbox._setTimeDigit(cmp,_19);Event.stop(evt);break;case 37:break;case 38:zkTmbox.onUp(cmp);Event.stop(evt);break;case 39:break;case 40:zkTmbox.onDown(cmp);Event.stop(evt);break;case 46:zkTmbox.clearTime(cmp);Event.stop(evt);break;case 9:case 35:case 36:break;default:if(!(_19>=112&&_19<=123)&&!evt.ctrlKey&&!evt.altKey){Event.stop(evt);}}};zkTmbox._btnDown=function(evt){if(!evt){evt=window.event;}var cmp=$outer(Event.element(evt)),inp=$real(cmp);if(inp.disabled){return;}var btn=$e(cmp.id+"!btn"),ofs=Position.cumulativeOffset(btn);if((Event.pointerY(evt)-ofs[1])<btn.offsetHeight/2){zkTmbox.onUp(cmp);zkTmbox._startAutoIncProc(cmp,true);}else{zkTmbox.onDown(cmp);zkTmbox._startAutoIncProc(cmp,false);}};zkTmbox._btnUp=function(evt){if(!evt){evt=window.event;}var cmp=$outer(Event.element(evt));var inp=$real(cmp);if(inp.disabled){return;}zkTmbox._stopAutoIncProc(cmp);zkTmbox._markPositionSel(cmp);inp.focus();};zkTmbox._btnOut=function(evt){if(!evt){evt=window.event;}var cmp=$outer(Event.element(evt));var inp=$real(cmp);if(inp.disabled){return;}zkTmbox._stopAutoIncProc(cmp);};zkTmbox._selrange=function(cmp){var sel=zk.getSelectionRange($real(cmp));if(sel[0]>sel[1]){var t=sel[2];sel[1]=s1;sel[0]=t;}return sel;};zkTmbox._calInc=function(cmp){var pos=zkTmbox._checkPosition(cmp);switch(pos){case zkTmbox.POS_MIN:return 60;break;case zkTmbox.POS_HOUR:return 3600;break;default:return 0;}};zkTmbox.onUp=function(cmp){zkTmbox._increaseTime(cmp,zkTmbox._calInc(cmp));zkTmbox._markPositionSel(cmp);};zkTmbox.onDown=function(cmp){zkTmbox._increaseTime(cmp,-zkTmbox._calInc(cmp));zkTmbox._markPositionSel(cmp);};zkTmbox._checkPosition=function(cmp){var pos=cmp.lastPos;if(pos<=2){return zkTmbox.POS_HOUR;}else{return zkTmbox.POS_MIN;}};zkTmbox._markPositionSel=function(cmp){var pos=zkTmbox._checkPosition(cmp);switch(pos){case zkTmbox.POS_HOUR:zkTmbox._markselection(cmp,0,2);break;case zkTmbox.POS_MIN:zkTmbox._markselection(cmp,3,5);break;}};zkTmbox._check=function(_30){if(!_30){return false;}var ta=_30.split(":");if(ta.length==2){var _32=$int(ta[0]);var min=$int(ta[1]);var _34=false;if(isNaN(_32)||_32>23||_32<0){return false;}if(isNaN(min)||min>59||min<0){return false;}return true;}return false;};zkTmbox._increaseTime=function(cmp,_36){var t=cmp.lastTime.getTime();t=t+1000*_36*cmp.currentStep;var _38=new Date();_38.setTime(t);var _39=_38.getHours();var min=_38.getMinutes();var _3b=zk.formatFixed(_39,2)+":"+zk.formatFixed(min,2);zkTmbox.setTime(cmp,_3b);};zkTmbox._setTimeDigit=function(cmp,n){var sel=zkTmbox._selrange(cmp);var _3f=cmp.lastTime.getHours();var min=cmp.lastTime.getMinutes();var _41=0;switch(sel[0]){case 0:if(n>2){_3f=n;_41=3;}else{_3f=_3f%10+n*10;_41=1;}if(_3f>23){return;}break;case 1:_3f=_3f-_3f%10+n;if(_3f>23){return;}_41=3;break;case 3:if(n>5){min=n;}else{min=min%10+n*10;}if(min>59){return;}_41=4;break;case 4:min=min-min%10+n;if(min>59){return;}_41=4;break;default:return;}var _42=zk.formatFixed(_3f,2)+":"+zk.formatFixed(min,2);zkTmbox.setTime(cmp,_42);zkTmbox._markselection(cmp,_41,_41);};zkTmbox._setTime=function(cmp,_44){if(cmp.lastTimeStr==_44){return false;}if(!zkTmbox._check(_44)){return false;}var inp=$real(cmp);var ta=_44.split(":");var _47=$int(ta[0]);var min=$int(ta[1]);var _49=zk.formatFixed(_47,2)+":"+zk.formatFixed(min,2);cmp.lastTime.setHours(_47);cmp.lastTime.setMinutes(min);inp.value=_49;cmp.lastTimeStr=_49;return true;};zkTmbox.setTime=function(cmp,_4b){if(zkTmbox._setTime(cmp,_4b)){cmp.changed=true;}};zkTmbox._clearTime=function(cmp){if(!cmp.lastTimeStr){return false;}cmp.lastTimeStr="";cmp.lastTime.setHours(0);cmp.lastTime.setMinutes(0);$real(cmp).value="";return true;};zkTmbox.clearTime=function(cmp){if(zkTmbox._clearTime(cmp)){cmp.changed=true;}};zkTmbox._autoIncTimeout=function(cmp,_4f){zkTmbox._increaseTime(cmp,_4f);if(cmp.timerId){if(cmp.runCount!=0&&(cmp.runCount%10)==0){cmp.currentStep=cmp.currentStep+1;}cmp.runCount=cmp.runCount+1;}};zkTmbox._startAutoIncProc=function(cmp,_51){if(cmp.timerId){clearInterval(cmp.timerId);}var _52=zkTmbox._calInc(cmp);if(!_51){_52=-_52;}cmp.timerId=setInterval(function(){zkTmbox._autoIncTimeout(cmp,_52);},500);};zkTmbox._stopAutoIncProc=function(cmp){if(cmp.timerId){clearTimeout(cmp.timerId);}cmp.currentStep=cmp.defaultStep;cmp.runCount=0;cmp.timerId=null;};zkTmbox._markselection=function(cmp,_55,end){var inp=$real(cmp);if(inp.setSelectionRange){inp.setSelectionRange(_55,end);inp.focus();}else{if(inp.createTextRange){var _58=inp.createTextRange();if(_55!=end){_58.moveEnd("character",end-_58.text.length);_58.moveStart("character",_55);}else{_58.move("character",_55);}_58.select();}}};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -