File: D:/HostingSpaces/marisrental/boldt.tech/resources/js/site/overlayMenuHandler.js
/* ==========================================================================
Navigation handler
- Handles the showing and hiding of the overlay-menu component which has the proper classes.
========================================================================== */
const OverlayMenuHandler = {
// init: function () {
// const overlayMenuTrigger = document.querySelector('.js-overlay-menu-trigger');
// OverlayMenuHandler.initOverlayMenu(overlayMenuTrigger);
// },
init: function () {
const overlayMenuTriggerList = document.querySelectorAll('.js-overlay-menu-trigger');
const overlayMenuTriggerListCount = overlayMenuTriggerList.length;
if(isset(overlayMenuTriggerList) && overlayMenuTriggerListCount !== 0){
for(let i = 0; i < overlayMenuTriggerListCount; i++){
const overlayMenuTrigger = overlayMenuTriggerList[i];
OverlayMenuHandler.initOverlayMenu(overlayMenuTrigger);
}
}
const stickyContactButton = document.querySelector('.js-toggle-sticky-content');
const stickyContactContent = document.querySelector('.js-sticky-content');
const stickyMenu = document.querySelector('.js-sticky-header');
if(isset(stickyContactButton) && isset(stickyContactContent)) {
stickyContactButton.addEventListener('click', function (){
stickyContactContent.classList.toggle('is-active');
if(isset(stickyMenu)) stickyMenu.classList.toggle('contact-opened')
})
}
},
initOverlayMenu: function (overlayMenuTrigger) {
overlayMenuTrigger.addEventListener('click', OverlayMenuHandler.toggleOverlayMenu, false);
},
toggleOverlayMenu: function (event) {
const overlayMenuNav = document.querySelector('.js-overlay-menu');
// const overlayMenuBody = overlayMenu.querySelector('.js-overlay-menu-persist-scrolling');
// Bail if overlayMenu doesn't exist
if (!overlayMenuNav) return;
// Clear previously locked scroll on the body
bodyScrollLock.enableBodyScroll(overlayMenuNav);
// If the overlayMenu is already active, collapse it and quit
if (document.body.classList.contains('is-overlay-menu-active')) {
document.body.classList.remove('is-overlay-menu-active');
return;
}
// Lock scrolling on the body
bodyScrollLock.disableBodyScroll(overlayMenuNav);
// Toggle active overlayMenu by setting a class on the body
document.body.classList.toggle('is-overlay-menu-active');
}
};
OverlayMenuHandler.init();