From 35fa2926c65ea56edb30207322c4b89a2e98a154 Mon Sep 17 00:00:00 2001 From: moklick Date: Fri, 4 Oct 2019 22:42:03 +0200 Subject: [PATCH] fix(nodes): find all edges when node has multiple handles --- src/graph-utils.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/graph-utils.js b/src/graph-utils.js index e432db07..f932af22 100644 --- a/src/graph-utils.js +++ b/src/graph-utils.js @@ -129,7 +129,15 @@ export const getNodesInside = (nodes, bbox, transform = [0, 0, 1], partially = f export const getConnectedEdges = (nodes, edges) => { const nodeIds = nodes.map(n => n.id); - return edges.filter(e => nodeIds.includes(e.source) || nodeIds.includes(e.target)); + return edges.filter(e => { + const hasSourceHandleId = e.source.includes('__'); + const hasTargetHandleId = e.target.includes('__'); + + const sourceId = hasSourceHandleId ? e.source.split('__')[0] : e.source; + const targetId = hasTargetHandleId ? e.target.split('__')[0] : e.target; + + return nodeIds.includes(sourceId) || nodeIds.includes(targetId); + }); }; export const fitView = ({ padding = 0 } = {}) => {