📄 columnresizer-min.js
字号:
/*
* Ext JS Library 3.0 Pre-alpha
* Copyright(c) 2006-2008, Ext JS, LLC.
* licensing@extjs.com
*
* http://extjs.com/license
*/
Ext.ListView.ColumnResizer=Ext.extend(Ext.util.Observable,{minPct:.05,constructor:function(config){Ext.apply(this,config);Ext.ListView.ColumnResizer.superclass.constructor.call(this);},init:function(listView){this.view=listView;listView.on('render',this.initEvents,this);},initEvents:function(view){view.mon(view.innerHd,'mousemove',this.handleHdMove,this);this.tracker=new Ext.dd.DragTracker({onBeforeStart:this.onBeforeStart.createDelegate(this),onStart:this.onStart.createDelegate(this),onDrag:this.onDrag.createDelegate(this),onEnd:this.onEnd.createDelegate(this),tolerance:3,autoStart:300});this.tracker.initEl(view.innerHd);view.on('beforedestroy',this.tracker.destroy,this.tracker);},handleHdMove:function(e,t){var hw=5;var x=e.getPageX();var hd=e.getTarget('em',3,true);if(hd){var r=hd.getRegion();var ss=hd.dom.style;var pn=hd.dom.parentNode;if(x-r.left<=hw&&pn!=pn.parentNode.firstChild){this.activeHd=Ext.get(pn.previousSibling.firstChild);ss.cursor=Ext.isWebKit?'e-resize':'col-resize';}else if(r.right-x<=hw&&pn!=pn.parentNode.lastChild.previousSibling){this.activeHd=hd;ss.cursor=Ext.isWebKit?'w-resize':'col-resize';}else{delete this.activeHd;ss.cursor='';}}},onBeforeStart:function(e){this.dragHd=this.activeHd;return!!this.dragHd;},onStart:function(e){this.view.disableHeaders=true;this.proxy=this.view.el.createChild({cls:'x-list-resizer'});this.proxy.setHeight(this.view.el.getHeight());var x=this.tracker.getXY()[0];var w=this.view.innerHd.getWidth();this.hdX=this.dragHd.getX();this.hdIndex=this.view.findHeaderIndex(this.dragHd);this.proxy.setX(this.hdX);this.proxy.setWidth(x-this.hdX);this.minWidth=w*this.minPct;this.maxWidth=w-(this.minWidth*(this.view.columns.length-1-this.hdIndex));},onDrag:function(e){var cursorX=this.tracker.getXY()[0];this.proxy.setWidth((cursorX-this.hdX).constrain(this.minWidth,this.maxWidth));},onEnd:function(e){var nw=this.proxy.getWidth();this.proxy.remove();var index=this.hdIndex;var vw=this.view,cs=vw.columns,len=cs.length;var w=this.view.innerHd.getWidth(),minPct=this.minPct*100;var pct=Math.ceil((nw*100)/w);var diff=cs[index].width-pct;var each=Math.floor(diff/(len-1-index));var mod=diff-(each*(len-1-index));for(var i=index+1;i<len;i++){var cw=cs[i].width+each;var ncw=Math.max(minPct,cw);if(cw!=ncw){mod+=cw-ncw;}cs[i].width=ncw;}cs[index].width=pct;cs[index+1].width+=mod;delete this.dragHd;this.view.setHdWidths();this.view.refresh();setTimeout(function(){vw.disableHeaders=false;},100);}});
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -