mirror of
https://github.com/siyuan-note/siyuan.git
synced 2026-01-21 15:56:10 +01:00
This commit is contained in:
parent
03b5067b9e
commit
59aad85900
1 changed files with 22 additions and 12 deletions
|
|
@ -49,23 +49,33 @@ export const mermaidRender = (element: Element, cdn = Constants.PROTYLE_CDN) =>
|
|||
config.theme = "dark";
|
||||
}
|
||||
window.mermaid.initialize(config);
|
||||
if (mermaidElements[0].firstElementChild.clientWidth === 0) {
|
||||
const hideElements: Element[] = [];
|
||||
const normalElements: Element[] = [];
|
||||
mermaidElements.forEach(item => {
|
||||
if (item.firstElementChild.clientWidth === 0) {
|
||||
hideElements.push(item);
|
||||
} else {
|
||||
normalElements.push(item);
|
||||
}
|
||||
});
|
||||
if (hideElements.length > 0) {
|
||||
const observer = new MutationObserver(() => {
|
||||
initMermaid(mermaidElements);
|
||||
initMermaid(hideElements);
|
||||
observer.disconnect();
|
||||
});
|
||||
const hideElement = hasClosestByAttribute(mermaidElements[0], "fold", "1");
|
||||
if (hideElement) {
|
||||
observer.observe(hideElement, {attributeFilter: ["fold"]});
|
||||
} else {
|
||||
const cardElement = hasClosestByClassName(mermaidElements[0], "card__block", true);
|
||||
if (cardElement) {
|
||||
observer.observe(cardElement, {attributeFilter: ["class"]});
|
||||
hideElements.forEach(item => {
|
||||
const hideElement = hasClosestByAttribute(item, "fold", "1");
|
||||
if (hideElement) {
|
||||
observer.observe(hideElement, {attributeFilter: ["fold"]});
|
||||
} else {
|
||||
const cardElement = hasClosestByClassName(item, "card__block", true);
|
||||
if (cardElement) {
|
||||
observer.observe(cardElement, {attributeFilter: ["class"]});
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
initMermaid(mermaidElements);
|
||||
});
|
||||
}
|
||||
initMermaid(normalElements);
|
||||
});
|
||||
});
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue