🐛 fix the issue of can't open block menu when the cursor is located in an empty code block (#9095)

This commit is contained in:
Yingyi / 颖逸 2023-09-02 11:24:30 +08:00 committed by GitHub
parent ee62729dc2
commit f435e2320b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -555,12 +555,17 @@ export const keydown = (protyle: IProtyle, editorElement: HTMLElement) => {
// https://github.com/siyuan-note/siyuan/issues/5185
if (range.startOffset === 0 && range.startContainer.nodeType === 3) {
const previousSibling = hasPreviousSibling(range.startContainer) as HTMLElement;
if (previousSibling && previousSibling.nodeType !== 3 && previousSibling.getAttribute("data-type").indexOf("inline-math") > -1) {
if (previousSibling &&
previousSibling.nodeType !== 3 &&
previousSibling.getAttribute("data-type")?.indexOf("inline-math") > -1
) {
protyle.toolbar.showRender(protyle, previousSibling);
return;
} else if (!previousSibling &&
range.startContainer.parentElement.previousSibling && range.startContainer.parentElement.previousSibling.isSameNode(range.startContainer.parentElement.previousElementSibling) &&
range.startContainer.parentElement.previousElementSibling.getAttribute("data-type").indexOf("inline-math") > -1) {
range.startContainer.parentElement.previousSibling &&
range.startContainer.parentElement.previousSibling.isSameNode(range.startContainer.parentElement.previousElementSibling) &&
range.startContainer.parentElement.previousElementSibling.getAttribute("data-type")?.indexOf("inline-math") > -1
) {
protyle.toolbar.showRender(protyle, range.startContainer.parentElement.previousElementSibling);
return;
}