pve-manager/www/manager/data/UpdateStore.js
Dietmar Maurer 7fc1bf3017 UpdateQueue: add callback
So that we can queue new things after loading is done.
2013-10-09 06:53:35 +02:00

45 lines
808 B
JavaScript

Ext.define('PVE.data.UpdateStore', {
extend: 'Ext.data.Store',
constructor: function(config) {
var me = this;
config = config || {};
if (!config.interval) {
config.interval = 3000;
}
if (!config.storeid) {
throw "no storeid specified";
}
var load_task = new Ext.util.DelayedTask();
var run_load_task = function() {
if (PVE.Utils.authOK()) {
PVE.data.UpdateQueue.queue(me, function(runtime, success) {
load_task.delay(config.interval, run_load_task);
});
} else {
load_task.delay(200, run_load_task);
}
};
Ext.apply(config, {
startUpdate: function() {
run_load_task();
},
stopUpdate: function() {
load_task.cancel();
}
});
me.callParent([config]);
me.on('destroy', function() {
load_task.cancel();
});
}
});