From 16abf0595fcbbe4e0698d45701d8672ab72431da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christopher=20Mo=CC=88ller?= Date: Mon, 16 Nov 2020 14:51:59 +0100 Subject: [PATCH] fix(edges): change xy positions to detect when edge is hidden --- src/container/EdgeRenderer/index.tsx | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/container/EdgeRenderer/index.tsx b/src/container/EdgeRenderer/index.tsx index 03fa1151..900a730f 100644 --- a/src/container/EdgeRenderer/index.tsx +++ b/src/container/EdgeRenderer/index.tsx @@ -47,20 +47,6 @@ function renderEdge( return null; } - const isVisible = onlyRenderVisibleElements - ? isEdgeVisible({ - sourcePos: sourceNode.__rf.position, - targetPos: targetNode.__rf.position, - width, - height, - transform, - }) - : true; - - if (!isVisible) { - return null; - } - const edgeType = edge.type || 'default'; const EdgeComponent = props.edgeTypes[edgeType] || props.edgeTypes.default; const sourceHandle = getHandle(sourceNode.__rf.handleBounds.source, sourceHandleId); @@ -87,6 +73,20 @@ function renderEdge( targetPosition ); + const isVisible = onlyRenderVisibleElements + ? isEdgeVisible({ + sourcePos: { x: sourceX, y: sourceY }, + targetPos: { x: targetX, y: targetY }, + width, + height, + transform, + }) + : true; + + if (!isVisible) { + return null; + } + const isSelected = selectedElements?.some((elm) => isEdge(elm) && elm.id === edge.id) || false; return (