From 254800ab9be8d925573360802947e6dd5226fc76 Mon Sep 17 00:00:00 2001 From: moklick Date: Tue, 18 Mar 2025 09:09:36 +0100 Subject: [PATCH 1/3] refactor(minimap): do not show hidden nodes #5078 --- .../additional-components/MiniMap/MiniMap.tsx | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/packages/react/src/additional-components/MiniMap/MiniMap.tsx b/packages/react/src/additional-components/MiniMap/MiniMap.tsx index c7f1fdce..ad899043 100644 --- a/packages/react/src/additional-components/MiniMap/MiniMap.tsx +++ b/packages/react/src/additional-components/MiniMap/MiniMap.tsx @@ -15,6 +15,8 @@ import type { MiniMapProps } from './types'; const defaultWidth = 200; const defaultHeight = 150; +const filterHidden = (node: Node) => !node.hidden; + const selector = (s: ReactFlowState) => { const viewBB: Rect = { x: -s.transform[0] / s.transform[2], @@ -25,7 +27,10 @@ const selector = (s: ReactFlowState) => { return { viewBB, - boundingRect: s.nodeLookup.size > 0 ? getBoundsOfRects(getInternalNodesBounds(s.nodeLookup), viewBB) : viewBB, + boundingRect: + s.nodeLookup.size > 0 + ? getBoundsOfRects(getInternalNodesBounds(s.nodeLookup, { filter: filterHidden }), viewBB) + : viewBB, rfId: s.rfId, panZoom: s.panZoom, translateExtent: s.translateExtent, @@ -113,16 +118,16 @@ function MiniMapComponent({ const onSvgClick = onClick ? (event: MouseEvent) => { - const [x, y] = minimapInstance.current?.pointer(event) || [0, 0]; - onClick(event, { x, y }); - } + const [x, y] = minimapInstance.current?.pointer(event) || [0, 0]; + onClick(event, { x, y }); + } : undefined; const onSvgNodeClick = onNodeClick ? useCallback((event: MouseEvent, nodeId: string) => { - const node = store.getState().nodeLookup.get(nodeId)!; - onNodeClick(event, node); - }, []) + const node = store.getState().nodeLookup.get(nodeId)!; + onNodeClick(event, node); + }, []) : undefined; return ( From 3ae66142be47e0031981a8560cf6b19c634a2f17 Mon Sep 17 00:00:00 2001 From: moklick Date: Tue, 18 Mar 2025 09:11:29 +0100 Subject: [PATCH 2/3] refactor(svelte/minimap): do not show hidden nodes --- packages/svelte/src/lib/plugins/Minimap/Minimap.svelte | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/svelte/src/lib/plugins/Minimap/Minimap.svelte b/packages/svelte/src/lib/plugins/Minimap/Minimap.svelte index 789dc476..fa8e7703 100644 --- a/packages/svelte/src/lib/plugins/Minimap/Minimap.svelte +++ b/packages/svelte/src/lib/plugins/Minimap/Minimap.svelte @@ -76,7 +76,12 @@ $: { boundingRect = - $nodeLookup.size > 0 ? getBoundsOfRects(getInternalNodesBounds($nodeLookup), viewBB) : viewBB; + $nodeLookup.size > 0 + ? getBoundsOfRects( + getInternalNodesBounds($nodeLookup, { filter: (n) => !n.hidden }), + viewBB + ) + : viewBB; $nodes; } From 65825e89a6e2e7591087eb41ac89da4da7095f8f Mon Sep 17 00:00:00 2001 From: moklick Date: Tue, 18 Mar 2025 09:12:18 +0100 Subject: [PATCH 3/3] chore(changeset): add --- .changeset/twenty-sloths-reflect.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .changeset/twenty-sloths-reflect.md diff --git a/.changeset/twenty-sloths-reflect.md b/.changeset/twenty-sloths-reflect.md new file mode 100644 index 00000000..fda503ae --- /dev/null +++ b/.changeset/twenty-sloths-reflect.md @@ -0,0 +1,6 @@ +--- +'@xyflow/react': patch +'@xyflow/svelte': patch +--- + +Hidden nodes are not displayed in the mini map anymore