From 95a37c877ef6a032401386801b7036ea444643ac Mon Sep 17 00:00:00 2001 From: leon-up9 <97597983+leon-up9@users.noreply.github.com> Date: Sun, 24 Apr 2022 11:53:30 +0300 Subject: [PATCH] fix/ui/Service-map-filtering-is-not-updated-after-refresh_TRA-4497 (#1033) * filter graph when refresh * change to const * listen only for getServicesForFilter Co-authored-by: Leon <> Co-authored-by: Igor Gov --- .../ServiceMapModal/ServiceMapModal.tsx | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/ui-common/src/components/ServiceMapModal/ServiceMapModal.tsx b/ui-common/src/components/ServiceMapModal/ServiceMapModal.tsx index 93729d514..266e1c108 100644 --- a/ui-common/src/components/ServiceMapModal/ServiceMapModal.tsx +++ b/ui-common/src/components/ServiceMapModal/ServiceMapModal.tsx @@ -78,15 +78,8 @@ export const ServiceMapModal: React.FC = ({ isOpen, onClos const serviceMapData: ServiceMapGraph = await getServiceMapDataApi() setServiceMapApiData(serviceMapData) const newGraphData: GraphData = { nodes: [], edges: [] } - - if (serviceMapData.nodes) { - newGraphData.nodes = serviceMapData.nodes.map(mapNodesDatatoGraph) - } - - if (serviceMapData.edges) { - newGraphData.edges = serviceMapData.edges.map(mapEdgesDatatoGraph) - } - + newGraphData.nodes = serviceMapData.nodes.map(mapNodesDatatoGraph) + newGraphData.edges = serviceMapData.edges.map(mapEdgesDatatoGraph) setGraphData(newGraphData) } catch (ex) { toast.error("An error occurred while loading Mizu Service Map, see console for mode details", { containerId: TOAST_CONTAINER_ID }); @@ -145,9 +138,11 @@ export const ServiceMapModal: React.FC = ({ isOpen, onClos useEffect(() => { - if (checkedServices.length > 0) return // only after refresh - filterServiceMap(checkedProtocols, getServicesForFilter.map(x => x.key).filter(serviceName => !Utils.isIpAddress(serviceName))) - }, [getServicesForFilter, checkedServices]) + if (checkedServices.length > 0) + filterServiceMap() + else + filterServiceMap(checkedProtocols, getServicesForFilter.map(x => x.key).filter(serviceName => !Utils.isIpAddress(serviceName))) + }, [getServicesForFilter]) useEffect(() => { getServiceMapData()