From b3cb8df65b717023443b220dacf9c56e402061e4 Mon Sep 17 00:00:00 2001 From: nick-delirium Date: Tue, 6 May 2025 16:47:53 +0200 Subject: [PATCH] ui: fix sankey start calculation --- frontend/app/components/Charts/SankeyChart.tsx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/frontend/app/components/Charts/SankeyChart.tsx b/frontend/app/components/Charts/SankeyChart.tsx index 4142e395e..6f51140e0 100644 --- a/frontend/app/components/Charts/SankeyChart.tsx +++ b/frontend/app/components/Charts/SankeyChart.tsx @@ -111,9 +111,13 @@ const EChartsSankey: React.FC = (props) => { if (echartNodes.length === 0) return; - const mainNodeLink = startPoint === 'end' ? echartNodes.findIndex(n => n.id === 0) : 0; + const startDepth = startPoint === 'end' ? Math.max(...echartNodes.map(n => n.depth ?? 0)) : 0; + const mainNodeLinks = echartNodes.filter(n => n.depth === startDepth).map(n => echartNodes.findIndex(node => node.id === n.id)) const startNodeValue = echartLinks - .filter((link) => startPoint === 'start' ? link.source === mainNodeLink : link.target === mainNodeLink) + .filter((link) => startPoint === 'start' + ? mainNodeLinks.includes(link.source) + : mainNodeLinks.includes(link.target) + ) .reduce((sum, link) => sum + link.value, 0); Object.keys(nodeValues).forEach((nodeId) => {