Tengo el 'tabpanel' - es el formulario 'principal' (vista). En este 'tabpanel' defino las diferentes pestañas - xtype 'panel'. Entonces, tengo una vista 'principal' (controlador), 'principal' y algunas pestañas. Las vistas de la pestaña se referencian en la vista 'principal'.Definir oyentes en el controlador ExtJS
Quiero definir el oyente del evento "activar" del panel de un niño en el controlador "principal". ¿Cómo puedo hacer eso?
el 'principal' controlador:
Ext.define('KP.controller.account.apartment.Main', {
extend: 'Ext.app.Controller',
views: ['account.apartment.Main',
'account.apartment.Requisites'
],
models: ['account.apartment.Requisites'
],
stores: ['account.apartment.Requisites'
],
init: function() {
}
});
La vista 'principal':
Ext.define('KP.view.account.apartment.Main', {
extend: 'Ext.window.Window',
alias: 'widget.ApartmentData',
height: 566,
width: 950,
activeItem: 0,
layout: {
type: 'fit'
},
autoShow: false,
initComponent: function() {
var me = this;
Ext.applyIf(me, {
items: [
{
xtype: 'tabpanel',
activeTab: 0,
deferredRender: true,
items: [
{
xtype: 'RequisitesApartment'
}
]
}
]
});
me.callParent(arguments);
}
});
El RequisitesApartment panel secundario (ver):
Ext.define('KP.view.account.apartment.Requisites', {
extend: 'Ext.panel.Panel',
alias: 'widget.RequisitesApartment',
id: 'panel_accountrequisites',
height: 350,
width: 1124,
autoScroll: true,
layout: {
type: 'fit'
},
listeners: {
activate: function() {
....load data....
...this listeners I want to push in 'main' controller...
}
},
initComponent: function() {
var me = this;
var grid_store = Ext.create('KP.store.account.apartment.Requisites');
Ext.applyIf(me, {
dockedItems: [
{
xtype: 'gridpanel',
height: 260,
autoScroll: true,
dock: 'bottom',
store: grid_store,
id: 'r_gridFlatParams',
forceFit: true,
columns: [
...some columns....
],
viewConfig: {
}
}
]
});
me.callParent(arguments);
}
});
Bueno, 'apartServList' no se puede encontrar en el código de ejemplo para i Será un poco difícil rastrear para otros por qué esta es la respuesta correcta. Yo incluido. Tal vez podrías editar tu pregunta. – sra
Y tenga en cuenta que mi ejemplo lo dirige al botón de tabulación, no a la pestaña. Hasta donde yo sé, el evento de activación de la pestaña no se borra al panel, ¿no es así? – sra
He editado mi respuesta, en el'x panel 'tengo el evento' activar '. – Oleg