fix(graph): getIncomers always returning itself
This commit is contained in:
@@ -113,7 +113,8 @@ export const parseEdge = (edge: Edge, defaults?: Partial<GraphEdge>): GraphEdge
|
|||||||
|
|
||||||
const getConnectedElements = (node: GraphNode, elements: Elements, dir: 'source' | 'target') => {
|
const getConnectedElements = (node: GraphNode, elements: Elements, dir: 'source' | 'target') => {
|
||||||
if (!isNode(node)) return []
|
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))
|
return elements.filter((e) => ids.includes(e.id))
|
||||||
}
|
}
|
||||||
export const getOutgoers = (node: GraphNode, elements: Elements) => getConnectedElements(node, elements, 'target')
|
export const getOutgoers = (node: GraphNode, elements: Elements) => getConnectedElements(node, elements, 'target')
|
||||||
|
|||||||
Reference in New Issue
Block a user