39 lines
980 B
JavaScript
39 lines
980 B
JavaScript
// src/undo-redo/undo-redo.ts
|
|
import { Extension } from "@tiptap/core";
|
|
import { history, redo, undo } from "@tiptap/pm/history";
|
|
var UndoRedo = Extension.create({
|
|
name: "undoRedo",
|
|
addOptions() {
|
|
return {
|
|
depth: 100,
|
|
newGroupDelay: 500
|
|
};
|
|
},
|
|
addCommands() {
|
|
return {
|
|
undo: () => ({ state, dispatch }) => {
|
|
return undo(state, dispatch);
|
|
},
|
|
redo: () => ({ state, dispatch }) => {
|
|
return redo(state, dispatch);
|
|
}
|
|
};
|
|
},
|
|
addProseMirrorPlugins() {
|
|
return [history(this.options)];
|
|
},
|
|
addKeyboardShortcuts() {
|
|
return {
|
|
"Mod-z": () => this.editor.commands.undo(),
|
|
"Shift-Mod-z": () => this.editor.commands.redo(),
|
|
"Mod-y": () => this.editor.commands.redo(),
|
|
// Russian keyboard layouts
|
|
"Mod-\u044F": () => this.editor.commands.undo(),
|
|
"Shift-Mod-\u044F": () => this.editor.commands.redo()
|
|
};
|
|
}
|
|
});
|
|
export {
|
|
UndoRedo
|
|
};
|
|
//# sourceMappingURL=index.js.map
|