diff --git a/openmetadata-ui/src/main/resources/ui/src/components/EntityLineage/EntityLineage.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/EntityLineage/EntityLineage.component.tsx index 5635af3c1d9..f29705a8b7f 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/EntityLineage/EntityLineage.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/EntityLineage/EntityLineage.component.tsx @@ -118,6 +118,14 @@ const Entitylineage: FunctionComponent = ({ status: 'initial', }); + const getNodeClass = (node: FlowElement) => { + return `${ + node.id.includes(entityLineage.entity.id) && !isEditMode + ? 'leaf-node core' + : 'leaf-node' + }`; + }; + const selectedEntityHandler = (entity: EntityReference) => { setSelectedEntity(entity); }; @@ -232,7 +240,10 @@ const Entitylineage: FunctionComponent = ({ setElements((prevElements) => { return prevElements.map((el) => { if (el.id === selectedNode.id) { - return { ...el, className: 'leaf-node' }; + return { + ...el, + className: getNodeClass(el), + }; } else { return el; } @@ -317,7 +328,10 @@ const Entitylineage: FunctionComponent = ({ if (preEl.id === el.id) { return { ...preEl, className: `${preEl.className} selected-node` }; } else { - return { ...preEl, className: 'leaf-node' }; + return { + ...preEl, + className: getNodeClass(preEl), + }; } }); }); @@ -337,7 +351,10 @@ const Entitylineage: FunctionComponent = ({ data: { ...preEl.data, columns: tableColumns }, }; } else { - return { ...preEl, className: 'leaf-node' }; + return { + ...preEl, + className: getNodeClass(preEl), + }; } }) ); diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/EntityLineageUtils.tsx b/openmetadata-ui/src/main/resources/ui/src/utils/EntityLineageUtils.tsx index 0a6578cce97..6a0d9f5151c 100644 --- a/openmetadata-ui/src/main/resources/ui/src/utils/EntityLineageUtils.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/utils/EntityLineageUtils.tsx @@ -140,7 +140,7 @@ export const getLineageData = ( const [xVal, yVal] = [positionX * 2 * depth, y + positionY * posDepth]; return { - id: `node-${node.id}-${depth}`, + id: `${node.id}`, sourcePosition: Position.Right, targetPosition: Position.Left, type: 'default', @@ -174,14 +174,14 @@ export const getLineageData = ( UPStreamNodes.push(makeNode(node, 'from', depth, upDepth)); lineageEdges.push({ id: `edge-${up.fromEntity}-${id}-${depth}`, - source: `node-${node.id}-${depth}`, - target: edg ? edg.id : `node-${id}-${depth}`, + source: `${node.id}`, + target: edg ? edg.id : `${id}`, type: isEditMode ? edgeType : 'custom', arrowHeadType: ArrowHeadType.ArrowClosed, data: { id: `edge-${up.fromEntity}-${id}-${depth}`, - source: `node-${node.id}-${depth}`, - target: edg ? edg.id : `node-${id}-${depth}`, + source: `${node.id}`, + target: edg ? edg.id : `${id}`, sourceType: node.type, targetType: edg?.data?.entityType, onEdgeClick, @@ -216,14 +216,14 @@ export const getLineageData = ( DOWNStreamNodes.push(makeNode(node, 'to', depth, downDepth)); lineageEdges.push({ id: `edge-${id}-${down.toEntity}`, - source: edg ? edg.id : `node-${id}-${depth}`, - target: `node-${node.id}-${depth}`, + source: edg ? edg.id : `${id}`, + target: `${node.id}`, type: isEditMode ? edgeType : 'custom', arrowHeadType: ArrowHeadType.ArrowClosed, data: { id: `edge-${id}-${down.toEntity}`, - source: edg ? edg.id : `node-${id}-${depth}`, - target: `node-${node.id}-${depth}`, + source: edg ? edg.id : `${id}`, + target: `${node.id}`, sourceType: edg?.data?.entityType, targetType: node.type, onEdgeClick, @@ -291,7 +291,7 @@ export const getLineageData = ( const lineageData = [ { - id: `node-${mainNode.id}-1`, + id: `${mainNode.id}`, sourcePosition: 'right', targetPosition: 'left', type: