From cfcd30269f446659ec149663dae90170ff7fb46e Mon Sep 17 00:00:00 2001 From: johnnyfish Date: Wed, 30 Jul 2025 12:44:07 +0300 Subject: [PATCH] fix: update relationship lines when table width changes via expand/shrink button --- src/pages/editor-page/canvas/canvas.tsx | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/pages/editor-page/canvas/canvas.tsx b/src/pages/editor-page/canvas/canvas.tsx index fba6fc91..0689a98a 100644 --- a/src/pages/editor-page/canvas/canvas.tsx +++ b/src/pages/editor-page/canvas/canvas.tsx @@ -294,6 +294,7 @@ export const Canvas: React.FC = ({ initialTables }) => { setEdges, showDependenciesOnCanvas, databaseType, + tables, // Add tables to force edge recreation when table properties change ]); useEffect(() => { @@ -997,6 +998,19 @@ export const Canvas: React.FC = ({ initialTables }) => { width: event.data.table.width, }; + // Trigger a dimension change to force React Flow to update the node + onNodesChangeHandler([ + { + id: event.data.id, + type: 'dimensions', + dimensions: { + width: event.data.table.width, + height: node.measured?.height || 0, + }, + resizing: true, // Set resizing flag to ensure the change is processed + } as NodeDimensionChange, + ]); + newOverlappingGraph = findTableOverlapping( { node: { @@ -1051,7 +1065,14 @@ export const Canvas: React.FC = ({ initialTables }) => { setOverlapGraph(overlappingTablesInDiagram); } }, - [overlapGraph, setOverlapGraph, getNode, nodes, filteredSchemas] + [ + overlapGraph, + setOverlapGraph, + getNode, + nodes, + filteredSchemas, + onNodesChangeHandler, + ] ); events.useSubscription(eventConsumer);