diff --git a/app/src/menus/Menu.ts b/app/src/menus/Menu.ts index 85447fbe8..f3e5c9def 100644 --- a/app/src/menus/Menu.ts +++ b/app/src/menus/Menu.ts @@ -77,6 +77,7 @@ export class Menu { this.element.classList.add("fn__none"); this.element.classList.remove("b3-menu--list"); this.element.removeAttribute("style"); // zIndex + window.siyuan.menus.menu.element.removeAttribute("data-name"); // 标识再次点击不消失 } public append(element?: HTMLElement) { diff --git a/app/src/menus/workspace.ts b/app/src/menus/workspace.ts index 7854ab3a6..222458aa0 100644 --- a/app/src/menus/workspace.ts +++ b/app/src/menus/workspace.ts @@ -13,7 +13,13 @@ import {openCard} from "../card/openCard"; import {showMessage} from "../dialog/message"; export const workspaceMenu = (rect: DOMRect) => { + if (!window.siyuan.menus.menu.element.classList.contains("fn__none") && + window.siyuan.menus.menu.element.getAttribute("data-name") === "barWorkspace") { + window.siyuan.menus.menu.remove(); + return; + } window.siyuan.menus.menu.remove(); + window.siyuan.menus.menu.element.setAttribute("data-name", "barWorkspace"); fetchPost("/api/system/getWorkspaces", {}, (response) => { window.siyuan.menus.menu.append(new MenuItem({ label: window.siyuan.languages.dataHistory, diff --git a/app/src/util/onGetConfig.ts b/app/src/util/onGetConfig.ts index 0da2fe22d..215419512 100644 --- a/app/src/util/onGetConfig.ts +++ b/app/src/util/onGetConfig.ts @@ -233,7 +233,13 @@ const initBar = () => { event.stopPropagation(); break; } else if (target.id === "barMode") { + if (!window.siyuan.menus.menu.element.classList.contains("fn__none") && + window.siyuan.menus.menu.element.getAttribute("data-name") === "barmode") { + window.siyuan.menus.menu.remove(); + return; + } window.siyuan.menus.menu.remove(); + window.siyuan.menus.menu.element.setAttribute("data-name", "barmode"); window.siyuan.menus.menu.append(new MenuItem({ label: window.siyuan.languages.themeLight, icon: "iconLight",