diff --git a/app/src/protyle/ui/initUI.ts b/app/src/protyle/ui/initUI.ts index 78118b414..c36d20b8c 100644 --- a/app/src/protyle/ui/initUI.ts +++ b/app/src/protyle/ui/initUI.ts @@ -147,7 +147,7 @@ export const initUI = (protyle: IProtyle) => { (lastElement.getAttribute("data-type") !== "NodeParagraph" && protyle.wysiwyg.element.getAttribute("data-doc-type") !== "NodeListItem") || (lastElement.getAttribute("data-type") === "NodeParagraph" && getContenteditableElement(lastEditElement).innerHTML !== "")) ) { - let emptyElement:Element; + let emptyElement: Element; if (lastElement.getAttribute("data-type") === "NodeHeading" && lastElement.getAttribute("fold") === "1") { emptyElement = genHeadingElement(lastElement) as Element; } else { @@ -296,24 +296,10 @@ export const setPadding = (protyle: IProtyle) => { padding: 0 }; } - const oldLeft = parseInt(protyle.wysiwyg.element.style.paddingLeft || "0"); const padding = getPadding(protyle); const paddingLeft = padding.left; const paddingRight = padding.right; - const protyleWidth = protyle.element.clientWidth; - const scrollbarWidth = protyle.contentElement.offsetWidth - protyle.contentElement.clientWidth; - const contentWidth = protyleWidth - scrollbarWidth; - - const wysiwygOldWidth = parseInt(protyle.wysiwyg.element.getAttribute("data-realwidth") || "0"); - const wysiwygNewWidth = contentWidth - paddingLeft - paddingRight; - - // https://github.com/siyuan-note/siyuan/issues/15021 - protyle.element.style.setProperty("--b3-width-protyle", protyleWidth + "px"); - protyle.element.style.setProperty("--b3-width-protyle-content", contentWidth + "px"); - protyle.element.style.setProperty("--b3-width-protyle-wysiwyg", wysiwygNewWidth.toString() + "px"); - protyle.wysiwyg.element.setAttribute("data-realwidth", wysiwygNewWidth.toString()); - if (protyle.options.backlinkData) { protyle.wysiwyg.element.style.padding = `4px ${paddingRight}px 4px ${paddingLeft}px`; } else { @@ -327,9 +313,17 @@ export const setPadding = (protyle: IProtyle) => { protyle.title.element.style.margin = `16px ${paddingRight}px 0 ${paddingLeft}px`; } + // https://github.com/siyuan-note/siyuan/issues/15021 + protyle.element.style.setProperty("--b3-width-protyle", protyle.element.clientWidth + "px"); + protyle.element.style.setProperty("--b3-width-protyle-content", protyle.contentElement.clientWidth + "px"); + + const newWidth = protyle.wysiwyg.element.clientWidth - paddingLeft - paddingRight; + protyle.wysiwyg.element.setAttribute("data-realwidth", newWidth.toString()); + protyle.element.style.setProperty("--b3-width-protyle-wysiwyg", newWidth.toString() + "px"); + + const realWidth = protyle.wysiwyg.element.getAttribute("data-realwidth"); return { - width: Math.abs(wysiwygOldWidth - wysiwygNewWidth), - padding: Math.abs(oldLeft - paddingLeft) + width: realWidth ? Math.abs(parseFloat(realWidth) - newWidth) : 0, }; };