From 17fa7b46d655de04745bb7acf5efde134d5bac96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yingyi=20/=20=E9=A2=96=E9=80=B8?= <49649786+Zuoqiu-Yingyi@users.noreply.github.com> Date: Sat, 3 Jun 2023 09:55:50 +0800 Subject: [PATCH] :art: #8419 (#8443) --- app/src/protyle/gutter/index.ts | 2 ++ app/src/protyle/header/Title.ts | 27 +++++++++++++++++++-------- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/app/src/protyle/gutter/index.ts b/app/src/protyle/gutter/index.ts index f3f5a12c0..33c5c950b 100644 --- a/app/src/protyle/gutter/index.ts +++ b/app/src/protyle/gutter/index.ts @@ -723,6 +723,7 @@ export class Gutter { } }).element); } + const pluginSubMenu = new subMenu(); protyle.app?.plugins?.forEach((plugin) => { plugin.eventBus.emit("click-blockicon", { @@ -739,6 +740,7 @@ export class Gutter { submenu: pluginSubMenu.menus, }).element); } + return window.siyuan.menus.menu; } diff --git a/app/src/protyle/header/Title.ts b/app/src/protyle/header/Title.ts index 9a55dc2a0..30e3377a4 100644 --- a/app/src/protyle/header/Title.ts +++ b/app/src/protyle/header/Title.ts @@ -5,7 +5,7 @@ import { } from "../util/selection"; import {fetchPost} from "../../util/fetch"; import {replaceFileName, validateName} from "../../editor/rename"; -import {MenuItem} from "../../menus/Menu"; +import {MenuItem, subMenu} from "../../menus/Menu"; import { copySubMenu, movePathToMenu, @@ -400,6 +400,24 @@ export class Title { icon: "iconRiffCard", submenu: riffCardMenu, }).element); + + const pluginSubMenu = new subMenu(); + protyle.app?.plugins?.forEach((plugin) => { + plugin.eventBus.emit("click-editortitleicon", { + protyle, + menu: pluginSubMenu, + data: response.data, + }); + }); + if (pluginSubMenu.menus.length > 0) { + window.siyuan.menus.menu.append(new MenuItem({ type: "separator" }).element); + window.siyuan.menus.menu.append(new MenuItem({ + label: window.siyuan.languages.plugin, + type: "submenu", + submenu: pluginSubMenu.menus, + }).element); + } + window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ iconHTML: Constants.ZWSP, @@ -408,13 +426,6 @@ export class Title { ${window.siyuan.languages.createdAt} ${dayjs(response.data.ial.id.substr(0, 14)).format("YYYY-MM-DD HH:mm:ss")}` }).element); window.siyuan.menus.menu.popup(position); - protyle.app?.plugins?.forEach((plugin) => { - plugin.eventBus.emit("click-editortitleicon", { - protyle, - menu: window.siyuan.menus.menu, - data: response.data, - }); - }); }); }