From c6e816e596195252025c98555cd47fb9fe7d2256 Mon Sep 17 00:00:00 2001 From: Vanessa Date: Fri, 22 Nov 2024 12:44:22 +0800 Subject: [PATCH] :art: https://github.com/siyuan-note/siyuan/issues/13016 --- app/src/protyle/wysiwyg/enter.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/app/src/protyle/wysiwyg/enter.ts b/app/src/protyle/wysiwyg/enter.ts index 0824e8a17..6ae834406 100644 --- a/app/src/protyle/wysiwyg/enter.ts +++ b/app/src/protyle/wysiwyg/enter.ts @@ -407,7 +407,13 @@ const listEnter = (protyle: IProtyle, blockElement: HTMLElement, range: Range) = newElement = genListItemElement(listItemElement, 0, false); const newEditElement = getContenteditableElement(newElement); newEditElement.appendChild(range.extractContents()); - newEditElement.parentElement.after(subListElement); + let subListNextElement = subListElement.nextElementSibling; + newElement.lastElementChild.before(subListElement); + // https://github.com/siyuan-note/siyuan/issues/13016 + while (!subListNextElement.classList.contains("protyle-attr")) { + subListNextElement = subListNextElement.nextElementSibling; + newElement.lastElementChild.before(subListNextElement.previousElementSibling); + } listItemElement.insertAdjacentElement("afterend", newElement); if (listItemElement.getAttribute("data-subtype") === "o") { updateListOrder(listItemElement.parentElement); @@ -455,7 +461,7 @@ const listEnter = (protyle: IProtyle, blockElement: HTMLElement, range: Range) = } range.insertNode(document.createElement("wbr")); const listItemHTML = listItemElement.outerHTML; - const html = listItemElement.parentElement.outerHTML; + const oldHTML = listItemElement.parentElement.outerHTML; if (range.toString() !== "") { // 选中数学公式后回车取消选中 https://github.com/siyuan-note/siyuan/issues/12637#issuecomment-2381106949 const mathElement = hasClosestByAttribute(range.startContainer, "data-type", "inline-math"); @@ -513,7 +519,7 @@ const listEnter = (protyle: IProtyle, blockElement: HTMLElement, range: Range) = data: listItemHTML }]); } else { - updateTransaction(protyle, listItemElement.parentElement.getAttribute("data-node-id"), listItemElement.parentElement.outerHTML, html); + updateTransaction(protyle, listItemElement.parentElement.getAttribute("data-node-id"), listItemElement.parentElement.outerHTML, oldHTML); } focusByWbr(newElement, range); scrollCenter(protyle);