terra-draw
Version:
Frictionless map drawing across mapping provider
70 lines (69 loc) • 2.21 kB
TypeScript
import { TerraDrawModeState } from "../common";
import { HistoryCause, HistoryChange, TerraDrawUndoRedoInterface, TerraDrawUndoRedoOptions } from "./undo-redo-types";
export interface TerraDrawModeUndoRedoInterface extends TerraDrawUndoRedoInterface {
getMaxStackSize?(): number;
register(options: {
getModeState: () => string;
getModeHistorySizes: () => {
undoSize: number;
redoSize: number;
};
undoMode: () => void;
redoMode: () => void;
clearModeHistory: () => void;
onHistoryChange: (historyChange: HistoryChange) => void;
}): void;
canUndo(): boolean;
canRedo(): boolean;
getHistorySizes(): {
undoSize: number;
redoSize: number;
};
emitPushIfHistoryChangedFromLastSnapshot(): void;
emitPushIfHistoryChanged(before: {
undoSize: number;
redoSize: number;
}): void;
emitHistoryChange(cause: HistoryCause): void;
}
export declare class TerraDrawModeUndoRedo implements TerraDrawModeUndoRedoInterface {
private getModeState;
private getModeHistorySizes;
private undoMode;
private redoMode;
private clearModeHistory;
private onHistoryChange;
private readonly maxStackSize;
private lastHistorySizes;
constructor(options?: TerraDrawUndoRedoOptions);
getMaxStackSize(): number;
register(options: {
getModeState: () => TerraDrawModeState;
getModeHistorySizes: () => {
undoSize: number;
redoSize: number;
};
undoMode: () => void;
redoMode: () => void;
clearModeHistory: () => void;
onHistoryChange: (historyChange: HistoryChange) => void;
}): void;
private inDrawingState;
canUndo(): boolean;
canRedo(): boolean;
undo(): boolean;
redo(): boolean;
clearHistory(): void;
getHistorySizes(): {
undoSize: number;
redoSize: number;
};
undoSize(): number;
redoSize(): number;
emitPushIfHistoryChangedFromLastSnapshot(): void;
emitPushIfHistoryChanged(before: {
undoSize: number;
redoSize: number;
}): void;
emitHistoryChange(cause: HistoryCause): void;
}