X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/2e847cf21b8ab9d15fa167b315ca5b2fa92638fc..b37ceabb82336ee82757cd32efe353cfab8ec267:/examples/ux/RowEditor.js diff --git a/examples/ux/RowEditor.js b/examples/ux/RowEditor.js index 9076f414..19aee8d0 100644 --- a/examples/ux/RowEditor.js +++ b/examples/ux/RowEditor.js @@ -1,6 +1,6 @@ /*! - * Ext JS Library 3.1.1 - * Copyright(c) 2006-2010 Ext JS, LLC + * Ext JS Library 3.2.2 + * Copyright(c) 2006-2010 Ext JS, Inc. * licensing@extjs.com * http://www.extjs.com/license */ @@ -115,9 +115,10 @@ Ext.ux.grid.RowEditor = Ext.extend(Ext.Panel, { }, beforedestroy: function() { + this.stopMonitoring(); this.grid.getStore().un('remove', this.onStoreRemove, this); this.stopEditing(false); - Ext.destroy(this.btns); + Ext.destroy(this.btns, this.tooltip); }, refreshFields: function(){ @@ -258,15 +259,18 @@ Ext.ux.grid.RowEditor = Ext.extend(Ext.Panel, { ed = c.getEditor(); if(!ed){ ed = c.displayEditor || new Ext.form.DisplayField(); - }else{ - ed = ed.field; } if(i == 0){ ed.margins = pm('0 1 2 1'); } else if(i == len - 1){ ed.margins = pm('0 0 2 1'); } else{ - ed.margins = pm('0 1 2'); + if (Ext.isIE) { + ed.margins = pm('0 0 2 0'); + } + else { + ed.margins = pm('0 1 2 0'); + } } ed.setWidth(cm.getColumnWidth(i)); ed.column = c; @@ -395,16 +399,14 @@ Ext.ux.grid.RowEditor = Ext.extend(Ext.Panel, { if(this.isVisible()){ var index = 0, cm = this.grid.getColumnModel(), - c, - ed; + c; if(pt){ index = this.getTargetColumnIndex(pt); } for(var i = index||0, len = cm.getColumnCount(); i < len; i++){ c = cm.getColumnAt(i); - ed = c.getEditor(); - if(!c.hidden && ed){ - ed.field.focus(); + if(!c.hidden && c.getEditor()){ + c.getEditor().focus(); break; } } @@ -471,6 +473,17 @@ Ext.ux.grid.RowEditor = Ext.extend(Ext.Panel, { this.fireEvent('validation', this, valid); }, + lastVisibleColumn : function() { + var i = this.items.getCount() - 1, + c; + for(; i >= 0; i--) { + c = this.items.items[i]; + if (!c.hidden) { + return c; + } + } + }, + showTooltip: function(msg){ var t = this.tooltip; if(!t){ @@ -491,7 +504,7 @@ Ext.ux.grid.RowEditor = Ext.extend(Ext.Panel, { h = this.el.getHeight(); if(top + h >= scroll){ - t.initTarget(this.items.last().getEl()); + t.initTarget(this.lastVisibleColumn().getEl()); if(!t.rendered){ t.show(); t.hide();