Fixes #2 for performances issues

This commit is contained in:
2024-07-23 18:08:37 -04:00
parent c94d5e565f
commit fd53ee174a
4 changed files with 32 additions and 21 deletions

View File

@@ -189,8 +189,11 @@ module.exports = {
articles.forEach(article => {
let a = article.target;
if (article.isIntersecting) {
// console.log("observing: ", { id: a.getAttribute("id"), intersecting: a.isIntersecting } )
// if (article.intersectionRatio > 0) {
// console.log("Is interesecting: ", { id: article.target.getAttribute("id"), intersecting: article.isIntersecting, ratio: article.intersectionRatio } )
if (article.isIntersecting == true) {
let path = a.getAttribute("data-path");
path = "patterns/" +
(a.getAttribute("data-core") == "true" ?
@@ -201,12 +204,11 @@ module.exports = {
let ajx = new XMLHttpRequest();
ajx.onreadystatechange = () => {
if (ajx.readyState == 4) {
observer.unobserve(article.target);
switch (ajx.status) {
case 200:
a.innerHTML = a.innerHTML + ajx.responseText;
a.style.height = "auto"
switch (a.getAttribute("data-template")) {
case "pug":
a.querySelectorAll("pre").forEach((aa) => {
@@ -260,7 +262,6 @@ module.exports = {
break;
case 404:
if (typeof args.notFound == "function") args.notFound(a, path);
break;
@@ -268,6 +269,8 @@ module.exports = {
console.log("uncaught http error", { status: ajx.status, path: a.getAttribute("data-path") });
}
a.style.height = "auto";
if (typeof args.done == "function") args.done(a);
}
@@ -277,10 +280,12 @@ module.exports = {
}
})
}, { threshold: 0, rootMargin: (document.body.clientHeight / 2) + "px" })
}, { threshold: 0, rootMargin: "100%" })
observer.observe(a);
} else {
a.style.height = "auto";
}
})

View File

@@ -36,6 +36,7 @@ mixin show-content(items, path)
data-template=(items.template == undefined ? "pug" : items.template)
data-core= (items.core ? "true" : "false")
data-path=path
style="height: 100vh"
)
h1(class="status-" + items.status )