//Open submenu on hover in compact sidebar mode and horizontal menu mode function initSubMenu(){ var sidebar = document.querySelectorAll('.sidebar .nav-item') sidebar.forEach(element => { element.addEventListener('mouseenter', eventMenu) element.addEventListener('mouseleave', eventMenu) }) } function eventMenu(e){ var body = document.querySelector('body'); var sidebarIconOnly = body.classList.contains("sidebar-icon-only"); var sidebarFixed = body.classList.contains("sidebar-fixed"); if (!('ontouchstart' in document.documentElement)) { if (sidebarIconOnly) { var menuItem = this; if (e.type === 'mouseenter') { menuItem.classList.add('hover-open') } else { menuItem.classList.remove('hover-open') } } } } // Exécuter l'initialisation au chargement de la page document.addEventListener('DOMContentLoaded', initSubMenu); // Support pour différents systèmes de navigation if (typeof Turbo !== 'undefined') { document.addEventListener('turbo:load', initSubMenu); document.addEventListener('turbo:render', initSubMenu); } // Support pour les applications SPA qui utilisent l'historique de navigation window.addEventListener('popstate', initSubMenu);