Vanessa 2025-12-05 20:49:27 +08:00
parent 4c50508884
commit f4aaa6c0c0

View file

@ -358,7 +358,7 @@ export const keydown = (protyle: IProtyle, editorElement: HTMLElement) => {
}
} else if (!selectElements[0].parentElement.classList.contains("protyle-wysiwyg")) {
hideElements(["select"], protyle);
selectElements[0].parentElement.classList.add("protyle-wysiwyg--select");
(hasClosestBlock(selectElements[0].parentElement) as HTMLElement)?.classList.add("protyle-wysiwyg--select");
}
}
});
@ -384,7 +384,7 @@ export const keydown = (protyle: IProtyle, editorElement: HTMLElement) => {
}
} else if (!selectLastElement.parentElement.classList.contains("protyle-wysiwyg")) {
hideElements(["select"], protyle);
selectLastElement.parentElement.classList.add("protyle-wysiwyg--select");
(hasClosestBlock(selectLastElement.parentElement) as HTMLElement)?.classList.add("protyle-wysiwyg--select");
}
}
});
@ -409,7 +409,7 @@ export const keydown = (protyle: IProtyle, editorElement: HTMLElement) => {
}
} else if (!startEndElement.endElement.parentElement.classList.contains("protyle-wysiwyg")) {
hideElements(["select"], protyle);
startEndElement.endElement.parentElement.classList.add("protyle-wysiwyg--select");
(hasClosestBlock(startEndElement.endElement.parentElement) as HTMLElement)?.classList.add("protyle-wysiwyg--select");
}
} else {
startEndElement.endElement.classList.remove("protyle-wysiwyg--select");
@ -443,7 +443,7 @@ export const keydown = (protyle: IProtyle, editorElement: HTMLElement) => {
if (nextElement.getBoundingClientRect().width === 0) {
// https://github.com/siyuan-note/siyuan/issues/11194
hideElements(["select"], protyle);
startEndElement.endElement.parentElement.classList.add("protyle-wysiwyg--select");
(hasClosestBlock(startEndElement.endElement.parentElement) as HTMLElement)?.classList.add("protyle-wysiwyg--select");
} else {
nextElement.classList.add("protyle-wysiwyg--select");
nextElement.setAttribute("select-end", "true");
@ -456,7 +456,7 @@ export const keydown = (protyle: IProtyle, editorElement: HTMLElement) => {
}
} else if (!startEndElement.endElement.parentElement.classList.contains("protyle-wysiwyg")) {
hideElements(["select"], protyle);
startEndElement.endElement.parentElement.classList.add("protyle-wysiwyg--select");
(hasClosestBlock(startEndElement.endElement.parentElement) as HTMLElement)?.classList.add("protyle-wysiwyg--select");
}
} else {
startEndElement.endElement.classList.remove("protyle-wysiwyg--select");
@ -635,11 +635,14 @@ export const keydown = (protyle: IProtyle, editorElement: HTMLElement) => {
if (event.key === "ArrowDown" && nodeEditableElement?.innerText.trimRight().substr(position.start).indexOf("\n") === -1 && (
(tdElement && !tdElement.parentElement.nextElementSibling && nodeElement.getAttribute("data-type") === "NodeTable" && !getNextBlock(nodeElement)) ||
(nodeElement.getAttribute("data-type") === "NodeCodeBlock" && !getNextBlock(nodeElement)) ||
(nodeElement.parentElement.getAttribute("data-type") === "NodeBlockquote" && nodeElement.nextElementSibling.classList.contains("protyle-attr") && !getNextBlock(nodeElement.parentElement))
(nodeElement.parentElement.getAttribute("data-type") === "NodeBlockquote" && nodeElement.nextElementSibling.classList.contains("protyle-attr") && !getNextBlock(nodeElement.parentElement)) ||
(nodeElement.parentElement.classList.contains("callout-content") && !nodeElement.nextElementSibling && !getNextBlock(nodeElement.parentElement.parentElement))
)) {
// 跳出代码块和bq
if (nodeElement.parentElement.getAttribute("data-type") === "NodeBlockquote") {
insertEmptyBlock(protyle, "afterend", nodeElement.parentElement.getAttribute("data-node-id"));
} else if (nodeElement.parentElement.classList.contains("callout-content")) {
insertEmptyBlock(protyle, "afterend", nodeElement.parentElement.parentElement.getAttribute("data-node-id"));
} else {
insertEmptyBlock(protyle, "afterend", nodeElement.getAttribute("data-node-id"));
}