* [pmg-devel] [PATCH pmg-gui] dashboard: node status: use repo status widget from widget-toolkit
@ 2021-07-22 13:31 Fabian Ebner
2021-07-23 7:09 ` Fabian Ebner
0 siblings, 1 reply; 2+ messages in thread
From: Fabian Ebner @ 2021-07-22 13:31 UTC (permalink / raw)
To: pmg-devel
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
---
Depends on
https://lists.proxmox.com/pipermail/pbs-devel/2021-July/003764.html
and needs a dependency bump for it.
js/Dashboard.js | 6 ++--
js/dashboard/NodeInfo.js | 72 ++--------------------------------------
2 files changed, 7 insertions(+), 71 deletions(-)
diff --git a/js/Dashboard.js b/js/Dashboard.js
index 3d8bca3..03965c6 100644
--- a/js/Dashboard.js
+++ b/js/Dashboard.js
@@ -140,7 +140,8 @@ Ext.define('PMG.Dashboard', {
var subscriptionPanel = me.lookup('subscription');
subscriptionPanel.setSubStatus(subStatus);
- me.lookup('nodeInfo').setSubscriptionStatus(subStatus);
+ let repoStatus = me.lookup('nodeInfo').down('#repositoryStatus');
+ repoStatus.setSubscriptionStatus(subStatus);
// the node info already displays this information in case there is no cluster
me.lookup('clusterResources').setHidden(records.length === 1);
@@ -174,7 +175,8 @@ Ext.define('PMG.Dashboard', {
}
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']);
},
init: function(view) {
diff --git a/js/dashboard/NodeInfo.js b/js/dashboard/NodeInfo.js
index bdf8f85..7952d03 100644
--- a/js/dashboard/NodeInfo.js
+++ b/js/dashboard/NodeInfo.js
@@ -17,41 +17,6 @@ Ext.define('PMG.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');
- let repoLink = ` <a data-qtip="${gettext("Open Repositories Panel")}"
- href="#pmgServerAdministration:aptrepositories">
- <i class="fa black fa-chevron-right txt-shadow-hover"></i>
- </a>`;
- return Proxmox.Utils.formatNodeRepoStatus(status, 'Proxmox Mail Gateway') + repoLink;
- },
- },
- },
-
items: [
{
itemId: 'nodecpu',
@@ -127,16 +92,10 @@ Ext.define('PMG.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 Mail Gateway',
+ repoLink: '#pmgServerAdministration:aptrepositories',
},
],
@@ -146,31 +105,6 @@ Ext.define('PMG.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 || 0;
-
- 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
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [pmg-devel] [PATCH pmg-gui] dashboard: node status: use repo status widget from widget-toolkit
2021-07-22 13:31 [pmg-devel] [PATCH pmg-gui] dashboard: node status: use repo status widget from widget-toolkit Fabian Ebner
@ 2021-07-23 7:09 ` Fabian Ebner
0 siblings, 0 replies; 2+ messages in thread
From: Fabian Ebner @ 2021-07-23 7:09 UTC (permalink / raw)
To: pmg-devel
There is an issue with the subscription status, namely that the
cluster-wide status is used for the node info. I'll send a v2 with a fix
for that too.
Am 22.07.21 um 15:31 schrieb Fabian Ebner:
> Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
> ---
>
> Depends on
> https://lists.proxmox.com/pipermail/pbs-devel/2021-July/003764.html
> and needs a dependency bump for it.
>
> js/Dashboard.js | 6 ++--
> js/dashboard/NodeInfo.js | 72 ++--------------------------------------
> 2 files changed, 7 insertions(+), 71 deletions(-)
>
> diff --git a/js/Dashboard.js b/js/Dashboard.js
> index 3d8bca3..03965c6 100644
> --- a/js/Dashboard.js
> +++ b/js/Dashboard.js
> @@ -140,7 +140,8 @@ Ext.define('PMG.Dashboard', {
> var subscriptionPanel = me.lookup('subscription');
> subscriptionPanel.setSubStatus(subStatus);
>
> - me.lookup('nodeInfo').setSubscriptionStatus(subStatus);
> + let repoStatus = me.lookup('nodeInfo').down('#repositoryStatus');
> + repoStatus.setSubscriptionStatus(subStatus);
>
> // the node info already displays this information in case there is no cluster
> me.lookup('clusterResources').setHidden(records.length === 1);
> @@ -174,7 +175,8 @@ Ext.define('PMG.Dashboard', {
> }
>
> 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']);
> },
>
> init: function(view) {
> diff --git a/js/dashboard/NodeInfo.js b/js/dashboard/NodeInfo.js
> index bdf8f85..7952d03 100644
> --- a/js/dashboard/NodeInfo.js
> +++ b/js/dashboard/NodeInfo.js
> @@ -17,41 +17,6 @@ Ext.define('PMG.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');
> - let repoLink = ` <a data-qtip="${gettext("Open Repositories Panel")}"
> - href="#pmgServerAdministration:aptrepositories">
> - <i class="fa black fa-chevron-right txt-shadow-hover"></i>
> - </a>`;
> - return Proxmox.Utils.formatNodeRepoStatus(status, 'Proxmox Mail Gateway') + repoLink;
> - },
> - },
> - },
> -
> items: [
> {
> itemId: 'nodecpu',
> @@ -127,16 +92,10 @@ Ext.define('PMG.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 Mail Gateway',
> + repoLink: '#pmgServerAdministration:aptrepositories',
> },
> ],
>
> @@ -146,31 +105,6 @@ Ext.define('PMG.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 || 0;
> -
> - 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;
>
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-07-23 7:10 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-22 13:31 [pmg-devel] [PATCH pmg-gui] dashboard: node status: use repo status widget from widget-toolkit Fabian Ebner
2021-07-23 7:09 ` Fabian Ebner
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal