此类处理编辑器的undo/redo历史级别。由于内置的undo/redo有重大缺陷,因此需要一个自定义的。

摘要

方法

名称摘要定义者

add()

向undo列表中添加一个新的undo级别/快照。

UndoManager

beforeChange()

存储一个书签,用于在执行undo操作时使用,以便选择是在更改之前进行的。

UndoManager

clear()

移除所有的undo级别。

UndoManager

dispatchChange()

发出一个change事件,以当前编辑器状态作为级别,以当前undoManager层作为lastLevel。

UndoManager

extra()

通过首先应用第一个变更并将其存储到undo堆栈,然后回滚该变更并在堆栈上进行第二个变更,添加一个额外的“隐藏”undo级别。这将产生一个额外的undo级别,用户在执行undo之前不会看到。

UndoManager

hasRedo()

如果undo管理器有任何redo级别,则返回true/false。

UndoManager

hasUndo()

如果undo管理器有任何undo级别,则返回true/false。

UndoManager

ignore()

将指定的mutator函数作为undo事务执行,但不添加undo级别。事务中任何添加undo级别的逻辑都会被忽略。因此,事务可以包含对execCommand或editor.insertContent的调用。

UndoManager

redo()

重做上一次操作。

UndoManager

reset()

重置undo管理器级别,清除所有级别并添加一个初始级别。

UndoManager

transact()

将指定的mutator函数作为undo事务执行。修改之前的选择将被存储到undo堆栈中,如果DOM发生变化,则会添加一个新的undo级别。事务中任何添加undo级别的逻辑都会被忽略。因此,事务可以包含对execCommand或editor.insertContent的调用。

UndoManager

undo()

撤销上一次操作。

UndoManager

方法

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。