Скрытие пункта системного меню в ExtJS - PullRequest
0 голосов
/ 16 февраля 2011

У меня есть следующий код

var menus = Ext.air.SystemMenu;

    menus.add('File', [
        actions.newTask, 
        actions.newList, 
        actions.newFolder, 
        '-',{
            text:'Import...',
            handler: function(){
                var importer = new tx.Importer();
                importer.doImport(function(){
                    tx.data.lists.load();
                    root.reload();
                    loadList('root');
                    Ext.Msg.hide();
                });
            }
        },{
            text:'Export...',
            handler: function(){
                new tx.Exporter();
            }
        },
        '-', 
        actions.quit
    ]);

и я хочу скрыть элемент «Импорт». Я был в API для версии 3.3.0, и нет метода скрытия для класса Ext.air.SystemMenu. Как мне его скрыть?.

1 Ответ

1 голос
/ 16 февраля 2011

присвойте своей кнопке меню импорта идентификатор:

{
     text:'Import...',
     id: 'importBtn',
     handler: function(){
         var importer = new tx.Importer();
         importer.doImport(function(){
             tx.data.lists.load();
             root.reload();
             loadList('root');
             Ext.Msg.hide();
         });
     }
}

В исходном коде есть метод для наглядности (который просто отключает кнопку):

 setVisible : function(v){
    // could not find way to hide in air so disable?
    nativeItem.enabled = !v;
 },

Так что вы простонужно вызвать этот метод для кнопки:

Ext.getCmp('importBtn').setVisible(false);

Похоже, что он не предоставляет метод для полного его скрытия, поскольку метод setVisible только отключает его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...