添加快捷键功能

This commit is contained in:
wux_labs
2025-02-20 22:21:11 +08:00
parent f011b3bf4a
commit 2475b847d6
2 changed files with 54 additions and 3 deletions
+6 -3
View File
@@ -26,6 +26,7 @@ import { Export } from '@tiptap-pro/extension-export';
import { Mathematics } from '@tiptap-pro/extension-mathematics';
import { TableOfContents, getHierarchicalIndexes } from '@tiptap-pro/extension-table-of-contents'
import Audio from "../extensions/Audio.ts";
import BulletList from "../extensions/BulletList.ts";
import FontSize from "../extensions/FontSize.ts";
import Image from "../extensions/Image.ts";
@@ -35,10 +36,11 @@ import NodeAlign from "../extensions/NodeAlign.ts";
import OrderedList from "../extensions/OrderedList.ts";
import SelectFile from "../extensions/SelectFile.ts";
import Selection from "../extensions/Selection.ts";
import Video from "../extensions/Video.ts";
import Audio from "../extensions/Audio.ts";
import { uuid } from "../utils/UUID.ts";
import Shortcuts from "../extensions/Shortcuts.ts";
import Toc from "../extensions/Toc.ts";
import Video from "../extensions/Video.ts";
import { uuid } from "../utils/UUID.ts";
import { BubbleMenuPluginOptions, BubbleMenuPlugin } from "../components/menus/bubble/BubbleMenuPlugin.ts";
import { TextSelectionBubbleMenu } from "../components/menus/bubble/TextSelectionBubbleMenu.ts";
@@ -234,6 +236,7 @@ export const allExtensions = (uaiEditor: UAIEditor, _options: UAIEditorOptions):
allowedMimeTypes: []
}),
Selection,
Shortcuts,
Subscript,
Superscript,
Table.configure({
+48
View File
@@ -0,0 +1,48 @@
// Copyright (c) 2024-present AI-Labs
import { Extension } from '@tiptap/core';
import { Fullscreen } from '../components/menus/statusbar/Fullscreen';
import { InnerEditor } from '../core/UAIEditor';
import { Print } from '../components/menus/toolbar/base/Print';
/**
* 自定义快捷键
*/
export default Extension.create({
name: 'shortcuts',
addKeyboardShortcuts() {
return {
// 自定义快捷键
'F11': () => {
// 全屏
(document.querySelector("uai-editor-statusbar-menu-fullscreen") as Fullscreen).fullButton.click();
return true;
},
'Ctrl-p': () => {
// 打印
(document.querySelector("uai-editor-base-menu-print") as Print).click();
return true;
},
'Ctrl-=': () => {
const editor = (this.editor as InnerEditor).uaiEditor.editor;
const transform = editor.zoomableContent.style.transform;
const matrix = new WebKitCSSMatrix(transform);
editor.zoomableContent.style.transform = `scale(${matrix.a + 0.1})`;
return true;
},
'Ctrl--': () => {
const editor = (this.editor as InnerEditor).uaiEditor.editor;
const transform = editor.zoomableContent.style.transform;
const matrix = new WebKitCSSMatrix(transform);
editor.zoomableContent.style.transform = `scale(${matrix.a - 0.1})`;
return true;
},
'Ctrl-1': () => {
const editor = (this.editor as InnerEditor).uaiEditor.editor;
editor.zoomableContent.style.transform = `scale(1)`;
return true;
},
};
},
});