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/Neopoints/momsecurity.be/resources/js/components/toggleHandler.js
/* ==========================================================================
   Navigation handler
   - Handles the showing and hiding of the overlay-menu component which has the proper classes.
 ========================================================================== */

const ToggleHandler = {

    init: function () {
        const toggleTriggers = document.querySelectorAll('.js-toggle-trigger');
        const toggleTriggersCount = toggleTriggers.length;

        if(isset(toggleTriggers) && toggleTriggersCount > 0){
            for(let i = 0; i < toggleTriggersCount; i++){
                const toggleTrigger = toggleTriggers[i];
                ToggleHandler.initToggle(toggleTrigger);
            }
        }
    },

    initToggle: function (toggleTrigger) {
        toggleTrigger.addEventListener('click', ToggleHandler.adjustToggle, false);
    },

    adjustToggle: function (event) {
        const id = event.currentTarget.getAttribute('data-toggle-id');
        const targetArray = [].slice.call(document.querySelectorAll('.js-toggle-target'));
        let target = null;

        for (var i = 0; i < targetArray.length; i++) {
            if(id === targetArray[i].getAttribute('data-toggle-id')){
                target = targetArray[i];
            }
        }

        // Bail if toggle doesn't exist
        if (!target) return;

        // If the toggle is already active, collapse it and quit
        event.currentTarget.classList.toggle('is-active');
    }
};

ToggleHandler.init();