From ffd72cf406427376b11d90f83d86d29d69725f10 Mon Sep 17 00:00:00 2001 From: Amlan Kumar Nandy <45410599+amlannandy@users.noreply.github.com> Date: Thu, 30 Jan 2025 00:15:19 +0530 Subject: [PATCH] chore: fix visibility toggle in host filters (#6976) --- .../InfraMonitoringHosts/HostsList.tsx | 19 +++++++++++++++++-- .../InfraMonitoring.styles.scss | 11 +++++++++++ .../K8sFiltersSidePanel.tsx | 19 +++++++++++++++++++ 3 files changed, 47 insertions(+), 2 deletions(-) diff --git a/frontend/src/container/InfraMonitoringHosts/HostsList.tsx b/frontend/src/container/InfraMonitoringHosts/HostsList.tsx index 01dcabed0e..bdacb99b8f 100644 --- a/frontend/src/container/InfraMonitoringHosts/HostsList.tsx +++ b/frontend/src/container/InfraMonitoringHosts/HostsList.tsx @@ -1,7 +1,7 @@ import './InfraMonitoring.styles.scss'; import { VerticalAlignTopOutlined } from '@ant-design/icons'; -import { Tooltip, Typography } from 'antd'; +import { Button, Tooltip, Typography } from 'antd'; import logEvent from 'api/common/logEvent'; import { HostListPayload } from 'api/infraMonitoring/getHostLists'; import HostMetricDetail from 'components/HostMetricsDetail'; @@ -11,6 +11,7 @@ import { usePageSize } from 'container/InfraMonitoringK8s/utils'; import { useGetHostList } from 'hooks/infraMonitoring/useGetHostList'; import { useQueryBuilder } from 'hooks/queryBuilder/useQueryBuilder'; import { useQueryOperations } from 'hooks/queryBuilder/useQueryBuilderOperations'; +import { Filter } from 'lucide-react'; import { useCallback, useEffect, useMemo, useState } from 'react'; import { useSelector } from 'react-redux'; import { AppState } from 'store/reducers'; @@ -140,7 +141,21 @@ function HostsList(): JSX.Element { )}
- +
+ {!showFilters && ( +
+ +
+ )} + +
{ + const handleClickOutside = (event: MouseEvent) => { + if ( + sidePanelRef.current && + !sidePanelRef.current.contains(event.target as Node) + ) { + onClose(); + } + }; + + document.addEventListener('mousedown', handleClickOutside); + + return () => { + document.removeEventListener('mousedown', handleClickOutside); + }; + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); + return (