diff --git a/src/components/Map/MapViewer/utils/listeners/useOlMapListeners.ts b/src/components/Map/MapViewer/utils/listeners/useOlMapListeners.ts index f2952ea6c15a3295ab906ba2bd6b2a8a7a1ef65a..bc0e97be5244161a81d1bf149e24153277e03554 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]); };