I have simple DelButton class:
DelButton = Ext.extend(Ext.Button, { ,disabled: false ,listeners: { ,selectionchange: function() { alert('!!!!'); } ,initComponent:function() { this.relayEvents(this.grid.getSelectionModel(), ['selectionchange']); DelButton.superclass.initComponent.call(this); } });
buildTBar: function(config) { config.tbar = {} config.tbar.push(new DelButton({grid:this })) },
buildConfig:function(config) { this.buildTBar(config) },
AbstractEditorGridPanel = Ext.extend(Ext.grid.EditorGridPanel, { initComponent:function() { var config = { defaults:{border:true, autoHeight:false } }; this.buildConfig(config); Ext.apply(this, Ext.apply(this.initialConfig, config)); AbstractEditorGridPanel.superclass.initComponent.call(this); }
Why relayEvent don't work in this case ? ( this.grid.getSelectionModel is exists )