@geogirafe/lib-geoportal
Version:
GeoGirafe is a flexible application to build online geoportals.
32 lines (31 loc) • 1.15 kB
TypeScript
import { Coordinate } from 'ol/coordinate';
export type MenuEntry = {
entry: string;
callback: (e: MouseEvent, mapCoordinate: Coordinate) => void;
};
/**
* Show a simple context menu when clicking on the map
*/
export declare class ContextMenu {
name: string;
private _active;
private readonly isExclusive;
private readonly map;
private readonly overlay;
private readonly container;
private readonly userInteractionManager;
private readonly openEventListener;
private readonly closeEventListener;
constructor(menuEntries?: MenuEntry[], isExclusive?: boolean, openCondition?: (evt: PointerEvent | MouseEvent, mapCoordinate: Coordinate) => boolean);
get visible(): boolean;
get active(): boolean;
setActive(active: boolean): void;
private enable;
private disable;
private handleContextmenuEvent;
updateMenuEntries(menuEntries: MenuEntry[]): void;
openMenu(mapCoordinates: Coordinate): void;
closeMenu(): void;
onClickMenuEntry(evt: PointerEvent | MouseEvent, callback: (e: PointerEvent | MouseEvent, mapCoordinate: Coordinate) => void): void;
remove(): void;
}