添加音频浮动菜单功能

This commit is contained in:
麦香缘
2025-02-20 12:49:01 +08:00
parent 9f0e41b8b6
commit 72553b43cb
3 changed files with 121 additions and 0 deletions
+29
View File
@@ -43,6 +43,7 @@ import { BubbleMenuPluginOptions, BubbleMenuPlugin } from "../components/menus/b
import { TextSelectionBubbleMenu } from "../components/menus/bubble/TextSelectionBubbleMenu.ts";
import { ImageBubbleMenu } from "../components/menus/bubble/ImageBubbleMenu.ts";
import { VideoBubbleMenu } from "../components/menus/bubble/VideoBubbleMenu.ts";
import { AudioBubbleMenu } from "../components/menus/bubble/AudioBubbleMenu.ts";
/**
* 创建浮动菜单功能
@@ -162,6 +163,33 @@ const createVideoBubbleMenu = (uaiEditor: UAIEditor) => {
})
}
/**
* 创建语音内容的浮动菜单
* @param uaiEditor
* @returns
*/
const createAudioBubbleMenu = (uaiEditor: UAIEditor) => {
const container = new AudioBubbleMenu(uaiEditor);
return createBubbleMenu("audioBubbleMenu", {
pluginKey: 'audioBubbleMenu',
element: container,
tippyOptions: {
appendTo: uaiEditor.editor.editorContainer,
arrow: false,
interactive: true,
hideOnClick: false,
placement: 'top',
},
shouldShow: ({ editor }) => {
if (!editor.isEditable) {
return false;
}
return editor.isActive("audio")
}
})
}
/**
* 定义编辑器的所有自定义扩展组件
* @param uaiEditor
@@ -240,6 +268,7 @@ export const allExtensions = (uaiEditor: UAIEditor, _options: UAIEditorOptions):
createTextSelectionBubbleMenu(uaiEditor),
createImageBubbleMenu(uaiEditor),
createVideoBubbleMenu(uaiEditor),
createAudioBubbleMenu(uaiEditor),
];
return extensions;