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/farmfun/reserveren.farmfun.be/resources/js/site/global/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 = Array.from(document.querySelectorAll('.js-toggle-target'));

        const target = targetArray.find(function(target) {
          return target.getAttribute('data-toggle-id') === id;
        });

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

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

ToggleHandler.init();