X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/25ef3491bd9ae007ff1fc2b0d7943e6eaaccf775..6e39d509471fe9b4e2660e0d1631b350d0c66f40:/src/widgets/list/ColumnResizer.js diff --git a/src/widgets/list/ColumnResizer.js b/src/widgets/list/ColumnResizer.js index b9744019..5caf83e7 100644 --- a/src/widgets/list/ColumnResizer.js +++ b/src/widgets/list/ColumnResizer.js @@ -1,17 +1,17 @@ /*! - * Ext JS Library 3.0.3 + * Ext JS Library 3.1.0 * Copyright(c) 2006-2009 Ext JS, LLC * licensing@extjs.com * http://www.extjs.com/license */ /** - * @class Ext.ListView.ColumnResizer + * @class Ext.list.ColumnResizer * @extends Ext.util.Observable - *

Supporting Class for Ext.ListView.

+ *

Supporting Class for Ext.list.ListView

* @constructor * @param {Object} config */ -Ext.ListView.ColumnResizer = Ext.extend(Ext.util.Observable, { +Ext.list.ColumnResizer = Ext.extend(Ext.util.Observable, { /** * @cfg {Number} minPct The minimum percentage to allot for any column (defaults to .05) */ @@ -19,7 +19,7 @@ Ext.ListView.ColumnResizer = Ext.extend(Ext.util.Observable, { constructor: function(config){ Ext.apply(this, config); - Ext.ListView.ColumnResizer.superclass.constructor.call(this); + Ext.list.ColumnResizer.superclass.constructor.call(this); }, init : function(listView){ this.view = listView; @@ -51,10 +51,10 @@ Ext.ListView.ColumnResizer = Ext.extend(Ext.util.Observable, { if(x - r.left <= hw && pn != pn.parentNode.firstChild){ this.activeHd = Ext.get(pn.previousSibling.firstChild); - ss.cursor = Ext.isWebKit ? 'e-resize' : 'col-resize'; + 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'; + ss.cursor = Ext.isWebKit ? 'w-resize' : 'col-resize'; } else{ delete this.activeHd; ss.cursor = ''; @@ -91,30 +91,31 @@ Ext.ListView.ColumnResizer = Ext.extend(Ext.util.Observable, { }, onEnd: function(e){ + /* calculate desired width by measuring proxy and then remove it */ var nw = this.proxy.getWidth(); this.proxy.remove(); var index = this.hdIndex, - vw = this.view, - cs = vw.columns, + vw = this.view, + cs = vw.columns, len = cs.length, - w = this.view.innerHd.getWidth(), - minPct = this.minPct * 100; + w = this.view.innerHd.getWidth(), + minPct = this.minPct * 100, pct = Math.ceil((nw * vw.maxWidth) / w), - diff = cs[index].width - pct, + diff = (cs[index].width * 100) - pct, each = Math.floor(diff / (len-1-index)), mod = diff - (each * (len-1-index)); for(var i = index+1; i < len; i++){ - var cw = cs[i].width + each, + var cw = (cs[i].width * 100) + each, ncw = Math.max(minPct, cw); if(cw != ncw){ mod += cw - ncw; } - cs[i].width = ncw; + cs[i].width = ncw / 100; } - cs[index].width = pct; - cs[index+1].width += mod; + cs[index].width = pct / 100; + cs[index+1].width += (mod / 100); delete this.dragHd; vw.setHdWidths(); vw.refresh(); @@ -122,4 +123,7 @@ Ext.ListView.ColumnResizer = Ext.extend(Ext.util.Observable, { vw.disableHeaders = false; }, 100); } -}); \ No newline at end of file +}); + +// Backwards compatibility alias +Ext.ListView.ColumnResizer = Ext.list.ColumnResizer; \ No newline at end of file