HistoryEditor
The HistoryEditor
interface is added to the Editor
when it is instantiated using the withHistory
method.
This adds properties to editor
that enables undo and redo in Slate.
There are also static methods for working with the Editor's undo/redo history.
Static methods
Undo and Redo
HistoryEditor.redo(editor: HistoryEditor): void
HistoryEditor.redo(editor: HistoryEditor): void
Redo to the next saved state.
HistoryEditor.undo(editor: HistoryEditor): void
HistoryEditor.undo(editor: HistoryEditor): void
Undo to the previous saved state.
Merging and Saving
HistoryEditor.withMerging(editor: HistoryEditor, fn: () => void): void
HistoryEditor.withMerging(editor: HistoryEditor, fn: () => void): void
Apply a series of changes inside a synchronous fn
, These operations will be merged into the previous history.
HistoryEditor.withNewBatch(editor: HistoryEditor, fn: () => void): void
HistoryEditor.withNewBatch(editor: HistoryEditor, fn: () => void): void
Apply a series of changes inside a synchronous fn
, ensuring that the first operation starts a new batch in the history. Subsequent operations will be merged as usual.
HistoryEditor.withoutMerging(editor: HistoryEditor, fn: () => void): void
HistoryEditor.withoutMerging(editor: HistoryEditor, fn: () => void): void
Apply a series of changes inside a synchronous fn
, without merging any of the new operations into previous save point in the history.
HistoryEditor.withoutSaving(editor: HistoryEditor, fn: () => void): void
HistoryEditor.withoutSaving(editor: HistoryEditor, fn: () => void): void
Apply a series of changes inside a synchronous fn
, without saving any of their operations into the history.
Check methods
HistoryEditor.isHistoryEditor(value: any): value is HistoryEditor
HistoryEditor.isHistoryEditor(value: any): value is HistoryEditor
Check if a value is a HistoryEditor
(i.e. it has the HistoryEditor
interface).
HistoryEditor.isMerging(editor: HistoryEditor): boolean | undefined
HistoryEditor.isMerging(editor: HistoryEditor): boolean | undefined
Get the merge flag's current value.
HistoryEditor.isSaving(editor: HistoryEditor): boolean | undefined
HistoryEditor.isSaving(editor: HistoryEditor): boolean | undefined
Get the saving flag's current value.
Instance methods
undo(): void
undo(): void
Undo the last batch of operations
redo(): void
redo(): void
Redo the last undone batch of operations
writeHistory(stack: 'undos'| 'redos', batch: any) => void
writeHistory(stack: 'undos'| 'redos', batch: any) => void
Push a batch of operations as either undos
or redos
onto editor.undos
or editor.redos
Last updated