У меня есть столбец действий в моей сетке, который необходим для выполнения множества нетривиальных операций после щелчка по нему. Я не хочу использовать метод обработчика только для того, чтобы избежать дублирования в моем коде. Я хочу обработать событие щелчка из метода контроллера, который можно вызывать с нескольких сторон.
Вот мое определение столбца действий:
{
header: translator.translate('actions'),
xtype: 'actioncolumn',
width: 50,
items:[{
id : 'detailContactPerson',
icon : '/resources/images/pencil.png',
tooltip: translator.translate('show_detail')
}]
},
Но теперь я не знаю, как написать определение запроса компонента для настройки слушателя.
init: function() {
this.control({
'detailContactPerson': {
click: function(obj) {
var contactPerson = obj.up('container').contactPerson;
this.detail(contactPerson);
}
},
Второй способ, который я пробовал, - это вызвать метод контроллера напрямую из метода обработчика. Выглядит это так:
{
header: translator.translate('actions'),
xtype: 'actioncolumn',
width: 50,
items:[{
id : 'detailContactPerson',
icon : '/resources/images/pencil.png',
handler: function(contactPerson){
Project.controller.contactPerson.detail(contactPerson);
},
tooltip: translator.translate('show_detail')
}
Но, к сожалению, этот способ вызова метода контроллера не поддерживается (исключение метода не возникает).
Может ли кто-нибудь помочь мне создать рабочий запрос компонента или показать какой-нибудь пример, как вызвать метод контроллера извне?