import { LeafletArgs, PlayBackEvent } from "../EventInterface"; export namespace MoveMarker { export const NAME = 'MOVE_MARKER'; export interface EventArgs { id:string; position:[number,number]; prevPosition:[number,number]; noTrack?:boolean; trackColor?:string; } export class Event implements PlayBackEvent{ name: string = NAME; do(leafletArgs: LeafletArgs, args: EventArgs): void { const marker = leafletArgs.playback.getMarkerById(args.id); marker?.setLatLng([args.position[0],args.position[1]]); marker?.trackForward([args.position[0],args.position[1]], args.noTrack === null || args.noTrack === undefined ? true : !args.noTrack,args.trackColor) } undo(leafletArgs: LeafletArgs, args: EventArgs): void { const marker = leafletArgs.playback.getMarkerById(args.id); marker?.setLatLng([args.prevPosition[0],args.prevPosition[1]]); marker?.trackBackward(args.noTrack === null || args.noTrack === undefined ? true : !args.noTrack) } } }