diff --git a/assets/js/gancio-events-detect.js b/assets/js/gancio-events-detect.js index 517bb1d..8bfef9a 100644 --- a/assets/js/gancio-events-detect.js +++ b/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('