public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Dominik Csapak <d.csapak@proxmox.com>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>,
	Matthias Heiserer <m.heiserer@proxmox.com>
Subject: Re: [pve-devel] [RFC widget-toolkit] ui: add InfoMultiWidget, to be used for RAM
Date: Wed, 15 Mar 2023 12:10:52 +0100	[thread overview]
Message-ID: <50132e2c-73aa-85df-4b6a-515f569fc5b6@proxmox.com> (raw)
In-Reply-To: <20230125112932.127145-5-m.heiserer@proxmox.com>

in general i'm not really happy with the manual insertion of a div here,
wouldn't it also be possible to extend the progressbar
and change the rendertemplate?

that way we could have a way nicer interface than
"get the dom element if it exists, and manually set the css classes"

further comments inline

On 1/25/23 12:29, Matthias Heiserer wrote:
> Signed-off-by: Matthias Heiserer <m.heiserer@proxmox.com>
> ---
>   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;

here you have to check if arcsize is set, because if it's
not, the result here is 'NaN' which gets interpreted as width: 0%

> +	    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;'

i know this was before the dark theme, but this should probably be a css variable?

> +		    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);
>   	}
>       },
>   





  reply	other threads:[~2023-03-15 11:11 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-25 11:29 [pve-devel] [RFC ] fix #1454 - include ZFS ARC in memory usage Matthias Heiserer
2023-01-25 11:29 ` [pve-devel] [RFC OPTIONAL pve-cluster 1/1] add arcsize to rrd Matthias Heiserer
2023-03-15 11:10   ` Dominik Csapak
2023-03-15 11:51     ` Matthias Heiserer
2023-03-16  6:53       ` DERUMIER, Alexandre
2023-03-17 13:17       ` Matthias Heiserer
2023-03-15 12:29     ` DERUMIER, Alexandre
2023-01-25 11:29 ` [pve-devel] [RFC common] procfstools: add arcsize to meminfo Matthias Heiserer
2023-01-25 11:29 ` [pve-devel] [PATCH manager 1/4] node/status: return arc size Matthias Heiserer
2023-01-25 11:29 ` [pve-devel] [RFC widget-toolkit] ui: add InfoMultiWidget, to be used for RAM Matthias Heiserer
2023-03-15 11:10   ` Dominik Csapak [this message]
2023-03-15 11:14   ` Dominik Csapak
2023-01-25 11:29 ` [pve-devel] [PATCH manager 2/4] store arcsize in rrd Matthias Heiserer
2023-01-25 11:29 ` [pve-devel] [PATCH manager 3/4] ui: node summary: show arc in rrd graph Matthias Heiserer
2023-01-25 11:29 ` [pve-devel] [PATCH manager 4/4] ui: node summary: show arc in RAM usage progress bar Matthias Heiserer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50132e2c-73aa-85df-4b6a-515f569fc5b6@proxmox.com \
    --to=d.csapak@proxmox.com \
    --cc=m.heiserer@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal