by utilizing the itemclick event of a charts legend and storing it as
state.

Signed-off-by: Aaron Lauterer <a.laute...@proxmox.com>
---

Notes:
    this could potentially be squashed with (ui: GuestSummary: memory switch
            to stacked and add hostmem)

 www/manager6/panel/GuestSummary.js | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/www/manager6/panel/GuestSummary.js 
b/www/manager6/panel/GuestSummary.js
index 77ec3e3f..0f0bae23 100644
--- a/www/manager6/panel/GuestSummary.js
+++ b/www/manager6/panel/GuestSummary.js
@@ -30,6 +30,9 @@ Ext.define('PVE.guest.Summary', {
         var template = !!me.pveSelNode.data.template;
         var rstore = me.statusStore;
 
+        let hideMemhostStateKey = 'pve-vm-hide-memhost';
+        let sp = Ext.state.Manager.getProvider();
+
         let memoryFields = [
             {
                 type: 'area',
@@ -43,7 +46,7 @@ Ext.define('PVE.guest.Summary', {
                 fill: false,
                 yField: 'memhost',
                 title: gettext('Host memory usage'),
-                hidden: true,
+                hidden: sp.get(hideMemhostStateKey, true),
                 style: {
                     lineWidth: 2.5,
                     opacity: 1,
@@ -108,6 +111,12 @@ Ext.define('PVE.guest.Summary', {
                     unit: 'bytes',
                     powerOfTwo: true,
                     store: rrdstore,
+                    onLegendChange: function (_legend, record, _, seriesIndex) 
{
+                        if (seriesIndex === 2) {
+                            // third data series is clicked -> hostmem
+                            sp.set(hideMemhostStateKey, record.data.disabled);
+                        }
+                    },
                 },
                 {
                     xtype: 'proxmoxRRDChart',
@@ -185,7 +194,6 @@ Ext.define('PVE.guest.Summary', {
             rrdstore.startUpdate();
             me.on('destroy', rrdstore.stopUpdate);
         }
-        let sp = Ext.state.Manager.getProvider();
         me.mon(sp, 'statechange', function (provider, key, value) {
             if (key !== 'summarycolumns') {
                 return;
-- 
2.39.5



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to