Vanessa 2025-02-07 11:44:52 +08:00
parent ae1912bfa2
commit 9a77f05c43

View file

@ -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: `<div aria-label="${item.path}" class="fn__ellipsis ariaLabel" style="max-width: 256px">${originalPath().basename(item.path)}</div>`,
label: `<div aria-label="${item.path}" class="fn__ellipsis ariaLabel" style="max-width: 256px">
${originalPath().basename(item.path)}
</div>`,
current: !item.closed,
iconHTML: "",
type: "submenu",