2015-06-20 2 views
0

Я пытаюсь загрузить диаграмму/сетку, которая должна изменить данные, отображаемые через определенный промежуток времени. Я использовал ExtJs TaskRunner, который перезагружает хранилище (хранилище Project, которое извлекает данные с использованием прокси-типа ajax вызов) через определенный промежуток времени, который пользователь устанавливает из ползунка ExtJs.TaskRunner ExtJs с использованием слайдера

var runner = new Ext.util.TaskRunner(), 
     task = runner.start({ 
      run: function() { 
       store.reload(); 
      }, 
      interval: function(){ 
      return Ext.getCmp('myslider').value(); 
      } 
     }); 

    runner.stop(); 
} 

Вот мой Fiddle:

https://fiddle.sencha.com/#fiddle/p49 

интервал дается от ползунка не устанавливая на Бегуне. Как я могу присвоить значение с ползунка в Runner, и это правильный подход для отображения живых данных на приборной панели, при этом графики меняются всякий раз, когда данные из бэкэнд меняются.

ответ

1

Для установки нового бегуна с новым таймером вам нужно уничтожьте старый в прослушивателе слайдера нечто подобное.

, 
    listeners:{ 
     changecomplete: function(me, newValue, thumb, eOpts){ 
      console.log(newValue) 
      var val = newValue*1000; 
      //destroy the runner 
      runner.destroy() 
      //make a new runner and task and set teh new slider time 
      runner = new Ext.util.TaskRunner(); 
      task = runner.start({ 
      run: myRun, 
      interval: val 
      }); 
     } 
    }, 

полный ход код здесь: https://fiddle.sencha.com/#fiddle/p57

Смежные вопросы