diff --git a/app/src/protyle/gutter/index.ts b/app/src/protyle/gutter/index.ts index c09b1bc37..abc279dd5 100644 --- a/app/src/protyle/gutter/index.ts +++ b/app/src/protyle/gutter/index.ts @@ -1626,39 +1626,61 @@ export class Gutter { } }, { id: "headingEmbedMode", - label: `
- ${window.siyuan.languages.headingEmbedMode} - - -
`, - bind(element) { - element.addEventListener("change", () => { - const selectElement = element.querySelector("select") as HTMLSelectElement; - const value = selectElement.value; - if (value === "") { - // 默认设置,清空 custom-heading-mode 属性 - nodeElement.removeAttribute("custom-heading-mode"); - fetchPost("/api/attr/setBlockAttrs", { - id, - attrs: {"custom-heading-mode": ""} - }); - } else { - nodeElement.setAttribute("custom-heading-mode", value); - fetchPost("/api/attr/setBlockAttrs", { - id, - attrs: {"custom-heading-mode": value} - }); - } + label: window.siyuan.languages.headingEmbedMode, + type: "submenu", + submenu: [{ + label: window.siyuan.languages.showHeadingWithBlocks, + iconHTML: "", + checked: nodeElement.getAttribute("custom-heading-mode") === "0", + click() { + nodeElement.setAttribute("custom-heading-mode", "0"); + fetchPost("/api/attr/setBlockAttrs", { + id, + attrs: {"custom-heading-mode": "0"} + }); nodeElement.removeAttribute("data-render"); blockRender(protyle, nodeElement); - window.siyuan.menus.menu.remove(); - }); - } + } + }, { + label: window.siyuan.languages.showHeadingOnlyTitle, + iconHTML: "", + checked: nodeElement.getAttribute("custom-heading-mode") === "1", + click() { + nodeElement.setAttribute("custom-heading-mode", "1"); + fetchPost("/api/attr/setBlockAttrs", { + id, + attrs: {"custom-heading-mode": "1"} + }); + nodeElement.removeAttribute("data-render"); + blockRender(protyle, nodeElement); + } + }, { + label: window.siyuan.languages.showHeadingWithBlocks, + iconHTML: "", + checked: nodeElement.getAttribute("custom-heading-mode") === "2", + click() { + nodeElement.setAttribute("custom-heading-mode", "2"); + fetchPost("/api/attr/setBlockAttrs", { + id, + attrs: {"custom-heading-mode": "2"} + }); + nodeElement.removeAttribute("data-render"); + blockRender(protyle, nodeElement); + } + }, { + label: window.siyuan.languages.default, + iconHTML: "", + checked: !nodeElement.getAttribute("custom-heading-mode"), + click() { + nodeElement.setAttribute("custom-heading-mode", "0"); + fetchPost("/api/attr/setBlockAttrs", { + id, + attrs: {"custom-heading-mode": ""} + }); + nodeElement.removeAttribute("data-render"); + blockRender(protyle, nodeElement); + } + }] }] }).element); } else if (type === "NodeHeading" && !protyle.disabled) {