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();