2016-08-08 7 views
0

Мне нужно добавить кнопку в быстрый запуск программы, но я не хочу открывать окно модуля, например кнопку выхода из системы, которая будет отображать подтверждающее сообщение, я пробовал это :Extjs добавить кнопку на рабочий стол TaskBar QuickStart

getTaskbarConfig: function() { 
      var ret = this.callParent(); 
      me = this; 
      return Ext.apply(ret, { 
       quickStart: [ 
        { name: 'Window', iconCls: 'icon-window', module: 'ext-win' }, 
        { name: 'Logout', iconCls:'logout', handler: me.onLogout} 
       ] 
      }); 
     }, 
onLogout: function() { 
     Ext.Msg.confirm('Logout', 'Are you sure you want to logout?'); 
    }, 

И я изменил функцию getQuickStart из TaskBar.js файла на это:

getQuickStart: function() { 
     var me = this, ret = { 
      minWidth: 20, 
      width: Ext.themeName === 'neptune' ? 70 : 60, 
      items: [], 
      enableOverflow: true 
     }; 

     Ext.each(this.quickStart, function (item) { 
      ret.items.push({ 
       tooltip: { text: item.name, align: 'bl-tl' }, 
       overflowText: item.name, 
       iconCls: item.iconCls, 
       module: item.module, 
       //handler: me.onQuickStartClick, **original code** 
       handler: item.handler == undefined ? me.onQuickStartClick : item.handler, 
       scope: me 
      }); 
     }); 

     return ret; 
    } 

Но это не работает, есть ли способ добавить простую кнопку на панели задач быстрого запуска?

+0

Можете ли вы предоставить скрипку для этого. Непонятно, что вы хотели попробовать? попробуйте https://fiddle.sencha.com –

+0

Я решил проблему и отправил ответ, спасибо за ваш ответ. – Remigio

ответ

0

Спасибо за ваш ответ. Я решил проблему. В TaskBar.js файл я изменил эту строку:

handler: item.handler == undefined ? me.onQuickStartClick : item.handler 

для этого:

handler: item.handler ? item.handler : me.onQuickStartClick 

На самом деле, для меня, как сделать то же самое, но по какой-либо странной причине код работает с этим изменением ,