[pve-devel] [PATCH manager v2 12/22] use UpdateStore from widget toolkit
Dominik Csapak
d.csapak at proxmox.com
Mon Jan 15 15:18:00 CET 2018
Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
www/manager6/Makefile | 2 --
www/manager6/ceph/Monitor.js | 2 +-
www/manager6/ceph/Pool.js | 2 +-
www/manager6/ceph/Status.js | 2 +-
www/manager6/data/ObjectStore.js | 2 +-
www/manager6/data/ResourceStore.js | 2 +-
www/manager6/data/UpdateQueue.js | 67 -------------------------------------
www/manager6/data/UpdateStore.js | 68 --------------------------------------
www/manager6/dc/Health.js | 2 +-
www/manager6/dc/Log.js | 2 +-
www/manager6/dc/Summary.js | 2 +-
www/manager6/dc/Tasks.js | 2 +-
www/manager6/grid/Replication.js | 2 +-
www/manager6/node/ServiceView.js | 2 +-
14 files changed, 11 insertions(+), 148 deletions(-)
delete mode 100644 www/manager6/data/UpdateQueue.js
delete mode 100644 www/manager6/data/UpdateStore.js
diff --git a/www/manager6/Makefile b/www/manager6/Makefile
index 37d8144d..c81cbcae 100644
--- a/www/manager6/Makefile
+++ b/www/manager6/Makefile
@@ -19,8 +19,6 @@ JSSRC= \
VNCConsole.js \
data/TimezoneStore.js \
data/PVEProxy.js \
- data/UpdateQueue.js \
- data/UpdateStore.js \
data/DiffStore.js \
data/ObjectStore.js \
data/ResourceStore.js \
diff --git a/www/manager6/ceph/Monitor.js b/www/manager6/ceph/Monitor.js
index 7e755425..c27b5d27 100644
--- a/www/manager6/ceph/Monitor.js
+++ b/www/manager6/ceph/Monitor.js
@@ -67,7 +67,7 @@ Ext.define('PVE.node.CephMonList', {
var sm = Ext.create('Ext.selection.RowModel', {});
- var rstore = Ext.create('PVE.data.UpdateStore', {
+ var rstore = Ext.create('Proxmox.data.UpdateStore', {
interval: 3000,
storeid: 'ceph-mon-list' + nodename,
model: 'ceph-mon-list',
diff --git a/www/manager6/ceph/Pool.js b/www/manager6/ceph/Pool.js
index 33726f9a..100e6777 100644
--- a/www/manager6/ceph/Pool.js
+++ b/www/manager6/ceph/Pool.js
@@ -152,7 +152,7 @@ Ext.define('PVE.node.CephPoolList', {
var sm = Ext.create('Ext.selection.RowModel', {});
- var rstore = Ext.create('PVE.data.UpdateStore', {
+ var rstore = Ext.create('Proxmox.data.UpdateStore', {
interval: 3000,
storeid: 'ceph-pool-list' + nodename,
model: 'ceph-pool-list',
diff --git a/www/manager6/ceph/Status.js b/www/manager6/ceph/Status.js
index cda97867..88e64bde 100644
--- a/www/manager6/ceph/Status.js
+++ b/www/manager6/ceph/Status.js
@@ -268,7 +268,7 @@ Ext.define('PVE.node.CephStatus', {
}
me.callParent();
- me.store = Ext.create('PVE.data.UpdateStore', {
+ me.store = Ext.create('Proxmox.data.UpdateStore', {
storeid: 'ceph-status-' + nodename,
interval: 5000,
proxy: {
diff --git a/www/manager6/data/ObjectStore.js b/www/manager6/data/ObjectStore.js
index 6db1e6ce..f18c7a49 100644
--- a/www/manager6/data/ObjectStore.js
+++ b/www/manager6/data/ObjectStore.js
@@ -4,7 +4,7 @@
* Designed to work with the KeyValue model and the JsonObject data reader
*/
Ext.define('PVE.data.ObjectStore', {
- extend: 'PVE.data.UpdateStore',
+ extend: 'Proxmox.data.UpdateStore',
constructor: function(config) {
var me = this;
diff --git a/www/manager6/data/ResourceStore.js b/www/manager6/data/ResourceStore.js
index ccf085e3..03e546c5 100644
--- a/www/manager6/data/ResourceStore.js
+++ b/www/manager6/data/ResourceStore.js
@@ -1,5 +1,5 @@
Ext.define('PVE.data.ResourceStore', {
- extend: 'PVE.data.UpdateStore',
+ extend: 'Proxmox.data.UpdateStore',
singleton: true,
findVMID: function(vmid) {
diff --git a/www/manager6/data/UpdateQueue.js b/www/manager6/data/UpdateQueue.js
deleted file mode 100644
index d8c27980..00000000
--- a/www/manager6/data/UpdateQueue.js
+++ /dev/null
@@ -1,67 +0,0 @@
-// Serialize load (avoid too many parallel connections)
-Ext.define('PVE.data.UpdateQueue', {
- singleton: true,
-
- constructor : function(){
- var me = this;
-
- var queue = [];
- var queue_idx = {};
-
- var idle = true;
-
- var start_update = function() {
- if (!idle) {
- return;
- }
-
- var storeid = queue.shift();
- if (!storeid) {
- return;
- }
- var info = queue_idx[storeid];
- queue_idx[storeid] = null;
-
- info.updatestart = new Date();
-
- idle = false;
- info.store.load({
- callback: function(records, operation, success) {
- idle = true;
- if (info.callback) {
- var runtime = (new Date()).getTime() - info.updatestart.getTime();
- info.callback(runtime, success);
- }
- start_update();
- }
- });
- };
-
- Ext.apply(me, {
- queue: function(store, cb) {
- var storeid = store.storeid;
- if (!storeid) {
- throw "unable to queue store without storeid";
- }
- if (!queue_idx[storeid]) {
- queue_idx[storeid] = {
- store: store,
- callback: cb
- };
- queue.push(storeid);
- }
- start_update();
- },
- unqueue: function(store) {
- var storeid = store.storeid;
- if (!storeid) {
- throw "unabel to unqueue store without storeid";
- }
- if (queue_idx[storeid]) {
- Ext.Array.remove(queue,storeid);
- queue_idx[storeid] = null;
- }
- }
- });
- }
-});
diff --git a/www/manager6/data/UpdateStore.js b/www/manager6/data/UpdateStore.js
deleted file mode 100644
index a8bc9efe..00000000
--- a/www/manager6/data/UpdateStore.js
+++ /dev/null
@@ -1,68 +0,0 @@
-/* Extends the Ext.data.Store type
- * with startUpdate() and stopUpdate() methods
- * to refresh the store data in the background
- * Components using this store directly will flicker
- * due to the redisplay of the element ater 'config.interval' ms
- *
- * Note that you have to call yourself startUpdate() for the background load
- * to begin
- */
-Ext.define('PVE.data.UpdateStore', {
- extend: 'Ext.data.Store',
-
- isStopped: true,
-
- destroy: function() {
- var me = this;
- me.load_task.cancel();
- PVE.data.UpdateQueue.unqueue(me);
- me.callParent();
- },
-
- 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 (me.isStopped) {
- return;
- }
-
- if (PVE.Utils.authOK()) {
- PVE.data.UpdateQueue.queue(me, function(runtime, success) {
- var interval = config.interval + runtime*2;
- load_task.delay(interval, run_load_task);
- });
- } else {
- load_task.delay(200, run_load_task);
- }
- };
-
- Ext.apply(config, {
- startUpdate: function() {
- me.isStopped = false;
- run_load_task();
- },
- stopUpdate: function() {
- me.isStopped = true;
- load_task.cancel();
- PVE.data.UpdateQueue.unqueue(me);
- }
- });
-
- me.callParent([config]);
-
- me.load_task = load_task;
- }
-});
diff --git a/www/manager6/dc/Health.js b/www/manager6/dc/Health.js
index 3e336a1b..cca31e08 100644
--- a/www/manager6/dc/Health.js
+++ b/www/manager6/dc/Health.js
@@ -167,7 +167,7 @@ Ext.define('PVE.dc.Health', {
initComponent: function() {
var me = this;
- me.cephstore = Ext.create('PVE.data.UpdateStore', {
+ me.cephstore = Ext.create('Proxmox.data.UpdateStore', {
interval: 3000,
storeid: 'pve-cluster-ceph',
proxy: {
diff --git a/www/manager6/dc/Log.js b/www/manager6/dc/Log.js
index 62370eca..72aa3e6a 100644
--- a/www/manager6/dc/Log.js
+++ b/www/manager6/dc/Log.js
@@ -10,7 +10,7 @@ Ext.define('PVE.dc.Log', {
initComponent : function() {
var me = this;
- var logstore = new PVE.data.UpdateStore({
+ var logstore = Ext.create('Proxmox.data.UpdateStore', {
storeid: 'pve-cluster-log',
model: 'pve-cluster-log',
proxy: {
diff --git a/www/manager6/dc/Summary.js b/www/manager6/dc/Summary.js
index f93cc950..d593f0ba 100644
--- a/www/manager6/dc/Summary.js
+++ b/www/manager6/dc/Summary.js
@@ -57,7 +57,7 @@ Ext.define('PVE.dc.Summary', {
initComponent: function() {
var me = this;
- var rstore = Ext.create('PVE.data.UpdateStore', {
+ var rstore = Ext.create('Proxmox.data.UpdateStore', {
interval: 3000,
storeid: 'pve-cluster-status',
model: 'pve-dc-nodes',
diff --git a/www/manager6/dc/Tasks.js b/www/manager6/dc/Tasks.js
index 5d65bd2e..70798727 100644
--- a/www/manager6/dc/Tasks.js
+++ b/www/manager6/dc/Tasks.js
@@ -10,7 +10,7 @@ Ext.define('PVE.dc.Tasks', {
initComponent : function() {
var me = this;
- var taskstore = new PVE.data.UpdateStore({
+ var taskstore = Ext.create('Proxmox.data.UpdateStore', {
storeid: 'pve-cluster-tasks',
model: 'pve-tasks',
proxy: {
diff --git a/www/manager6/grid/Replication.js b/www/manager6/grid/Replication.js
index 654a8368..035cba2d 100644
--- a/www/manager6/grid/Replication.js
+++ b/www/manager6/grid/Replication.js
@@ -448,7 +448,7 @@ Ext.define('PVE.grid.ReplicaView', {
}
);
- me.rstore = Ext.create('PVE.data.UpdateStore', {
+ me.rstore = Ext.create('Proxmox.data.UpdateStore', {
storeid: 'pve-replica-' + me.nodename + me.vmid,
model: (mode === 'dc')? 'pve-replication' : 'pve-replication-state',
interval: 3000,
diff --git a/www/manager6/node/ServiceView.js b/www/manager6/node/ServiceView.js
index a676280a..b78d1766 100644
--- a/www/manager6/node/ServiceView.js
+++ b/www/manager6/node/ServiceView.js
@@ -13,7 +13,7 @@ Ext.define('PVE.node.ServiceView', {
throw "no node name specified";
}
- var rstore = Ext.create('PVE.data.UpdateStore', {
+ var rstore = Ext.create('Proxmox.data.UpdateStore', {
interval: 1000,
storeid: 'pve-services' + nodename,
model: 'pve-services',
--
2.11.0
More information about the pve-devel
mailing list