* Add `data-id` attribute to the button of workspace menu #12518 * Update workspace.ts
This commit is contained in:
parent
cdd83f80b5
commit
f74380a4d6
1 changed files with 39 additions and 11 deletions
|
@ -123,8 +123,9 @@ const editLayout = (layoutName?: string) => {
|
|||
});
|
||||
};
|
||||
|
||||
const togglePinDock = (dock: Dock, icon: string) => {
|
||||
const togglePinDock = (id: string, dock: Dock, icon: string) => {
|
||||
return {
|
||||
id,
|
||||
label: `${dock.pin ? window.siyuan.languages.unpin : window.siyuan.languages.pin}`,
|
||||
icon,
|
||||
current: !dock.pin,
|
||||
|
@ -145,6 +146,7 @@ export const workspaceMenu = (app: App, rect: DOMRect) => {
|
|||
window.siyuan.menus.menu.element.setAttribute("data-name", "barWorkspace");
|
||||
if (!window.siyuan.config.readonly) {
|
||||
window.siyuan.menus.menu.append(new MenuItem({
|
||||
id: "config",
|
||||
label: window.siyuan.languages.config,
|
||||
icon: "iconSettings",
|
||||
accelerator: window.siyuan.config.keymap.general.config.custom,
|
||||
|
@ -156,6 +158,7 @@ export const workspaceMenu = (app: App, rect: DOMRect) => {
|
|||
const dockMenu: IMenu[] = [];
|
||||
getAllDocks().forEach(item => {
|
||||
dockMenu.push({
|
||||
id: item.type,
|
||||
icon: item.icon,
|
||||
accelerator: item.hotkey,
|
||||
label: item.title,
|
||||
|
@ -165,12 +168,13 @@ export const workspaceMenu = (app: App, rect: DOMRect) => {
|
|||
});
|
||||
});
|
||||
if (!window.siyuan.config.readonly) {
|
||||
dockMenu.push({type: "separator"});
|
||||
dockMenu.push(togglePinDock(window.siyuan.layout.leftDock, "iconLeftTop"));
|
||||
dockMenu.push(togglePinDock(window.siyuan.layout.rightDock, "iconRightTop"));
|
||||
dockMenu.push(togglePinDock(window.siyuan.layout.bottomDock, "iconBottomLeft"));
|
||||
dockMenu.push({id: "separator_1", type: "separator"});
|
||||
dockMenu.push(togglePinDock("leftDock", window.siyuan.layout.leftDock, "iconLeftTop"));
|
||||
dockMenu.push(togglePinDock("rightDock", window.siyuan.layout.rightDock, "iconRightTop"));
|
||||
dockMenu.push(togglePinDock("bottomDock", window.siyuan.layout.bottomDock, "iconBottomLeft"));
|
||||
}
|
||||
window.siyuan.menus.menu.append(new MenuItem({
|
||||
id: "panels",
|
||||
label: window.siyuan.languages.panels,
|
||||
icon: "iconDock",
|
||||
type: "submenu",
|
||||
|
@ -180,6 +184,7 @@ export const workspaceMenu = (app: App, rect: DOMRect) => {
|
|||
let workspaceSubMenu: IMenu[];
|
||||
/// #if !BROWSER
|
||||
workspaceSubMenu = [{
|
||||
id: "newOrOpenBy",
|
||||
label: `${window.siyuan.languages.new} / ${window.siyuan.languages.openBy}`,
|
||||
iconHTML: "",
|
||||
click: async () => {
|
||||
|
@ -202,12 +207,13 @@ export const workspaceMenu = (app: App, rect: DOMRect) => {
|
|||
});
|
||||
}
|
||||
}];
|
||||
workspaceSubMenu.push({type: "separator"});
|
||||
workspaceSubMenu.push({id: "separator_1", type: "separator"});
|
||||
response.data.forEach((item: IWorkspace) => {
|
||||
workspaceSubMenu.push(workspaceItem(item) as IMenu);
|
||||
});
|
||||
/// #else
|
||||
workspaceSubMenu = [{
|
||||
id: "new",
|
||||
label: window.siyuan.languages.new,
|
||||
iconHTML: "",
|
||||
click() {
|
||||
|
@ -238,6 +244,7 @@ export const workspaceMenu = (app: App, rect: DOMRect) => {
|
|||
});
|
||||
}
|
||||
}, {
|
||||
id: "openBy",
|
||||
label: `${window.siyuan.languages.openBy}...`,
|
||||
iconHTML: "",
|
||||
click() {
|
||||
|
@ -279,9 +286,10 @@ export const workspaceMenu = (app: App, rect: DOMRect) => {
|
|||
});
|
||||
}
|
||||
}];
|
||||
workspaceSubMenu.push({type: "separator"});
|
||||
workspaceSubMenu.push({id: "separator_1", type: "separator"});
|
||||
response.data.forEach((item: IWorkspace) => {
|
||||
workspaceSubMenu.push({
|
||||
id: item.path,
|
||||
iconHTML: "",
|
||||
action: "iconCloseRound",
|
||||
current: window.siyuan.config.system.workspaceDir === item.path,
|
||||
|
@ -312,6 +320,7 @@ export const workspaceMenu = (app: App, rect: DOMRect) => {
|
|||
/// #endif
|
||||
if (!isBrowser() || isInIOS() || isInAndroid()) {
|
||||
window.siyuan.menus.menu.append(new MenuItem({
|
||||
id: "workspaceList",
|
||||
label: window.siyuan.languages.workspaceList,
|
||||
icon: "iconWorkspace",
|
||||
type: "submenu",
|
||||
|
@ -320,6 +329,7 @@ export const workspaceMenu = (app: App, rect: DOMRect) => {
|
|||
}
|
||||
}
|
||||
const layoutSubMenu: IMenu[] = [{
|
||||
id: "save",
|
||||
iconHTML: "",
|
||||
label: window.siyuan.languages.save,
|
||||
click() {
|
||||
|
@ -327,7 +337,7 @@ export const workspaceMenu = (app: App, rect: DOMRect) => {
|
|||
}
|
||||
}];
|
||||
if (window.siyuan.storage[Constants.LOCAL_LAYOUTS].length > 0) {
|
||||
layoutSubMenu.push({type: "separator"});
|
||||
layoutSubMenu.push({id: "separator_1", type: "separator"});
|
||||
}
|
||||
window.siyuan.storage[Constants.LOCAL_LAYOUTS].forEach((item: ISaveLayout) => {
|
||||
layoutSubMenu.push({
|
||||
|
@ -362,15 +372,17 @@ export const workspaceMenu = (app: App, rect: DOMRect) => {
|
|||
});
|
||||
});
|
||||
window.siyuan.menus.menu.append(new MenuItem({
|
||||
id: "layout",
|
||||
label: window.siyuan.languages.layout,
|
||||
icon: "iconLayout",
|
||||
type: "submenu",
|
||||
submenu: layoutSubMenu
|
||||
}).element);
|
||||
window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element);
|
||||
window.siyuan.menus.menu.append(new MenuItem({id: "separator_1", type: "separator"}).element);
|
||||
if (!window.siyuan.config.readonly) {
|
||||
if (getOpenNotebookCount() < 2) {
|
||||
window.siyuan.menus.menu.append(new MenuItem({
|
||||
id: "dailyNote",
|
||||
label: window.siyuan.languages.dailyNote,
|
||||
icon: "iconCalendar",
|
||||
accelerator: window.siyuan.config.keymap.general.dailyNote.custom,
|
||||
|
@ -383,6 +395,7 @@ export const workspaceMenu = (app: App, rect: DOMRect) => {
|
|||
window.siyuan.notebooks.forEach(item => {
|
||||
if (!item.closed) {
|
||||
submenu.push({
|
||||
id: item.id,
|
||||
label: escapeHtml(item.name),
|
||||
iconHTML: unicode2Emoji(item.icon || Constants.SIYUAN_IMAGE_NOTE, "b3-menu__icon", true),
|
||||
accelerator: window.siyuan.storage[Constants.LOCAL_DAILYNOTEID] === item.id ? window.siyuan.config.keymap.general.dailyNote.custom : "",
|
||||
|
@ -395,6 +408,7 @@ export const workspaceMenu = (app: App, rect: DOMRect) => {
|
|||
}
|
||||
});
|
||||
window.siyuan.menus.menu.append(new MenuItem({
|
||||
id: "dailyNote",
|
||||
label: window.siyuan.languages.dailyNote,
|
||||
icon: "iconCalendar",
|
||||
type: "submenu",
|
||||
|
@ -403,10 +417,12 @@ export const workspaceMenu = (app: App, rect: DOMRect) => {
|
|||
}
|
||||
if (!window.siyuan.config.readonly) {
|
||||
window.siyuan.menus.menu.append(new MenuItem({
|
||||
id: "riffCard",
|
||||
label: window.siyuan.languages.riffCard,
|
||||
type: "submenu",
|
||||
icon: "iconRiffCard",
|
||||
submenu: [{
|
||||
id: "spaceRepetition",
|
||||
iconHTML: "",
|
||||
label: window.siyuan.languages.spaceRepetition,
|
||||
accelerator: window.siyuan.config.keymap.general.riffCard.custom,
|
||||
|
@ -414,6 +430,7 @@ export const workspaceMenu = (app: App, rect: DOMRect) => {
|
|||
openCard(app);
|
||||
}
|
||||
}, {
|
||||
id: "manage",
|
||||
iconHTML: "",
|
||||
label: window.siyuan.languages.manage,
|
||||
click: () => {
|
||||
|
@ -423,6 +440,7 @@ export const workspaceMenu = (app: App, rect: DOMRect) => {
|
|||
}).element);
|
||||
}
|
||||
window.siyuan.menus.menu.append(new MenuItem({
|
||||
id: "recentDocs",
|
||||
label: window.siyuan.languages.recentDocs,
|
||||
icon: "iconFile",
|
||||
accelerator: window.siyuan.config.keymap.general.recentDocs.custom,
|
||||
|
@ -431,6 +449,7 @@ export const workspaceMenu = (app: App, rect: DOMRect) => {
|
|||
}
|
||||
}).element);
|
||||
window.siyuan.menus.menu.append(new MenuItem({
|
||||
id: "lockScreen",
|
||||
label: window.siyuan.languages.lockScreen,
|
||||
icon: "iconLock",
|
||||
accelerator: window.siyuan.config.keymap.general.lockScreen.custom,
|
||||
|
@ -439,6 +458,7 @@ export const workspaceMenu = (app: App, rect: DOMRect) => {
|
|||
}
|
||||
}).element);
|
||||
window.siyuan.menus.menu.append(new MenuItem({
|
||||
id: "dataHistory",
|
||||
label: window.siyuan.languages.dataHistory,
|
||||
icon: "iconHistory",
|
||||
accelerator: window.siyuan.config.keymap.general.dataHistory.custom,
|
||||
|
@ -446,9 +466,10 @@ export const workspaceMenu = (app: App, rect: DOMRect) => {
|
|||
openHistory(app);
|
||||
}
|
||||
}).element);
|
||||
window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element);
|
||||
window.siyuan.menus.menu.append(new MenuItem({id: "separator_2", type: "separator"}).element);
|
||||
}
|
||||
window.siyuan.menus.menu.append(new MenuItem({
|
||||
id: "userGuide",
|
||||
label: window.siyuan.languages.userGuide,
|
||||
icon: "iconHelp",
|
||||
ignore: isIPad() || window.siyuan.config.readonly,
|
||||
|
@ -457,6 +478,7 @@ export const workspaceMenu = (app: App, rect: DOMRect) => {
|
|||
}
|
||||
}).element);
|
||||
window.siyuan.menus.menu.append(new MenuItem({
|
||||
id: "feedback",
|
||||
label: window.siyuan.languages.feedback,
|
||||
icon: "iconFeedback",
|
||||
click: () => {
|
||||
|
@ -469,6 +491,7 @@ export const workspaceMenu = (app: App, rect: DOMRect) => {
|
|||
}).element);
|
||||
/// #if !BROWSER
|
||||
window.siyuan.menus.menu.append(new MenuItem({
|
||||
id: "debug",
|
||||
label: window.siyuan.languages.debug,
|
||||
icon: "iconBug",
|
||||
click: () => {
|
||||
|
@ -477,8 +500,9 @@ export const workspaceMenu = (app: App, rect: DOMRect) => {
|
|||
}).element);
|
||||
/// #endif
|
||||
if (isIPad() || isInAndroid() || !isBrowser()) {
|
||||
window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element);
|
||||
window.siyuan.menus.menu.append(new MenuItem({id: "separator_3", type: "separator"}).element);
|
||||
window.siyuan.menus.menu.append(new MenuItem({
|
||||
id: "safeQuit",
|
||||
label: window.siyuan.languages.safeQuit,
|
||||
icon: "iconQuit",
|
||||
click: () => {
|
||||
|
@ -519,18 +543,21 @@ const workspaceItem = (item: IWorkspace) => {
|
|||
iconHTML: "",
|
||||
type: "submenu",
|
||||
submenu: [{
|
||||
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() {
|
||||
|
@ -538,6 +565,7 @@ const workspaceItem = (item: IWorkspace) => {
|
|||
showMessage(window.siyuan.languages.copied);
|
||||
}
|
||||
}, {
|
||||
id: "removeWorkspaceTip",
|
||||
icon: "iconTrashcan",
|
||||
label: window.siyuan.languages.removeWorkspaceTip,
|
||||
click() {
|
||||
|
|
Loading…
Add table
Reference in a new issue