Package io.keikai.doc.collab.utils
Class UndoManager
java.lang.Object
io.keikai.doc.collab.lib0.ObservableV2
io.keikai.doc.collab.utils.UndoManager
Fires 'stack-item-added' event when a stack item was added to either the undo- or
the redo-stack. You may store additional stack information via the
metadata property on `event.stackItem.meta` (it is a `Map` of metadata properties).
Fires 'stack-item-popped' event when a stack item was popped from either the
undo- or the redo-stack. You may restore the saved stack information from `event.stackItem.meta`.
-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsConstructorDescriptionUndoManager(AbstractType typeScope) UndoManager(AbstractType typeScope, UndoManagerOptions options) UndoManager(List<AbstractType> typeScopes) UndoManager(List<AbstractType> typeScopes, UndoManagerOptions options) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddToScope(AbstractType yType) voidaddToScope(List<AbstractType> yTypes) voidaddTrackedOrigin(Object origin) booleancanRedo()Are redo steps available?booleancanUndo()Are undo steps available?voidclear(boolean clearUndoStack, boolean clearRedoStack) static voidclearUndoManagerStackItem(Transaction tr, UndoManager um, StackItem stackItem) Clear an UndoManager stack item.voiddestroy()intgetDoc()longgetScope()booleanbooleanbooleanvoidonStackCleared(Consumer<UndoManager.StackClearedStatus> eventListener) voidonStackItemAdded(BiConsumer<StackItemEvent, UndoManager> eventListener) voidonStackItemAdded(Consumer<StackItemEvent> eventListener) voidonStackItemPopped(BiConsumer<StackItemEvent, UndoManager> eventListener) voidonStackItemPopped(Consumer<StackItemEvent> eventListener) voidonStackItemUpdated(BiConsumer<StackItemEvent, UndoManager> eventListener) voidonStackItemUpdated(Consumer<StackItemEvent> eventListener) static StackItempopStackItem(UndoManager undoManager, List<StackItem> stack, String eventType) Pop an item from the undo/redo stack.redo()Redo last undo operation.voidremoveTrackedOrigin(Object origin) voidsetCurrStackItem(StackItem currStackItem) voidUndoManager merges Undo-StackItem if they are created within time-gap smaller than `options.captureTimeout`.undo()Undo last changes on type.
-
Constructor Details
-
UndoManager
- Parameters:
typeScope- Accepts single type
-
UndoManager
- Parameters:
typeScope- Accepts single typeoptions-
-
UndoManager
- Parameters:
typeScopes- Accepts an array of types
-
UndoManager
- Parameters:
typeScopes- Accepts an array of typesoptions-
-
-
Method Details
-
getScope
-
getDoc
-
getDeleteFilter
-
getTrackedOrigins
-
getCaptureTransaction
-
getUndoStack
-
getRedoStack
-
isUndoing
public boolean isUndoing() -
isRedoing
public boolean isRedoing() -
getCurrStackItem
-
setCurrStackItem
-
getLastChange
public long getLastChange() -
isIgnoreRemoteMapChanges
public boolean isIgnoreRemoteMapChanges() -
getCaptureTimeout
public int getCaptureTimeout() -
addToScope
- Parameters:
yType-
-
addToScope
- Parameters:
yTypes-
-
addTrackedOrigin
-
removeTrackedOrigin
-
clear
public void clear(boolean clearUndoStack, boolean clearRedoStack) -
stopCapturing
public void stopCapturing()UndoManager merges Undo-StackItem if they are created within time-gap smaller than `options.captureTimeout`. Call `um.stopCapturing()` so that the next StackItem won't be merged. -
undo
Undo last changes on type.- Returns:
- {StackItem?} Returns StackItem if a change was applied
-
redo
Redo last undo operation.- Returns:
- {StackItem?} Returns StackItem if a change was applied
-
canUndo
public boolean canUndo()Are undo steps available?- Returns:
- {boolean} `true` if undo is possible
-
canRedo
public boolean canRedo()Are redo steps available?- Returns:
- {boolean} `true` if redo is possible
-
destroy
public void destroy()- Overrides:
destroyin classObservableV2
-
clearUndoManagerStackItem
Clear an UndoManager stack item.- Parameters:
tr- The current transaction.um- The UndoManager instance.stackItem- The stack item to clear.
-
popStackItem
public static StackItem popStackItem(UndoManager undoManager, List<StackItem> stack, String eventType) Pop an item from the undo/redo stack.- Parameters:
undoManager- The UndoManager instance.stack- The stack from which to pop the item.eventType- The event type ("undo" or "redo").- Returns:
- The popped stack item, or null if no item was popped.
-
onStackItemAdded
-
onStackItemAdded
-
onStackItemPopped
-
onStackItemPopped
-
onStackCleared
-
onStackItemUpdated
-
onStackItemUpdated
-