diff --git a/packages/vue-flow/src/utils/graph.ts b/packages/vue-flow/src/utils/graph.ts index 41dd787e..60b6973b 100644 --- a/packages/vue-flow/src/utils/graph.ts +++ b/packages/vue-flow/src/utils/graph.ts @@ -113,7 +113,8 @@ export const parseEdge = (edge: Edge, defaults?: Partial): GraphEdge const getConnectedElements = (node: GraphNode, elements: Elements, dir: 'source' | 'target') => { if (!isNode(node)) return [] - const ids = elements.filter((e) => isEdge(e) && e.source === node.id).map((e) => isEdge(e) && e[dir]) + const origin = (dir === 'source' ? 'target' : 'source') + const ids = elements.filter((e) => isEdge(e) && e[origin] === node.id).map((e) => isEdge(e) && e[dir]) return elements.filter((e) => ids.includes(e.id)) } export const getOutgoers = (node: GraphNode, elements: Elements) => getConnectedElements(node, elements, 'target')