diff --git a/frontend/src/container/InfraMonitoringK8s/Nodes/K8sNodesList.tsx b/frontend/src/container/InfraMonitoringK8s/Nodes/K8sNodesList.tsx index c6d35848ded..e448347d17b 100644 --- a/frontend/src/container/InfraMonitoringK8s/Nodes/K8sNodesList.tsx +++ b/frontend/src/container/InfraMonitoringK8s/Nodes/K8sNodesList.tsx @@ -50,6 +50,8 @@ function K8sNodesList({ const [currentPage, setCurrentPage] = useState(1); + const [expandedRowKeys, setExpandedRowKeys] = useState([]); + const [orderBy, setOrderBy] = useState<{ columnName: string; order: 'asc' | 'desc'; @@ -194,6 +196,12 @@ function K8sNodesList({ const handleGroupByRowClick = (record: K8sNodesRowData): void => { setSelectedRowData(record); + + if (expandedRowKeys.includes(record.key)) { + setExpandedRowKeys(expandedRowKeys.filter((key) => key !== record.key)); + } else { + setExpandedRowKeys([record.key]); + } }; useEffect(() => { @@ -396,6 +404,7 @@ function K8sNodesList({ } setGroupBy(groupBy); + setExpandedRowKeys([]); }, [groupByFiltersData], ); @@ -469,6 +478,7 @@ function K8sNodesList({ expandable={{ expandedRowRender: isGroupedByAttribute ? expandedRowRender : undefined, expandIcon: expandRowIconRenderer, + expandedRowKeys, }} /> )}