diff --git a/datahub-web-react/src/app/homeV3/modules/hierarchyViewModule/treeView/TreeNodesRenderer.tsx b/datahub-web-react/src/app/homeV3/modules/hierarchyViewModule/treeView/TreeNodesRenderer.tsx index 6b72c2702a..e43937178d 100644 --- a/datahub-web-react/src/app/homeV3/modules/hierarchyViewModule/treeView/TreeNodesRenderer.tsx +++ b/datahub-web-react/src/app/homeV3/modules/hierarchyViewModule/treeView/TreeNodesRenderer.tsx @@ -10,14 +10,22 @@ const Wrapper = styled.div` width: 100%; `; +const InlineBlockWrapper = styled.div<{ $hasExpanded: boolean }>` + display: inline-block; + min-width: calc(100% - 20px); + ${(props) => !props.$hasExpanded && 'width: calc(100% - 20px);'} +`; + export default function TreeNodesRenderer() { - const { nodes } = useTreeViewContext(); + const { nodes, hasAnyExpanded } = useTreeViewContext(); return ( - - {nodes.map((node) => ( - - ))} - + + + {nodes.map((node) => ( + + ))} + + ); } diff --git a/datahub-web-react/src/app/homeV3/modules/hierarchyViewModule/treeView/context/TreeViewContext.tsx b/datahub-web-react/src/app/homeV3/modules/hierarchyViewModule/treeView/context/TreeViewContext.tsx index 30bb87ebb9..46621c7b2c 100644 --- a/datahub-web-react/src/app/homeV3/modules/hierarchyViewModule/treeView/context/TreeViewContext.tsx +++ b/datahub-web-react/src/app/homeV3/modules/hierarchyViewModule/treeView/context/TreeViewContext.tsx @@ -11,6 +11,7 @@ const DEFAULT_TREE_VIEW_CONTEXT: TreeViewContextType = { getIsExpandable: () => false, getIsExpanded: () => false, + hasAnyExpanded: false, expand: () => {}, collapse: () => {}, toggleExpanded: () => {}, diff --git a/datahub-web-react/src/app/homeV3/modules/hierarchyViewModule/treeView/context/TreeViewContextProvider.tsx b/datahub-web-react/src/app/homeV3/modules/hierarchyViewModule/treeView/context/TreeViewContextProvider.tsx index f5ea86ea77..792637f434 100644 --- a/datahub-web-react/src/app/homeV3/modules/hierarchyViewModule/treeView/context/TreeViewContextProvider.tsx +++ b/datahub-web-react/src/app/homeV3/modules/hierarchyViewModule/treeView/context/TreeViewContextProvider.tsx @@ -89,6 +89,8 @@ export default function TreeViewContextProvider({ [internalExpandedValues], ); + const hasAnyExpanded = useMemo(() => internalExpandedValues.length > 0, [internalExpandedValues.length]); + const expand = useCallback( (node: TreeNode) => { initialChildrenLoad(node); // try to load initial children on expand @@ -247,6 +249,7 @@ export default function TreeViewContextProvider({ // Expanding getIsExpandable, getIsExpanded, + hasAnyExpanded, expand, collapse, toggleExpanded, diff --git a/datahub-web-react/src/app/homeV3/modules/hierarchyViewModule/treeView/types.ts b/datahub-web-react/src/app/homeV3/modules/hierarchyViewModule/treeView/types.ts index dbc2e5f28f..d69fe1918f 100644 --- a/datahub-web-react/src/app/homeV3/modules/hierarchyViewModule/treeView/types.ts +++ b/datahub-web-react/src/app/homeV3/modules/hierarchyViewModule/treeView/types.ts @@ -33,6 +33,7 @@ export interface TreeViewContextType { // Expand getIsExpandable: (node: TreeNode) => boolean; getIsExpanded: (node: TreeNode) => boolean; + hasAnyExpanded: boolean; expand: (node: TreeNode) => void; collapse: (node: TreeNode) => void; toggleExpanded: (node: TreeNode) => void;