В моей сетке есть столбец действий, который необходим для выполнения множества нетривиальных операций после нажатия на него. Я не хочу использовать метод обработчика только для того, чтобы избежать дублирования в моем коде. Я хочу обработать событие click из метода контроллера, который может быть вызван с нескольких сторон.
Вот мое определение столбца действий:
{
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')
}
Но, к сожалению, не поддерживается способ вызова метода контроллера (исключение метода не возникло).
Может ли кто-то помочь мне сконструировать рабочий запрос Компонента или показать пример того, как вызывать метод контроллера извне?