From ec1b4fefacf201e06d1e62ab2bdecdc043870ad2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patricio=20Garc=C3=ADa?= Date: Sat, 4 Oct 2025 09:19:47 +0100 Subject: [PATCH] Nikola auto commit. Nikola version: 8.3.3 --- .doit.db.db | Bin 270336 -> 270336 bytes files/assets/js/gancio-events-detect.js | 85 ++++++++++++++++-------- pages/events.md | 3 +- shortcodes/gancio-events-detect.tmpl | 7 +- 4 files changed, 64 insertions(+), 31 deletions(-) diff --git a/.doit.db.db b/.doit.db.db index 96f663de351b08c8c660f4af763c1f7ed9658287..43d43478f2b195298de4990066af9b644acb87a8 100644 GIT binary patch delta 1252 zcmcJOUuYaf9LF;=F@G-E?4^)g5>4)soR%i>*qPbc+4aF{tq4&_8vnGkCf?rOu2!nH zX{th~UhyFqs3vZEKS)JWil|62c;JFyb5^X-C~4DRe2AF(;!`C)DI&(XJo#MkVSW$8 zzwIOrjpb3RoX56re4y2)V|X~?TF?#%EolVW^B3s>-y=ENIg{_vO`Yz z*gbRMGkx8*BP`(pR0F1bCBV%*{bsh+&cnDm8f3(xhX=Ng7&oC=5ALQ)afFuRPC z@Y6a;ly3En>qM;PJfuWd2X?2n?){8n| z{|_V%>%AxjMm6bzFVgBRnMNtNzZa#7m~_D83Tc3?6|xtyX=K6BDoH>GChefDlCHD! z>cuctSJ!Tk*xBdF4)|r2Ov2B7s6JZ08~sIOB^YU18DO*%Sa&q+K?6EhakNVMzXYL$qsM6N-CH+JFoPI)|Y8q{N zR(nW0*m!T_U_{HPqal1FdpKJB7C9&^v_BCxwZ_8NkL%H)@6lycX~?u~)eyA|ZmWhU zV@xSwrtkAyMTH2cB?Pqs9$2nnDZP2_i17E8mgw*@y7&NEgG3y6?wG6@slnCjB*dJ_t%jZ8X@7Ma^x04WB3Q>20*6Ni$4=#f6HHQoDjy zP%&Vb%ypP;QQviJlRFmoeCpFcN($%uaR>Casqx58+yqw=Sf5&I!_iV3d31mE!=$Pf z&UaS-3Y(vyW3btPK7jHl(cs7)bR1^hLM^cLE-ppaZPJOtqt~y(#sn&d!@Jv~K~7G9XcKE(Hs0?a&3rXV|lX2a|S zwQ>8928+XLjE<8SY>c5|@l%p19wl{AU4g9DZQI)hmrAZ|s@R37keg>}2NfBL)|@RJ z&*k~R@(tGtq#=CA{U7YrVwgXLy8fegeq3#3d@p(qW;XCSSoj-%T0Mw#Er@B$!>#f{@Uy&O>ND_^~^bQX3kX5B=n+KA*GE9#?+jjIf~Yp zkeDJ`y6KHS5lJ~sKe2+riV7hTx{w9YW>ZC_KWRb&8mJ`-LT^grRd3XK)+p+g(3`oM z@8f;m_npZVleuDYW=lFXRuNHeBz{cf6W^QrP2vn)#5(nRM*Te?~IxX&c@e3uG~7=#X;gr3{G58 zQt-o7T$8`idf+}K63cgVf0#tA!Hid%|J^%ZmDag$*}`U?%`9DNLJFaI)a9I*CNp&_ z=pd<}Xsbc?Ks0!N(_Q(R;oDPXkyxZWXmZU$R~juVAa=>_9NUiSp?4XlAXB=xU%@r7xEzixuHfp@MCHV1xE?YqxCOpNxPD?1 zH%#2bTTdz2fSDGg!cQys6}Y(*MGKd9px>~?IX5-RvZkgJLiDz@FsKzeBW;(vj^Vi6 zbPPsK+cubQFk1@S*QMdiwxX>_={*XB z0Wp_awn-=xn#*jR5gNwi+EhA1(;TSkuJ4-`1sRa7j%HlNqG}KCe}(;gOw63{Hmo zUR$VD3JbM(?-ONva9Ee6FOLTg&5fKI#5tH8MfX5^1ClVlrtFFj*w4tJ2jqzCA0C3@ zoYDvvUce%FZ>kcyro(j~bmBZL&EqK;|5=ei^1-TLVCe#^4WnYP|KYkqY6O3w?EVv< zh^)y%b%cl7DJg{@h%YRM_@<{5X-b!S)CjdZ+|t5yJQDIJE~2`PE)kjy9T1Ffgh<2r z@L@^aa5c}grD=Q2V#L>6(==Fr!OXA9%P@Hv zH^JdfH1uEU(?Q>v6r@yK5&Z|e9nuHUWAIc5Is)rwkvf~hSMS~c3rkL|ze*m0g;j4h zOBw{RB+*=tI^jpaIVFq>O$yI-{|39$a{dq3cxU)#Gq-U9rrr*Z>!axUzgTmF7+_!l KPk%Iy$NvDRu7z*_ diff --git a/files/assets/js/gancio-events-detect.js b/files/assets/js/gancio-events-detect.js index 517bb1d..8bfef9a 100644 --- a/files/assets/js/gancio-events-detect.js +++ b/files/assets/js/gancio-events-detect.js @@ -1,45 +1,78 @@ /* -* Detect no next Gancio events and deactivate Next events +* Detect next Gancio events and activate Next events */ -function GetNextEventsCount(ge_id) { - const entryComponent = document.querySelector('#' + ge_id); - const shadowRoot = entryComponent.shadowRoot; - const app = shadowRoot.querySelector('div'); - if (app != null) { - return app.children.length; - } else { - return 0; - } -} - -function ActivePastEvents(tab_next, tab_past) { +function ActiveNext(tab_next, tab_past) { const nexttab = document.getElementById("tab-" + tab_next); const next = document.getElementById("tab-pane-" + tab_next); const pasttab = document.getElementById("tab-" + tab_past); const past = document.getElementById("tab-pane-" + tab_past); if (nexttab != null && next !== null){ - next.classList.remove("active"); - nexttab.classList.remove("active"); - next.classList.add("fade"); + past.classList.remove("active"); + pasttab.classList.remove("active"); + past.classList.add("fade"); } if (pasttab != null && past !== null){ - past.classList.remove("fade"); - past.classList.add("active"); - pasttab.classList.add("active"); + next.classList.remove("fade"); + next.classList.add("active"); + nexttab.classList.add("active"); } } -function ShowElement(id) { +function HideElement(id) { const element = document.getElementById(id); if (element) { - element.style.display = "block"; + element.style.display = "none"; } } -function ActivePastEventsIfNotNexts(ge_id, tab_next, tab_past, msg_id) { - if (GetNextEventsCount(ge_id) == 0) { - ActivePastEvents(tab_next, tab_past); - } - ShowElement(msg_id); +function ActiveNextEvents(tab_next, tab_past, msg_id) { + ActiveNext(tab_next, tab_past); + HideElement(msg_id); +} + +// Using MutationObserver + +function CheckNextEvents(ge_id, callbackifdiv) { + // Select element with ge_id + const targetNode = document.getElementById(ge_id); + + // Verify existence of element and that it has ShadowRoot + if (targetNode && targetNode.shadowRoot) { + const shadowRoot = targetNode.shadowRoot; + + // Look for a div element in shadowRoot + const divElement = shadowRoot.querySelector('div'); + if (divElement) { + // console.log('
is present in ShadowRoot'); + callbackifdiv(); + return true; + } else { // In there are not div, keep looking + // MutationObserver configuration + const config = { childList: true }; + + // Callback to execute when changes in shadowRoot + const callback = (mutationsList) => { + for (const mutation of mutationsList) { + if (mutation.type === 'childList') { + // Verify new child nodes + mutation.addedNodes.forEach((node) => { + // Check in node is
+ if (node.nodeType === Node.ELEMENT_NODE && node.nodeName === 'DIV') { + // console.log('New
added to ShadowRoot'); + callbackifdiv(); + } + }); + } + } + }; + + // Instance a MutationObserver + const observer = new MutationObserver(callback); + + // Start to observ the ShadowRoot + observer.observe(shadowRoot, config); + } + } + return false; } diff --git a/pages/events.md b/pages/events.md index 7ef7ad9..ca7206b 100644 --- a/pages/events.md +++ b/pages/events.md @@ -10,7 +10,7 @@ .. hidemastodon: True --> - {{% tabpannel active='1' %}} + {{% tabpannel active='2' %}} Próximos