diff --git a/x-pack/plugins/observability_solution/infra/public/pages/metrics/inventory_view/components/nodes_overview.tsx b/x-pack/plugins/observability_solution/infra/public/pages/metrics/inventory_view/components/nodes_overview.tsx
index d42670f190fde..c2493df3a3968 100644
--- a/x-pack/plugins/observability_solution/infra/public/pages/metrics/inventory_view/components/nodes_overview.tsx
+++ b/x-pack/plugins/observability_solution/infra/public/pages/metrics/inventory_view/components/nodes_overview.tsx
@@ -145,6 +145,18 @@ export const NodesOverview = ({
currentTime={currentTime}
onFilter={handleDrilldown}
/>
+ {nodeType === assetType && detailsItemId && (
+
+ )}
);
}
diff --git a/x-pack/plugins/observability_solution/infra/public/pages/metrics/inventory_view/components/table_view.tsx b/x-pack/plugins/observability_solution/infra/public/pages/metrics/inventory_view/components/table_view.tsx
index 182c74c124fd9..e41bf377e40e1 100644
--- a/x-pack/plugins/observability_solution/infra/public/pages/metrics/inventory_view/components/table_view.tsx
+++ b/x-pack/plugins/observability_solution/infra/public/pages/metrics/inventory_view/components/table_view.tsx
@@ -17,6 +17,7 @@ import { InfraWaffleMapNode, InfraWaffleMapOptions } from '../../../../common/in
import { fieldToName } from '../lib/field_to_display_name';
import { NodeContextMenu } from './waffle/node_context_menu';
import { SnapshotNode, SnapshotNodePath } from '../../../../../common/http_api/snapshot_api';
+import { useAssetDetailsFlyoutState } from '../hooks/use_asset_details_flyout_url_state';
interface Props {
nodes: SnapshotNode[];
@@ -49,6 +50,16 @@ export const TableView = (props: Props) => {
const { nodes, options, formatter, currentTime, nodeType } = props;
const [openPopoverId, setOpenPopoverId] = useState(null);
+ const [_, setFlyoutUrlState] = useAssetDetailsFlyoutState();
+ const isFlyoutMode = nodeType === 'host' || nodeType === 'container';
+
+ const toggleAssetPopover = (uniqueID: string, nodeId: string) => {
+ if (isFlyoutMode) {
+ setFlyoutUrlState({ detailsItemId: nodeId, assetType: nodeType });
+ } else {
+ setOpenPopoverId(uniqueID);
+ }
+ };
const closePopover = () => setOpenPopoverId(null);
@@ -69,14 +80,14 @@ export const TableView = (props: Props) => {
setOpenPopoverId(uniqueID)}
+ onClick={() => toggleAssetPopover(uniqueID, item.node.id)}
>
{value}
);
- return (
+ return !isFlyoutMode ? (
{
options={options}
/>
+ ) : (
+ button
);
},
},