From 9a77f05c43acfa28de0e609438094370fb1ef104 Mon Sep 17 00:00:00 2001 From: Vanessa Date: Fri, 7 Feb 2025 11:44:52 +0800 Subject: [PATCH] :art: https://github.com/siyuan-note/siyuan/pull/14017 --- app/src/menus/workspace.ts | 82 ++++++++++++++++---------------------- 1 file changed, 35 insertions(+), 47 deletions(-) diff --git a/app/src/menus/workspace.ts b/app/src/menus/workspace.ts index 6fda7c573..b265beb6e 100644 --- a/app/src/menus/workspace.ts +++ b/app/src/menus/workspace.ts @@ -208,9 +208,8 @@ export const workspaceMenu = (app: App, rect: DOMRect) => { } }]; workspaceSubMenu.push({id: "separator_1", type: "separator"}); - const workspaceDir = window.siyuan.config.system.workspaceDir; response.data.forEach((item: IWorkspace) => { - workspaceSubMenu.push(workspaceItem(item, workspaceDir) as IMenu); + workspaceSubMenu.push(workspaceItem(item) as IMenu); }); /// #else workspaceSubMenu = [{ @@ -533,59 +532,48 @@ const openWorkspace = (workspace: string) => { /// #endif }; -const workspaceItem = (item: IWorkspace, workspaceDir: string) => { - let submenu: any[]; - if (item.path === workspaceDir) { - submenu = [{ - id: "showInFolder", - icon: "iconFolder", - label: window.siyuan.languages.showInFolder, - click() { - showFileInFolder(item.path); - } - }, { - id: "copyPath", - icon: "iconCopy", - label: window.siyuan.languages.copyPath, - click() { - writeText(item.path); - showMessage(window.siyuan.languages.copied); - } - }]; - } else { - submenu = [{ +const workspaceItem = (item: IWorkspace) => { + /// #if !BROWSER + const submenu = [{ + id: "showInFolder", + icon: "iconFolder", + label: window.siyuan.languages.showInFolder, + click() { + showFileInFolder(item.path); + } + }, { + id: "copyPath", + icon: "iconCopy", + label: window.siyuan.languages.copyPath, + click() { + writeText(item.path); + showMessage(window.siyuan.languages.copied); + } + }] + if (item.path !== window.siyuan.config.system.workspaceDir) { + submenu.splice(0, 0, { id: "openBy", icon: "iconOpenWindow", label: window.siyuan.languages.openBy, click() { openWorkspace(item.path); } - }, { - id: "showInFolder", - icon: "iconFolder", - label: window.siyuan.languages.showInFolder, - click() { - showFileInFolder(item.path); - } - }, { - id: "copyPath", - icon: "iconCopy", - label: window.siyuan.languages.copyPath, - click() { - writeText(item.path); - showMessage(window.siyuan.languages.copied); - } - }, { - id: "removeWorkspaceTip", - icon: "iconTrashcan", - label: window.siyuan.languages.removeWorkspaceTip, - click() { - fetchPost("/api/system/removeWorkspaceDir", {path: item.path}); - } - }]; + }) + if (item.closed) { + submenu.push({ + id: "removeWorkspaceTip", + icon: "iconTrashcan", + label: window.siyuan.languages.removeWorkspaceTip, + click() { + fetchPost("/api/system/removeWorkspaceDir", {path: item.path}); + } + }); + } } return { - label: `
${originalPath().basename(item.path)}
`, + label: `
+ ${originalPath().basename(item.path)} +
`, current: !item.closed, iconHTML: "", type: "submenu",