From ef5a0e4749a8fe48ca51b092c2cc025f4928edd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mi=C5=82osz=20Grocholewski?= <m.grocholewski@atcomp.pl> Date: Wed, 5 Feb 2025 12:56:42 +0100 Subject: [PATCH] bugfix(mouse-click): deactivated default mouse clickwhen user edits map --- .../Map/MapViewer/utils/listeners/useOlMapListeners.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/components/Map/MapViewer/utils/listeners/useOlMapListeners.ts b/src/components/Map/MapViewer/utils/listeners/useOlMapListeners.ts index f2952ea6..bc0e97be 100644 --- a/src/components/Map/MapViewer/utils/listeners/useOlMapListeners.ts +++ b/src/components/Map/MapViewer/utils/listeners/useOlMapListeners.ts @@ -19,6 +19,7 @@ import { useHandlePinIconClick } from '@/components/Map/MapViewer/utils/listener import { onMapPositionChange } from '@/components/Map/MapViewer/utils/listeners/onMapPositionChange'; import { onPointerMove } from '@/components/Map/MapViewer/utils/listeners/onPointerMove'; import { View } from 'ol'; +import { isMapEditToolsActiveSelector } from '@/redux/mapEditTools/mapEditTools.selectors'; interface UseOlMapListenersInput { view: View; @@ -31,6 +32,7 @@ export const useOlMapListeners = ({ view, mapInstance }: UseOlMapListenersInput) const isResultDrawerOpen = useSelector(resultDrawerOpen); const modelElementsForCurrentModel = useSelector(modelElementsForCurrentModelSelector); const newReactionsForCurrentModel = useSelector(newReactionsForCurrentModelSelector); + const isMapEditToolsActive = useSelector(isMapEditToolsActiveSelector); const dispatch = useAppDispatch(); const coordinate = useRef<Coordinate>([]); const pixel = useRef<Pixel>([]); @@ -90,7 +92,7 @@ export const useOlMapListeners = ({ view, mapInstance }: UseOlMapListenersInput) }, [mapInstance]); useEffect(() => { - if (!mapInstance) { + if (!mapInstance || isMapEditToolsActive) { return; } @@ -100,10 +102,10 @@ export const useOlMapListeners = ({ view, mapInstance }: UseOlMapListenersInput) // eslint-disable-next-line consistent-return return () => unByKey(key); - }, [mapInstance, handleMapLeftClick]); + }, [mapInstance, handleMapLeftClick, isMapEditToolsActive]); useEffect(() => { - if (!mapInstance) { + if (!mapInstance || isMapEditToolsActive) { return; } @@ -123,5 +125,5 @@ export const useOlMapListeners = ({ view, mapInstance }: UseOlMapListenersInput) // eslint-disable-next-line consistent-return return () => mapInstance.getViewport().removeEventListener('contextmenu', rightClickEvent); - }, [mapInstance, handleRightClick]); + }, [mapInstance, handleRightClick, isMapEditToolsActive]); }; -- GitLab