📄 cb.js
字号:
zk.load("zul.widget");if(!window.Comboitem_effect){window.Comboitem_effect=function(_1,_2){if(_2){zk.rmClass(_1,"overseld");zk.rmClass(_1,"overd");}else{zk.addClass(_1,zk.hasClass(_1,"seld")?"overseld":"overd");}};}zkCmbox={};zkCmbox.init=function(_3){zkCmbox.onVisi=zkWgt.fixDropBtn;zkCmbox.onHide=zkTxbox.onHide;var _4=$real(_3);zkTxbox.init(_4);zk.listen(_4,"keydown",zkCmbox.onkey);zk.listen(_4,"click",function(){if(_4.readOnly&&!zk.dragging){zkCmbox.onbutton(_3);}});var _5=$e(_3.id+"!btn");if(_5){zk.listen(_5,"click",function(){if(!_4.disabled&&!zk.dragging){zkCmbox.onbutton(_3);}});zkWgt.fixDropBtn(_3);}};zkCmit={};zkCmit.init=function(_6){zk.listen(_6,"click",zkCmit.onclick);zk.listen(_6,"mouseover",zkCmit.onover);zk.listen(_6,"mouseout",zkCmit.onout);};zkCmit.onclick=function(_7){if(!_7){_7=window.event;}var _8=$parentByTag(Event.element(_7),"TR");if(_8){zkCmbox._selback(_8);zkau.closeFloats($outer($parent(_8)));zkCmit.onoutTo(_8);var _9=zkCmbox.getInputByItem(_8);if(_9){zkTxbox.updateChange(_9,false);}Event.stop(_7);}};zkCmit.onover=function(_a){if(!zk.dragging){if(!_a){_a=window.event;}var _b=$parentByTag(Event.element(_a),"TR");if(_b){Comboitem_effect(_b);}}};zkCmit.onout=function(_c){if(!zk.dragging){if(!_c){_c=window.event;}zkCmit.onoutTo($parentByTag(Event.element(_c),"TR"));}};zkCmit.onoutTo=function(_d){if(_d){Comboitem_effect(_d,true);}};zkCmbox.setAttr=function(_e,nm,val){if(nm=="repos"){var pp=$e(_e.id+"!pp");if(pp){pp.removeAttribute("zk_ckval");if($visible(pp)){zkCmbox._open(_e,_e.id,pp,true);}}return true;}else{if("style"==nm){var inp=$real(_e);if(inp){zkau.setAttr(inp,nm,zk.getTextStyle(val,true,true));}}else{if("style.width"==nm){var inp=$real(_e);if(inp){inp.style.width=val;return true;}}else{if("style.height"==nm){var inp=$real(_e);if(inp){inp.style.height=val;return true;}}else{if("z.btnVisi"==nm){var btn=$e(_e.id+"!btn");if(btn){btn.style.display=val=="true"?"":"none";}zkWgt.fixDropBtn(_e);return true;}else{if("z.sel"==nm){return zkTxbox.setAttr(_e,nm,val);}}}}}}zkau.setAttr(_e,nm,val);return true;};zkCmbox.rmAttr=function(cmp,nm){if("style"==nm){var inp=$real(cmp);if(inp){zkau.rmAttr(inp,nm);}}else{if("style.width"==nm){var inp=$real(cmp);if(inp){inp.style.width="";}}else{if("style.height"==nm){var inp=$real(cmp);if(inp){inp.style.height="";}}}}zkau.rmAttr(cmp,nm);return true;};zkCmbox.childchg=function(cb){var pp=$e(cb.id+"!pp");if(!$visible(pp)){return;}var _19=zkCmbox._ppofs(pp);if(_19[0]=="auto"){var pp2=$e(cb.id+"!cave");if(zk.ie){if(pp2){pp2.style.width="";}pp.style.width="";setTimeout("zkCmbox._cc2('"+cb.id+"')",0);}else{zkCmbox._fixsz(cb,pp,pp2,_19);}}};zkCmbox._cc2=function(_1b){var cb=$e(_1b);var pp=$e(_1b+"!pp");if($visible(pp)){zkCmbox._fixsz(cb,pp,$e(cb.id+"!cave"),zkCmbox._ppofs(pp));}};zkCmbox.ondown=function(evt){if(evt.keyCode==38||evt.keyCode==40){Event.stop(evt);return false;}if(evt.keyCode==9){var inp=Event.element(evt);if(inp){var _20=$uuid(inp.id);var pp=$e(_20+"!pp");if($visible(pp)){zkCmbox.close(pp);}}}return true;};zkCmbox.onkey=function(evt){var inp=Event.element(evt);if(!inp){return true;}var _24=$uuid(inp.id);var cb=$e(_24);var pp=$e(_24+"!pp");if(!pp){return true;}var _27=$visible(pp);if(evt.keyCode==9||(zk.safari&&evt.keyCode==0)){if(_27){zkCmbox.close(pp);}return true;}if(evt.altKey&&(evt.keyCode==38||evt.keyCode==40)){if(evt.keyCode==38){if(_27){zkCmbox.close(pp);}}else{if(!_27){zkCmbox.open(pp,true);}}if(zk.ie){Event.stop(evt);return false;}return true;}if(_27&&evt.keyCode==13){zkCmbox._autoselback(_24);zkTxbox.updateChange(inp,false);return true;}if(evt.keyCode==18||evt.keyCode==27||evt.keyCode==13||(evt.keyCode>=112&&evt.keyCode<=123)){return true;}var _28=$type(cb)=="Cmbox";var _29=evt.keyCode==38||evt.keyCode==40;if(getZKAttr(cb,"adr")=="true"&&!_27){zkCmbox.open(pp,_28&&!_29);}else{if(!_28){return true;}else{if(!_29&&_27){setTimeout("zkCmbox._hilite('"+_24+"')",1);}}}if(_29){setTimeout("zkCmbox._hilite('"+_24+"',true,"+(evt.keyCode==38)+")",3);Event.stop(evt);return false;}return true;};zkCmbox.onbutton=function(cmp){var pp=$e(cmp.id+"!pp");if(pp){if(!$visible(pp)){zkCmbox.open(pp,true);}else{zkCmbox.close(pp,true);}}};zkCmbox._setsel=function(_2c,sel){zk.addClass(_2c,"seld",sel);};zkCmbox.getLabel=function(_2e){return _2e&&_2e.cells&&_2e.cells.length>1?zk.getElementValue(_2e.cells[1]):"";};zkCmbox.open=function(pp,_30){pp=$e(pp);var _31=$uuid(pp.id);var cb=$e(_31);if(!cb){return;}zkau.closeFloats(pp);zkCmbox._pop.addFloatId(pp.id,$type(cb)!="Cmbox");zkCmbox._open(cb,_31,pp,_30);if(zkau.asap(cb,"onOpen")){zkau.send({uuid:_31,cmd:"onOpen",data:[true]});}};zkCmbox._open=function(cb,_34,pp,_36){var _37=zkCmbox._ppofs(pp);pp.style.width=_37[0];pp.style.height="auto";var pp2=$e(_34+"!cave");if(pp2){pp2.style.width=pp2.style.height="auto";}pp.style.position="absolute";pp.style.display="block";pp.style.zIndex="88000";zk.onVisiAt(pp);zk.setVParent(pp);zkCmbox._fixsz(cb,pp,pp2,_37);zk.position(pp,$real(cb),"after-start");setTimeout("zkCmbox._repos('"+_34+"',"+_36+")",3);};zkCmbox._ppofs=function(pp){for(var n=pp.firstChild;n;n=n.nextSibling){if(n.id){if(!n.id.endsWith("!cave")){var w=n.style.width,h=n.style.height;return [w?w:"auto",h?h:"auto"];}break;}}return ["auto","auto"];};zkCmbox._fixsz=function(cb,pp,pp2,_40){if(_40[1]=="auto"&&pp.offsetHeight>250){pp.style.height="250px";}else{if(pp.offsetHeight<10){pp.style.height="10px";}}if(_40[0]=="auto"){if(pp.offsetWidth<cb.offsetWidth){pp.style.width=cb.offsetWidth+"px";if(pp2){pp2.style.width="100%";}}else{var wd=zk.innerWidth()-20;if(wd<cb.offsetWidth){wd=cb.offsetWidth;}if(pp.offsetWidth>wd){pp.style.width=wd;}}}};zkCmbox._repos=function(_42,_43){var cb=$e(_42);if(!cb){return;}var pp=$e(_42+"!pp");var pp2=$e(_42+"!cave");var _47=cb.id+"!real";var inp=$e(_47);var _49=pp2?pp2.rows:null;if(_49){var gap=pp.offsetHeight-pp.clientHeight;if(gap>10&&pp.offsetHeight<150){var hgh=0;for(var j=_49.length;--j>=0;){hgh+=_49[j].offsetHeight;}pp.style.height=(hgh+20)+"px";}}zk.position(pp,inp,"after-start");zkau.hideCovered();zk.asyncFocus(_47);if(_43){zkCmbox._hilite(_42);}};zkCmbox._selback=function(_4d){var txt=zkCmbox.getLabel(_4d);var inp=zkCmbox.getInputByItem(_4d);if(inp){inp.value=txt;inp.setAttribute("zk_changing_selbk",txt);zk.asyncFocus(inp.id);zk.asyncSelect(inp.id);}};zkCmbox._autoselback=function(_50){var pp2=$e(_50+"!cave");if(!pp2){return;}var _52=pp2.rows;if(!_52){return;}for(var j=0;j<_52.length;++j){var _54=_52[j];if(_54.getAttribute("zk_hilite")=="true"){zkCmbox._selback(_54);}}};zkCmbox.getInputByItem=function(_55){var _56=$uuid(_55.parentNode);if(!_56){return null;}var _57=_56+"!real";return $e(_57);};zkCmbox._hilite=function(_58,_59,bUp){var inp=$e(_58+"!real");if(!inp){return;}var pp=$e(_58+"!pp");if(!pp||(!_59&&!$visible(pp))){return;}var pp2=$e(_58+"!cave");if(!pp2){return;}var _5e=pp2.rows;if(!_5e){return;}var _5f=inp.value.toLowerCase();if(!_59&&pp.getAttribute("zk_ckval")==_5f){return;}var _60=-1,_61=!_5f,old;for(var j=0;j<_5e.length;++j){var _64=_5e[j];if(!_61){var txt=zkCmbox.getLabel(_64).toLowerCase();if(txt==_5f){_61=true;_60=j;}else{if(_60<0&&txt.startsWith(_5f)){_60=j;}}}if(_64.getAttribute("zk_hilite")=="true"){if(old){zkCmbox._setsel(_64,false);_64.removeAttribute("zk_hilite");}else{old=_64;}}}var _66;if(_59){if(_60<0){if(_5e.length){_66=_5e[0];}}else{if(_61){var b=document.selection;if((b&&"Text"==b.type&&document.selection.createRange().text.toLowerCase()==_5f)||(!b&&_5f.length&&inp.selectionStart==0&&inp.selectionEnd==_5f.length)){if(bUp){if(_60>0){--_60;}}else{if(_60+1<_5e.length){++_60;}}}}if(_60>=0){_66=_5e[_60];}}if(_66){zkCmbox._selback(_66);}}else{if(_60>=0){_66=_5e[_60];}}if(old!=_66){if(old){zkCmbox._setsel(old,false);old.removeAttribute("zk_hilite");}if(_66){zkCmbox._setsel(_66,true);_66.setAttribute("zk_hilite","true");}}zk.scrollIntoView(pp,_66);pp.setAttribute("zk_ckval",_5f);};zkCmbox.cbclose=function(cb){zkCmbox.close(cb.id+"!pp",true);};zkCmbox.close=function(pp,_6a){pp=$e(pp);var _6b=$uuid(pp.id);pp.style.display="none";zk.unsetVParent(pp);zkCmbox._pop.removeFloatId(pp.id);zk.onHideAt(pp);zkau.hideCovered();if(_6a){zk.asyncFocus(_6b+"!real");}var cb=$outer(pp);if(cb&&zkau.asap(cb,"onOpen")){zkau.send({uuid:cb.id,cmd:"onOpen",data:[false]});}};zk.FloatCombo=Class.create();Object.extend(Object.extend(zk.FloatCombo.prototype,zk.Floats.prototype),{_close:function(el){zkCmbox.close(el);}});if(!zkCmbox._pop){zkau.floats.push(zkCmbox._pop=new zk.FloatCombo());}zkBdbox=zkCmbox;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -