From b0f3bd809b2a31666fcf44d901ce4daccd406639 Mon Sep 17 00:00:00 2001 From: Jeffrey Chen <78434827+TCOTC@users.noreply.github.com> Date: Thu, 19 Sep 2024 13:09:05 +0800 Subject: [PATCH 01/23] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20index.ts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/protyle/gutter/index.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/src/protyle/gutter/index.ts b/app/src/protyle/gutter/index.ts index cb33414af35..5557f96e3fa 100644 --- a/app/src/protyle/gutter/index.ts +++ b/app/src/protyle/gutter/index.ts @@ -652,6 +652,7 @@ export class Gutter { })); window.siyuan.menus.menu.append(new MenuItem({ icon: "iconRefresh", + id: "turnInto", label: window.siyuan.languages.turnInto, type: "submenu", submenu: turnIntoSubmenu @@ -659,6 +660,7 @@ export class Gutter { if (isContinue) { window.siyuan.menus.menu.append(new MenuItem({ icon: "iconSuper", + id: "superBlock", label: window.siyuan.languages.merge + " " + window.siyuan.languages.superBlock, type: "submenu", submenu: [this.turnsIntoOne({ @@ -684,6 +686,7 @@ export class Gutter { if (!protyle.disabled) { window.siyuan.menus.menu.append(new MenuItem({ icon: "iconSparkles", + id: "ai", label: window.siyuan.languages.ai, accelerator: window.siyuan.config.keymap.editor.general.ai.custom, click() { @@ -731,6 +734,7 @@ export class Gutter { window.siyuan.menus.menu.append(new MenuItem({ label: window.siyuan.languages.copy, icon: "iconCopy", + id: "copy", type: "submenu", submenu: copyMenu, }).element); From 1c212bf3cffbbf48b0e9780e70b714dee8fed599 Mon Sep 17 00:00:00 2001 From: Jeffrey Chen <78434827+TCOTC@users.noreply.github.com> Date: Thu, 19 Sep 2024 13:53:51 +0800 Subject: [PATCH 02/23] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20index.ts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/protyle/gutter/index.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/protyle/gutter/index.ts b/app/src/protyle/gutter/index.ts index 5557f96e3fa..fb3104fb244 100644 --- a/app/src/protyle/gutter/index.ts +++ b/app/src/protyle/gutter/index.ts @@ -651,16 +651,16 @@ export class Gutter { isContinue })); window.siyuan.menus.menu.append(new MenuItem({ - icon: "iconRefresh", id: "turnInto", + icon: "iconRefresh", label: window.siyuan.languages.turnInto, type: "submenu", submenu: turnIntoSubmenu }).element); if (isContinue) { window.siyuan.menus.menu.append(new MenuItem({ - icon: "iconSuper", id: "superBlock", + icon: "iconSuper", label: window.siyuan.languages.merge + " " + window.siyuan.languages.superBlock, type: "submenu", submenu: [this.turnsIntoOne({ @@ -685,8 +685,8 @@ export class Gutter { } if (!protyle.disabled) { window.siyuan.menus.menu.append(new MenuItem({ - icon: "iconSparkles", id: "ai", + icon: "iconSparkles", label: window.siyuan.languages.ai, accelerator: window.siyuan.config.keymap.editor.general.ai.custom, click() { @@ -732,9 +732,9 @@ export class Gutter { copyMenu.splice(2, 0, copyTextRefMenu); } window.siyuan.menus.menu.append(new MenuItem({ + id: "copy", label: window.siyuan.languages.copy, icon: "iconCopy", - id: "copy", type: "submenu", submenu: copyMenu, }).element); From 361973dc1d35badf2701e7ee50cc88316f0e8d91 Mon Sep 17 00:00:00 2001 From: Jeffrey Chen <78434827+TCOTC@users.noreply.github.com> Date: Thu, 19 Sep 2024 16:43:37 +0800 Subject: [PATCH 03/23] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20index.ts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/protyle/gutter/index.ts | 71 +++++++++++++++++++++++++-------- 1 file changed, 55 insertions(+), 16 deletions(-) diff --git a/app/src/protyle/gutter/index.ts b/app/src/protyle/gutter/index.ts index fb3104fb244..775409652e7 100644 --- a/app/src/protyle/gutter/index.ts +++ b/app/src/protyle/gutter/index.ts @@ -742,6 +742,7 @@ export class Gutter { return; } window.siyuan.menus.menu.append(new MenuItem({ + id: "cut", label: window.siyuan.languages.cut, accelerator: "⌘X", icon: "iconCut", @@ -751,6 +752,7 @@ export class Gutter { } }).element); window.siyuan.menus.menu.append(new MenuItem({ + id: "move", label: window.siyuan.languages.move, accelerator: window.siyuan.config.keymap.general.move.custom, icon: "iconMove", @@ -762,6 +764,7 @@ export class Gutter { }).element); const range = getSelection().rangeCount > 0 ? getSelection().getRangeAt(0) : undefined; window.siyuan.menus.menu.append(new MenuItem({ + id: "addToDatabase", label: window.siyuan.languages.addToDatabase, accelerator: window.siyuan.config.keymap.general.addToDatabase.custom, icon: "iconDatabase", @@ -770,6 +773,7 @@ export class Gutter { } }).element); window.siyuan.menus.menu.append(new MenuItem({ + id: "delete", label: window.siyuan.languages.delete, icon: "iconTrashcan", accelerator: "⌫", @@ -779,7 +783,7 @@ export class Gutter { } }).element); - window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator", type: "separator"}).element); const appearanceElement = new MenuItem({ label: window.siyuan.languages.appearance, icon: "iconFont", @@ -809,8 +813,9 @@ export class Gutter { this.genWidths(selectsElement, protyle); // this.genHeights(selectsElement, protyle); if (!window.siyuan.config.readonly) { - window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ + id: "quickMakeCard", label: window.siyuan.languages.quickMakeCard, accelerator: window.siyuan.config.keymap.editor.general.quickMakeCard.custom, iconHTML: '', @@ -820,6 +825,7 @@ export class Gutter { } }).element); window.siyuan.menus.menu.append(new MenuItem({ + id: "addToDeck", label: window.siyuan.languages.addToDeck, icon: "iconRiffCard", ignore: !window.siyuan.config.flashcard.deck, @@ -1156,6 +1162,7 @@ export class Gutter { } if (turnIntoSubmenu.length > 0 && !protyle.disabled) { window.siyuan.menus.menu.append(new MenuItem({ + id: "turnInto", icon: "iconRefresh", label: window.siyuan.languages.turnInto, type: "submenu", @@ -1164,6 +1171,7 @@ export class Gutter { } if (!protyle.disabled && !nodeElement.classList.contains("hr")) { window.siyuan.menus.menu.append(new MenuItem({ + id: "ai", icon: "iconSparkles", label: window.siyuan.languages.ai, accelerator: window.siyuan.config.keymap.editor.general.ai.custom, @@ -1218,6 +1226,7 @@ export class Gutter { copyMenu.splice(7, 0, copyTextRefMenu); } window.siyuan.menus.menu.append(new MenuItem({ + id: "copy", label: window.siyuan.languages.copy, icon: "iconCopy", type: "submenu", @@ -1225,6 +1234,7 @@ export class Gutter { }).element); if (!protyle.disabled) { window.siyuan.menus.menu.append(new MenuItem({ + id: "cut", label: window.siyuan.languages.cut, accelerator: "⌘X", icon: "iconCut", @@ -1234,6 +1244,7 @@ export class Gutter { } }).element); window.siyuan.menus.menu.append(new MenuItem({ + id: "move", label: window.siyuan.languages.move, accelerator: window.siyuan.config.keymap.general.move.custom, icon: "iconMove", @@ -1245,6 +1256,7 @@ export class Gutter { }).element); const range = getSelection().rangeCount > 0 ? getSelection().getRangeAt(0) : undefined; window.siyuan.menus.menu.append(new MenuItem({ + id: "addToDatabase", label: window.siyuan.languages.addToDatabase, accelerator: window.siyuan.config.keymap.general.addToDatabase.custom, icon: "iconDatabase", @@ -1253,6 +1265,7 @@ export class Gutter { } }).element); window.siyuan.menus.menu.append(new MenuItem({ + id: "delete", label: window.siyuan.languages.delete, icon: "iconTrashcan", accelerator: "⌫", @@ -1263,8 +1276,9 @@ export class Gutter { }).element); } if (type === "NodeSuperBlock" && !protyle.disabled) { - window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ + id: "superBlock", label: window.siyuan.languages.cancel + " " + window.siyuan.languages.superBlock, click() { const sbData = cancelSB(protyle, nodeElement); @@ -1274,12 +1288,13 @@ export class Gutter { } }).element); } else if (type === "NodeCodeBlock" && !protyle.disabled && !nodeElement.getAttribute("data-subtype")) { - window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator", type: "separator"}).element); const linewrap = nodeElement.getAttribute("linewrap"); const ligatures = nodeElement.getAttribute("ligatures"); const linenumber = nodeElement.getAttribute("linenumber"); window.siyuan.menus.menu.append(new MenuItem({ + id: "code", type: "submenu", icon: "iconCode", label: window.siyuan.languages.code, @@ -1346,10 +1361,11 @@ export class Gutter { }] }).element); } else if (type === "NodeCodeBlock" && !protyle.disabled && ["echarts", "mindmap"].includes(nodeElement.getAttribute("data-subtype"))) { - window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator", type: "separator"}).element); const height = (nodeElement as HTMLElement).style.height; let html = nodeElement.outerHTML; window.siyuan.menus.menu.append(new MenuItem({ + id: "chart", label: window.siyuan.languages.chart, icon: "iconCode", submenu: [{ @@ -1385,8 +1401,9 @@ export class Gutter { } const cellElement = hasClosestByMatchTag(range.startContainer, "TD") || hasClosestByMatchTag(range.startContainer, "TH"); if (cellElement) { - window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ + id: "table", type: "submenu", icon: "iconTable", label: window.siyuan.languages.table, @@ -1394,8 +1411,9 @@ export class Gutter { }).element); } } else if (type === "NodeAttributeView" && !protyle.disabled) { - window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ + id: "exportCSV", icon: "iconDatabase", label: window.siyuan.languages.export + " CSV", click() { @@ -1408,7 +1426,7 @@ export class Gutter { } }).element); } else if ((type === "NodeVideo" || type === "NodeAudio") && !protyle.disabled) { - window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ id: "assetSubMenu", type: "submenu", @@ -1417,7 +1435,7 @@ export class Gutter { submenu: videoMenu(protyle, nodeElement, type) }).element); } else if (type === "NodeIFrame" && !protyle.disabled) { - window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ id: "assetSubMenu", type: "submenu", @@ -1426,8 +1444,9 @@ export class Gutter { submenu: iframeMenu(protyle, nodeElement) }).element); } else if (type === "NodeHTMLBlock" && !protyle.disabled) { - window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ + id: "HTML", icon: "iconHTML5", label: "HTML", click() { @@ -1435,7 +1454,7 @@ export class Gutter { } }).element); } else if (type === "NodeBlockQueryEmbed" && !protyle.disabled) { - window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator", type: "separator"}).element); const breadcrumb = nodeElement.getAttribute("breadcrumb"); window.siyuan.menus.menu.append(new MenuItem({ id: "assetSubMenu", @@ -1498,7 +1517,7 @@ export class Gutter { }] }).element); } else if (type === "NodeHeading" && !protyle.disabled) { - window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator", type: "separator"}).element); const headingSubMenu = []; if (subType !== "h1") { headingSubMenu.push(this.genHeadingTransform(protyle, id, 1)); @@ -1519,12 +1538,14 @@ export class Gutter { headingSubMenu.push(this.genHeadingTransform(protyle, id, 6)); } window.siyuan.menus.menu.append(new MenuItem({ + id: "tWithSubtitle", type: "submenu", icon: "iconRefresh", label: window.siyuan.languages.tWithSubtitle, submenu: headingSubMenu }).element); window.siyuan.menus.menu.append(new MenuItem({ + id: "copyHeadings1", icon: "iconCopy", label: `${window.siyuan.languages.copy} ${window.siyuan.languages.headings1}`, click() { @@ -1538,6 +1559,7 @@ export class Gutter { } }).element); window.siyuan.menus.menu.append(new MenuItem({ + id: "cutHeadings1", icon: "iconCut", label: `${window.siyuan.languages.cut} ${window.siyuan.languages.headings1}`, click() { @@ -1561,6 +1583,7 @@ export class Gutter { } }).element); window.siyuan.menus.menu.append(new MenuItem({ + id: "deleteHeadings1", icon: "iconTrashcan", label: `${window.siyuan.languages.delete} ${window.siyuan.languages.headings1}`, click() { @@ -1577,9 +1600,10 @@ export class Gutter { } }).element); } - window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator", type: "separator"}).element); if (!protyle.options.backlinkData) { window.siyuan.menus.menu.append(new MenuItem({ + id: "enter", accelerator: `${updateHotkeyTip(window.siyuan.config.keymap.general.enter.custom)}/${updateHotkeyTip("⌘" + window.siyuan.languages.click)}`, label: window.siyuan.languages.enter, click: () => { @@ -1587,6 +1611,7 @@ export class Gutter { } }).element); window.siyuan.menus.menu.append(new MenuItem({ + id: "enterBack", accelerator: window.siyuan.config.keymap.general.enterBack.custom, label: window.siyuan.languages.enterBack, click: () => { @@ -1596,6 +1621,7 @@ export class Gutter { } if (!protyle.disabled) { window.siyuan.menus.menu.append(new MenuItem({ + id: "insertBefore", icon: "iconBefore", label: window.siyuan.languages["insert-before"], accelerator: window.siyuan.config.keymap.editor.general.insertBefore.custom, @@ -1606,6 +1632,7 @@ export class Gutter { } }).element); window.siyuan.menus.menu.append(new MenuItem({ + id: "insertAfter", icon: "iconAfter", label: window.siyuan.languages["insert-after"], accelerator: window.siyuan.config.keymap.editor.general.insertAfter.custom, @@ -1621,6 +1648,7 @@ export class Gutter { } } window.siyuan.menus.menu.append(new MenuItem({ + id: "jumpToParentNext", label: window.siyuan.languages.jumpToParentNext, accelerator: window.siyuan.config.keymap.editor.general.jumpToParentNext.custom, click() { @@ -1629,6 +1657,7 @@ export class Gutter { } }).element); window.siyuan.menus.menu.append(new MenuItem({ + id: "jumpToParentPrev", label: window.siyuan.languages.jumpToParentPrev, accelerator: window.siyuan.config.keymap.editor.general.jumpToParentPrev.custom, click() { @@ -1637,6 +1666,7 @@ export class Gutter { } }).element); window.siyuan.menus.menu.append(new MenuItem({ + id: "jumpToParent", label: window.siyuan.languages.jumpToParent, accelerator: window.siyuan.config.keymap.editor.general.jumpToParent.custom, click() { @@ -1645,10 +1675,11 @@ export class Gutter { } }).element); - window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator", type: "separator"}).element); if (type !== "NodeThematicBreak") { window.siyuan.menus.menu.append(new MenuItem({ + id: "collapse", label: window.siyuan.languages.fold, accelerator: `${updateHotkeyTip(window.siyuan.config.keymap.editor.general.collapse.custom)}/${updateHotkeyTip("⌥" + window.siyuan.languages.click)}`, click() { @@ -1658,6 +1689,7 @@ export class Gutter { }).element); if (!protyle.disabled) { window.siyuan.menus.menu.append(new MenuItem({ + id: "attr", label: window.siyuan.languages.attr, icon: "iconAttr", accelerator: window.siyuan.config.keymap.editor.general.attr.custom + "/" + updateHotkeyTip("⇧" + window.siyuan.languages.click), @@ -1697,11 +1729,12 @@ export class Gutter { this.genWidths([nodeElement], protyle); // this.genHeights([nodeElement], protyle); } - window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator", type: "separator"}).element); if (!["NodeThematicBreak", "NodeBlockQueryEmbed", "NodeIFrame", "NodeHTMLBlock", "NodeWidget", "NodeVideo", "NodeAudio"].includes(type) && getContenteditableElement(nodeElement)?.textContent.trim() !== "" && (type !== "NodeCodeBlock" || (type === "NodeCodeBlock" && !nodeElement.getAttribute("data-subtype")))) { window.siyuan.menus.menu.append(new MenuItem({ + id: "wechatReminder", label: window.siyuan.languages.wechatReminder, icon: "iconMp", ignore: window.siyuan.config.readonly, @@ -1712,6 +1745,7 @@ export class Gutter { } if (type !== "NodeThematicBreak" && !window.siyuan.config.readonly) { window.siyuan.menus.menu.append(new MenuItem({ + id: "quickMakeCard", label: window.siyuan.languages.quickMakeCard, accelerator: window.siyuan.config.keymap.editor.general.quickMakeCard.custom, iconHTML: '', @@ -1721,6 +1755,7 @@ export class Gutter { } }).element); window.siyuan.menus.menu.append(new MenuItem({ + id: "flashcard", label: window.siyuan.languages.addToDeck, ignore: !window.siyuan.config.flashcard.deck, icon: "iconRiffCard", @@ -1728,7 +1763,7 @@ export class Gutter { makeCard(protyle.app, [id]); } }).element); - window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator", type: "separator"}).element); } if (protyle?.app?.plugins) { @@ -1748,6 +1783,7 @@ export class Gutter { updateHTML = `${window.siyuan.languages.modifiedAt} ${dayjs(updateHTML).format("YYYY-MM-DD HH:mm:ss")}
`; } window.siyuan.menus.menu.append(new MenuItem({ + id: "createdAt", iconHTML: "", type: "readonly", label: `${updateHTML}${window.siyuan.languages.createdAt} ${dayjs(id.substr(0, 14)).format("YYYY-MM-DD HH:mm:ss")}`, @@ -1790,6 +1826,7 @@ export class Gutter { private genAlign(nodeElements: Element[], protyle: IProtyle) { window.siyuan.menus.menu.append(new MenuItem({ + id: "layout", label: window.siyuan.languages.layout, type: "submenu", submenu: [{ @@ -1941,6 +1978,7 @@ export class Gutter { }); const width = firstElement.style.width.endsWith("%") ? parseInt(firstElement.style.width) : 0; window.siyuan.menus.menu.append(new MenuItem({ + id: "width", label: window.siyuan.languages.width, submenu: styles.concat([{ iconHTML: "", @@ -2024,6 +2062,7 @@ export class Gutter { }); const height = firstElement.style.height.endsWith("%") ? parseInt(firstElement.style.height) : 0; window.siyuan.menus.menu.append(new MenuItem({ + id: "height", label: window.siyuan.languages.height, submenu: styles.concat([{ iconHTML: "", From eb81057d2bfa58762d5a06dfaf502dbf43be10bc Mon Sep 17 00:00:00 2001 From: Jeffrey Chen <78434827+TCOTC@users.noreply.github.com> Date: Thu, 19 Sep 2024 17:12:10 +0800 Subject: [PATCH 04/23] separator --- app/src/menus/Menu.ts | 6 +++--- app/src/protyle/gutter/index.ts | 32 ++++++++++++++++---------------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/app/src/menus/Menu.ts b/app/src/menus/Menu.ts index fc5b6cba939..3e51baa9eaf 100644 --- a/app/src/menus/Menu.ts +++ b/app/src/menus/Menu.ts @@ -181,6 +181,9 @@ export class MenuItem { if (options.disabled) { this.element.setAttribute("disabled", "disabled"); } + if (options.id) { + this.element.setAttribute("data-id", options.id); + } if (options.type === "separator") { this.element.classList.add("b3-menu__separator"); return; @@ -207,9 +210,6 @@ export class MenuItem { } }); } - if (options.id) { - this.element.setAttribute("data-id", options.id); - } if (options.type === "readonly") { this.element.classList.add("b3-menu__item--readonly"); } diff --git a/app/src/protyle/gutter/index.ts b/app/src/protyle/gutter/index.ts index 775409652e7..47e2e6ee1c9 100644 --- a/app/src/protyle/gutter/index.ts +++ b/app/src/protyle/gutter/index.ts @@ -783,7 +783,7 @@ export class Gutter { } }).element); - window.siyuan.menus.menu.append(new MenuItem({id: "separator", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator1", type: "separator"}).element); const appearanceElement = new MenuItem({ label: window.siyuan.languages.appearance, icon: "iconFont", @@ -813,7 +813,7 @@ export class Gutter { this.genWidths(selectsElement, protyle); // this.genHeights(selectsElement, protyle); if (!window.siyuan.config.readonly) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator2", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ id: "quickMakeCard", label: window.siyuan.languages.quickMakeCard, @@ -1276,7 +1276,7 @@ export class Gutter { }).element); } if (type === "NodeSuperBlock" && !protyle.disabled) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator3", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ id: "superBlock", label: window.siyuan.languages.cancel + " " + window.siyuan.languages.superBlock, @@ -1288,7 +1288,7 @@ export class Gutter { } }).element); } else if (type === "NodeCodeBlock" && !protyle.disabled && !nodeElement.getAttribute("data-subtype")) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator4", type: "separator"}).element); const linewrap = nodeElement.getAttribute("linewrap"); const ligatures = nodeElement.getAttribute("ligatures"); const linenumber = nodeElement.getAttribute("linenumber"); @@ -1361,7 +1361,7 @@ export class Gutter { }] }).element); } else if (type === "NodeCodeBlock" && !protyle.disabled && ["echarts", "mindmap"].includes(nodeElement.getAttribute("data-subtype"))) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator5", type: "separator"}).element); const height = (nodeElement as HTMLElement).style.height; let html = nodeElement.outerHTML; window.siyuan.menus.menu.append(new MenuItem({ @@ -1401,7 +1401,7 @@ export class Gutter { } const cellElement = hasClosestByMatchTag(range.startContainer, "TD") || hasClosestByMatchTag(range.startContainer, "TH"); if (cellElement) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator6", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ id: "table", type: "submenu", @@ -1411,7 +1411,7 @@ export class Gutter { }).element); } } else if (type === "NodeAttributeView" && !protyle.disabled) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator7", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ id: "exportCSV", icon: "iconDatabase", @@ -1426,7 +1426,7 @@ export class Gutter { } }).element); } else if ((type === "NodeVideo" || type === "NodeAudio") && !protyle.disabled) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator8", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ id: "assetSubMenu", type: "submenu", @@ -1435,7 +1435,7 @@ export class Gutter { submenu: videoMenu(protyle, nodeElement, type) }).element); } else if (type === "NodeIFrame" && !protyle.disabled) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator9", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ id: "assetSubMenu", type: "submenu", @@ -1444,7 +1444,7 @@ export class Gutter { submenu: iframeMenu(protyle, nodeElement) }).element); } else if (type === "NodeHTMLBlock" && !protyle.disabled) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator10", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ id: "HTML", icon: "iconHTML5", @@ -1454,7 +1454,7 @@ export class Gutter { } }).element); } else if (type === "NodeBlockQueryEmbed" && !protyle.disabled) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator11", type: "separator"}).element); const breadcrumb = nodeElement.getAttribute("breadcrumb"); window.siyuan.menus.menu.append(new MenuItem({ id: "assetSubMenu", @@ -1517,7 +1517,7 @@ export class Gutter { }] }).element); } else if (type === "NodeHeading" && !protyle.disabled) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator12", type: "separator"}).element); const headingSubMenu = []; if (subType !== "h1") { headingSubMenu.push(this.genHeadingTransform(protyle, id, 1)); @@ -1600,7 +1600,7 @@ export class Gutter { } }).element); } - window.siyuan.menus.menu.append(new MenuItem({id: "separator", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator13", type: "separator"}).element); if (!protyle.options.backlinkData) { window.siyuan.menus.menu.append(new MenuItem({ id: "enter", @@ -1675,7 +1675,7 @@ export class Gutter { } }).element); - window.siyuan.menus.menu.append(new MenuItem({id: "separator", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator14", type: "separator"}).element); if (type !== "NodeThematicBreak") { window.siyuan.menus.menu.append(new MenuItem({ @@ -1729,7 +1729,7 @@ export class Gutter { this.genWidths([nodeElement], protyle); // this.genHeights([nodeElement], protyle); } - window.siyuan.menus.menu.append(new MenuItem({id: "separator", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator15", type: "separator"}).element); if (!["NodeThematicBreak", "NodeBlockQueryEmbed", "NodeIFrame", "NodeHTMLBlock", "NodeWidget", "NodeVideo", "NodeAudio"].includes(type) && getContenteditableElement(nodeElement)?.textContent.trim() !== "" && (type !== "NodeCodeBlock" || (type === "NodeCodeBlock" && !nodeElement.getAttribute("data-subtype")))) { @@ -1763,7 +1763,7 @@ export class Gutter { makeCard(protyle.app, [id]); } }).element); - window.siyuan.menus.menu.append(new MenuItem({id: "separator", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator16", type: "separator"}).element); } if (protyle?.app?.plugins) { From de5d4b65e5db55b8ff178f1e4c32ca7066d4207e Mon Sep 17 00:00:00 2001 From: Jeffrey Chen <78434827+TCOTC@users.noreply.github.com> Date: Thu, 19 Sep 2024 17:17:06 +0800 Subject: [PATCH 05/23] copySubMenu --- app/src/menus/commonMenuItem.ts | 6 ++++++ app/src/protyle/gutter/index.ts | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/app/src/menus/commonMenuItem.ts b/app/src/menus/commonMenuItem.ts index 0c45f02721f..678ea3e4c7f 100644 --- a/app/src/menus/commonMenuItem.ts +++ b/app/src/menus/commonMenuItem.ts @@ -372,6 +372,7 @@ export const openAttr = (nodeElement: Element, focusName = "bookmark", protyle?: export const copySubMenu = (id: string, accelerator = true, focusElement?: Element) => { return [{ + id: "copyBlockRef", iconHTML: "", accelerator: accelerator ? window.siyuan.config.keymap.editor.general.copyBlockRef.custom : undefined, label: window.siyuan.languages.copyBlockRef, @@ -384,6 +385,7 @@ export const copySubMenu = (id: string, accelerator = true, focusElement?: Eleme } } }, { + id: "copyBlockEmbed", iconHTML: "", label: window.siyuan.languages.copyBlockEmbed, accelerator: accelerator ? window.siyuan.config.keymap.editor.general.copyBlockEmbed.custom : undefined, @@ -394,6 +396,7 @@ export const copySubMenu = (id: string, accelerator = true, focusElement?: Eleme } } }, { + id: "copyProtocol", iconHTML: "", label: window.siyuan.languages.copyProtocol, accelerator: accelerator ? window.siyuan.config.keymap.editor.general.copyProtocol.custom : undefined, @@ -404,6 +407,7 @@ export const copySubMenu = (id: string, accelerator = true, focusElement?: Eleme } } }, { + id: "copyProtocolInMd", iconHTML: "", label: window.siyuan.languages.copyProtocolInMd, accelerator: accelerator ? window.siyuan.config.keymap.editor.general.copyProtocolInMd.custom : undefined, @@ -416,6 +420,7 @@ export const copySubMenu = (id: string, accelerator = true, focusElement?: Eleme } } }, { + id: "copyHPath", iconHTML: "", label: window.siyuan.languages.copyHPath, accelerator: accelerator ? window.siyuan.config.keymap.editor.general.copyHPath.custom : undefined, @@ -427,6 +432,7 @@ export const copySubMenu = (id: string, accelerator = true, focusElement?: Eleme }); } }, { + id: "copyID", iconHTML: "", label: window.siyuan.languages.copyID, accelerator: accelerator ? window.siyuan.config.keymap.editor.general.copyID.custom : undefined, diff --git a/app/src/protyle/gutter/index.ts b/app/src/protyle/gutter/index.ts index 47e2e6ee1c9..468ab097903 100644 --- a/app/src/protyle/gutter/index.ts +++ b/app/src/protyle/gutter/index.ts @@ -1182,6 +1182,7 @@ export class Gutter { } const copyMenu = (copySubMenu(id, true, nodeElement) as IMenu[]).concat([{ + id: "copyPlainText", iconHTML: "", label: window.siyuan.languages.copyPlainText, accelerator: window.siyuan.config.keymap.editor.general.copyPlainText.custom, @@ -1190,6 +1191,7 @@ export class Gutter { focusBlock(nodeElement); } }, { + id: "copyMirror", iconHTML: "", label: type === "NodeAttributeView" ? window.siyuan.languages.copyMirror : window.siyuan.languages.copy, accelerator: "⌘C", @@ -1202,6 +1204,7 @@ export class Gutter { document.execCommand("copy"); } }, { + id: "duplicateMirror", iconHTML: "", label: type === "NodeAttributeView" ? window.siyuan.languages.duplicateMirror : window.siyuan.languages.duplicate, accelerator: window.siyuan.config.keymap.editor.general.duplicate.custom, @@ -1212,6 +1215,7 @@ export class Gutter { }]); if (type === "NodeAttributeView") { copyMenu.push({ + id: "duplicateCompletely", iconHTML: "", label: window.siyuan.languages.duplicateCompletely, accelerator: window.siyuan.config.keymap.editor.general.duplicateCompletely.custom, From 2fe56c066afbe53a9cb450ed67019298ba487ab6 Mon Sep 17 00:00:00 2001 From: Jeffrey Chen <78434827+TCOTC@users.noreply.github.com> Date: Thu, 19 Sep 2024 19:04:10 +0800 Subject: [PATCH 06/23] copyText --- app/src/protyle/gutter/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/protyle/gutter/index.ts b/app/src/protyle/gutter/index.ts index 468ab097903..3e6ae68d7ea 100644 --- a/app/src/protyle/gutter/index.ts +++ b/app/src/protyle/gutter/index.ts @@ -2106,6 +2106,7 @@ export class Gutter { return false; } return { + id: "copyText", iconHTML: "", accelerator: window.siyuan.config.keymap.editor.general.copyText.custom, label: window.siyuan.languages.copyText, From a4145fd3e65995187874f9ffdfdfaa9ca1392c32 Mon Sep 17 00:00:00 2001 From: Jeffrey Chen <78434827+TCOTC@users.noreply.github.com> Date: Thu, 19 Sep 2024 19:11:00 +0800 Subject: [PATCH 07/23] =?UTF-8?q?assetSubMenu=20=E2=86=92=20blockEmbed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/protyle/gutter/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/protyle/gutter/index.ts b/app/src/protyle/gutter/index.ts index 3e6ae68d7ea..e6a1e561d54 100644 --- a/app/src/protyle/gutter/index.ts +++ b/app/src/protyle/gutter/index.ts @@ -1461,7 +1461,7 @@ export class Gutter { window.siyuan.menus.menu.append(new MenuItem({id: "separator11", type: "separator"}).element); const breadcrumb = nodeElement.getAttribute("breadcrumb"); window.siyuan.menus.menu.append(new MenuItem({ - id: "assetSubMenu", + id: "blockEmbed", type: "submenu", icon: "iconSQL", label: window.siyuan.languages.blockEmbed, From 866ab38792fea6d61aac724c04ea7667ae449516 Mon Sep 17 00:00:00 2001 From: Jeffrey Chen <78434827+TCOTC@users.noreply.github.com> Date: Thu, 19 Sep 2024 19:37:40 +0800 Subject: [PATCH 08/23] transferBlockRef --- app/src/menus/block.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/menus/block.ts b/app/src/menus/block.ts index e8dd19ec876..f590099b46a 100644 --- a/app/src/menus/block.ts +++ b/app/src/menus/block.ts @@ -6,6 +6,7 @@ import {Constants} from "../constants"; export const transferBlockRef = (id: string) => { window.siyuan.menus.menu.append(new MenuItem({ + id: "transferBlockRef", label: window.siyuan.languages.transferBlockRef, icon: "iconScrollHoriz", click() { From 827cf3455bc05bde5f45dcd2d6ae553f27ba372f Mon Sep 17 00:00:00 2001 From: Jeffrey Chen <78434827+TCOTC@users.noreply.github.com> Date: Thu, 19 Sep 2024 19:38:55 +0800 Subject: [PATCH 09/23] appearance --- app/src/protyle/gutter/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/protyle/gutter/index.ts b/app/src/protyle/gutter/index.ts index e6a1e561d54..697ec85515a 100644 --- a/app/src/protyle/gutter/index.ts +++ b/app/src/protyle/gutter/index.ts @@ -1705,6 +1705,7 @@ export class Gutter { } if (!protyle.disabled) { const appearanceElement = new MenuItem({ + id: "appearance", label: window.siyuan.languages.appearance, icon: "iconFont", accelerator: window.siyuan.config.keymap.editor.insert.appearance.custom, From 982cb0d248ca4e98cedeab03ba6456b20b28d570 Mon Sep 17 00:00:00 2001 From: Jeffrey Chen <78434827+TCOTC@users.noreply.github.com> Date: Thu, 19 Sep 2024 19:40:55 +0800 Subject: [PATCH 10/23] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20index.ts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/protyle/gutter/index.ts | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/app/src/protyle/gutter/index.ts b/app/src/protyle/gutter/index.ts index 697ec85515a..8ea1d9f5cdd 100644 --- a/app/src/protyle/gutter/index.ts +++ b/app/src/protyle/gutter/index.ts @@ -783,7 +783,7 @@ export class Gutter { } }).element); - window.siyuan.menus.menu.append(new MenuItem({id: "separator1", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_1", type: "separator"}).element); const appearanceElement = new MenuItem({ label: window.siyuan.languages.appearance, icon: "iconFont", @@ -813,7 +813,7 @@ export class Gutter { this.genWidths(selectsElement, protyle); // this.genHeights(selectsElement, protyle); if (!window.siyuan.config.readonly) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator2", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_2", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ id: "quickMakeCard", label: window.siyuan.languages.quickMakeCard, @@ -1280,7 +1280,7 @@ export class Gutter { }).element); } if (type === "NodeSuperBlock" && !protyle.disabled) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator3", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_3", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ id: "superBlock", label: window.siyuan.languages.cancel + " " + window.siyuan.languages.superBlock, @@ -1292,7 +1292,7 @@ export class Gutter { } }).element); } else if (type === "NodeCodeBlock" && !protyle.disabled && !nodeElement.getAttribute("data-subtype")) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator4", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_4", type: "separator"}).element); const linewrap = nodeElement.getAttribute("linewrap"); const ligatures = nodeElement.getAttribute("ligatures"); const linenumber = nodeElement.getAttribute("linenumber"); @@ -1365,7 +1365,7 @@ export class Gutter { }] }).element); } else if (type === "NodeCodeBlock" && !protyle.disabled && ["echarts", "mindmap"].includes(nodeElement.getAttribute("data-subtype"))) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator5", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_5", type: "separator"}).element); const height = (nodeElement as HTMLElement).style.height; let html = nodeElement.outerHTML; window.siyuan.menus.menu.append(new MenuItem({ @@ -1405,7 +1405,7 @@ export class Gutter { } const cellElement = hasClosestByMatchTag(range.startContainer, "TD") || hasClosestByMatchTag(range.startContainer, "TH"); if (cellElement) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator6", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_6", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ id: "table", type: "submenu", @@ -1415,7 +1415,7 @@ export class Gutter { }).element); } } else if (type === "NodeAttributeView" && !protyle.disabled) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator7", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_7", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ id: "exportCSV", icon: "iconDatabase", @@ -1430,7 +1430,7 @@ export class Gutter { } }).element); } else if ((type === "NodeVideo" || type === "NodeAudio") && !protyle.disabled) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator8", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_8", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ id: "assetSubMenu", type: "submenu", @@ -1439,7 +1439,7 @@ export class Gutter { submenu: videoMenu(protyle, nodeElement, type) }).element); } else if (type === "NodeIFrame" && !protyle.disabled) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator9", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_9", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ id: "assetSubMenu", type: "submenu", @@ -1448,7 +1448,7 @@ export class Gutter { submenu: iframeMenu(protyle, nodeElement) }).element); } else if (type === "NodeHTMLBlock" && !protyle.disabled) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator10", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_10", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ id: "HTML", icon: "iconHTML5", @@ -1458,7 +1458,7 @@ export class Gutter { } }).element); } else if (type === "NodeBlockQueryEmbed" && !protyle.disabled) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator11", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_11", type: "separator"}).element); const breadcrumb = nodeElement.getAttribute("breadcrumb"); window.siyuan.menus.menu.append(new MenuItem({ id: "blockEmbed", @@ -1521,7 +1521,7 @@ export class Gutter { }] }).element); } else if (type === "NodeHeading" && !protyle.disabled) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator12", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_12", type: "separator"}).element); const headingSubMenu = []; if (subType !== "h1") { headingSubMenu.push(this.genHeadingTransform(protyle, id, 1)); @@ -1604,7 +1604,7 @@ export class Gutter { } }).element); } - window.siyuan.menus.menu.append(new MenuItem({id: "separator13", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_13", type: "separator"}).element); if (!protyle.options.backlinkData) { window.siyuan.menus.menu.append(new MenuItem({ id: "enter", @@ -1679,7 +1679,7 @@ export class Gutter { } }).element); - window.siyuan.menus.menu.append(new MenuItem({id: "separator14", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_14", type: "separator"}).element); if (type !== "NodeThematicBreak") { window.siyuan.menus.menu.append(new MenuItem({ @@ -1734,7 +1734,7 @@ export class Gutter { this.genWidths([nodeElement], protyle); // this.genHeights([nodeElement], protyle); } - window.siyuan.menus.menu.append(new MenuItem({id: "separator15", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_15", type: "separator"}).element); if (!["NodeThematicBreak", "NodeBlockQueryEmbed", "NodeIFrame", "NodeHTMLBlock", "NodeWidget", "NodeVideo", "NodeAudio"].includes(type) && getContenteditableElement(nodeElement)?.textContent.trim() !== "" && (type !== "NodeCodeBlock" || (type === "NodeCodeBlock" && !nodeElement.getAttribute("data-subtype")))) { @@ -1768,7 +1768,7 @@ export class Gutter { makeCard(protyle.app, [id]); } }).element); - window.siyuan.menus.menu.append(new MenuItem({id: "separator16", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_16", type: "separator"}).element); } if (protyle?.app?.plugins) { From 29db8193caab478045c79165941f9f11c15e6174 Mon Sep 17 00:00:00 2001 From: Jeffrey Chen <78434827+TCOTC@users.noreply.github.com> Date: Thu, 19 Sep 2024 20:07:29 +0800 Subject: [PATCH 11/23] orderedList --- app/appearance/langs/en_US.json | 2 +- app/appearance/langs/es_ES.json | 2 +- app/appearance/langs/fr_FR.json | 2 +- app/appearance/langs/ja_JP.json | 2 +- app/appearance/langs/zh_CHT.json | 2 +- app/appearance/langs/zh_CN.json | 2 +- app/src/constants.ts | 2 +- app/src/mobile/util/keyboardToolbar.ts | 2 +- app/src/protyle/hint/extend.ts | 2 +- app/src/protyle/wysiwyg/keydown.ts | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/app/appearance/langs/en_US.json b/app/appearance/langs/en_US.json index 6f2eb5c1f1a..5063d7c4fd8 100644 --- a/app/appearance/langs/en_US.json +++ b/app/appearance/langs/en_US.json @@ -1206,7 +1206,7 @@ "list": "List", "more": "More", "nameEmpty": "Name is empty", - "ordered-list": "Order List", + "orderedList": "Order List", "outdent": "Outdent", "outlineOutdent": "List outline outdent", "outlineOutdentTip": "After enabling, the outdent will be using the list outline logic, i.e. moving the list items below the parent", diff --git a/app/appearance/langs/es_ES.json b/app/appearance/langs/es_ES.json index 06c61d6520f..db502dbbfa4 100644 --- a/app/appearance/langs/es_ES.json +++ b/app/appearance/langs/es_ES.json @@ -1206,7 +1206,7 @@ "list": "Lista", "more": "Más", "nameEmpty": "El nombre está vacío", - "ordered-list": "Lista ordenada", + "orderedList": "Lista ordenada", "outdent": "anular la sangría", "outlineOutdent": "Lista de contorno sin sangría", "outlineOutdentTip": "Después de habilitar, el outdent utilizará la lógica de esquema de la lista, es decir, moviendo los elementos de la lista debajo del padre", diff --git a/app/appearance/langs/fr_FR.json b/app/appearance/langs/fr_FR.json index e45a9d7f3fe..74772663bb5 100644 --- a/app/appearance/langs/fr_FR.json +++ b/app/appearance/langs/fr_FR.json @@ -1206,7 +1206,7 @@ "list": "Liste", "more": "Plus", "nameEmpty": "Nom est vide", - "ordered-list": "Liste d'ordres", + "orderedList": "Liste d'ordres", "outdent": "Outdent", "outlineOutdent": "Liste des retraits excessifs du contour", "outlineOutdentTip": "Après l'activation, le retrait négatif utilisera la logique de contour de la liste, c'est-à-dire en déplaçant les éléments de la liste sous le parent", diff --git a/app/appearance/langs/ja_JP.json b/app/appearance/langs/ja_JP.json index 1a7c4346dd7..3acd3a3b460 100644 --- a/app/appearance/langs/ja_JP.json +++ b/app/appearance/langs/ja_JP.json @@ -1206,7 +1206,7 @@ "list": "リスト", "more": "詳細", "nameEmpty": "名前が空です", - "ordered-list": "番号付きリスト", + "orderedList": "番号付きリスト", "outdent": "アウトデント", "outlineOutdent": "リストのアウトラインアウトデント", "outlineOutdentTip": "リスト項目にアウトラインロジックを使用してアウトデントします", diff --git a/app/appearance/langs/zh_CHT.json b/app/appearance/langs/zh_CHT.json index 33074864e68..a8eca360715 100644 --- a/app/appearance/langs/zh_CHT.json +++ b/app/appearance/langs/zh_CHT.json @@ -1206,7 +1206,7 @@ "list": "無序列表", "more": "更多", "nameEmpty": "檔案名不能為空", - "ordered-list": "有序列表", + "orderedList": "有序列表", "outdent": "列表反向縮進", "outlineOutdent": "列表大綱反向縮進", "outlineOutdentTip": "啟用後將使用列表大綱式邏輯反向縮進,即將列表項移動到父級下方", diff --git a/app/appearance/langs/zh_CN.json b/app/appearance/langs/zh_CN.json index 1f523e809d4..f69f620e7b5 100644 --- a/app/appearance/langs/zh_CN.json +++ b/app/appearance/langs/zh_CN.json @@ -1206,7 +1206,7 @@ "list": "无序列表", "more": "更多", "nameEmpty": "文件名不能为空", - "ordered-list": "有序列表", + "orderedList": "有序列表", "outdent": "列表反向缩进", "outlineOutdent": "列表大纲反向缩进", "outlineOutdentTip": "启用后将使用列表大纲式逻辑反向缩进,即将列表项移动到父级下方", diff --git a/app/src/constants.ts b/app/src/constants.ts index c214d122dbe..c395b68d3bd 100644 --- a/app/src/constants.ts +++ b/app/src/constants.ts @@ -429,7 +429,7 @@ export abstract class Constants { "inline-code": {default: "⌘G", custom: "⌘G"}, link: {default: "⌘K", custom: "⌘K"}, check: {default: "⌘L", custom: "⌘L"}, - "ordered-list": {default: "", custom: ""}, + "orderedList": {default: "", custom: ""}, list: {default: "", custom: ""}, table: {default: "⌘O", custom: "⌘O"}, code: {default: "⇧⌘K", custom: "⇧⌘K"}, diff --git a/app/src/mobile/util/keyboardToolbar.ts b/app/src/mobile/util/keyboardToolbar.ts index c6a944cb1cd..e43a643fba5 100644 --- a/app/src/mobile/util/keyboardToolbar.ts +++ b/app/src/mobile/util/keyboardToolbar.ts @@ -236,7 +236,7 @@ const renderSlashMenu = (protyle: IProtyle, toolbarElement: Element) => { ${getSlashItem("##### " + Lute.Caret, "iconH5", window.siyuan.languages.heading5, "true")} ${getSlashItem("###### " + Lute.Caret, "iconH6", window.siyuan.languages.heading6, "true")} ${getSlashItem("* " + Lute.Caret, "iconList", window.siyuan.languages.list, "true")} - ${getSlashItem("1. " + Lute.Caret, "iconOrderedList", window.siyuan.languages["ordered-list"], "true")} + ${getSlashItem("1. " + Lute.Caret, "iconOrderedList", window.siyuan.languages.orderedList, "true")} ${getSlashItem("* [ ] " + Lute.Caret, "iconCheck", window.siyuan.languages.check, "true")} ${getSlashItem("> " + Lute.Caret, "iconQuote", window.siyuan.languages.quote, "true")} ${getSlashItem("```", "iconCode", window.siyuan.languages.code, "true")} diff --git a/app/src/protyle/hint/extend.ts b/app/src/protyle/hint/extend.ts index 1a72b176cff..0419420a962 100644 --- a/app/src/protyle/hint/extend.ts +++ b/app/src/protyle/hint/extend.ts @@ -92,7 +92,7 @@ export const hintSlash = (key: string, protyle: IProtyle) => { }, { filter: ["有序列表", "youxuliebiao", "yxlb", "ordered list"], value: "1. " + Lute.Caret, - html: `
${window.siyuan.languages["ordered-list"]}1. 
`, + html: `
${window.siyuan.languages.orderedList}1. 
`, }, { filter: ["任务列表", "renwuliebiao", "rwlb", "task list", "todo list"], value: "* [ ] " + Lute.Caret, diff --git a/app/src/protyle/wysiwyg/keydown.ts b/app/src/protyle/wysiwyg/keydown.ts index 2642f5ea7e3..cb08cb17770 100644 --- a/app/src/protyle/wysiwyg/keydown.ts +++ b/app/src/protyle/wysiwyg/keydown.ts @@ -1379,7 +1379,7 @@ export const keydown = (protyle: IProtyle, editorElement: HTMLElement) => { } const isMatchList = matchHotKey(window.siyuan.config.keymap.editor.insert.list.custom, event); const isMatchCheck = matchHotKey(window.siyuan.config.keymap.editor.insert.check.custom, event); - const isMatchOList = matchHotKey(window.siyuan.config.keymap.editor.insert["ordered-list"].custom, event); + const isMatchOList = matchHotKey(window.siyuan.config.keymap.editor.insert.orderedList.custom, event); const isMatchQuote = matchHotKey(window.siyuan.config.keymap.editor.insert.quote.custom, event); if (isMatchList || isMatchOList || isMatchCheck || isMatchQuote) { const selectsElement: HTMLElement[] = Array.from(protyle.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select")); From 651cb27c70b462807118f18c699e5b67097dc4d9 Mon Sep 17 00:00:00 2001 From: Jeffrey Chen <78434827+TCOTC@users.noreply.github.com> Date: Thu, 19 Sep 2024 20:24:17 +0800 Subject: [PATCH 12/23] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20index.ts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/protyle/gutter/index.ts | 74 +++++++++++++++++++++++---------- 1 file changed, 53 insertions(+), 21 deletions(-) diff --git a/app/src/protyle/gutter/index.ts b/app/src/protyle/gutter/index.ts index 8ea1d9f5cdd..b669825415d 100644 --- a/app/src/protyle/gutter/index.ts +++ b/app/src/protyle/gutter/index.ts @@ -451,12 +451,12 @@ export class Gutter { } private turnsOneInto(options: { + id: string, icon: string, label: string, protyle: IProtyle, nodeElement: Element, accelerator?: string - id: string, type: string, level?: number }) { @@ -472,6 +472,7 @@ export class Gutter { private turnsIntoOne(options: { accelerator?: string, + id?: string, icon?: string, label: string, protyle: IProtyle, @@ -490,6 +491,7 @@ export class Gutter { } private turnsInto(options: { + id?: string, icon?: string, label: string, protyle: IProtyle, @@ -546,6 +548,7 @@ export class Gutter { const turnIntoSubmenu: IMenu[] = []; if (isContinue) { turnIntoSubmenu.push(this.turnsIntoOne({ + id: "list", icon: "iconList", label: window.siyuan.languages.list, protyle, @@ -554,14 +557,16 @@ export class Gutter { type: "Blocks2ULs" })); turnIntoSubmenu.push(this.turnsIntoOne({ + id: "orderedList", icon: "iconOrderedList", - label: window.siyuan.languages["ordered-list"], - accelerator: window.siyuan.config.keymap.editor.insert["ordered-list"].custom, + label: window.siyuan.languages.orderedList, + accelerator: window.siyuan.config.keymap.editor.insert.orderedList.custom, protyle, selectsElement, type: "Blocks2OLs" })); turnIntoSubmenu.push(this.turnsIntoOne({ + id: "check", icon: "iconCheck", label: window.siyuan.languages.check, accelerator: window.siyuan.config.keymap.editor.insert.check.custom, @@ -570,6 +575,7 @@ export class Gutter { type: "Blocks2TLs" })); turnIntoSubmenu.push(this.turnsIntoOne({ + id: "quote", icon: "iconQuote", label: window.siyuan.languages.quote, accelerator: window.siyuan.config.keymap.editor.insert.quote.custom, @@ -581,6 +587,7 @@ export class Gutter { // 多选引用转换为块的时候 id 不一致 if (!hasEmbedBlock) { turnIntoSubmenu.push(this.turnsInto({ + id: "paragraph", icon: "iconParagraph", label: window.siyuan.languages.paragraph, accelerator: window.siyuan.config.keymap.editor.heading.paragraph.custom, @@ -591,6 +598,7 @@ export class Gutter { })); } turnIntoSubmenu.push(this.turnsInto({ + id: "heading1", icon: "iconH1", label: window.siyuan.languages.heading1, accelerator: window.siyuan.config.keymap.editor.heading.heading1.custom, @@ -601,6 +609,7 @@ export class Gutter { isContinue })); turnIntoSubmenu.push(this.turnsInto({ + id: "heading2", icon: "iconH2", label: window.siyuan.languages.heading2, accelerator: window.siyuan.config.keymap.editor.heading.heading2.custom, @@ -611,6 +620,7 @@ export class Gutter { isContinue })); turnIntoSubmenu.push(this.turnsInto({ + id: "heading3", icon: "iconH3", label: window.siyuan.languages.heading3, accelerator: window.siyuan.config.keymap.editor.heading.heading3.custom, @@ -621,6 +631,7 @@ export class Gutter { isContinue })); turnIntoSubmenu.push(this.turnsInto({ + id: "heading4", icon: "iconH4", label: window.siyuan.languages.heading4, accelerator: window.siyuan.config.keymap.editor.heading.heading4.custom, @@ -631,6 +642,7 @@ export class Gutter { isContinue })); turnIntoSubmenu.push(this.turnsInto({ + id: "heading5", icon: "iconH5", label: window.siyuan.languages.heading5, accelerator: window.siyuan.config.keymap.editor.heading.heading5.custom, @@ -641,6 +653,7 @@ export class Gutter { isContinue })); turnIntoSubmenu.push(this.turnsInto({ + id: "heading6", icon: "iconH6", label: window.siyuan.languages.heading6, accelerator: window.siyuan.config.keymap.editor.heading.heading6.custom, @@ -902,9 +915,10 @@ export class Gutter { hideElements(["select"], protyle); nodeElement.classList.add("protyle-wysiwyg--select"); countBlockWord([id], protyle.block.rootID); - // "heading1-6", "list", "ordered-list", "check", "quote", "code", "table", "line", "math", "paragraph" + // "heading1-6", "list", "orderedList", "check", "quote", "code", "table", "line", "math", "paragraph" if (type === "NodeParagraph" && !protyle.disabled) { turnIntoSubmenu.push(this.turnsIntoOne({ + id: "list", icon: "iconList", label: window.siyuan.languages.list, accelerator: window.siyuan.config.keymap.editor.insert.list.custom, @@ -913,14 +927,16 @@ export class Gutter { type: "Blocks2ULs" })); turnIntoSubmenu.push(this.turnsIntoOne({ + id: "orderedList", icon: "iconOrderedList", - label: window.siyuan.languages["ordered-list"], - accelerator: window.siyuan.config.keymap.editor.insert["ordered-list"].custom, + label: window.siyuan.languages.orderedList, + accelerator: window.siyuan.config.keymap.editor.insert.orderedList.custom, protyle, selectsElement: [nodeElement], type: "Blocks2OLs" })); turnIntoSubmenu.push(this.turnsIntoOne({ + id: "check", icon: "iconCheck", label: window.siyuan.languages.check, accelerator: window.siyuan.config.keymap.editor.insert.check.custom, @@ -929,14 +945,16 @@ export class Gutter { type: "Blocks2TLs" })); turnIntoSubmenu.push(this.turnsIntoOne({ + id: "quote", icon: "iconQuote", - accelerator: window.siyuan.config.keymap.editor.insert.quote.custom, label: window.siyuan.languages.quote, + accelerator: window.siyuan.config.keymap.editor.insert.quote.custom, protyle, selectsElement: [nodeElement], type: "Blocks2Blockquote" })); turnIntoSubmenu.push(this.turnsInto({ + id: "heading1", icon: "iconH1", label: window.siyuan.languages.heading1, accelerator: window.siyuan.config.keymap.editor.heading.heading1.custom, @@ -946,6 +964,7 @@ export class Gutter { type: "Blocks2Hs", })); turnIntoSubmenu.push(this.turnsInto({ + id: "heading2", icon: "iconH2", label: window.siyuan.languages.heading2, accelerator: window.siyuan.config.keymap.editor.heading.heading2.custom, @@ -955,6 +974,7 @@ export class Gutter { type: "Blocks2Hs", })); turnIntoSubmenu.push(this.turnsInto({ + id: "heading3", icon: "iconH3", label: window.siyuan.languages.heading3, accelerator: window.siyuan.config.keymap.editor.heading.heading3.custom, @@ -964,6 +984,7 @@ export class Gutter { type: "Blocks2Hs", })); turnIntoSubmenu.push(this.turnsInto({ + id: "heading4", icon: "iconH4", label: window.siyuan.languages.heading4, accelerator: window.siyuan.config.keymap.editor.heading.heading4.custom, @@ -973,6 +994,7 @@ export class Gutter { type: "Blocks2Hs", })); turnIntoSubmenu.push(this.turnsInto({ + id: "heading5", icon: "iconH5", label: window.siyuan.languages.heading5, accelerator: window.siyuan.config.keymap.editor.heading.heading5.custom, @@ -982,6 +1004,7 @@ export class Gutter { type: "Blocks2Hs", })); turnIntoSubmenu.push(this.turnsInto({ + id: "heading6", icon: "iconH6", label: window.siyuan.languages.heading6, accelerator: window.siyuan.config.keymap.editor.heading.heading6.custom, @@ -992,6 +1015,7 @@ export class Gutter { })); } else if (type === "NodeHeading" && !protyle.disabled) { turnIntoSubmenu.push(this.turnsInto({ + id: "paragraph", icon: "iconParagraph", label: window.siyuan.languages.paragraph, accelerator: window.siyuan.config.keymap.editor.heading.paragraph.custom, @@ -1000,15 +1024,17 @@ export class Gutter { type: "Blocks2Ps", })); turnIntoSubmenu.push(this.turnsIntoOne({ + id: "quote", icon: "iconQuote", - accelerator: window.siyuan.config.keymap.editor.insert.quote.custom, label: window.siyuan.languages.quote, + accelerator: window.siyuan.config.keymap.editor.insert.quote.custom, protyle, selectsElement: [nodeElement], type: "Blocks2Blockquote" })); if (subType !== "h1") { turnIntoSubmenu.push(this.turnsInto({ + id: "heading1", icon: "iconH1", label: window.siyuan.languages.heading1, accelerator: window.siyuan.config.keymap.editor.heading.heading1.custom, @@ -1020,6 +1046,7 @@ export class Gutter { } if (subType !== "h2") { turnIntoSubmenu.push(this.turnsInto({ + id: "heading2", icon: "iconH2", label: window.siyuan.languages.heading2, accelerator: window.siyuan.config.keymap.editor.heading.heading2.custom, @@ -1031,6 +1058,7 @@ export class Gutter { } if (subType !== "h3") { turnIntoSubmenu.push(this.turnsInto({ + id: "heading3", icon: "iconH3", label: window.siyuan.languages.heading3, accelerator: window.siyuan.config.keymap.editor.heading.heading3.custom, @@ -1042,6 +1070,7 @@ export class Gutter { } if (subType !== "h4") { turnIntoSubmenu.push(this.turnsInto({ + id: "heading4", icon: "iconH4", label: window.siyuan.languages.heading4, accelerator: window.siyuan.config.keymap.editor.heading.heading4.custom, @@ -1053,6 +1082,7 @@ export class Gutter { } if (subType !== "h5") { turnIntoSubmenu.push(this.turnsInto({ + id: "heading5", icon: "iconH5", label: window.siyuan.languages.heading5, accelerator: window.siyuan.config.keymap.editor.heading.heading5.custom, @@ -1064,6 +1094,7 @@ export class Gutter { } if (subType !== "h6") { turnIntoSubmenu.push(this.turnsInto({ + id: "heading6", icon: "iconH6", label: window.siyuan.languages.heading6, accelerator: window.siyuan.config.keymap.editor.heading.heading6.custom, @@ -1075,88 +1106,89 @@ export class Gutter { } } else if (type === "NodeList" && !protyle.disabled) { turnIntoSubmenu.push(this.turnsOneInto({ + id: "paragraph", icon: "iconParagraph", label: window.siyuan.languages.paragraph, accelerator: window.siyuan.config.keymap.editor.heading.paragraph.custom, protyle, nodeElement, - id, type: "CancelList" })); turnIntoSubmenu.push(this.turnsIntoOne({ + id: "quote", icon: "iconQuote", - accelerator: window.siyuan.config.keymap.editor.insert.quote.custom, label: window.siyuan.languages.quote, + accelerator: window.siyuan.config.keymap.editor.insert.quote.custom, protyle, selectsElement: [nodeElement], type: "Blocks2Blockquote" })); if (nodeElement.getAttribute("data-subtype") === "o") { turnIntoSubmenu.push(this.turnsOneInto({ + id: "list", icon: "iconList", label: window.siyuan.languages.list, accelerator: window.siyuan.config.keymap.editor.insert.list.custom, protyle, nodeElement, - id, type: "OL2UL" })); turnIntoSubmenu.push(this.turnsOneInto({ + id: "check", icon: "iconCheck", label: window.siyuan.languages.check, accelerator: window.siyuan.config.keymap.editor.insert.check.custom, protyle, nodeElement, - id, type: "UL2TL" })); } else if (nodeElement.getAttribute("data-subtype") === "t") { turnIntoSubmenu.push(this.turnsOneInto({ + id: "list", icon: "iconList", label: window.siyuan.languages.list, accelerator: window.siyuan.config.keymap.editor.insert.list.custom, protyle, nodeElement, - id, type: "TL2UL" })); turnIntoSubmenu.push(this.turnsOneInto({ + id: "orderedList", icon: "iconOrderedList", - label: window.siyuan.languages["ordered-list"], - accelerator: window.siyuan.config.keymap.editor.insert["ordered-list"].custom, + label: window.siyuan.languages.orderedList, + accelerator: window.siyuan.config.keymap.editor.insert.orderedList.custom, protyle, nodeElement, - id, type: "TL2OL" })); } else { turnIntoSubmenu.push(this.turnsOneInto({ + id: "orderedList", icon: "iconOrderedList", - label: window.siyuan.languages["ordered-list"], - accelerator: window.siyuan.config.keymap.editor.insert["ordered-list"].custom, + label: window.siyuan.languages.orderedList, + accelerator: window.siyuan.config.keymap.editor.insert.orderedList.custom, protyle, nodeElement, - id, type: "UL2OL" })); turnIntoSubmenu.push(this.turnsOneInto({ + id: "check", icon: "iconCheck", label: window.siyuan.languages.check, accelerator: window.siyuan.config.keymap.editor.insert.check.custom, protyle, nodeElement, - id, type: "OL2TL" })); } } else if (type === "NodeBlockquote" && !protyle.disabled) { turnIntoSubmenu.push(this.turnsOneInto({ + id: "paragraph", icon: "iconParagraph", label: window.siyuan.languages.paragraph, accelerator: window.siyuan.config.keymap.editor.heading.paragraph.custom, protyle, nodeElement, - id, type: "CancelBlockquote" })); } From 1674c2be63ec492e2cdfacd3dfdb3bc400566623 Mon Sep 17 00:00:00 2001 From: Jeffrey Chen <78434827+TCOTC@users.noreply.github.com> Date: Thu, 19 Sep 2024 20:47:02 +0800 Subject: [PATCH 13/23] Revert "orderedList" This reverts commit 29db8193caab478045c79165941f9f11c15e6174. --- app/appearance/langs/en_US.json | 2 +- app/appearance/langs/es_ES.json | 2 +- app/appearance/langs/fr_FR.json | 2 +- app/appearance/langs/ja_JP.json | 2 +- app/appearance/langs/zh_CHT.json | 2 +- app/appearance/langs/zh_CN.json | 2 +- app/src/constants.ts | 2 +- app/src/mobile/util/keyboardToolbar.ts | 2 +- app/src/protyle/hint/extend.ts | 2 +- app/src/protyle/wysiwyg/keydown.ts | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/app/appearance/langs/en_US.json b/app/appearance/langs/en_US.json index 5063d7c4fd8..6f2eb5c1f1a 100644 --- a/app/appearance/langs/en_US.json +++ b/app/appearance/langs/en_US.json @@ -1206,7 +1206,7 @@ "list": "List", "more": "More", "nameEmpty": "Name is empty", - "orderedList": "Order List", + "ordered-list": "Order List", "outdent": "Outdent", "outlineOutdent": "List outline outdent", "outlineOutdentTip": "After enabling, the outdent will be using the list outline logic, i.e. moving the list items below the parent", diff --git a/app/appearance/langs/es_ES.json b/app/appearance/langs/es_ES.json index db502dbbfa4..06c61d6520f 100644 --- a/app/appearance/langs/es_ES.json +++ b/app/appearance/langs/es_ES.json @@ -1206,7 +1206,7 @@ "list": "Lista", "more": "Más", "nameEmpty": "El nombre está vacío", - "orderedList": "Lista ordenada", + "ordered-list": "Lista ordenada", "outdent": "anular la sangría", "outlineOutdent": "Lista de contorno sin sangría", "outlineOutdentTip": "Después de habilitar, el outdent utilizará la lógica de esquema de la lista, es decir, moviendo los elementos de la lista debajo del padre", diff --git a/app/appearance/langs/fr_FR.json b/app/appearance/langs/fr_FR.json index 74772663bb5..e45a9d7f3fe 100644 --- a/app/appearance/langs/fr_FR.json +++ b/app/appearance/langs/fr_FR.json @@ -1206,7 +1206,7 @@ "list": "Liste", "more": "Plus", "nameEmpty": "Nom est vide", - "orderedList": "Liste d'ordres", + "ordered-list": "Liste d'ordres", "outdent": "Outdent", "outlineOutdent": "Liste des retraits excessifs du contour", "outlineOutdentTip": "Après l'activation, le retrait négatif utilisera la logique de contour de la liste, c'est-à-dire en déplaçant les éléments de la liste sous le parent", diff --git a/app/appearance/langs/ja_JP.json b/app/appearance/langs/ja_JP.json index 3acd3a3b460..1a7c4346dd7 100644 --- a/app/appearance/langs/ja_JP.json +++ b/app/appearance/langs/ja_JP.json @@ -1206,7 +1206,7 @@ "list": "リスト", "more": "詳細", "nameEmpty": "名前が空です", - "orderedList": "番号付きリスト", + "ordered-list": "番号付きリスト", "outdent": "アウトデント", "outlineOutdent": "リストのアウトラインアウトデント", "outlineOutdentTip": "リスト項目にアウトラインロジックを使用してアウトデントします", diff --git a/app/appearance/langs/zh_CHT.json b/app/appearance/langs/zh_CHT.json index a8eca360715..33074864e68 100644 --- a/app/appearance/langs/zh_CHT.json +++ b/app/appearance/langs/zh_CHT.json @@ -1206,7 +1206,7 @@ "list": "無序列表", "more": "更多", "nameEmpty": "檔案名不能為空", - "orderedList": "有序列表", + "ordered-list": "有序列表", "outdent": "列表反向縮進", "outlineOutdent": "列表大綱反向縮進", "outlineOutdentTip": "啟用後將使用列表大綱式邏輯反向縮進,即將列表項移動到父級下方", diff --git a/app/appearance/langs/zh_CN.json b/app/appearance/langs/zh_CN.json index f69f620e7b5..1f523e809d4 100644 --- a/app/appearance/langs/zh_CN.json +++ b/app/appearance/langs/zh_CN.json @@ -1206,7 +1206,7 @@ "list": "无序列表", "more": "更多", "nameEmpty": "文件名不能为空", - "orderedList": "有序列表", + "ordered-list": "有序列表", "outdent": "列表反向缩进", "outlineOutdent": "列表大纲反向缩进", "outlineOutdentTip": "启用后将使用列表大纲式逻辑反向缩进,即将列表项移动到父级下方", diff --git a/app/src/constants.ts b/app/src/constants.ts index c395b68d3bd..c214d122dbe 100644 --- a/app/src/constants.ts +++ b/app/src/constants.ts @@ -429,7 +429,7 @@ export abstract class Constants { "inline-code": {default: "⌘G", custom: "⌘G"}, link: {default: "⌘K", custom: "⌘K"}, check: {default: "⌘L", custom: "⌘L"}, - "orderedList": {default: "", custom: ""}, + "ordered-list": {default: "", custom: ""}, list: {default: "", custom: ""}, table: {default: "⌘O", custom: "⌘O"}, code: {default: "⇧⌘K", custom: "⇧⌘K"}, diff --git a/app/src/mobile/util/keyboardToolbar.ts b/app/src/mobile/util/keyboardToolbar.ts index e43a643fba5..c6a944cb1cd 100644 --- a/app/src/mobile/util/keyboardToolbar.ts +++ b/app/src/mobile/util/keyboardToolbar.ts @@ -236,7 +236,7 @@ const renderSlashMenu = (protyle: IProtyle, toolbarElement: Element) => { ${getSlashItem("##### " + Lute.Caret, "iconH5", window.siyuan.languages.heading5, "true")} ${getSlashItem("###### " + Lute.Caret, "iconH6", window.siyuan.languages.heading6, "true")} ${getSlashItem("* " + Lute.Caret, "iconList", window.siyuan.languages.list, "true")} - ${getSlashItem("1. " + Lute.Caret, "iconOrderedList", window.siyuan.languages.orderedList, "true")} + ${getSlashItem("1. " + Lute.Caret, "iconOrderedList", window.siyuan.languages["ordered-list"], "true")} ${getSlashItem("* [ ] " + Lute.Caret, "iconCheck", window.siyuan.languages.check, "true")} ${getSlashItem("> " + Lute.Caret, "iconQuote", window.siyuan.languages.quote, "true")} ${getSlashItem("```", "iconCode", window.siyuan.languages.code, "true")} diff --git a/app/src/protyle/hint/extend.ts b/app/src/protyle/hint/extend.ts index 0419420a962..1a72b176cff 100644 --- a/app/src/protyle/hint/extend.ts +++ b/app/src/protyle/hint/extend.ts @@ -92,7 +92,7 @@ export const hintSlash = (key: string, protyle: IProtyle) => { }, { filter: ["有序列表", "youxuliebiao", "yxlb", "ordered list"], value: "1. " + Lute.Caret, - html: `
${window.siyuan.languages.orderedList}1. 
`, + html: `
${window.siyuan.languages["ordered-list"]}1. 
`, }, { filter: ["任务列表", "renwuliebiao", "rwlb", "task list", "todo list"], value: "* [ ] " + Lute.Caret, diff --git a/app/src/protyle/wysiwyg/keydown.ts b/app/src/protyle/wysiwyg/keydown.ts index cb08cb17770..2642f5ea7e3 100644 --- a/app/src/protyle/wysiwyg/keydown.ts +++ b/app/src/protyle/wysiwyg/keydown.ts @@ -1379,7 +1379,7 @@ export const keydown = (protyle: IProtyle, editorElement: HTMLElement) => { } const isMatchList = matchHotKey(window.siyuan.config.keymap.editor.insert.list.custom, event); const isMatchCheck = matchHotKey(window.siyuan.config.keymap.editor.insert.check.custom, event); - const isMatchOList = matchHotKey(window.siyuan.config.keymap.editor.insert.orderedList.custom, event); + const isMatchOList = matchHotKey(window.siyuan.config.keymap.editor.insert["ordered-list"].custom, event); const isMatchQuote = matchHotKey(window.siyuan.config.keymap.editor.insert.quote.custom, event); if (isMatchList || isMatchOList || isMatchCheck || isMatchQuote) { const selectsElement: HTMLElement[] = Array.from(protyle.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select")); From b23ec5f1b7c53cfae2e21ffc495bea79bd0b977f Mon Sep 17 00:00:00 2001 From: Jeffrey Chen <78434827+TCOTC@users.noreply.github.com> Date: Thu, 19 Sep 2024 21:01:28 +0800 Subject: [PATCH 14/23] add id Revert "orderedList" --- app/src/menus/protyle.ts | 4 ++ app/src/protyle/gutter/index.ts | 94 ++++++++++++++++++++++----------- 2 files changed, 66 insertions(+), 32 deletions(-) diff --git a/app/src/menus/protyle.ts b/app/src/menus/protyle.ts index 4968c43297c..9bbc223d66b 100644 --- a/app/src/menus/protyle.ts +++ b/app/src/menus/protyle.ts @@ -1773,6 +1773,7 @@ export const iframeMenu = (protyle: IProtyle, nodeElement: Element) => { const iframeElement = nodeElement.querySelector("iframe"); let html = nodeElement.outerHTML; const subMenus: IMenu[] = [{ + id: "asset", iconHTML: "", type: "readonly", label: ``, @@ -1843,6 +1844,7 @@ export const videoMenu = (protyle: IProtyle, nodeElement: Element, type: string) const videoElement = nodeElement.querySelector(type === "NodeVideo" ? "video" : "audio"); let html = nodeElement.outerHTML; const subMenus: IMenu[] = [{ + id: "asset", iconHTML: "", type: "readonly", label: ``, @@ -1862,6 +1864,7 @@ export const videoMenu = (protyle: IProtyle, nodeElement: Element, type: string) type: "separator" }); subMenus.push({ + id: "rename", label: window.siyuan.languages.rename, icon: "iconEdit", click() { @@ -1872,6 +1875,7 @@ export const videoMenu = (protyle: IProtyle, nodeElement: Element, type: string) const VideoSrc = videoElement.getAttribute("src"); if (VideoSrc) { subMenus.push({ + id: "openBy", label: window.siyuan.languages.openBy, icon: "iconOpen", submenu: openMenu(protyle.app, VideoSrc, true, false) as IMenu[] diff --git a/app/src/protyle/gutter/index.ts b/app/src/protyle/gutter/index.ts index b669825415d..d2defb708e4 100644 --- a/app/src/protyle/gutter/index.ts +++ b/app/src/protyle/gutter/index.ts @@ -559,8 +559,8 @@ export class Gutter { turnIntoSubmenu.push(this.turnsIntoOne({ id: "orderedList", icon: "iconOrderedList", - label: window.siyuan.languages.orderedList, - accelerator: window.siyuan.config.keymap.editor.insert.orderedList.custom, + label: window.siyuan.languages["ordered-list"], + accelerator: window.siyuan.config.keymap.editor.insert["ordered-list"].custom, protyle, selectsElement, type: "Blocks2OLs" @@ -672,11 +672,12 @@ export class Gutter { }).element); if (isContinue) { window.siyuan.menus.menu.append(new MenuItem({ - id: "superBlock", + id: "mergeSuperBlock", icon: "iconSuper", label: window.siyuan.languages.merge + " " + window.siyuan.languages.superBlock, type: "submenu", submenu: [this.turnsIntoOne({ + id: "hLayout", label: window.siyuan.languages.hLayout, accelerator: window.siyuan.config.keymap.editor.general.hLayout.custom, icon: "iconSplitLR", @@ -685,6 +686,7 @@ export class Gutter { type: "BlocksMergeSuperBlock", level: "col" }), this.turnsIntoOne({ + id: "vLayout", label: window.siyuan.languages.vLayout, accelerator: window.siyuan.config.keymap.editor.general.vLayout.custom, icon: "iconSplitTB", @@ -708,6 +710,7 @@ export class Gutter { }).element); } const copyMenu: IMenu[] = [{ + id: "copy", iconHTML: "", label: window.siyuan.languages.copy, accelerator: "⌘C", @@ -720,6 +723,7 @@ export class Gutter { document.execCommand("copy"); } }, { + id: "copyPlainText", iconHTML: "", label: window.siyuan.languages.copyPlainText, accelerator: window.siyuan.config.keymap.editor.general.copyPlainText.custom, @@ -732,6 +736,7 @@ export class Gutter { focusBlock(selectsElement[0]); } }, { + id: "duplicate", iconHTML: "", label: window.siyuan.languages.duplicate, accelerator: window.siyuan.config.keymap.editor.general.duplicate.custom, @@ -798,6 +803,7 @@ export class Gutter { window.siyuan.menus.menu.append(new MenuItem({id: "separator_1", type: "separator"}).element); const appearanceElement = new MenuItem({ + id: "appearance", label: window.siyuan.languages.appearance, icon: "iconFont", accelerator: window.siyuan.config.keymap.editor.insert.appearance.custom, @@ -915,7 +921,7 @@ export class Gutter { hideElements(["select"], protyle); nodeElement.classList.add("protyle-wysiwyg--select"); countBlockWord([id], protyle.block.rootID); - // "heading1-6", "list", "orderedList", "check", "quote", "code", "table", "line", "math", "paragraph" + // "heading1-6", "list", "ordered-list", "check", "quote", "code", "table", "line", "math", "paragraph" if (type === "NodeParagraph" && !protyle.disabled) { turnIntoSubmenu.push(this.turnsIntoOne({ id: "list", @@ -929,8 +935,8 @@ export class Gutter { turnIntoSubmenu.push(this.turnsIntoOne({ id: "orderedList", icon: "iconOrderedList", - label: window.siyuan.languages.orderedList, - accelerator: window.siyuan.config.keymap.editor.insert.orderedList.custom, + label: window.siyuan.languages["ordered-list"], + accelerator: window.siyuan.config.keymap.editor.insert["ordered-list"].custom, protyle, selectsElement: [nodeElement], type: "Blocks2OLs" @@ -1155,8 +1161,8 @@ export class Gutter { turnIntoSubmenu.push(this.turnsOneInto({ id: "orderedList", icon: "iconOrderedList", - label: window.siyuan.languages.orderedList, - accelerator: window.siyuan.config.keymap.editor.insert.orderedList.custom, + label: window.siyuan.languages["ordered-list"], + accelerator: window.siyuan.config.keymap.editor.insert["ordered-list"].custom, protyle, nodeElement, type: "TL2OL" @@ -1165,8 +1171,8 @@ export class Gutter { turnIntoSubmenu.push(this.turnsOneInto({ id: "orderedList", icon: "iconOrderedList", - label: window.siyuan.languages.orderedList, - accelerator: window.siyuan.config.keymap.editor.insert.orderedList.custom, + label: window.siyuan.languages["ordered-list"], + accelerator: window.siyuan.config.keymap.editor.insert["ordered-list"].custom, protyle, nodeElement, type: "UL2OL" @@ -1223,7 +1229,7 @@ export class Gutter { focusBlock(nodeElement); } }, { - id: "copyMirror", + id: type === "NodeAttributeView" ? "copyMirror" : "copy", iconHTML: "", label: type === "NodeAttributeView" ? window.siyuan.languages.copyMirror : window.siyuan.languages.copy, accelerator: "⌘C", @@ -1236,7 +1242,7 @@ export class Gutter { document.execCommand("copy"); } }, { - id: "duplicateMirror", + id: type === "NodeAttributeView" ? "duplicateMirror" : "duplicate", iconHTML: "", label: type === "NodeAttributeView" ? window.siyuan.languages.duplicateMirror : window.siyuan.languages.duplicate, accelerator: window.siyuan.config.keymap.editor.general.duplicate.custom, @@ -1263,17 +1269,17 @@ export class Gutter { } window.siyuan.menus.menu.append(new MenuItem({ id: "copy", - label: window.siyuan.languages.copy, icon: "iconCopy", + label: window.siyuan.languages.copy, type: "submenu", submenu: copyMenu }).element); if (!protyle.disabled) { window.siyuan.menus.menu.append(new MenuItem({ id: "cut", + icon: "iconCut", label: window.siyuan.languages.cut, accelerator: "⌘X", - icon: "iconCut", click: () => { focusBlock(nodeElement); document.execCommand("cut"); @@ -1281,9 +1287,9 @@ export class Gutter { }).element); window.siyuan.menus.menu.append(new MenuItem({ id: "move", + icon: "iconMove", label: window.siyuan.languages.move, accelerator: window.siyuan.config.keymap.general.move.custom, - icon: "iconMove", click: () => { movePathTo((toPath) => { hintMoveBlock(toPath[0], [nodeElement], protyle); @@ -1293,17 +1299,17 @@ export class Gutter { const range = getSelection().rangeCount > 0 ? getSelection().getRangeAt(0) : undefined; window.siyuan.menus.menu.append(new MenuItem({ id: "addToDatabase", + icon: "iconDatabase", label: window.siyuan.languages.addToDatabase, accelerator: window.siyuan.config.keymap.general.addToDatabase.custom, - icon: "iconDatabase", click: () => { addEditorToDatabase(protyle, range); } }).element); window.siyuan.menus.menu.append(new MenuItem({ id: "delete", - label: window.siyuan.languages.delete, icon: "iconTrashcan", + label: window.siyuan.languages.delete, accelerator: "⌫", click: () => { protyle.breadcrumb?.hide(); @@ -1314,7 +1320,7 @@ export class Gutter { if (type === "NodeSuperBlock" && !protyle.disabled) { window.siyuan.menus.menu.append(new MenuItem({id: "separator_3", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ - id: "superBlock", + id: "cancelSuperBlock", label: window.siyuan.languages.cancel + " " + window.siyuan.languages.superBlock, click() { const sbData = cancelSB(protyle, nodeElement); @@ -1335,6 +1341,7 @@ export class Gutter { icon: "iconCode", label: window.siyuan.languages.code, submenu: [{ + id: "md31", iconHTML: "", label: `
${window.siyuan.languages.md31}
`, @@ -1355,6 +1362,7 @@ export class Gutter { }); } }, { + id: "md2", iconHTML: "", label: `
${window.siyuan.languages.md2}
`, @@ -1375,6 +1383,7 @@ export class Gutter { }); } }, { + id: "md27", iconHTML: "", label: `
${window.siyuan.languages.md27}
`, @@ -1405,6 +1414,7 @@ export class Gutter { label: window.siyuan.languages.chart, icon: "iconCode", submenu: [{ + id: "height", label: `${window.siyuan.languages.height} `, bind: (element) => { @@ -1422,6 +1432,7 @@ export class Gutter { }); } }, { + id: "update", label: window.siyuan.languages.update, icon: "iconEdit", click() { @@ -1498,6 +1509,7 @@ export class Gutter { icon: "iconSQL", label: window.siyuan.languages.blockEmbed, submenu: [{ + id: "refresh", icon: "iconRefresh", label: `${window.siyuan.languages.refresh} SQL`, click() { @@ -1505,6 +1517,7 @@ export class Gutter { blockRender(protyle, nodeElement); } }, { + id: "update", icon: "iconEdit", label: `${window.siyuan.languages.update} SQL`, click() { @@ -1513,6 +1526,7 @@ export class Gutter { }, { type: "separator" }, { + id: "embedBlockBreadcrumb", label: `
${window.siyuan.languages.embedBlockBreadcrumb}
`, bind(element) { @@ -1532,6 +1546,7 @@ export class Gutter { }); } }, { + id: "hideHeadingBelowBlocks", label: `
${window.siyuan.languages.hideHeadingBelowBlocks}
`, bind(element) { @@ -1715,7 +1730,7 @@ export class Gutter { if (type !== "NodeThematicBreak") { window.siyuan.menus.menu.append(new MenuItem({ - id: "collapse", + id: "fold", label: window.siyuan.languages.fold, accelerator: `${updateHotkeyTip(window.siyuan.config.keymap.editor.general.collapse.custom)}/${updateHotkeyTip("⌥" + window.siyuan.languages.click)}`, click() { @@ -1772,8 +1787,8 @@ export class Gutter { (type !== "NodeCodeBlock" || (type === "NodeCodeBlock" && !nodeElement.getAttribute("data-subtype")))) { window.siyuan.menus.menu.append(new MenuItem({ id: "wechatReminder", - label: window.siyuan.languages.wechatReminder, icon: "iconMp", + label: window.siyuan.languages.wechatReminder, ignore: window.siyuan.config.readonly, click() { openWechatNotify(nodeElement); @@ -1783,16 +1798,16 @@ export class Gutter { if (type !== "NodeThematicBreak" && !window.siyuan.config.readonly) { window.siyuan.menus.menu.append(new MenuItem({ id: "quickMakeCard", + icon: "iconRiffCard", label: window.siyuan.languages.quickMakeCard, accelerator: window.siyuan.config.keymap.editor.general.quickMakeCard.custom, iconHTML: '', - icon: "iconRiffCard", click() { quickMakeCard(protyle, [nodeElement]); } }).element); window.siyuan.menus.menu.append(new MenuItem({ - id: "flashcard", + id: "addToDeck", label: window.siyuan.languages.addToDeck, ignore: !window.siyuan.config.flashcard.deck, icon: "iconRiffCard", @@ -1820,7 +1835,7 @@ export class Gutter { updateHTML = `${window.siyuan.languages.modifiedAt} ${dayjs(updateHTML).format("YYYY-MM-DD HH:mm:ss")}
`; } window.siyuan.menus.menu.append(new MenuItem({ - id: "createdAt", + id: "updateAndCreatedAt", iconHTML: "", type: "readonly", label: `${updateHTML}${window.siyuan.languages.createdAt} ${dayjs(id.substr(0, 14)).format("YYYY-MM-DD HH:mm:ss")}`, @@ -1830,6 +1845,7 @@ export class Gutter { private genHeadingTransform(protyle: IProtyle, id: string, level: number) { return { + id: "heading" + level, iconHTML: "", icon: "iconHeading" + level, label: window.siyuan.languages["heading" + level], @@ -1867,8 +1883,9 @@ export class Gutter { label: window.siyuan.languages.layout, type: "submenu", submenu: [{ - label: window.siyuan.languages.alignLeft, + id: "alignLeft", icon: "iconAlignLeft", + label: window.siyuan.languages.alignLeft, accelerator: window.siyuan.config.keymap.editor.general.alignLeft.custom, click: () => { this.genClick(nodeElements, protyle, (e: HTMLElement) => { @@ -1880,8 +1897,9 @@ export class Gutter { }); } }, { - label: window.siyuan.languages.alignCenter, + id: "alignCenter", icon: "iconAlignCenter", + label: window.siyuan.languages.alignCenter, accelerator: window.siyuan.config.keymap.editor.general.alignCenter.custom, click: () => { this.genClick(nodeElements, protyle, (e: HTMLElement) => { @@ -1893,8 +1911,9 @@ export class Gutter { }); } }, { - label: window.siyuan.languages.alignRight, + id: "alignRight", icon: "iconAlignRight", + label: window.siyuan.languages.alignRight, accelerator: window.siyuan.config.keymap.editor.general.alignRight.custom, click: () => { this.genClick(nodeElements, protyle, (e: HTMLElement) => { @@ -1906,8 +1925,9 @@ export class Gutter { }); } }, { - label: window.siyuan.languages.justify, + id: "justify", icon: "iconMenu", + label: window.siyuan.languages.justify, click: () => { this.genClick(nodeElements, protyle, (e: HTMLElement) => { e.style.textAlign = "justify"; @@ -1916,16 +1936,18 @@ export class Gutter { }, { type: "separator" }, { - label: window.siyuan.languages.ltr, + id: "ltr", icon: "iconLtr", + label: window.siyuan.languages.ltr, click: () => { this.genClick(nodeElements, protyle, (e: HTMLElement) => { e.style.direction = "ltr"; }); } }, { - label: window.siyuan.languages.rtl, + id: "rtl", icon: "iconRtl", + label: window.siyuan.languages.rtl, click: () => { this.genClick(nodeElements, protyle, (e: HTMLElement) => { if (!e.classList.contains("av")) { @@ -1936,8 +1958,9 @@ export class Gutter { }, { type: "separator" }, { - label: window.siyuan.languages.clearFontStyle, + id: "clearFontStyle", icon: "iconTrashcan", + label: window.siyuan.languages.clearFontStyle, click: () => { this.genClick(nodeElements, protyle, (e: HTMLElement) => { if (e.classList.contains("av")) { @@ -1980,6 +2003,7 @@ export class Gutter { let rangeElement: HTMLInputElement; const firstElement = nodeElements[0] as HTMLElement; const styles: IMenu[] = [{ + id: "widthInput", iconHTML: "", type: "readonly", label: `
@@ -2000,6 +2024,7 @@ export class Gutter { }]; ["25%", "33%", "50%", "67%", "75%", "100%"].forEach((item) => { styles.push({ + id: "width" + item, iconHTML: "", label: item, click: () => { @@ -2015,9 +2040,10 @@ export class Gutter { }); const width = firstElement.style.width.endsWith("%") ? parseInt(firstElement.style.width) : 0; window.siyuan.menus.menu.append(new MenuItem({ - id: "width", + id: "widthDrag", label: window.siyuan.languages.width, submenu: styles.concat([{ + id: "width", iconHTML: "", type: "readonly", label: `
@@ -2037,6 +2063,7 @@ export class Gutter { }, { type: "separator" }, { + id: "default", iconHTML: "", label: window.siyuan.languages.default, click: () => { @@ -2064,6 +2091,7 @@ export class Gutter { let rangeElement: HTMLInputElement; const firstElement = nodeElements[0] as HTMLElement; const styles: IMenu[] = [{ + id: "heightInput", iconHTML: "", type: "readonly", label: `
@@ -2084,6 +2112,7 @@ export class Gutter { }]; ["25%", "33%", "50%", "67%", "75%", "100%"].forEach((item) => { styles.push({ + id: "height" + item, iconHTML: "", label: item, click: () => { @@ -2099,7 +2128,7 @@ export class Gutter { }); const height = firstElement.style.height.endsWith("%") ? parseInt(firstElement.style.height) : 0; window.siyuan.menus.menu.append(new MenuItem({ - id: "height", + id: "heightDrag", label: window.siyuan.languages.height, submenu: styles.concat([{ iconHTML: "", @@ -2120,6 +2149,7 @@ export class Gutter { }, { type: "separator" }, { + id: "default", iconHTML: "", label: window.siyuan.languages.default, click: () => { From 0eec887ed84a89d098fb6ecae7fa472a69287a43 Mon Sep 17 00:00:00 2001 From: Jeffrey Chen <78434827+TCOTC@users.noreply.github.com> Date: Thu, 19 Sep 2024 21:32:53 +0800 Subject: [PATCH 15/23] separator --- app/src/protyle/gutter/index.ts | 38 ++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/app/src/protyle/gutter/index.ts b/app/src/protyle/gutter/index.ts index d2defb708e4..a25d5e945bd 100644 --- a/app/src/protyle/gutter/index.ts +++ b/app/src/protyle/gutter/index.ts @@ -801,7 +801,7 @@ export class Gutter { } }).element); - window.siyuan.menus.menu.append(new MenuItem({id: "separator_1", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_1x", type: "separator"}).element); const appearanceElement = new MenuItem({ id: "appearance", label: window.siyuan.languages.appearance, @@ -832,7 +832,7 @@ export class Gutter { this.genWidths(selectsElement, protyle); // this.genHeights(selectsElement, protyle); if (!window.siyuan.config.readonly) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator_2", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_2x", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ id: "quickMakeCard", label: window.siyuan.languages.quickMakeCard, @@ -1318,7 +1318,7 @@ export class Gutter { }).element); } if (type === "NodeSuperBlock" && !protyle.disabled) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator_3", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_3x", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ id: "cancelSuperBlock", label: window.siyuan.languages.cancel + " " + window.siyuan.languages.superBlock, @@ -1330,7 +1330,7 @@ export class Gutter { } }).element); } else if (type === "NodeCodeBlock" && !protyle.disabled && !nodeElement.getAttribute("data-subtype")) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator_4", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_x", type: "separator"}).element); const linewrap = nodeElement.getAttribute("linewrap"); const ligatures = nodeElement.getAttribute("ligatures"); const linenumber = nodeElement.getAttribute("linenumber"); @@ -1406,7 +1406,7 @@ export class Gutter { }] }).element); } else if (type === "NodeCodeBlock" && !protyle.disabled && ["echarts", "mindmap"].includes(nodeElement.getAttribute("data-subtype"))) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator_5", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_5x", type: "separator"}).element); const height = (nodeElement as HTMLElement).style.height; let html = nodeElement.outerHTML; window.siyuan.menus.menu.append(new MenuItem({ @@ -1448,7 +1448,7 @@ export class Gutter { } const cellElement = hasClosestByMatchTag(range.startContainer, "TD") || hasClosestByMatchTag(range.startContainer, "TH"); if (cellElement) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator_6", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_6x", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ id: "table", type: "submenu", @@ -1458,7 +1458,7 @@ export class Gutter { }).element); } } else if (type === "NodeAttributeView" && !protyle.disabled) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator_7", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_7x", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ id: "exportCSV", icon: "iconDatabase", @@ -1473,7 +1473,7 @@ export class Gutter { } }).element); } else if ((type === "NodeVideo" || type === "NodeAudio") && !protyle.disabled) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator_8", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_8x", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ id: "assetSubMenu", type: "submenu", @@ -1482,7 +1482,7 @@ export class Gutter { submenu: videoMenu(protyle, nodeElement, type) }).element); } else if (type === "NodeIFrame" && !protyle.disabled) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator_9", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_9x", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ id: "assetSubMenu", type: "submenu", @@ -1491,7 +1491,7 @@ export class Gutter { submenu: iframeMenu(protyle, nodeElement) }).element); } else if (type === "NodeHTMLBlock" && !protyle.disabled) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator_10", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_10x", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ id: "HTML", icon: "iconHTML5", @@ -1501,7 +1501,7 @@ export class Gutter { } }).element); } else if (type === "NodeBlockQueryEmbed" && !protyle.disabled) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator_11", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_11x", type: "separator"}).element); const breadcrumb = nodeElement.getAttribute("breadcrumb"); window.siyuan.menus.menu.append(new MenuItem({ id: "blockEmbed", @@ -1568,7 +1568,7 @@ export class Gutter { }] }).element); } else if (type === "NodeHeading" && !protyle.disabled) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator_12", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_1", type: "separator"}).element); const headingSubMenu = []; if (subType !== "h1") { headingSubMenu.push(this.genHeadingTransform(protyle, id, 1)); @@ -1651,7 +1651,7 @@ export class Gutter { } }).element); } - window.siyuan.menus.menu.append(new MenuItem({id: "separator_13", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_2", type: "separator"}).element); if (!protyle.options.backlinkData) { window.siyuan.menus.menu.append(new MenuItem({ id: "enter", @@ -1726,7 +1726,7 @@ export class Gutter { } }).element); - window.siyuan.menus.menu.append(new MenuItem({id: "separator_14", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_3", type: "separator"}).element); if (type !== "NodeThematicBreak") { window.siyuan.menus.menu.append(new MenuItem({ @@ -1781,7 +1781,7 @@ export class Gutter { this.genWidths([nodeElement], protyle); // this.genHeights([nodeElement], protyle); } - window.siyuan.menus.menu.append(new MenuItem({id: "separator_15", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_4", type: "separator"}).element); if (!["NodeThematicBreak", "NodeBlockQueryEmbed", "NodeIFrame", "NodeHTMLBlock", "NodeWidget", "NodeVideo", "NodeAudio"].includes(type) && getContenteditableElement(nodeElement)?.textContent.trim() !== "" && (type !== "NodeCodeBlock" || (type === "NodeCodeBlock" && !nodeElement.getAttribute("data-subtype")))) { @@ -1815,7 +1815,7 @@ export class Gutter { makeCard(protyle.app, [id]); } }).element); - window.siyuan.menus.menu.append(new MenuItem({id: "separator_16", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_5", type: "separator"}).element); } if (protyle?.app?.plugins) { @@ -1934,6 +1934,7 @@ export class Gutter { }); } }, { + id: "separator_1", type: "separator" }, { id: "ltr", @@ -1956,6 +1957,7 @@ export class Gutter { }); } }, { + id: "separator_2", type: "separator" }, { id: "clearFontStyle", @@ -2036,6 +2038,7 @@ export class Gutter { }); }); styles.push({ + id: "separator_1", type: "separator" }); const width = firstElement.style.width.endsWith("%") ? parseInt(firstElement.style.width) : 0; @@ -2043,7 +2046,7 @@ export class Gutter { id: "widthDrag", label: window.siyuan.languages.width, submenu: styles.concat([{ - id: "width", + id: "widthDrag", iconHTML: "", type: "readonly", label: `
@@ -2061,6 +2064,7 @@ export class Gutter { this.updateNodeElements(nodeElements, protyle, rangeElement); } }, { + id: "separator_2", type: "separator" }, { id: "default", From 84f13fe24fa5c7ee93c56cd9181f5a991cb1cce2 Mon Sep 17 00:00:00 2001 From: Jeffrey Chen <78434827+TCOTC@users.noreply.github.com> Date: Thu, 19 Sep 2024 21:53:14 +0800 Subject: [PATCH 16/23] 'data-id': options.id --- app/src/protyle/gutter/index.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/src/protyle/gutter/index.ts b/app/src/protyle/gutter/index.ts index a25d5e945bd..14a6970c9ef 100644 --- a/app/src/protyle/gutter/index.ts +++ b/app/src/protyle/gutter/index.ts @@ -461,6 +461,7 @@ export class Gutter { level?: number }) { return { + 'data-id': options.id, icon: options.icon, label: options.label, accelerator: options.accelerator, @@ -481,6 +482,7 @@ export class Gutter { level?: TTurnIntoOneSub }) { return { + 'data-id': options.id, icon: options.icon, label: options.label, accelerator: options.accelerator, @@ -502,6 +504,7 @@ export class Gutter { accelerator?: string }) { return { + 'data-id': options.id, icon: options.icon, label: options.label, accelerator: options.accelerator, From ba04aa579e1f72943ec39b5c41b32a1e55e2f45d Mon Sep 17 00:00:00 2001 From: Jeffrey Chen <78434827+TCOTC@users.noreply.github.com> Date: Thu, 19 Sep 2024 21:59:24 +0800 Subject: [PATCH 17/23] separator --- app/src/protyle/gutter/index.ts | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/app/src/protyle/gutter/index.ts b/app/src/protyle/gutter/index.ts index 14a6970c9ef..92b07452a57 100644 --- a/app/src/protyle/gutter/index.ts +++ b/app/src/protyle/gutter/index.ts @@ -804,7 +804,7 @@ export class Gutter { } }).element); - window.siyuan.menus.menu.append(new MenuItem({id: "separator_1x", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_appearance", type: "separator"}).element); const appearanceElement = new MenuItem({ id: "appearance", label: window.siyuan.languages.appearance, @@ -835,7 +835,7 @@ export class Gutter { this.genWidths(selectsElement, protyle); // this.genHeights(selectsElement, protyle); if (!window.siyuan.config.readonly) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator_2x", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_quickMakeCard", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ id: "quickMakeCard", label: window.siyuan.languages.quickMakeCard, @@ -1321,7 +1321,7 @@ export class Gutter { }).element); } if (type === "NodeSuperBlock" && !protyle.disabled) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator_3x", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_cancelSuperBlock", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ id: "cancelSuperBlock", label: window.siyuan.languages.cancel + " " + window.siyuan.languages.superBlock, @@ -1333,7 +1333,7 @@ export class Gutter { } }).element); } else if (type === "NodeCodeBlock" && !protyle.disabled && !nodeElement.getAttribute("data-subtype")) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator_x", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_code", type: "separator"}).element); const linewrap = nodeElement.getAttribute("linewrap"); const ligatures = nodeElement.getAttribute("ligatures"); const linenumber = nodeElement.getAttribute("linenumber"); @@ -1409,7 +1409,7 @@ export class Gutter { }] }).element); } else if (type === "NodeCodeBlock" && !protyle.disabled && ["echarts", "mindmap"].includes(nodeElement.getAttribute("data-subtype"))) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator_5x", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_chart", type: "separator"}).element); const height = (nodeElement as HTMLElement).style.height; let html = nodeElement.outerHTML; window.siyuan.menus.menu.append(new MenuItem({ @@ -1451,7 +1451,7 @@ export class Gutter { } const cellElement = hasClosestByMatchTag(range.startContainer, "TD") || hasClosestByMatchTag(range.startContainer, "TH"); if (cellElement) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator_6x", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_table", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ id: "table", type: "submenu", @@ -1461,7 +1461,7 @@ export class Gutter { }).element); } } else if (type === "NodeAttributeView" && !protyle.disabled) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator_7x", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_exportCSV", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ id: "exportCSV", icon: "iconDatabase", @@ -1476,7 +1476,7 @@ export class Gutter { } }).element); } else if ((type === "NodeVideo" || type === "NodeAudio") && !protyle.disabled) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator_8x", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_VideoOrAudio", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ id: "assetSubMenu", type: "submenu", @@ -1485,7 +1485,7 @@ export class Gutter { submenu: videoMenu(protyle, nodeElement, type) }).element); } else if (type === "NodeIFrame" && !protyle.disabled) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator_9x", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_IFrame", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ id: "assetSubMenu", type: "submenu", @@ -1494,7 +1494,7 @@ export class Gutter { submenu: iframeMenu(protyle, nodeElement) }).element); } else if (type === "NodeHTMLBlock" && !protyle.disabled) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator_10x", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_HTML", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ id: "HTML", icon: "iconHTML5", @@ -1504,7 +1504,7 @@ export class Gutter { } }).element); } else if (type === "NodeBlockQueryEmbed" && !protyle.disabled) { - window.siyuan.menus.menu.append(new MenuItem({id: "separator_11x", type: "separator"}).element); + window.siyuan.menus.menu.append(new MenuItem({id: "separator_blockEmbed", type: "separator"}).element); const breadcrumb = nodeElement.getAttribute("breadcrumb"); window.siyuan.menus.menu.append(new MenuItem({ id: "blockEmbed", From e4c4a825b3e397dd6785318038a380d07d93af12 Mon Sep 17 00:00:00 2001 From: Jeffrey Chen <78434827+TCOTC@users.noreply.github.com> Date: Thu, 19 Sep 2024 22:20:49 +0800 Subject: [PATCH 18/23] options.id --- app/src/protyle/gutter/index.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/protyle/gutter/index.ts b/app/src/protyle/gutter/index.ts index 92b07452a57..c3734cd0da4 100644 --- a/app/src/protyle/gutter/index.ts +++ b/app/src/protyle/gutter/index.ts @@ -461,7 +461,7 @@ export class Gutter { level?: number }) { return { - 'data-id': options.id, + id: options.id, icon: options.icon, label: options.label, accelerator: options.accelerator, @@ -482,7 +482,7 @@ export class Gutter { level?: TTurnIntoOneSub }) { return { - 'data-id': options.id, + id: options.id, icon: options.icon, label: options.label, accelerator: options.accelerator, @@ -504,7 +504,7 @@ export class Gutter { accelerator?: string }) { return { - 'data-id': options.id, + id: options.id, icon: options.icon, label: options.label, accelerator: options.accelerator, From b5e4bb6b265e7632f64118540139c0f5faf55eae Mon Sep 17 00:00:00 2001 From: Jeffrey Chen <78434827+TCOTC@users.noreply.github.com> Date: Fri, 20 Sep 2024 00:31:48 +0800 Subject: [PATCH 19/23] type: "readonly" --- app/src/protyle/gutter/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/protyle/gutter/index.ts b/app/src/protyle/gutter/index.ts index c3734cd0da4..4ac1f37be01 100644 --- a/app/src/protyle/gutter/index.ts +++ b/app/src/protyle/gutter/index.ts @@ -2139,6 +2139,7 @@ export class Gutter { label: window.siyuan.languages.height, submenu: styles.concat([{ iconHTML: "", + type: "readonly", label: `
`, From 316dd54c577677f7a3923c6ad04890c0206ea138 Mon Sep 17 00:00:00 2001 From: Jeffrey Chen <78434827+TCOTC@users.noreply.github.com> Date: Sun, 22 Sep 2024 00:19:05 +0800 Subject: [PATCH 20/23] turnsOneInto --- app/src/protyle/gutter/index.ts | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/app/src/protyle/gutter/index.ts b/app/src/protyle/gutter/index.ts index 4ac1f37be01..0a17619985d 100644 --- a/app/src/protyle/gutter/index.ts +++ b/app/src/protyle/gutter/index.ts @@ -461,7 +461,6 @@ export class Gutter { level?: number }) { return { - id: options.id, icon: options.icon, label: options.label, accelerator: options.accelerator, @@ -1115,7 +1114,7 @@ export class Gutter { } } else if (type === "NodeList" && !protyle.disabled) { turnIntoSubmenu.push(this.turnsOneInto({ - id: "paragraph", + id, icon: "iconParagraph", label: window.siyuan.languages.paragraph, accelerator: window.siyuan.config.keymap.editor.heading.paragraph.custom, @@ -1134,7 +1133,7 @@ export class Gutter { })); if (nodeElement.getAttribute("data-subtype") === "o") { turnIntoSubmenu.push(this.turnsOneInto({ - id: "list", + id, icon: "iconList", label: window.siyuan.languages.list, accelerator: window.siyuan.config.keymap.editor.insert.list.custom, @@ -1143,7 +1142,7 @@ export class Gutter { type: "OL2UL" })); turnIntoSubmenu.push(this.turnsOneInto({ - id: "check", + id, icon: "iconCheck", label: window.siyuan.languages.check, accelerator: window.siyuan.config.keymap.editor.insert.check.custom, @@ -1153,7 +1152,7 @@ export class Gutter { })); } else if (nodeElement.getAttribute("data-subtype") === "t") { turnIntoSubmenu.push(this.turnsOneInto({ - id: "list", + id, icon: "iconList", label: window.siyuan.languages.list, accelerator: window.siyuan.config.keymap.editor.insert.list.custom, @@ -1162,7 +1161,7 @@ export class Gutter { type: "TL2UL" })); turnIntoSubmenu.push(this.turnsOneInto({ - id: "orderedList", + id, icon: "iconOrderedList", label: window.siyuan.languages["ordered-list"], accelerator: window.siyuan.config.keymap.editor.insert["ordered-list"].custom, @@ -1172,7 +1171,7 @@ export class Gutter { })); } else { turnIntoSubmenu.push(this.turnsOneInto({ - id: "orderedList", + id, icon: "iconOrderedList", label: window.siyuan.languages["ordered-list"], accelerator: window.siyuan.config.keymap.editor.insert["ordered-list"].custom, @@ -1181,7 +1180,7 @@ export class Gutter { type: "UL2OL" })); turnIntoSubmenu.push(this.turnsOneInto({ - id: "check", + id, icon: "iconCheck", label: window.siyuan.languages.check, accelerator: window.siyuan.config.keymap.editor.insert.check.custom, @@ -1192,7 +1191,7 @@ export class Gutter { } } else if (type === "NodeBlockquote" && !protyle.disabled) { turnIntoSubmenu.push(this.turnsOneInto({ - id: "paragraph", + id, icon: "iconParagraph", label: window.siyuan.languages.paragraph, accelerator: window.siyuan.config.keymap.editor.heading.paragraph.custom, From 183eac4183d9fea38ab39569e17acc2ad88d2b9c Mon Sep 17 00:00:00 2001 From: Jeffrey Chen <78434827+TCOTC@users.noreply.github.com> Date: Sun, 22 Sep 2024 00:20:27 +0800 Subject: [PATCH 21/23] turnsIntoOne --- app/src/protyle/gutter/index.ts | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/app/src/protyle/gutter/index.ts b/app/src/protyle/gutter/index.ts index 0a17619985d..ce8abd64939 100644 --- a/app/src/protyle/gutter/index.ts +++ b/app/src/protyle/gutter/index.ts @@ -472,7 +472,6 @@ export class Gutter { private turnsIntoOne(options: { accelerator?: string, - id?: string, icon?: string, label: string, protyle: IProtyle, @@ -481,7 +480,6 @@ export class Gutter { level?: TTurnIntoOneSub }) { return { - id: options.id, icon: options.icon, label: options.label, accelerator: options.accelerator, @@ -550,7 +548,6 @@ export class Gutter { const turnIntoSubmenu: IMenu[] = []; if (isContinue) { turnIntoSubmenu.push(this.turnsIntoOne({ - id: "list", icon: "iconList", label: window.siyuan.languages.list, protyle, @@ -559,7 +556,6 @@ export class Gutter { type: "Blocks2ULs" })); turnIntoSubmenu.push(this.turnsIntoOne({ - id: "orderedList", icon: "iconOrderedList", label: window.siyuan.languages["ordered-list"], accelerator: window.siyuan.config.keymap.editor.insert["ordered-list"].custom, @@ -568,7 +564,6 @@ export class Gutter { type: "Blocks2OLs" })); turnIntoSubmenu.push(this.turnsIntoOne({ - id: "check", icon: "iconCheck", label: window.siyuan.languages.check, accelerator: window.siyuan.config.keymap.editor.insert.check.custom, @@ -577,7 +572,6 @@ export class Gutter { type: "Blocks2TLs" })); turnIntoSubmenu.push(this.turnsIntoOne({ - id: "quote", icon: "iconQuote", label: window.siyuan.languages.quote, accelerator: window.siyuan.config.keymap.editor.insert.quote.custom, @@ -679,7 +673,6 @@ export class Gutter { label: window.siyuan.languages.merge + " " + window.siyuan.languages.superBlock, type: "submenu", submenu: [this.turnsIntoOne({ - id: "hLayout", label: window.siyuan.languages.hLayout, accelerator: window.siyuan.config.keymap.editor.general.hLayout.custom, icon: "iconSplitLR", @@ -688,7 +681,6 @@ export class Gutter { type: "BlocksMergeSuperBlock", level: "col" }), this.turnsIntoOne({ - id: "vLayout", label: window.siyuan.languages.vLayout, accelerator: window.siyuan.config.keymap.editor.general.vLayout.custom, icon: "iconSplitTB", @@ -926,7 +918,6 @@ export class Gutter { // "heading1-6", "list", "ordered-list", "check", "quote", "code", "table", "line", "math", "paragraph" if (type === "NodeParagraph" && !protyle.disabled) { turnIntoSubmenu.push(this.turnsIntoOne({ - id: "list", icon: "iconList", label: window.siyuan.languages.list, accelerator: window.siyuan.config.keymap.editor.insert.list.custom, @@ -935,7 +926,6 @@ export class Gutter { type: "Blocks2ULs" })); turnIntoSubmenu.push(this.turnsIntoOne({ - id: "orderedList", icon: "iconOrderedList", label: window.siyuan.languages["ordered-list"], accelerator: window.siyuan.config.keymap.editor.insert["ordered-list"].custom, @@ -944,7 +934,6 @@ export class Gutter { type: "Blocks2OLs" })); turnIntoSubmenu.push(this.turnsIntoOne({ - id: "check", icon: "iconCheck", label: window.siyuan.languages.check, accelerator: window.siyuan.config.keymap.editor.insert.check.custom, @@ -953,7 +942,6 @@ export class Gutter { type: "Blocks2TLs" })); turnIntoSubmenu.push(this.turnsIntoOne({ - id: "quote", icon: "iconQuote", label: window.siyuan.languages.quote, accelerator: window.siyuan.config.keymap.editor.insert.quote.custom, @@ -1032,7 +1020,6 @@ export class Gutter { type: "Blocks2Ps", })); turnIntoSubmenu.push(this.turnsIntoOne({ - id: "quote", icon: "iconQuote", label: window.siyuan.languages.quote, accelerator: window.siyuan.config.keymap.editor.insert.quote.custom, @@ -1123,7 +1110,6 @@ export class Gutter { type: "CancelList" })); turnIntoSubmenu.push(this.turnsIntoOne({ - id: "quote", icon: "iconQuote", label: window.siyuan.languages.quote, accelerator: window.siyuan.config.keymap.editor.insert.quote.custom, From eff4897f5333451ee283f1d2088cf8c12d15e302 Mon Sep 17 00:00:00 2001 From: Jeffrey Chen <78434827+TCOTC@users.noreply.github.com> Date: Sun, 22 Sep 2024 00:21:54 +0800 Subject: [PATCH 22/23] turnsInto --- app/src/protyle/gutter/index.ts | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/app/src/protyle/gutter/index.ts b/app/src/protyle/gutter/index.ts index ce8abd64939..b9cf368bbf7 100644 --- a/app/src/protyle/gutter/index.ts +++ b/app/src/protyle/gutter/index.ts @@ -490,7 +490,6 @@ export class Gutter { } private turnsInto(options: { - id?: string, icon?: string, label: string, protyle: IProtyle, @@ -501,7 +500,6 @@ export class Gutter { accelerator?: string }) { return { - id: options.id, icon: options.icon, label: options.label, accelerator: options.accelerator, @@ -583,7 +581,6 @@ export class Gutter { // 多选引用转换为块的时候 id 不一致 if (!hasEmbedBlock) { turnIntoSubmenu.push(this.turnsInto({ - id: "paragraph", icon: "iconParagraph", label: window.siyuan.languages.paragraph, accelerator: window.siyuan.config.keymap.editor.heading.paragraph.custom, @@ -594,7 +591,6 @@ export class Gutter { })); } turnIntoSubmenu.push(this.turnsInto({ - id: "heading1", icon: "iconH1", label: window.siyuan.languages.heading1, accelerator: window.siyuan.config.keymap.editor.heading.heading1.custom, @@ -605,7 +601,6 @@ export class Gutter { isContinue })); turnIntoSubmenu.push(this.turnsInto({ - id: "heading2", icon: "iconH2", label: window.siyuan.languages.heading2, accelerator: window.siyuan.config.keymap.editor.heading.heading2.custom, @@ -616,7 +611,6 @@ export class Gutter { isContinue })); turnIntoSubmenu.push(this.turnsInto({ - id: "heading3", icon: "iconH3", label: window.siyuan.languages.heading3, accelerator: window.siyuan.config.keymap.editor.heading.heading3.custom, @@ -627,7 +621,6 @@ export class Gutter { isContinue })); turnIntoSubmenu.push(this.turnsInto({ - id: "heading4", icon: "iconH4", label: window.siyuan.languages.heading4, accelerator: window.siyuan.config.keymap.editor.heading.heading4.custom, @@ -638,7 +631,6 @@ export class Gutter { isContinue })); turnIntoSubmenu.push(this.turnsInto({ - id: "heading5", icon: "iconH5", label: window.siyuan.languages.heading5, accelerator: window.siyuan.config.keymap.editor.heading.heading5.custom, @@ -649,7 +641,6 @@ export class Gutter { isContinue })); turnIntoSubmenu.push(this.turnsInto({ - id: "heading6", icon: "iconH6", label: window.siyuan.languages.heading6, accelerator: window.siyuan.config.keymap.editor.heading.heading6.custom, @@ -950,7 +941,6 @@ export class Gutter { type: "Blocks2Blockquote" })); turnIntoSubmenu.push(this.turnsInto({ - id: "heading1", icon: "iconH1", label: window.siyuan.languages.heading1, accelerator: window.siyuan.config.keymap.editor.heading.heading1.custom, @@ -960,7 +950,6 @@ export class Gutter { type: "Blocks2Hs", })); turnIntoSubmenu.push(this.turnsInto({ - id: "heading2", icon: "iconH2", label: window.siyuan.languages.heading2, accelerator: window.siyuan.config.keymap.editor.heading.heading2.custom, @@ -970,7 +959,6 @@ export class Gutter { type: "Blocks2Hs", })); turnIntoSubmenu.push(this.turnsInto({ - id: "heading3", icon: "iconH3", label: window.siyuan.languages.heading3, accelerator: window.siyuan.config.keymap.editor.heading.heading3.custom, @@ -980,7 +968,6 @@ export class Gutter { type: "Blocks2Hs", })); turnIntoSubmenu.push(this.turnsInto({ - id: "heading4", icon: "iconH4", label: window.siyuan.languages.heading4, accelerator: window.siyuan.config.keymap.editor.heading.heading4.custom, @@ -990,7 +977,6 @@ export class Gutter { type: "Blocks2Hs", })); turnIntoSubmenu.push(this.turnsInto({ - id: "heading5", icon: "iconH5", label: window.siyuan.languages.heading5, accelerator: window.siyuan.config.keymap.editor.heading.heading5.custom, @@ -1000,7 +986,6 @@ export class Gutter { type: "Blocks2Hs", })); turnIntoSubmenu.push(this.turnsInto({ - id: "heading6", icon: "iconH6", label: window.siyuan.languages.heading6, accelerator: window.siyuan.config.keymap.editor.heading.heading6.custom, @@ -1011,7 +996,6 @@ export class Gutter { })); } else if (type === "NodeHeading" && !protyle.disabled) { turnIntoSubmenu.push(this.turnsInto({ - id: "paragraph", icon: "iconParagraph", label: window.siyuan.languages.paragraph, accelerator: window.siyuan.config.keymap.editor.heading.paragraph.custom, @@ -1029,7 +1013,6 @@ export class Gutter { })); if (subType !== "h1") { turnIntoSubmenu.push(this.turnsInto({ - id: "heading1", icon: "iconH1", label: window.siyuan.languages.heading1, accelerator: window.siyuan.config.keymap.editor.heading.heading1.custom, @@ -1041,7 +1024,6 @@ export class Gutter { } if (subType !== "h2") { turnIntoSubmenu.push(this.turnsInto({ - id: "heading2", icon: "iconH2", label: window.siyuan.languages.heading2, accelerator: window.siyuan.config.keymap.editor.heading.heading2.custom, @@ -1053,7 +1035,6 @@ export class Gutter { } if (subType !== "h3") { turnIntoSubmenu.push(this.turnsInto({ - id: "heading3", icon: "iconH3", label: window.siyuan.languages.heading3, accelerator: window.siyuan.config.keymap.editor.heading.heading3.custom, @@ -1065,7 +1046,6 @@ export class Gutter { } if (subType !== "h4") { turnIntoSubmenu.push(this.turnsInto({ - id: "heading4", icon: "iconH4", label: window.siyuan.languages.heading4, accelerator: window.siyuan.config.keymap.editor.heading.heading4.custom, @@ -1077,7 +1057,6 @@ export class Gutter { } if (subType !== "h5") { turnIntoSubmenu.push(this.turnsInto({ - id: "heading5", icon: "iconH5", label: window.siyuan.languages.heading5, accelerator: window.siyuan.config.keymap.editor.heading.heading5.custom, @@ -1089,7 +1068,6 @@ export class Gutter { } if (subType !== "h6") { turnIntoSubmenu.push(this.turnsInto({ - id: "heading6", icon: "iconH6", label: window.siyuan.languages.heading6, accelerator: window.siyuan.config.keymap.editor.heading.heading6.custom, From 97356e711fa173868faa511d4acaea29c557548b Mon Sep 17 00:00:00 2001 From: Jeffrey Chen <78434827+TCOTC@users.noreply.github.com> Date: Sun, 22 Sep 2024 00:32:10 +0800 Subject: [PATCH 23/23] assetSubMenu --- app/src/protyle/gutter/index.ts | 4 ++-- app/src/protyle/hint/index.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/protyle/gutter/index.ts b/app/src/protyle/gutter/index.ts index b9cf368bbf7..325d89067fe 100644 --- a/app/src/protyle/gutter/index.ts +++ b/app/src/protyle/gutter/index.ts @@ -1441,7 +1441,7 @@ export class Gutter { } else if ((type === "NodeVideo" || type === "NodeAudio") && !protyle.disabled) { window.siyuan.menus.menu.append(new MenuItem({id: "separator_VideoOrAudio", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ - id: "assetSubMenu", + id: type === "NodeVideo" ? "assetVideo" : "assetAudio", type: "submenu", icon: type === "NodeVideo" ? "iconVideo" : "iconRecord", label: window.siyuan.languages.assets, @@ -1450,7 +1450,7 @@ export class Gutter { } else if (type === "NodeIFrame" && !protyle.disabled) { window.siyuan.menus.menu.append(new MenuItem({id: "separator_IFrame", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ - id: "assetSubMenu", + id: "assetIFrame", type: "submenu", icon: "iconLanguage", label: window.siyuan.languages.assets, diff --git a/app/src/protyle/hint/index.ts b/app/src/protyle/hint/index.ts index 121cdf3d8cf..149b68cbcd5 100644 --- a/app/src/protyle/hint/index.ts +++ b/app/src/protyle/hint/index.ts @@ -825,7 +825,7 @@ ${genHintItemHTML(item)} y: rect.top, isLeft: true }); - const itemElement = window.siyuan.menus.menu.element.querySelector('[data-id="assetSubMenu"]'); + const itemElement = window.siyuan.menus.menu.element.querySelector('[data-id="assetVideo"], [data-id="assetAudio"], [data-id="assetIFrame"], [data-id="blockEmbed"]'); itemElement.classList.add("b3-menu__item--show"); window.siyuan.menus.menu.showSubMenu(itemElement.querySelector(".b3-menu__submenu")); window.siyuan.menus.menu.element.querySelector("textarea").focus();