HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/rentman2019.komma.pro/resources/assets/js/site/tabHandler.js
/* ==========================================================================
   Accordion handler
   - Handles the accordion component which has the proper classes.
 ========================================================================== */

export const TabHandler = {

    tabContainer: '',
    tabs: '',

    init: function () {
        TabHandler.tabContainer = document.querySelector('.js-webinar-tabs')
        TabHandler.tabs = document.querySelectorAll('.js-tab')

        const intendedTab = window.location.href.split('#', 2)[1] ?? null;

        TabHandler.tabs.forEach((tab) => {
            tab.addEventListener('click', () => TabHandler.activeTab(tab))
            if (tab.href.split('#', 2)[1] === intendedTab) {
                TabHandler.activeTab(tab)
            }
        })
    },

    activeTab: function (tab) {
        TabHandler.deactivateAllTabs()
        const tabNumber = tab.getAttribute('data-tab');
        const activateTabs = TabHandler.tabContainer.querySelectorAll(`[data-tab="${tabNumber}"]`);

        if (activateTabs.length > 0) {
            activateTabs.forEach((tab) => {
                tab.classList.add('active')
            })
        }
    },

    deactivateAllTabs: function () {
        const tabs = TabHandler.tabContainer.querySelectorAll('[data-tab]')

        tabs.forEach((tab) => {
            tab.classList.remove('active')
        })
    }
};