diff --git a/src/components/Map/MapViewer/utils/listeners/useOlMapListeners.ts b/src/components/Map/MapViewer/utils/listeners/useOlMapListeners.ts index d45b2ecc7255656eff698fbdb5ef036cd3ada5ef..5be3fd4cbf657d07bc3e958bda4e2c8b1205d812 100644 --- a/src/components/Map/MapViewer/utils/listeners/useOlMapListeners.ts +++ b/src/components/Map/MapViewer/utils/listeners/useOlMapListeners.ts @@ -68,13 +68,18 @@ export const useOlMapListeners = ({ view, mapInstance }: UseOlMapListenersInput) return; } - mapInstance.getViewport().addEventListener('contextmenu', e => { + const rightClickEvent = (e: MouseEvent): Promise<void> | undefined => { e.preventDefault(); coordinate.current = mapInstance.getEventCoordinate(e); pixel.current = mapInstance.getEventPixel(e); return handleRightClick(coordinate.current, pixel.current); - }); + }; + + mapInstance.getViewport().addEventListener('contextmenu', rightClickEvent); + + // eslint-disable-next-line consistent-return + return () => mapInstance.getViewport().removeEventListener('contextmenu', rightClickEvent); }, [mapInstance, handleRightClick]); };