【发布时间】:2016-04-30 06:35:43
【问题描述】:
- 有什么方法可以从 UndoManager 中删除特定的堆栈值
或
-
pause/disable和start/enableUndoManager 的任何函数。
我希望不推送特定数据到UndoManager's stack。
【问题讨论】:
-
不可能不将增量推送到堆栈,因为在这种情况下无法撤消以前的增量,您还需要转换增量
-
一位用户说“不幸的是,实施起来相当复杂。看看现有的解决方案,如 sharejs、firebase 或 c9.ide.collab。最后一个使用 ignoreChanges 标志来忽略自己所做的更改 github .com/c9/c9.ide.collab/blob/master/ot/document.js#L192 并使用修改版本的 undomanger 重新设置撤消堆栈 github.com/c9/c9.ide.collab/blob/master/ot/ document.js#L737,你也可以使用你的变更转换算法——2小时前的用户“
-
c9.ide.collab 我猜这个代码 var rev = session.$undoManager.startNewGroup(); session.$undoManager.markIgnored(rev);但我想你的 api 没有 markIgnore 和 startNewGroup() 函数,对吧?您能否再解释一下,以便我继续。我什至不明白提示。
-
看起来 c9.ide.collab 使用了未完全实现的所需 api 的实验版本 github.com/c9/core/blob/master/node_modules/ace/lib/ace/…
标签: stack ace-editor undo-redo disabled-input pause