Показать сообщение отдельно
  #2 (permalink)  
Старый 04.06.2015, 15:54
Аспирант
Отправить личное сообщение для Пролетарий Посмотреть профиль Найти все сообщения от Пролетарий
 
Регистрация: 01.06.2015
Сообщений: 57

Попробовал не динамически создавать закладки, а явно и всё заработало.

{
        xtype: 'tabpanel',
        region: 'center',
        layout: 'fit',
        reference: 'centerPanel',

        items:[{
            xtype: 'orderGroup',
            listeners: {
                 vieworder: 'onCreateTab'
            }
       }]
}


Как мне тоже самое сделать при динамическом создании закладок?

Сейчас, скажем при нажатии кнопок, создаю новые закладки вызывая эту функцию:

this.createTab(record.raw.panel, record, {
            xtype: record.raw.panel,
            title: record.raw.text,
            //listeners: {
            //    vieworder: function(view, record) {
                    //this.getController().fireViewEvent('vieworder', view, record);
            //    }
            //},
   
        });


Вот её реализация:
createTab: function (prefix, record, cfg) {
        var tabs = this.lookupReference('centerPanel'),
        id = prefix + '_' + record.getId(),
        tab = tabs.items.getByKey(id);
        if (!tab) {
            cfg.itemId = id;
            cfg.closable = true;
            tab = tabs.add(cfg);
        }
        
        tabs.setActiveTab(tab);
    },


Я попробовал добавить слушателя для каждой так созданной закладки, но эффект получается совершенно другой. (Я закомментировал тот участок как я это пытался делать). В этом случае событие перехватывает не закладка, а таблица внутри закладки.
Ответить с цитированием