diff --git a/ui-common/src/components/ServiceMapModal/ServiceMapModal.tsx b/ui-common/src/components/ServiceMapModal/ServiceMapModal.tsx index 9737891c4..8a223a196 100644 --- a/ui-common/src/components/ServiceMapModal/ServiceMapModal.tsx +++ b/ui-common/src/components/ServiceMapModal/ServiceMapModal.tsx @@ -130,7 +130,7 @@ export const ServiceMapModal: React.FC = ({ isOpen, onClos return [...resolved, ...unResolved] }, [serviceMapApiData]) - const filterServiceMap = (newProtocolsFilters?: any[], newServiceFilters?: string[]) => { + const filterServiceMap = useCallback((newProtocolsFilters?: any[], newServiceFilters?: string[]) => { const filterProt = newProtocolsFilters || checkedProtocols const filterService = newServiceFilters || checkedServices setCheckedProtocols(filterProt) @@ -140,12 +140,14 @@ export const ServiceMapModal: React.FC = ({ isOpen, onClos edges: serviceMapApiData.edges?.filter(edge => filterProt.includes(edge.protocol.abbr)).map(mapEdgesDatatoGraph) } setGraphData(newGraphData); - } + }, [checkedProtocols, checkedServices, serviceMapApiData]) + + useEffect(() => { if (checkedServices.length > 0) return // only after refresh filterServiceMap(checkedProtocols, getServicesForFilter.map(x => x.key).filter(serviceName => !Utils.isIpAddress(serviceName))) - }, [getServicesForFilter]) + }, [getServicesForFilter, checkedServices]) useEffect(() => { getServiceMapData() diff --git a/ui/src/index.sass b/ui/src/index.sass index 38bdd9f0e..b9fd88849 100644 --- a/ui/src/index.sass +++ b/ui/src/index.sass @@ -139,6 +139,7 @@ button ::-webkit-scrollbar width: 6px + height: 6px ::-webkit-scrollbar-thumb background-color: $light-blue-color