fix: fix svelte js race condition on metric selection change, see #335

- only dispatch new data to statsTable on 'load-all'
This commit is contained in:
Christoph Kluge 2025-02-14 16:18:58 +01:00
parent f7a67c72bf
commit 1b043838ea

View File

@ -148,17 +148,18 @@
zoomState = {...pendingZoomState}
}
// Set selected scope to min of returned scopes
// On additional scope request
if (selectedScope == "load-all") {
// Push scope to statsTable (Needs to be in this case, else newly selected 'Metric.svelte' renders cause statsTable race condition)
const statsTableData = $metricData.data.singleUpdate.filter((x) => x.scope !== "node")
if (statsTableData.length > 0) {
dispatch("more-loaded", statsTableData);
}
// Set selected scope to min of returned scopes
selectedScope = minScope(scopes)
nodeOnly = (selectedScope == "node") // "node" still only scope after load-all
}
const statsTableData = $metricData.data.singleUpdate.filter((x) => x.scope !== "node")
if (statsTableData.length > 0) {
dispatch("more-loaded", statsTableData);
}
patternMatches = statsPattern.exec(selectedScope)
if (!patternMatches) {