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