mirror of
https://github.com/ClusterCockpit/cc-backend
synced 2025-11-20 08:47:22 +01:00
add plot cursor sync to nodelist rows
This commit is contained in:
@@ -39,7 +39,7 @@
|
||||
yunit = "",
|
||||
title = "",
|
||||
forResources = false,
|
||||
plotSync,
|
||||
plotSync = null,
|
||||
} = $props();
|
||||
|
||||
/* Const Init */
|
||||
@@ -204,11 +204,7 @@
|
||||
live: true,
|
||||
},
|
||||
cursor: {
|
||||
drag: { x: true, y: true },
|
||||
sync: {
|
||||
key: plotSync.key,
|
||||
scales: ["x", null],
|
||||
}
|
||||
drag: { x: true, y: true }
|
||||
}
|
||||
};
|
||||
|
||||
@@ -293,6 +289,14 @@
|
||||
if (!uplot) {
|
||||
opts.width = ren_width;
|
||||
opts.height = ren_height;
|
||||
|
||||
if (plotSync) {
|
||||
opts.cursor.sync = {
|
||||
key: plotSync.key,
|
||||
scales: ["x", null],
|
||||
}
|
||||
}
|
||||
|
||||
uplot = new uPlot(opts, data, plotWrapper); // Data is uplot formatted [[X][Ymin][Yavg][Ymax]]
|
||||
plotSync.sub(uplot)
|
||||
} else {
|
||||
|
||||
@@ -48,6 +48,7 @@
|
||||
zoomState = null,
|
||||
thresholdState = null,
|
||||
extendedLegendData = null,
|
||||
plotSync = null,
|
||||
onZoom
|
||||
} = $props();
|
||||
|
||||
@@ -576,6 +577,14 @@
|
||||
if (!uplot) {
|
||||
opts.width = ren_width;
|
||||
opts.height = ren_height;
|
||||
|
||||
if (plotSync) {
|
||||
opts.cursor.sync = {
|
||||
key: plotSync.key,
|
||||
scales: ["x", null],
|
||||
}
|
||||
}
|
||||
|
||||
if (zoomState && metricConfig?.aggregation == "avg") {
|
||||
opts.scales = {...zoomState}
|
||||
} else if (zoomState && metricConfig?.aggregation == "sum") {
|
||||
@@ -584,6 +593,7 @@
|
||||
if ((thresholdState === thresholds?.normal)) { opts.scales = {...zoomState} };
|
||||
} // else: reset scaling to default
|
||||
}
|
||||
|
||||
uplot = new uPlot(opts, plotData, plotWrapper);
|
||||
} else {
|
||||
uplot.setSize({ width: ren_width, height: ren_height });
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
gql,
|
||||
getContextClient,
|
||||
} from "@urql/svelte";
|
||||
import uPlot from "uplot";
|
||||
import { Card, CardBody, Spinner } from "@sveltestrap/sveltestrap";
|
||||
import { maxScope, checkMetricDisabled, scramble, scrambleNames } from "../../generic/utils.js";
|
||||
import MetricPlot from "../../generic/plots/MetricPlot.svelte";
|
||||
@@ -25,6 +26,9 @@
|
||||
selectedMetrics,
|
||||
} = $props();
|
||||
|
||||
/* Var Init*/
|
||||
let plotSync = uPlot.sync(`nodeMetricStack-${nodeData.host}`);
|
||||
|
||||
/* Const Init */
|
||||
const client = getContextClient();
|
||||
const paging = { itemsPerPage: 50, page: 1 };
|
||||
@@ -159,6 +163,7 @@
|
||||
statisticsSeries={metricData.data?.metric.statisticsSeries}
|
||||
useStatsSeries={!!metricData.data?.metric.statisticsSeries}
|
||||
height={175}
|
||||
{plotSync}
|
||||
forNode
|
||||
/>
|
||||
<div class="my-2"></div>
|
||||
@@ -172,6 +177,7 @@
|
||||
series={metricData.data.metric.series}
|
||||
height={175}
|
||||
{extendedLegendData}
|
||||
{plotSync}
|
||||
forNode
|
||||
/>
|
||||
{/key}
|
||||
|
||||
Reference in New Issue
Block a user