UNPKG

@geogirafe/lib-geoportal

Version:

GeoGirafe is a flexible application to build online geoportals.

24 lines (23 loc) 958 B
import { MapBrowserEvent } from 'ol'; // Some events consist of multiple simpler events. gGEventDependencies defines // which additional events have to be considered/blocked when an event registers exclusively. export const gGEventDependencies = { 'map.select': ['map.mouseclick', 'map.mouseclick.ctrl', 'map.mouseclick.shift'], 'map.draw': ['map.mouseclick', 'map.mousedoubleclick'], 'map.modify': ['map.mouseclick'] }; const checkMouseButton = (evt, button) => { if (evt instanceof MapBrowserEvent && evt.originalEvent) { evt = evt.originalEvent; } return ((evt instanceof PointerEvent && evt.isPrimary) || evt instanceof MouseEvent) && evt.button === button; }; export const isPrimaryPointerAction = (evt) => { return checkMouseButton(evt, 0); }; export const isAlternateMouseClick = (evt) => { return checkMouseButton(evt, 2); }; export const isMouseWheelClick = (evt) => { return checkMouseButton(evt, 1); };