[pbs-devel] [PATCH proxmox-backup 1/1] ui: dashboard: node status: use repo status widget from widget-toolkit

Fabian Ebner f.ebner at proxmox.com
Thu Jul 22 15:27:35 CEST 2021


Signed-off-by: Fabian Ebner <f.ebner at proxmox.com>
---
 www/Dashboard.js      |  7 +++--
 www/panel/NodeInfo.js | 68 ++-----------------------------------------
 2 files changed, 8 insertions(+), 67 deletions(-)

diff --git a/www/Dashboard.js b/www/Dashboard.js
index 70c2305b..7d3244fd 100644
--- a/www/Dashboard.js
+++ b/www/Dashboard.js
@@ -62,7 +62,8 @@ Ext.define('PBS.Dashboard', {
 	updateRepositoryStatus: function(store, records, success) {
 	    if (!success) { return; }
 	    let me = this;
-	    me.lookup('nodeInfo').setRepositoryInfo(records[0].data['standard-repos']);
+	    let repoStatus = me.lookup('nodeInfo').down('#repositoryStatus');
+	    repoStatus.setRepositoryInfo(records[0].data['standard-repos']);
 	},
 
 	updateSubscription: function(store, records, success) {
@@ -72,7 +73,9 @@ Ext.define('PBS.Dashboard', {
 	    // 2 = all good, 1 = different leves, 0 = none
 	    let subStatus = status.toLowerCase() === 'active' ? 2 : 0;
 	    me.lookup('subscription').setSubStatus(subStatus);
-	    me.lookup('nodeInfo').setSubscriptionStatus(subStatus);
+
+	    let repoStatus = me.lookup('nodeInfo').down('#repositoryStatus');
+	    repoStatus.setSubscriptionStatus(subStatus);
 	},
 
 	updateTasks: function(store, records, success) {
diff --git a/www/panel/NodeInfo.js b/www/panel/NodeInfo.js
index ff96e8fc..f41eb3a3 100644
--- a/www/panel/NodeInfo.js
+++ b/www/panel/NodeInfo.js
@@ -20,37 +20,6 @@ Ext.define('PBS.NodeInfoPanel', {
 	padding: '0 10 5 10',
     },
 
-    viewModel: {
-	data: {
-	    subscriptionActive: '',
-	    noSubscriptionRepo: '',
-	    enterpriseRepo: '',
-	    testRepo: '',
-	},
-	formulas: {
-	    repoStatus: function(get) {
-		if (get('subscriptionActive') === '' || get('enterpriseRepo') === '') {
-		    return '';
-		}
-
-		if (get('noSubscriptionRepo') || get('testRepo')) {
-		    return 'non-production';
-		} else if (get('subscriptionActive') && get('enterpriseRepo')) {
-		    return 'ok';
-		} else if (!get('subscriptionActive') && get('enterpriseRepo')) {
-		    return 'no-sub';
-		} else if (!get('enterpriseRepo') || !get('noSubscriptionRepo') || !get('testRepo')) {
-		    return 'no-repo';
-		}
-		return 'unknown';
-	    },
-	    repoStatusMessage: function(get) {
-		const status = get('repoStatus');
-		return Proxmox.Utils.formatNodeRepoStatus(status, 'Proxmox Backup Server');
-	    },
-	},
-    },
-
     controller: {
 	xclass: 'Ext.app.ViewController',
 
@@ -179,16 +148,10 @@ Ext.define('PBS.NodeInfoPanel', {
 	    value: '',
 	},
 	{
+	    xtype: 'pmxNodeInfoRepoStatus',
 	    itemId: 'repositoryStatus',
-	    colspan: 2,
-	    printBar: false,
-	    title: gettext('Repository Status'),
-	    setValue: function(value) { // for binding below
-		this.updateValue(value);
-	    },
-	    bind: {
-		value: '{repoStatusMessage}',
-	    },
+	    product: 'Proxmox Backup Server',
+	    repoLink: '#pbsServerAdministration:aptrepositories',
 	},
     ],
 
@@ -198,31 +161,6 @@ Ext.define('PBS.NodeInfoPanel', {
 	me.setTitle(Proxmox.NodeName + ' (' + gettext('Uptime') + ': ' + uptime + ')');
     },
 
-    setRepositoryInfo: function(standardRepos) {
-	let me = this;
-	let vm = me.getViewModel();
-
-	for (const standardRepo of standardRepos) {
-	    const handle = standardRepo.handle;
-	    const status = standardRepo.status;
-
-	    if (handle === "enterprise") {
-		vm.set('enterpriseRepo', status);
-	    } else if (handle === "no-subscription") {
-		vm.set('noSubscriptionRepo', status);
-	    } else if (handle === "test") {
-		vm.set('testRepo', status);
-	    }
-	}
-    },
-
-    setSubscriptionStatus: function(status) {
-	let me = this;
-	let vm = me.getViewModel();
-
-	vm.set('subscriptionActive', status);
-    },
-
     initComponent: function() {
 	let me = this;
 
-- 
2.30.2






More information about the pbs-devel mailing list