import { LeafletArgs, PlayBackEvent } from "../EventInterface"; export namespace PopupOpen { export const NAME = 'OPEN_POPUP'; export interface EventArgs{ id:string; content:string; } export class Event implements PlayBackEvent { name: string = NAME; do(leafletArgs: LeafletArgs, args: EventArgs): void { leafletArgs.playback?.getMarkerById(args.id)?.bindPopup(args.content).openPopup(); } undo(leafletArgs: LeafletArgs, args: EventArgs): void { leafletArgs.playback?.getMarkerById(args.id)?.closePopup().unbindPopup(); } } } export namespace PopupClose { export const NAME = 'CLOSE_POPUP'; export interface EventArgs { id:string; content:string; } export class Event implements PlayBackEvent { name: string = NAME; do(leafletArgs: LeafletArgs, args: EventArgs): void { leafletArgs.playback?.getMarkerById(args.id)?.closePopup().unbindPopup(); } undo(leafletArgs: LeafletArgs, args: EventArgs): void { leafletArgs.playback?.getMarkerById(args.id)?.bindPopup(args.content).openPopup(); } } }