From aae3f49eec34633f7fb977e83b46057f8407c22f Mon Sep 17 00:00:00 2001 From: peterkogo Date: Tue, 1 Apr 2025 12:39:42 +0200 Subject: [PATCH 1/2] make fitView fire even when onNodesChange is not implmented --- packages/react/src/components/BatchProvider/index.tsx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/react/src/components/BatchProvider/index.tsx b/packages/react/src/components/BatchProvider/index.tsx index 382324da..f41b79a8 100644 --- a/packages/react/src/components/BatchProvider/index.tsx +++ b/packages/react/src/components/BatchProvider/index.tsx @@ -42,13 +42,16 @@ export function BatchProvider[]; + + // We only want to fire onNodesChange if there are changes to the nodes if (changes.length > 0) { - onNodesChange(changes); + onNodesChange?.(changes); } else if (fitViewQueued) { // If there are no changes to the nodes, we still need to call setNodes // to trigger a re-render and fitView. @@ -61,6 +64,7 @@ export function BatchProvider(nodeQueueHandler); const edgeQueueHandler = useCallback((queueItems: QueueItem[]) => { From 75ab89420e3cd0fdc34baf06eabdc50113d4de7c Mon Sep 17 00:00:00 2001 From: peterkogo Date: Tue, 1 Apr 2025 12:40:28 +0200 Subject: [PATCH 2/2] add changeset --- .changeset/gentle-walls-hammer.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/gentle-walls-hammer.md diff --git a/.changeset/gentle-walls-hammer.md b/.changeset/gentle-walls-hammer.md new file mode 100644 index 00000000..21f4f3be --- /dev/null +++ b/.changeset/gentle-walls-hammer.md @@ -0,0 +1,5 @@ +--- +'@xyflow/react': patch +--- + +Fix fitView not working when onNodesChange is not defined.