]>
git.proxmox.com Git - pve-manager.git/blob - www/manager5/data/UpdateStore.js
bf486115d39b837614a451959e3fb51408de5ea2
1 /* Extends the Ext.data.Store type
2 * with startUpdate() and stopUpdate() methods
3 * to refresh the store data in the background
4 * Components using this store directly will flicker
5 * due to the redisplay of the element ater 'config.interval' ms
7 Ext
.define('PVE.data.UpdateStore', {
8 extend
: 'Ext.data.Store',
10 constructor: function(config
) {
13 config
= config
|| {};
15 if (!config
.interval
) {
16 config
.interval
= 3000;
19 if (!config
.storeid
) {
20 throw "no storeid specified";
23 var load_task
= new Ext
.util
.DelayedTask();
25 var run_load_task = function() {
26 if (PVE
.Utils
.authOK()) {
27 PVE
.data
.UpdateQueue
.queue(me
, function(runtime
, success
) {
28 var interval
= config
.interval
+ runtime
*2;
29 load_task
.delay(interval
, run_load_task
);
32 load_task
.delay(200, run_load_task
);
37 startUpdate: function() {
40 stopUpdate: function() {
45 me
.callParent([config
]);
47 me
.on('destroy', function() {