extjs: события в ответ на все изменения контейнера панели и его компонентов

У меня есть панель с конфигурацией "autoscroll:true", и она содержит сворачиваемые наборы полей. У меня есть график, который будет перерисовываться на основе изменений в этой панели, а также из ее компонентов.

что я хочу сделать, так это зафиксировать все эти события «изменения», чтобы правильно настроить график в соответствии с позициями компонентов панели.

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

1) прокрутка панели

здесь, как я могу вызвать событие «afterscorll», когда прокрутка панели заканчивается? я использовал: Ext.getCmp("XX").body.on(afterScroll',function(){}); но не работает.

2) набор полей развернуть/свернуть

а также мне интересно, существует ли унифицированное событие для фиксации этих изменений независимо от прокрутки или развертывания/свертывания наборов полей на этой панели? тогда мне нужно позвонить только один раз.


person Simon    schedule 09.05.2011    source источник


Ответы (1)


Я не знаю, правильно ли я вас понял; Вы можете всплывать события до родителя. Я делаю это во многих ситуациях, например, с событием изменения поля в форме.

Изменить: вот простой пример. Просто напечатано и не проверено. Но это покажет вам трюк.

MappingDialog = function(){
   return {
      init : function(){
         dialog = new Ext.Window({
            width:     200,
            height:    150,
            modal:     true,
            closable:  false,
            bubbleEvents: ['saveMapping'], // <- Array with events
            buttons: [{
               text:'Save',
               handler:function(){ this.fireEvent('saveMapping'); }
            }],
            listeners: {
               saveMapping : function() { // should not be called }
            }
         });

         this.addListener('saveMapping', this.saveData, this); // <- Attaching event to Parent (or hand through)
      },
      saveData : function(){ // <- implement eventhandling
         ... Save the data ...
      }
   }
};
person sra    schedule 10.05.2011