撤销扩展
Undo 对象提供了一组用于撤销或重做已进行更改的方法。
有关撤销扩展的更多信息,请参阅 撤销/重做功能 文章。
方法
gantt.ext.undo 对象提供以下方法:
Undo() / Redo()
- undo (): void - 撤销在 gantt 中应用的更改
gantt.ext.undo.undo();
- redo (): void - 重新应用之前已撤销的更改
gantt.ext.undo.redo();
getUndoStack() / getRedoStack()
- getUndoStack (): UndoRedoAction[] - 获取用户执行的撤销操作栈
var stack = gantt.ext.undo.getUndoStack();
- getRedoStack (): UndoRedoAction[] - 获取可用的重做操作栈
var stack = gantt.ext.undo.getRedoStack();
返回的栈是撤销用户操作的数组。每个操作包含多个命令。命令是一个包含以下属性的对象:
- type - (string) 指定命令类型:"add"、"remove" 或 "update"
- entity - (string) 表示被更改对象的类型:"task" 或 "link"
- value - (object) 更改后的任务或链接对象
- oldValue - (object) 更改前的任务或链接对象
setUndoStack() / setRedoStack()
- setUndoStack (stack): void - 设置撤销用户操作的栈
- stack - (UndoRedoAction[]) - 要设置的撤销栈
gantt.ext.undo.setUndoStack(stack);
- setRedoStack (stack): void - 设置重做用户操作的栈
- stack - (UndoRedoAction[]) - 要设置的重做栈
gantt.ext.undo.setRedoStack(stack);
clearUndoStack() / clearRedoStack()
- clearUndoStack (): void - 清空撤销命令栈
gantt.ext.undo.clearUndoStack();
- clearRedoStack (): void - 清空重做命令栈
gantt.ext.undo.clearRedoStack();
saveState()
- saveState (id, entityType): boolean - 在更改发生前记录任务或链接的当前状态
- id - (string | number) - 任务或链接的标识符
- type - (string) - 指定与 id 对应的条目类型,支持的值为 "task" 或 "link"
gantt.ext.undo.saveState(1, "task");
gantt.ext.undo.saveState(1, "link");
更多详情请参见 Undoing/Redoing changes made from code 文章。
Back to top