本文整理汇总了TypeScript中wed/editor.Editor.undo方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Editor.undo方法的具体用法?TypeScript Editor.undo怎么用?TypeScript Editor.undo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wed/editor.Editor
的用法示例。
在下文中一共展示了Editor.undo方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: it
it("undoing an attribute value change undoes the value change", () => {
let initial = getAttributeValuesFor(ps[7])[0].firstChild as Text;
caretManager.setCaret(initial, 4);
assert.equal(initial.data, "rend_value", "initial value");
editor.type("blah");
// We have to refetch because the decorations have been redone.
initial = getAttributeValuesFor(ps[7])[0].firstChild as Text;
assert.equal(initial.data, "rendblah_value");
caretCheck(editor, initial, 8, "caret after text insertion");
// Check that the data is also modified
const dataNode = editor.toDataNode(initial) as Attr;
assert.equal(dataNode.value, "rendblah_value");
editor.undo();
// We have to refetch because the decorations have been redone.
initial = getAttributeValuesFor(ps[7])[0].firstChild as Text;
assert.equal(initial.data, "rend_value");
caretCheck(editor, initial, 4, "caret after undo");
// Check that the data change has been undone.
assert.equal(dataNode.value, "rend_value", "value undone");
});
示例2: it
it("does not try to act on undo/redo changes", () => {
makeSplitMergeInputTrigger(
editor, mode, pSelector, key.makeKey(";"), BACKSPACE, DELETE);
let ps = editor.dataRoot.querySelectorAll("body p");
assert.equal(ps.length, 1);
editor.caretManager.setCaret(ps[0], 0);
// Synthetic event
const event = makeFakePasteEvent({
types: ["text/plain"],
getData: () => "ab;cd;ef",
});
editor.$guiRoot.trigger(event);
ps = editor.dataRoot.querySelectorAll("body p");
assert.equal(ps.length, 3);
assert.equal(cleanNamespace(ps[0].outerHTML), "<p>ab</p>");
assert.equal(cleanNamespace(ps[1].outerHTML), "<p>cd</p>");
assert.equal(cleanNamespace(ps[2].outerHTML),
"<p>efBlah blah <term>blah</term><term>blah2</term> blah.</p>",
"first split: 3rd part");
editor.undo();
ps = editor.dataRoot.querySelectorAll("body p");
assert.equal(ps.length, 1);
assert.equal(cleanNamespace(ps[0].outerHTML),
"<p>Blah blah <term>blah</term><term>blah2</term> blah.</p>",
"after undo");
editor.redo();
ps = editor.dataRoot.querySelectorAll("body p");
assert.equal(ps.length, 3, "after redo: length");
assert.equal(cleanNamespace(ps[0].outerHTML), "<p>ab</p>",
"after redo: 1st part");
assert.equal(cleanNamespace(ps[1].outerHTML), "<p>cd</p>",
"after redo: 2nd part");
assert.equal(cleanNamespace(ps[2].outerHTML),
"<p>efBlah blah <term>blah</term><term>blah2</term> blah.</p>",
"after redo: 3rd part");
});
示例3: mit
mit("merges on DELETE, and can undo", () => {
inputTriggerFactory.makeSplitMergeInputTrigger(
editor, mode, pSelector, ENTER, BACKSPACE, DELETE);
let ps = editor.dataRoot.querySelectorAll("body>p");
assert.equal(ps.length, 2,
"there should be 2 paragraphs before delete");
editor.caretManager.setCaret(ps[0].lastChild,
ps[0].lastChild!.nodeValue!.length);
editor.type(DELETE);
ps = editor.dataRoot.querySelectorAll("body>p");
assert.equal(ps.length, 1,
"there should be 1 paragraph after delete");
assert.equal(cleanNamespace(ps[0].outerHTML), "<p>BarFoo</p>");
editor.undo();
ps = editor.dataRoot.querySelectorAll("body>p");
assert.equal(ps.length, 2, "there should be 2 paragraphs after undo");
assert.equal(cleanNamespace(ps[0].outerHTML), "<p>Bar</p>");
assert.equal(cleanNamespace(ps[1].outerHTML), "<p>Foo</p>");
});