🎨 search
This commit is contained in:
parent
e2e836a159
commit
0a8ea4e1b8
2 changed files with 5 additions and 9 deletions
|
@ -102,14 +102,6 @@ export const highlightRender = (element: Element, cdn = Constants.PROTYLE_CDN) =
|
|||
languageElement.style.marginLeft = "";
|
||||
}
|
||||
}
|
||||
// 搜索定位
|
||||
const layoutElement = hasClosestByClassName(block, "search__layout", true);
|
||||
if (layoutElement && block.parentElement.getAttribute("data-node-id") === layoutElement.querySelector("#searchList > .b3-list-item--focus")?.getAttribute("data-node-id")) {
|
||||
const matchElement = block.querySelector('span[data-type="search-mark"]');
|
||||
if (matchElement) {
|
||||
matchElement.scrollIntoView();
|
||||
}
|
||||
}
|
||||
block.innerHTML = window.hljs.highlight(
|
||||
block.textContent + (block.textContent.endsWith("\n") ? "" : "\n"), // https://github.com/siyuan-note/siyuan/issues/4609
|
||||
{
|
||||
|
|
|
@ -1189,7 +1189,11 @@ export const getArticle = (options: {
|
|||
if (matchElement) {
|
||||
matchElement.classList.add("search-mark--hl");
|
||||
const contentRect = options.edit.protyle.contentElement.getBoundingClientRect();
|
||||
options.edit.protyle.contentElement.scrollTop = options.edit.protyle.contentElement.scrollTop + matchElement.getBoundingClientRect().top - contentRect.top - contentRect.height / 2;
|
||||
const matchRectTop = matchElement.getBoundingClientRect().top; // 需前置,否则代码高亮后会移除该元素
|
||||
setTimeout(() => {
|
||||
// 等待 scrollCenter 定位后再滚动
|
||||
options.edit.protyle.contentElement.scrollTop = options.edit.protyle.contentElement.scrollTop + matchRectTop - contentRect.top - contentRect.height / 2;
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Add table
Reference in a new issue