mirror of
https://github.com/datahub-project/datahub.git
synced 2025-12-05 07:04:44 +00:00
fix(ui/lineage): Fix bug when hiding transformations: edges via queries would disappear (#13323)
This commit is contained in:
parent
825ac9ae7d
commit
284f26ddd3
@ -129,7 +129,7 @@ function connectEdges(rootUrn: string, { nodes, edges, adjacencyList }: ContextS
|
||||
addToAdjacencyList(newAdjacencyList, direction, id, neighbor);
|
||||
const edgeId = getEdgeId(id, neighbor, direction);
|
||||
const existingEdge = newEdges.get(edgeId);
|
||||
newEdges.set(edgeId, mergeEdges(edges.get(edgeId), existingEdge));
|
||||
newEdges.set(edgeId, mergeEdges(edges.get(edgeId), existingEdge, nodes));
|
||||
buildNewAdjacencyList(neighbor, direction);
|
||||
} else {
|
||||
buildNewAdjacencyList(neighbor, direction)?.forEach((child) => {
|
||||
@ -145,7 +145,7 @@ function connectEdges(rootUrn: string, { nodes, edges, adjacencyList }: ContextS
|
||||
isDisplayed: (firstEdge?.isDisplayed && secondEdge?.isDisplayed) ?? false,
|
||||
via: firstEdge?.via || secondEdge?.via,
|
||||
};
|
||||
newEdges.set(edgeId, mergeEdges(newEdge, existingEdge));
|
||||
newEdges.set(edgeId, mergeEdges(newEdge, existingEdge, nodes));
|
||||
});
|
||||
}
|
||||
});
|
||||
@ -168,13 +168,19 @@ function connectEdges(rootUrn: string, { nodes, edges, adjacencyList }: ContextS
|
||||
}
|
||||
|
||||
/** Merge two edges, each representing a different path between two nodes. */
|
||||
function mergeEdges(edgeA?: LineageEdge, edgeB?: LineageEdge): LineageEdge {
|
||||
function mergeEdges(
|
||||
edgeA: LineageEdge | undefined,
|
||||
edgeB: LineageEdge | undefined,
|
||||
nodes: Map<string, any>,
|
||||
): LineageEdge {
|
||||
const viaA = edgeA?.via && nodes.has(edgeA.via) ? edgeA.via : undefined;
|
||||
const viaB = edgeB?.via && nodes.has(edgeB.via) ? edgeB.via : undefined;
|
||||
return {
|
||||
isManual: edgeA?.isManual && edgeB?.isManual,
|
||||
created: getLatestTimestamp(edgeA?.created, edgeB?.created),
|
||||
updated: getLatestTimestamp(edgeA?.updated, edgeB?.updated),
|
||||
isDisplayed: (edgeA?.isDisplayed || edgeB?.isDisplayed) ?? false,
|
||||
via: edgeA?.via || edgeB?.via,
|
||||
via: viaA || viaB,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user