sorry forgot one high level thing

while having it split up is nice in the gui, the user has no real
way of knowing what it actually represents.

i'd suggest adding a tooltip to the bar and/or modifying
the text in a way such that it's clear that this is the arc usage

On 1/25/23 12:29, Matthias Heiserer wrote:
Signed-off-by: Matthias Heiserer <[email protected]>
---
  src/Makefile                  |  1 +
  src/panel/NodeMemoryWidget.js | 28 ++++++++++++++++++++++++++++
  src/panel/StatusView.js       |  2 +-
  3 files changed, 30 insertions(+), 1 deletion(-)
  create mode 100644 src/panel/NodeMemoryWidget.js

diff --git a/src/Makefile b/src/Makefile
index 95da5aa..5a0213a 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -54,6 +54,7 @@ JSSRC=                                        \
        panel/EOLNotice.js              \
        panel/InputPanel.js             \
        panel/InfoWidget.js             \
+       panel/NodeMemoryWidget.js       \
        panel/LogView.js                \
        panel/NodeInfoRepoStatus.js     \
        panel/JournalView.js            \
diff --git a/src/panel/NodeMemoryWidget.js b/src/panel/NodeMemoryWidget.js
new file mode 100644
index 0000000..e54899e
--- /dev/null
+++ b/src/panel/NodeMemoryWidget.js
@@ -0,0 +1,28 @@
+Ext.define('Proxmox.widget.NodeMemory', {
+    extend: 'Proxmox.widget.Info',
+    alias: 'widget.pmxNodeMemoryWidget',
+
+    updateValue: function(text, usage, mem) {
+       let me = this;
+
+       let arcUse = me.el?.getById("arcsize")?.dom;
+       if (arcUse) {
+           usage = (mem.used - mem.arcsize) / mem.total;
+           arcUse.style["margin-right"] = `${(mem.free / mem.total) * 100}%`;
+       }
+       me.callParent([text, usage]);
+    },
+
+    initComponent: function() {
+       let me = this;
+       me.callParent();
+
+       me.down("#progress").on('boxready', (self) => {
+           self.bar.dom.insertAdjacentHTML("beforebegin",
+               `<div id='arcsize'
+                   style='margin-right: 100%; background-color: #86424c; 
width: auto;'
+                   class='x-progress-bar'>
+               </div>`);
+       });
+    },
+});
diff --git a/src/panel/StatusView.js b/src/panel/StatusView.js
index e2e81e2..7258f36 100644
--- a/src/panel/StatusView.js
+++ b/src/panel/StatusView.js
@@ -72,7 +72,7 @@ Ext.define('Proxmox.panel.StatusView', {
            if (Ext.isFunction(field.calculate)) {
                calculate = field.calculate;
            }
-           field.updateValue(renderer.call(field, used, max), calculate(used, 
max));
+           field.updateValue(renderer.call(field, used, max), calculate(used, 
max), used);
        }
      },



_______________________________________________
pve-devel mailing list
[email protected]
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to