diff --git a/app/src/card/openCard.ts b/app/src/card/openCard.ts
index 595ee7ade..66587989f 100644
--- a/app/src/card/openCard.ts
+++ b/app/src/card/openCard.ts
@@ -342,6 +342,7 @@ export const bindCardEvent = async (options: {
}
const menu = new Menu();
menu.addItem({
+ id: "setDueTime",
icon: "iconClock",
label: window.siyuan.languages.setDueTime,
click() {
@@ -392,6 +393,7 @@ export const bindCardEvent = async (options: {
});
if (currentCard.state !== 0) {
menu.addItem({
+ id: "reset",
icon: "iconRefresh",
label: window.siyuan.languages.reset,
click() {
@@ -426,6 +428,7 @@ export const bindCardEvent = async (options: {
});
}
menu.addItem({
+ id: "removeRiffCard",
icon: "iconTrashcan",
label: `${window.siyuan.languages.remove} ${window.siyuan.languages.riffCard}`,
click() {
@@ -448,6 +451,7 @@ export const bindCardEvent = async (options: {
});
menu.addSeparator();
menu.addItem({
+ id: "forgetCountAndRevisionCountAndCardStatusAndLastReviewTime",
iconHTML: "",
type: "readonly",
label: `
@@ -484,6 +488,7 @@ export const bindCardEvent = async (options: {
if (sticktabElement) {
const stickMenu = new Menu();
stickMenu.addItem({
+ id: "insertRight",
icon: "iconLayoutRight",
label: window.siyuan.languages.insertRight,
click() {
@@ -508,6 +513,7 @@ export const bindCardEvent = async (options: {
});
/// #if !BROWSER
stickMenu.addItem({
+ id: "openByNewWindow",
icon: "iconOpenWindow",
label: window.siyuan.languages.openByNewWindow,
click() {
@@ -557,6 +563,7 @@ export const bindCardEvent = async (options: {
fetchPost("/api/riff/getRiffDecks", {}, (response) => {
window.siyuan.menus.menu.remove();
window.siyuan.menus.menu.append(new MenuItem({
+ id: "all",
iconHTML: "",
label: window.siyuan.languages.all,
click() {
@@ -566,6 +573,7 @@ export const bindCardEvent = async (options: {
},
}).element);
window.siyuan.menus.menu.append(new MenuItem({
+ id: "fileTree",
iconHTML: "",
label: window.siyuan.languages.fileTree,
click() {
diff --git a/app/src/menus/Menu.ts b/app/src/menus/Menu.ts
index 4cad076b8..d075cd56d 100644
--- a/app/src/menus/Menu.ts
+++ b/app/src/menus/Menu.ts
@@ -84,7 +84,10 @@ export class Menu {
}
}
- public addSeparator(index?: number) {
+ public addSeparator(index?: number, id?: string) {
+ if (id) {
+ return this.addItem({id: "separator_" + id, type: "separator", index});
+ }
return this.addItem({type: "separator", index});
}
diff --git a/app/src/menus/bookmark.ts b/app/src/menus/bookmark.ts
index ebc5597d2..fed1f24e6 100644
--- a/app/src/menus/bookmark.ts
+++ b/app/src/menus/bookmark.ts
@@ -19,6 +19,7 @@ export const openBookmarkMenu = (element: HTMLElement, event: MouseEvent, bookma
const id = element.getAttribute("data-node-id");
if (!id && !window.siyuan.config.readonly) {
window.siyuan.menus.menu.append(new MenuItem({
+ id: "rename",
icon: "iconEdit",
label: window.siyuan.languages.rename,
click: () => {
@@ -57,6 +58,7 @@ export const openBookmarkMenu = (element: HTMLElement, event: MouseEvent, bookma
}
if (id) {
window.siyuan.menus.menu.append(new MenuItem({
+ id: "copy",
label: window.siyuan.languages.copy,
type: "submenu",
icon: "iconCopy",
@@ -66,6 +68,7 @@ export const openBookmarkMenu = (element: HTMLElement, event: MouseEvent, bookma
if (!window.siyuan.config.readonly) {
window.siyuan.menus.menu.append(new MenuItem({
+ id: "remove",
icon: "iconTrashcan",
label: window.siyuan.languages.remove,
click: () => {
diff --git a/app/src/menus/commonMenuItem.ts b/app/src/menus/commonMenuItem.ts
index 4dbeb123f..cec380d7d 100644
--- a/app/src/menus/commonMenuItem.ts
+++ b/app/src/menus/commonMenuItem.ts
@@ -284,6 +284,7 @@ export const openFileAttr = (attrs: IObject, focusName = "bookmark", protyle?: I
window.siyuan.menus.menu.remove();
if (response.data.length === 0) {
window.siyuan.menus.menu.append(new MenuItem({
+ id: "emptyContent",
iconHTML: "",
label: window.siyuan.languages.emptyContent,
type: "readonly",
@@ -711,6 +712,7 @@ export const openMenu = (app: App, src: string, onlyMenu: boolean, showAccelerat
const submenu = [];
/// #if MOBILE
submenu.push({
+ id: isInAndroid() || isInHarmony() ? "useDefault" : "useBrowserView",
label: isInAndroid() || isInHarmony() ? window.siyuan.languages.useDefault : window.siyuan.languages.useBrowserView,
accelerator: showAccelerator ? window.siyuan.languages.click : "",
click: () => {
@@ -724,6 +726,7 @@ export const openMenu = (app: App, src: string, onlyMenu: boolean, showAccelerat
(src.endsWith(".pdf") && !src.startsWith("file://")))
) {
submenu.push({
+ id: "insertRight",
icon: "iconLayoutRight",
label: window.siyuan.languages.insertRight,
accelerator: showAccelerator ? window.siyuan.languages.click : "",
@@ -732,6 +735,7 @@ export const openMenu = (app: App, src: string, onlyMenu: boolean, showAccelerat
}
});
submenu.push({
+ id: "openBy",
label: window.siyuan.languages.openBy,
icon: "iconOpen",
accelerator: showAccelerator ? "⌥" + window.siyuan.languages.click : "",
@@ -741,6 +745,7 @@ export const openMenu = (app: App, src: string, onlyMenu: boolean, showAccelerat
});
/// #if !BROWSER
submenu.push({
+ id: "openByNewWindow",
label: window.siyuan.languages.openByNewWindow,
icon: "iconOpenWindow",
click() {
@@ -748,6 +753,7 @@ export const openMenu = (app: App, src: string, onlyMenu: boolean, showAccelerat
}
});
submenu.push({
+ id: "showInFolder",
icon: "iconFolder",
label: window.siyuan.languages.showInFolder,
accelerator: showAccelerator ? "⌘" + window.siyuan.languages.click : "",
@@ -756,6 +762,7 @@ export const openMenu = (app: App, src: string, onlyMenu: boolean, showAccelerat
}
});
submenu.push({
+ id: "useDefault",
label: window.siyuan.languages.useDefault,
accelerator: showAccelerator ? "⇧" + window.siyuan.languages.click : "",
click() {
@@ -766,6 +773,7 @@ export const openMenu = (app: App, src: string, onlyMenu: boolean, showAccelerat
} else {
/// #if !BROWSER
submenu.push({
+ id: "useDefault",
label: window.siyuan.languages.useDefault,
accelerator: showAccelerator ? window.siyuan.languages.click : "",
click() {
@@ -773,6 +781,7 @@ export const openMenu = (app: App, src: string, onlyMenu: boolean, showAccelerat
}
});
submenu.push({
+ id: "showInFolder",
icon: "iconFolder",
label: window.siyuan.languages.showInFolder,
accelerator: showAccelerator ? "⌘" + window.siyuan.languages.click : "",
@@ -782,6 +791,7 @@ export const openMenu = (app: App, src: string, onlyMenu: boolean, showAccelerat
});
/// #else
submenu.push({
+ id: isInAndroid() || isInHarmony() ? "useDefault" : "useBrowserView",
label: isInAndroid() || isInHarmony() ? window.siyuan.languages.useDefault : window.siyuan.languages.useBrowserView,
accelerator: showAccelerator ? window.siyuan.languages.click : "",
click: () => {
@@ -798,6 +808,7 @@ export const openMenu = (app: App, src: string, onlyMenu: boolean, showAccelerat
}
/// #if !BROWSER
submenu.push({
+ id: "useDefault",
label: window.siyuan.languages.useDefault,
accelerator: showAccelerator ? window.siyuan.languages.click : "",
click: () => {
@@ -808,6 +819,7 @@ export const openMenu = (app: App, src: string, onlyMenu: boolean, showAccelerat
});
/// #else
submenu.push({
+ id: isInAndroid() || isInHarmony() ? "useDefault" : "useBrowserView",
label: isInAndroid() || isInHarmony() ? window.siyuan.languages.useDefault : window.siyuan.languages.useBrowserView,
accelerator: showAccelerator ? window.siyuan.languages.click : "",
click: () => {
@@ -821,6 +833,7 @@ export const openMenu = (app: App, src: string, onlyMenu: boolean, showAccelerat
return submenu;
}
window.siyuan.menus.menu.append(new MenuItem({
+ id: "openBy",
label: window.siyuan.languages.openBy,
icon: "iconOpen",
submenu
diff --git a/app/src/menus/protyle.ts b/app/src/menus/protyle.ts
index d8d6de0cb..84971bffb 100644
--- a/app/src/menus/protyle.ts
+++ b/app/src/menus/protyle.ts
@@ -219,6 +219,7 @@ export const fileAnnotationRefMenu = (protyle: IProtyle, refElement: HTMLElement
window.siyuan.menus.menu.remove();
let anchorElement: HTMLInputElement;
window.siyuan.menus.menu.append(new MenuItem({
+ id: "idAndAnchor",
iconHTML: "",
type: "readonly",
label: `
ID
@@ -265,9 +266,11 @@ export const fileAnnotationRefMenu = (protyle: IProtyle, refElement: HTMLElement
}).element);
window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element);
window.siyuan.menus.menu.append(new MenuItem({
+ id: "turnInto",
label: window.siyuan.languages.turnInto,
icon: "iconRefresh",
submenu: [{
+ id: "text",
iconHTML: "",
label: window.siyuan.languages.text,
click() {
@@ -277,6 +280,7 @@ export const fileAnnotationRefMenu = (protyle: IProtyle, refElement: HTMLElement
oldHTML = nodeElement.outerHTML;
}
}, {
+ id: "text*",
iconHTML: "",
label: window.siyuan.languages.text + " *",
click() {
@@ -289,6 +293,7 @@ export const fileAnnotationRefMenu = (protyle: IProtyle, refElement: HTMLElement
}]
}).element);
window.siyuan.menus.menu.append(new MenuItem({
+ id: "remove",
icon: "iconTrashcan",
label: window.siyuan.languages.remove,
click() {
@@ -349,6 +354,7 @@ export const refMenu = (protyle: IProtyle, element: HTMLElement) => {
window.siyuan.menus.menu.remove();
if (!protyle.disabled) {
window.siyuan.menus.menu.append(new MenuItem({
+ id: "anchor",
iconHTML: "",
type: "readonly",
label: `
`,
@@ -379,11 +385,13 @@ export const refMenu = (protyle: IProtyle, element: HTMLElement) => {
}
}).element);
window.siyuan.menus.menu.append(new MenuItem({
+ id: "separator_1",
type: "separator"
}).element);
}
/// #if !MOBILE
window.siyuan.menus.menu.append(new MenuItem({
+ id: "openBy",
label: window.siyuan.languages.openBy,
icon: "iconOpen",
accelerator: window.siyuan.config.keymap.editor.general.openBy.custom + "/" + window.siyuan.languages.click,
@@ -402,6 +410,7 @@ export const refMenu = (protyle: IProtyle, element: HTMLElement) => {
}
}).element);
window.siyuan.menus.menu.append(new MenuItem({
+ id: "refTab",
label: window.siyuan.languages.refTab,
icon: "iconEyeoff",
accelerator: window.siyuan.config.keymap.editor.general.refTab.custom + "/" + updateHotkeyTip("⌘" + window.siyuan.languages.click),
@@ -418,6 +427,7 @@ export const refMenu = (protyle: IProtyle, element: HTMLElement) => {
}
}).element);
window.siyuan.menus.menu.append(new MenuItem({
+ id: "insertRight",
label: window.siyuan.languages.insertRight,
icon: "iconLayoutRight",
accelerator: window.siyuan.config.keymap.editor.general.insertRight.custom + "/" + updateHotkeyTip("⌥" + window.siyuan.languages.click),
@@ -437,6 +447,7 @@ export const refMenu = (protyle: IProtyle, element: HTMLElement) => {
}
}).element);
window.siyuan.menus.menu.append(new MenuItem({
+ id: "insertBottom",
label: window.siyuan.languages.insertBottom,
icon: "iconLayoutBottom",
accelerator: window.siyuan.config.keymap.editor.general.insertBottom.custom + (window.siyuan.config.keymap.editor.general.insertBottom.custom ? "/" : "") + updateHotkeyTip("⇧" + window.siyuan.languages.click),
@@ -457,6 +468,7 @@ export const refMenu = (protyle: IProtyle, element: HTMLElement) => {
}).element);
/// #if !BROWSER
window.siyuan.menus.menu.append(new MenuItem({
+ id: "openByNewWindow",
label: window.siyuan.languages.openByNewWindow,
icon: "iconOpenWindow",
click() {
@@ -464,8 +476,9 @@ export const refMenu = (protyle: IProtyle, element: HTMLElement) => {
}
}).element);
/// #endif
- 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: "backlinks",
icon: "iconLink",
label: window.siyuan.languages.backlinks,
accelerator: window.siyuan.config.keymap.editor.general.backlinks.custom,
@@ -477,6 +490,7 @@ export const refMenu = (protyle: IProtyle, element: HTMLElement) => {
}
}).element);
window.siyuan.menus.menu.append(new MenuItem({
+ id: "graphView",
icon: "iconGraph",
label: window.siyuan.languages.graphView,
accelerator: window.siyuan.config.keymap.editor.general.graphView.custom,
@@ -487,12 +501,13 @@ export const refMenu = (protyle: IProtyle, element: HTMLElement) => {
});
}
}).element);
- window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element);
+ window.siyuan.menus.menu.append(new MenuItem({id: "separator_3", type: "separator"}).element);
/// #endif
if (!protyle.disabled) {
let submenu: IMenu[] = [];
if (element.getAttribute("data-subtype") === "s") {
submenu.push({
+ id: "turnToDynamic",
iconHTML: "",
label: window.siyuan.languages.turnToDynamic,
click() {
@@ -508,6 +523,7 @@ export const refMenu = (protyle: IProtyle, element: HTMLElement) => {
});
} else {
submenu.push({
+ id: "turnToStatic",
iconHTML: "",
label: window.siyuan.languages.turnToStatic,
click() {
@@ -520,6 +536,7 @@ export const refMenu = (protyle: IProtyle, element: HTMLElement) => {
});
}
submenu = submenu.concat([{
+ id: "text",
iconHTML: "",
label: window.siyuan.languages.text,
click() {
@@ -529,6 +546,7 @@ export const refMenu = (protyle: IProtyle, element: HTMLElement) => {
oldHTML = nodeElement.outerHTML;
}
}, {
+ id: "*",
iconHTML: "",
label: "*",
click() {
@@ -540,6 +558,7 @@ export const refMenu = (protyle: IProtyle, element: HTMLElement) => {
oldHTML = nodeElement.outerHTML;
}
}, {
+ id: "text*",
iconHTML: "",
label: window.siyuan.languages.text + " *",
click() {
@@ -552,6 +571,7 @@ export const refMenu = (protyle: IProtyle, element: HTMLElement) => {
oldHTML = nodeElement.outerHTML;
}
}, {
+ id: "link",
label: window.siyuan.languages.link,
iconHTML: "",
click() {
@@ -564,6 +584,7 @@ export const refMenu = (protyle: IProtyle, element: HTMLElement) => {
}]);
if (element.parentElement.textContent.trim() === element.textContent.trim() && element.parentElement.tagName === "DIV") {
submenu.push({
+ id: "blockEmbed",
iconHTML: "",
label: window.siyuan.languages.blockEmbed,
click() {
@@ -576,6 +597,7 @@ export const refMenu = (protyle: IProtyle, element: HTMLElement) => {
});
}
submenu.push({
+ id: "defBlock",
iconHTML: "",
label: window.siyuan.languages.defBlock,
click() {
@@ -587,6 +609,7 @@ export const refMenu = (protyle: IProtyle, element: HTMLElement) => {
}
});
submenu.push({
+ id: "defBlockChildren",
iconHTML: "",
label: window.siyuan.languages.defBlockChildren,
click() {
@@ -598,12 +621,14 @@ export const refMenu = (protyle: IProtyle, element: HTMLElement) => {
}
});
window.siyuan.menus.menu.append(new MenuItem({
+ id: "iconRefresh",
label: window.siyuan.languages.turnInto,
icon: "iconRefresh",
submenu
}).element);
}
window.siyuan.menus.menu.append(new MenuItem({
+ id: "copy",
label: window.siyuan.languages.copy,
icon: "iconCopy",
click() {
@@ -612,6 +637,7 @@ export const refMenu = (protyle: IProtyle, element: HTMLElement) => {
}).element);
if (!protyle.disabled) {
window.siyuan.menus.menu.append(new MenuItem({
+ id: "cut",
label: window.siyuan.languages.cut,
icon: "iconCut",
click() {
@@ -626,6 +652,7 @@ export const refMenu = (protyle: IProtyle, element: HTMLElement) => {
}
}).element);
window.siyuan.menus.menu.append(new MenuItem({
+ id: "remove",
label: window.siyuan.languages.remove,
icon: "iconTrashcan",
click() {
@@ -686,6 +713,7 @@ export const contentMenu = (protyle: IProtyle, nodeElement: Element) => {
const id = nodeElement.getAttribute("data-node-id");
if (range.toString() !== "" || (range.cloneContents().childNodes[0] as HTMLElement)?.classList?.contains("emoji")) {
window.siyuan.menus.menu.append(new MenuItem({
+ id: "copy",
icon: "iconCopy",
accelerator: "⌘C",
label: window.siyuan.languages.copy,
@@ -696,6 +724,7 @@ export const contentMenu = (protyle: IProtyle, nodeElement: Element) => {
}
}).element);
window.siyuan.menus.menu.append(new MenuItem({
+ id: "copyPlainText",
label: window.siyuan.languages.copyPlainText,
accelerator: window.siyuan.config.keymap.editor.general.copyPlainText.custom,
click() {
@@ -707,6 +736,7 @@ export const contentMenu = (protyle: IProtyle, nodeElement: Element) => {
return;
}
window.siyuan.menus.menu.append(new MenuItem({
+ id: "cut",
icon: "iconCut",
accelerator: "⌘X",
label: window.siyuan.languages.cut,
@@ -716,6 +746,7 @@ export const contentMenu = (protyle: IProtyle, nodeElement: Element) => {
}
}).element);
window.siyuan.menus.menu.append(new MenuItem({
+ id: "delete",
icon: "iconTrashcan",
accelerator: "⌫",
label: window.siyuan.languages.delete,
@@ -735,6 +766,7 @@ export const contentMenu = (protyle: IProtyle, nodeElement: Element) => {
const inlineTypes = protyle.toolbar.getCurrentType(range);
if (inlineTypes.includes("code") || inlineTypes.includes("kbd")) {
window.siyuan.menus.menu.append(new MenuItem({
+ id: "copy",
label: window.siyuan.languages.copy,
icon: "iconCopy",
click() {
@@ -742,6 +774,7 @@ export const contentMenu = (protyle: IProtyle, nodeElement: Element) => {
}
}).element);
window.siyuan.menus.menu.append(new MenuItem({
+ id: "copyPlainText",
label: window.siyuan.languages.copyPlainText,
click() {
copyPlainText(inlineElement.textContent);
@@ -750,6 +783,7 @@ export const contentMenu = (protyle: IProtyle, nodeElement: Element) => {
if (!protyle.disabled) {
const id = nodeElement.getAttribute("data-node-id");
window.siyuan.menus.menu.append(new MenuItem({
+ id: "cut",
icon: "iconCut",
label: window.siyuan.languages.cut,
click() {
@@ -763,6 +797,7 @@ export const contentMenu = (protyle: IProtyle, nodeElement: Element) => {
}
}).element);
window.siyuan.menus.menu.append(new MenuItem({
+ id: "remove",
icon: "iconTrashcan",
label: window.siyuan.languages.remove,
click() {
@@ -782,6 +817,7 @@ export const contentMenu = (protyle: IProtyle, nodeElement: Element) => {
}
if (!protyle.disabled) {
window.siyuan.menus.menu.append(new MenuItem({
+ id: "paste",
label: window.siyuan.languages.paste,
icon: "iconPaste",
accelerator: "⌘V",
@@ -799,6 +835,7 @@ export const contentMenu = (protyle: IProtyle, nodeElement: Element) => {
}
}).element);
window.siyuan.menus.menu.append(new MenuItem({
+ id: "pasteAsPlainText",
label: window.siyuan.languages.pasteAsPlainText,
accelerator: "⇧⌘V",
click() {
@@ -807,6 +844,7 @@ export const contentMenu = (protyle: IProtyle, nodeElement: Element) => {
}
}).element);
window.siyuan.menus.menu.append(new MenuItem({
+ id: "pasteEscaped",
label: window.siyuan.languages.pasteEscaped,
click() {
pasteEscaped(protyle, nodeElement);
@@ -814,6 +852,7 @@ export const contentMenu = (protyle: IProtyle, nodeElement: Element) => {
}).element);
}
window.siyuan.menus.menu.append(new MenuItem({
+ id: "selectAll",
label: window.siyuan.languages.selectAll,
icon: "iconSelect",
accelerator: "⌘A",
@@ -827,6 +866,7 @@ export const contentMenu = (protyle: IProtyle, nodeElement: Element) => {
const tableMenus = tableMenu(protyle, nodeElement, cellElement as HTMLTableCellElement, range);
if (tableMenus.insertMenus.length > 0) {
window.siyuan.menus.menu.append(new MenuItem({
+ id: "separator_1",
type: "separator",
}).element);
tableMenus.insertMenus.forEach((menuItem) => {
@@ -835,6 +875,7 @@ export const contentMenu = (protyle: IProtyle, nodeElement: Element) => {
}
if (tableMenus.removeMenus.length > 0) {
window.siyuan.menus.menu.append(new MenuItem({
+ id: "separator_2",
type: "separator",
}).element);
tableMenus.removeMenus.forEach((menuItem) => {
@@ -842,9 +883,11 @@ export const contentMenu = (protyle: IProtyle, nodeElement: Element) => {
});
}
window.siyuan.menus.menu.append(new MenuItem({
+ id: "separator_3",
type: "separator",
}).element);
window.siyuan.menus.menu.append(new MenuItem({
+ id: "more",
type: "submenu",
icon: "iconMore",
label: window.siyuan.languages.more,
@@ -1021,6 +1064,7 @@ export const imgMenu = (protyle: IProtyle, range: Range, assetElement: HTMLEleme
const html = nodeElement.outerHTML;
if (!protyle.disabled) {
window.siyuan.menus.menu.append(new MenuItem({
+ id: "imageUrlAndTitleAndTooltipText",
iconHTML: "",
type: "readonly",
label: `
@@ -1086,9 +1130,10 @@ export const imgMenu = (protyle: IProtyle, range: Range, assetElement: HTMLEleme
});
}
}).element);
- window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element);
+ window.siyuan.menus.menu.append(new MenuItem({id: "separator_1", type: "separator"}).element);
}
window.siyuan.menus.menu.append(new MenuItem({
+ id: "copy",
label: window.siyuan.languages.copy,
accelerator: "⌘C",
icon: "iconCopy",
@@ -1101,6 +1146,7 @@ export const imgMenu = (protyle: IProtyle, range: Range, assetElement: HTMLEleme
}).element);
if (protyle.disabled) {
window.siyuan.menus.menu.append(new MenuItem({
+ id: "copyImageURL",
label: window.siyuan.languages.copy + " " + window.siyuan.languages.imageURL,
icon: "iconLink",
click() {
@@ -1109,6 +1155,7 @@ export const imgMenu = (protyle: IProtyle, range: Range, assetElement: HTMLEleme
}).element);
}
window.siyuan.menus.menu.append(new MenuItem({
+ id: "copyAsPNG",
label: window.siyuan.languages.copyAsPNG,
accelerator: window.siyuan.config.keymap.editor.general.copyBlockRef.custom,
icon: "iconImage",
@@ -1118,6 +1165,7 @@ export const imgMenu = (protyle: IProtyle, range: Range, assetElement: HTMLEleme
}).element);
if (!protyle.disabled) {
window.siyuan.menus.menu.append(new MenuItem({
+ id: "cut",
icon: "iconCut",
accelerator: "⌘X",
label: window.siyuan.languages.cut,
@@ -1133,6 +1181,7 @@ export const imgMenu = (protyle: IProtyle, range: Range, assetElement: HTMLEleme
}
}).element);
window.siyuan.menus.menu.append(new MenuItem({
+ id: "delete",
icon: "iconTrashcan",
accelerator: "⌫",
label: window.siyuan.languages.delete,
@@ -1143,10 +1192,11 @@ export const imgMenu = (protyle: IProtyle, range: Range, assetElement: HTMLEleme
focusByWbr(protyle.wysiwyg.element, range);
}
}).element);
- window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element);
+ window.siyuan.menus.menu.append(new MenuItem({id: "separator_2", type: "separator"}).element);
const imagePath = imgElement.getAttribute("data-src");
if (imagePath.startsWith("assets/")) {
window.siyuan.menus.menu.append(new MenuItem({
+ id: "rename",
label: window.siyuan.languages.rename,
icon: "iconEdit",
click() {
@@ -1155,8 +1205,10 @@ export const imgMenu = (protyle: IProtyle, range: Range, assetElement: HTMLEleme
}).element);
}
window.siyuan.menus.menu.append(new MenuItem({
+ id: "ocr",
label: "OCR",
submenu: [{
+ id: "ocrResult",
iconHTML: "",
type: "readonly",
label: `
`,
@@ -1173,6 +1225,7 @@ export const imgMenu = (protyle: IProtyle, range: Range, assetElement: HTMLEleme
}, {
type: "separator"
}, {
+ id: "reOCR",
iconHTML: "",
label: window.siyuan.languages.reOCR,
click() {
@@ -1184,6 +1237,7 @@ export const imgMenu = (protyle: IProtyle, range: Range, assetElement: HTMLEleme
}],
}).element);
window.siyuan.menus.menu.append(new MenuItem({
+ id: "alignCenter",
icon: "iconAlignCenter",
label: window.siyuan.languages.alignCenter,
accelerator: window.siyuan.config.keymap.editor.general.alignCenter.custom,
@@ -1192,6 +1246,7 @@ export const imgMenu = (protyle: IProtyle, range: Range, assetElement: HTMLEleme
}
}).element);
window.siyuan.menus.menu.append(new MenuItem({
+ id: "alignLeft",
icon: "iconAlignLeft",
label: window.siyuan.languages.alignLeft,
accelerator: window.siyuan.config.keymap.editor.general.alignLeft.custom,
@@ -1201,8 +1256,10 @@ export const imgMenu = (protyle: IProtyle, range: Range, assetElement: HTMLEleme
}).element);
let rangeElement: HTMLInputElement;
window.siyuan.menus.menu.append(new MenuItem({
+ id: "width",
label: window.siyuan.languages.width,
submenu: [{
+ id: "widthInput",
iconHTML: "",
type: "readonly",
label: `
@@ -1235,8 +1292,10 @@ export const imgMenu = (protyle: IProtyle, range: Range, assetElement: HTMLEleme
genImageWidthMenu("67%", imgElement, protyle, id, nodeElement, html),
genImageWidthMenu("75%", imgElement, protyle, id, nodeElement, html),
genImageWidthMenu("100%", imgElement, protyle, id, nodeElement, html), {
+ id: "separator_1",
type: "separator",
}, {
+ id: "widthDrag",
iconHTML: "",
type: "readonly",
label: `