Extjs Plugins May 2026
init: function(host) host.myNewMethod = this.myNewMethod.bind(this); , myNewMethod: function() console.log('Called from host component');
init: function(grid) this.grid = grid; grid.addCls('grid-with-expander'); // Add a new column for expand/collapse grid.reconfigure(grid.getStore(), [ xtype: 'actioncolumn', width: 30, items: [ iconCls: 'x-fa fa-plus', handler: this.toggleRow.bind(this) ] ].concat(grid.getColumns())); if (this.getExpandOnDblClick()) grid.on('itemdblclick', this.onItemDblClick, this); ,
updateButtonVisibility: function(field, newVal) this.clearBtn.setVisible(!Ext.isEmpty(newVal)); extjs plugins
onHostDestroy: function() console.log('Component destroyed:', this.host.getId());
clearField: function() this.field.setValue(''); this.field.focus(); , init: function(host) host
onHostRender: function() console.log('Component rendered:', this.host.getId()); ,
init: function(host) this.host = host; // Add event listeners if (this.getLogEvents()) host.on( afterrender: this.onHostRender, destroy: this.onHostDestroy, scope: this ); , init: function(grid) this.grid = grid
Plugin Aliases and Lazy Instantiation // In plugin definition Ext.define('MyApp.plugin.ToolbarDock', alias: 'plugin.toolbardock' ); // In component config