From 4a9ca62efde9d1613acce3f9b9750d8f0d7eb8fe Mon Sep 17 00:00:00 2001 From: choehn86 <42713647+choehn86@users.noreply.github.com> Date: Mon, 28 Apr 2025 11:00:02 -0400 Subject: [PATCH] Enhancement: Add support for specifying a datastore to PBS widget (#4614) Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com> --- src/utils/config/service-helpers.js | 6 ++++++ src/widgets/proxmoxbackupserver/component.jsx | 13 ++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/utils/config/service-helpers.js b/src/utils/config/service-helpers.js index c3df6579b..297e55a70 100644 --- a/src/utils/config/service-helpers.js +++ b/src/utils/config/service-helpers.js @@ -362,6 +362,9 @@ export function cleanServiceGroups(groups) { // proxmox node, + // proxmoxbackupserver + datastore, + // speedtest bitratePrecision, @@ -437,6 +440,9 @@ export function cleanServiceGroups(groups) { if (type === "proxmox") { if (node) widget.node = node; } + if (type === "proxmoxbackupserver") { + if (datastore) widget.datastore = datastore; + } if (type === "kubernetes") { if (namespace) widget.namespace = namespace; if (app) widget.app = app; diff --git a/src/widgets/proxmoxbackupserver/component.jsx b/src/widgets/proxmoxbackupserver/component.jsx index efc71bbba..b13f87565 100644 --- a/src/widgets/proxmoxbackupserver/component.jsx +++ b/src/widgets/proxmoxbackupserver/component.jsx @@ -29,7 +29,18 @@ export default function Component({ service }) { ); } - const datastoreUsage = datastoreData.data ? (datastoreData.data[0].used / datastoreData.data[0].total) * 100 : 0; + const datastoreIndex = !!widget.datastore + ? datastoreData.data.findIndex(function (ds) { + return ds.store == widget.datastore; + }) + : -1; + const datastoreUsage = + datastoreIndex > -1 + ? (datastoreData.data[datastoreIndex].used / datastoreData.data[datastoreIndex].total) * 100 + : (datastoreData.data.reduce((sum, datastore) => sum + datastore.used, 0) / + datastoreData.data.reduce((sum, datastore) => sum + datastore.total, 0)) * + 100; + const cpuUsage = hostData.data.cpu * 100; const memoryUsage = (hostData.data.memory.used / hostData.data.memory.total) * 100; const failedTasks = tasksData.total >= 100 ? "99+" : tasksData.total;