此类处理编辑器的undo/redo历史级别。由于内置的undo/redo有重大缺陷,因此需要一个自定义的。
摘要
方法
| 名称 | 摘要 | 定义者 |
|---|---|---|
add() | 向undo列表中添加一个新的undo级别/快照。 |
|
beforeChange() | 存储一个书签,用于在执行undo操作时使用,以便选择是在更改之前进行的。 |
|
clear() | 移除所有的undo级别。 |
|
dispatchChange() | 发出一个change事件,以当前编辑器状态作为级别,以当前undoManager层作为lastLevel。 |
|
extra() | 通过首先应用第一个变更并将其存储到undo堆栈,然后回滚该变更并在堆栈上进行第二个变更,添加一个额外的“隐藏”undo级别。这将产生一个额外的undo级别,用户在执行undo之前不会看到。 |
|
hasRedo() | 如果undo管理器有任何redo级别,则返回true/false。 |
|
hasUndo() | 如果undo管理器有任何undo级别,则返回true/false。 |
|
ignore() | 将指定的mutator函数作为undo事务执行,但不添加undo级别。事务中任何添加undo级别的逻辑都会被忽略。因此,事务可以包含对execCommand或editor.insertContent的调用。 |
|
redo() | 重做上一次操作。 |
|
reset() | 重置undo管理器级别,清除所有级别并添加一个初始级别。 |
|
transact() | 将指定的mutator函数作为undo事务执行。修改之前的选择将被存储到undo堆栈中,如果DOM发生变化,则会添加一个新的undo级别。事务中任何添加undo级别的逻辑都会被忽略。因此,事务可以包含对execCommand或editor.insertContent的调用。 |
|
undo() | 撤销上一次操作。 |
|
方法
add()
add(level: Object, event: EditorEvent): Object
向undo列表中添加一个新的undo级别/快照。
参数
level (Object)- 可选的要添加的undo级别对象。event (EditorEvent)- 可选的负责创建undo级别的事件。
返回值
Object- 添加的undo级别,如果不需要级别则为null。
beforeChange()
beforeChange()
存储一个书签,用于在执行undo操作时使用,以便选择是在更改之前进行的。
clear()
clear()
移除所有的undo级别。
dispatchChange()
dispatchChange()
发出一个change事件,以当前编辑器状态作为级别,以当前undoManager层作为lastLevel。
extra()
extra(callback1: Function, callback2: Function)
通过首先应用第一个变更并将其存储到undo堆栈,然后回滚该变更并在堆栈上进行第二个变更,添加一个额外的“隐藏”undo级别。这将产生一个额外的undo级别,用户在执行undo之前不会看到。
参数
callback1 (Function)- 执行变更但作为“隐藏”的额外undo级别存储的函数。callback2 (Function)- 执行变更但显示给用户的函数。
hasRedo()
hasRedo(): Boolean
如果undo管理器有任何redo级别,则返回true/false。
返回值
Boolean- 如果undo管理器有任何redo级别,则为true/false。
hasUndo()
hasUndo(): Boolean
如果undo管理器有任何undo级别,则返回true/false。
返回值
Boolean- 如果undo管理器有任何undo级别,则为true/false。
ignore()
ignore(callback: Function)
将指定的mutator函数作为undo事务执行,但不添加undo级别。事务中任何添加undo级别的逻辑都会被忽略。因此,事务可以包含对execCommand或editor.insertContent的调用。
参数
callback (Function)- 要执行的函数,其中包含dom操作逻辑。
redo()
redo(): Object
重做上一次操作。
返回值
Object- redo级别,如果没有执行redo则为null。
reset()
reset()
重置undo管理器级别,清除所有级别并添加一个初始级别。
transact()
transact(callback: Function): Object
将指定的变更函数作为 undo 事务执行。修改前的选区将被存储到 undo 栈中,如果 DOM 发生变化,则会添加一个新的 undo 级别。事务中任何添加 undo 级别的逻辑都将被忽略。因此,事务可以包含对 execCommand 或 editor.insertContent 的调用。
参数
callback (Function)- 要执行的函数,其中包含 DOM 操作逻辑。
返回值
Object- 添加的 undo 级别,如果不需要级别则为 null。
undo()
undo(): Object
撤销上一步操作。
返回值
Object- undo 级别,如果未执行撤销则为 null。