From 2084540ab15d86329ddff5b03aa3910f62e6ca48 Mon Sep 17 00:00:00 2001 From: Albrecht Degering Date: Tue, 28 Jul 2026 15:51:38 +0200 Subject: [PATCH] Keep dataflow nodes initialized --- webui/scripts/test-dataflow-page-structure.mjs | 2 ++ webui/src/features/dataflow/DataflowCanvas.tsx | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/webui/scripts/test-dataflow-page-structure.mjs b/webui/scripts/test-dataflow-page-structure.mjs index 9756873..503527f 100644 --- a/webui/scripts/test-dataflow-page-structure.mjs +++ b/webui/scripts/test-dataflow-page-structure.mjs @@ -14,6 +14,8 @@ const checks = [ [canvas.includes("application/x-govoplan-dataflow-node"), "palette drop handling"], [canvas.includes("isValidConnection"), "edge validation"], [canvas.includes("connectionRadius={32}"), "visible connection drop radius"], + [canvas.includes("initialWidth: 180"), "known initial node width"], + [canvas.includes('change.type !== "dimensions"'), "measurement-only change filtering"], [ moduleEntry.indexOf("@xyflow/react/dist/style.css") < moduleEntry.indexOf("./styles/dataflow.css"), diff --git a/webui/src/features/dataflow/DataflowCanvas.tsx b/webui/src/features/dataflow/DataflowCanvas.tsx index 87ff76d..2887d1b 100644 --- a/webui/src/features/dataflow/DataflowCanvas.tsx +++ b/webui/src/features/dataflow/DataflowCanvas.tsx @@ -69,6 +69,8 @@ export default function DataflowCanvas({ id: node.id, type: "dataflow", position: node.position, + initialWidth: 180, + initialHeight: node.type.startsWith("combine.") ? 64 : 54, selected: node.id === selectedNodeId, data: { label: node.label, @@ -180,7 +182,10 @@ export default function DataflowCanvas({ onInit={setInstance} onNodesChange={(changes) => { if (readOnly) return; - updateNodes(applyNodeChanges(changes, nodes)); + const graphChanges = changes.filter((change) => change.type !== "dimensions"); + if (graphChanges.length) { + updateNodes(applyNodeChanges(graphChanges, nodes)); + } }} onEdgesChange={(changes) => { if (readOnly) return;