编辑器的编辑历史记录
类型:HistoryInterface
new (engine: EngineInterface): HistoryInterface
reset
重置历史记录,会清空所有的历史记录
reset(): void;
hasUndo
是否有撤销操作
hasUndo(): boolean;
hasRedo
是否有重做操作
hasRedo(): boolean;
undo
执行撤销操作
undo(): void;
redo
执行重做操作
redo(): void;
onFilter
监听过滤存入历史记录的 operations
/*** 监听过滤存入历史记录堆栈中* @param filter true 过滤排除,false 记录到历史堆栈中*/onFilter(filter: (operation: Operation) => boolean): void
onSelf
监听当前变更 ops,并决定是否写入到历史记录
/**** @param collect 方法 undefined 默认延时保存,true 立即保存,false 立即丢弃。Promise<boolean> 阻拦接下来的所有ops直到返回false或者true*/onSelf(collect: (operations: Operation[]) => Promise<boolean> | boolean | undefined): void
clear
延时清除全部的历史记录
clear(): void;
saveOp
把当前还未保持的操作保存到堆栈里
saveOp(): void;
handleSelfOps
收集本地编辑的操作
/*** @param operations 操作集合* */handleSelfOps(operations: Operation[]): void;
handleRemoteOps
收集远程的操作(来自其它协同者的操作)
/*** @param operations 操作集合* */handleRemoteOps(operations: Operation[]): void;
getUndoOp
获取当前最前位置的撤销操作
getUndoOp(): Operation | undefined;
getRedoOp
获取当前最前位置的重做操作
getRedoOp(): Operation | undefined;
getCurrentRangePath
获取当前光标转换后的路径
getCurrentRangePath(): Path[];
getRangePathBeforeCommand
获取执行命令前记录的光标转换后的路径
getRangePathBeforeCommand(): Path[];