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

@@ -195,8 +195,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" ?
@@ -207,12 +210,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) => {
@@ -266,7 +268,6 @@ module.exports = {
break;
case 404:
if (typeof args.notFound == "function") args.notFound(a, path);
break;
@@ -274,6 +275,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);
}
@@ -283,10 +286,12 @@ module.exports = {
}
})
}, { threshold: 0, rootMargin: (document.body.clientHeight / 2) + "px" })
}, { threshold: 0, rootMargin: "100%" })
observer.observe(a);
} else {
a.style.height = "auto";
}
})