拓展 / GraphHistory
接口: GraphHistory
画布所保存和显示的内容的有界的、会话范围的历史记录。
它是一条时间线,有一条线贯穿其中:线上方的所有内容都已发生,线下方的所有内容都已撤消并可以重做。撤消会将线向下移动穿过一个连续的跨度,重做会将其向上移动,任何新操作都会将其下方的任何内容搁浅。这里没有任何东西可以单独反转单个旧条目 - 即 graph.removeBySource,这是一个前向操作,并且是这样说的。
实施
方法
canRedo()
canRedo():
boolean
返回值
boolean
实现接口
GraphHistoryLike.canRedo
canUndo()
canUndo():
boolean
返回值
boolean
实现接口
GraphHistoryLike.canUndo
clear()
clear():
void
忘记一切。画布保持原样。
返回值
void
实现接口
GraphHistoryLike.clear
entries()
entries():
HistoryEntry[]
已完成的操作和可以撤消的操作,最新的在前 — 菜单呈现的顺序。
返回值
实现接口
GraphHistoryLike.entries
on()
on(
listener): () =>void
订阅历史的每一个变化——一个新的条目、一个跨度的旅行、一个清晰的。
参数
listener
(history) => void
返回值
():
void
返回值
void
实现接口
GraphHistoryLike.on
preview()
preview(
throughEntryId,direction):HistoryPreview
该跨度会做什么,与图表的副本进行比较,而不是从条目中求和 - 因此,通过稍后取消隐藏网络取消的隐藏为零,并且第二次运行也保证的节点不被算作离开。
参数
throughEntryId
string
direction
"undo" | "redo"
返回值
实现接口
GraphHistoryLike.preview
redo()
redo(
throughEntryId?):HistoryEntry[]
将跨度从线重新着陆到 throughEntryId — 默认情况下最近的未完成条目。和原来一样:没有提供者呼叫,没有重新选通,没有第二次通过钩子。
参数
throughEntryId?
string
返回值
实际重新应用的内容,最新的优先。
实现接口
GraphHistoryLike.redo
redoable()
redoable():
HistoryEntry[]
已撤消且可以重做的内容,最新的优先。任何新行动都会清空。
返回值
实现接口
GraphHistoryLike.redoable
undo()
undo(
throughEntryId?):HistoryEntry[]
撤消从最新条目到 throughEntryId 的范围 — 默认情况下仅最新条目。跨度内的密封条目会被传递而不是被围起来:它周围的条目是逐个元素命名的,因此跳过一个条目不会使其余条目打乱顺序。
整个跨度落地为 1 个 dataBatchChanged,并重新渲染一次。
参数
throughEntryId?
string
返回值
实际相反的内容,最新的在前。
实现接口
GraphHistoryLike.undo