From 1031b3eb79caf6c6698f66e6c2c4b6edaec86e81 Mon Sep 17 00:00:00 2001 From: Christoph Kluge Date: Fri, 28 Feb 2025 13:06:40 +0100 Subject: [PATCH] fix: user and status view histogram selection - correctly loads selection for selected cluster - applies availablility for selected cluster --- web/frontend/src/Status.root.svelte | 4 ++-- web/frontend/src/User.root.svelte | 4 ++-- .../generic/select/HistogramSelection.svelte | 22 +++++++++++++------ 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/web/frontend/src/Status.root.svelte b/web/frontend/src/Status.root.svelte index a44a962..63a69f5 100644 --- a/web/frontend/src/Status.root.svelte +++ b/web/frontend/src/Status.root.svelte @@ -76,8 +76,8 @@ let isHistogramSelectionOpen = false; $: metricsInHistograms = cluster - ? ccconfig[`user_view_histogramMetrics:${cluster}`] || [] - : ccconfig.user_view_histogramMetrics || []; + ? ccconfig[`user_view_histogramMetrics:${cluster}`] || ( ccconfig['user_view_histogramMetrics'] || [] ) + : ccconfig['user_view_histogramMetrics'] || []; const client = getContextClient(); // Note: nodeMetrics are requested on configured $timestep resolution diff --git a/web/frontend/src/User.root.svelte b/web/frontend/src/User.root.svelte index fae972b..77c4e01 100644 --- a/web/frontend/src/User.root.svelte +++ b/web/frontend/src/User.root.svelte @@ -69,8 +69,8 @@ let metricBinOptions = [10, 20, 50, 100]; $: metricsInHistograms = selectedCluster - ? ccconfig[`user_view_histogramMetrics:${selectedCluster}`] || [] - : ccconfig.user_view_histogramMetrics || []; + ? ccconfig[`user_view_histogramMetrics:${selectedCluster}`] || ( ccconfig['user_view_histogramMetrics'] || [] ) + : ccconfig['user_view_histogramMetrics'] || []; const client = getContextClient(); $: stats = queryStore({ diff --git a/web/frontend/src/generic/select/HistogramSelection.svelte b/web/frontend/src/generic/select/HistogramSelection.svelte index 4e38123..48971b0 100644 --- a/web/frontend/src/generic/select/HistogramSelection.svelte +++ b/web/frontend/src/generic/select/HistogramSelection.svelte @@ -27,15 +27,23 @@ const client = getContextClient(); const initialized = getContext("initialized"); - let availableMetrics = [] - function loadHistoMetrics(isInitialized) { - if (!isInitialized) return; - const rawAvailableMetrics = getContext("globalMetrics").filter((gm) => gm?.footprint).map((fgm) => { return fgm.name }) - availableMetrics = [...rawAvailableMetrics] + function loadHistoMetrics(isInitialized, thisCluster) { + if (!isInitialized) return []; + + if (!thisCluster) { + return getContext("globalMetrics") + .filter((gm) => gm?.footprint) + .map((fgm) => { return fgm.name }) + } else { + return getContext("globalMetrics") + .filter((gm) => gm?.availability.find((av) => av.cluster == thisCluster)) + .filter((agm) => agm?.footprint) + .map((afgm) => { return afgm.name }) + } } - let pendingMetrics = [...metricsInHistograms]; // Copy + $: pendingMetrics = [...metricsInHistograms]; // Copy on change from above const updateConfigurationMutation = ({ name, value }) => { return mutationStore({ @@ -71,7 +79,7 @@ }); } - $: loadHistoMetrics($initialized); + $: availableMetrics = loadHistoMetrics($initialized, cluster);