Vanessa 2024-11-22 12:44:22 +08:00
parent ab8f2b7a39
commit c6e816e596

View file

@ -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);