terra-draw
Version:
Frictionless map drawing across mapping provider
40 lines (39 loc) • 1.3 kB
TypeScript
import { TerraDraw } from "../terra-draw";
import { HistoryChange, TerraDrawUndoRedoInterface, TerraDrawUndoRedoOptions } from "./undo-redo-types";
export interface TerraDrawSessionUndoRedoInterface extends TerraDrawUndoRedoInterface {
register(options: {
draw: TerraDraw;
onHistoryChange: (historyChange: HistoryChange) => void;
}): void;
}
export declare class TerraDrawSessionUndoRedo implements TerraDrawSessionUndoRedoInterface {
private draw;
private onHistoryChange;
private readonly maxStackSize;
private historyById;
private undoStack;
private ignoreProgrammaticCreate;
private ignoreProgrammaticDelete;
private deletedFeatureIds;
private redoStack;
private isReplayingHistory;
constructor(options?: TerraDrawUndoRedoOptions);
register(options: {
draw: TerraDraw;
onHistoryChange: (historyChange: HistoryChange) => void;
}): void;
private emitStackChange;
private pushUndoStackEntry;
private pushRedoStackEntry;
private handleChange;
private handleFinish;
private isDrawing;
private applySnapshotDuringReplay;
canUndo(): boolean;
canRedo(): boolean;
undo(): boolean;
redo(): boolean;
clearHistory(): void;
undoSize(): number;
redoSize(): number;
}