This commit is contained in:
KONE SOREL 2025-12-22 09:16:38 +00:00
parent fb78962fc1
commit a87e165f97

View File

@ -554,137 +554,138 @@ foreach ($menus as $key0 => $menuParent) {
<!-- Service Worker Registration -->
<script src="/Js/sw-register.js?ver=2025.12.22.00"></script>
<script>
// Test du système de menus
document.addEventListener('DOMContentLoaded', function() {
console.group('=== TEST SYSTÈME DE MENUS ===');
// Vérifier l'état initial
const activeMenuId = window.appConfig?.activeParentId !== null ?
`submenu${window.appConfig.activeParentId}` : null;
console.log('Menu actif configuré:', activeMenuId);
console.log('Page active:', window.appConfig?.activeLink);
// Compter les menus ouverts
const openMenus = document.querySelectorAll('.nav-submenu.show');
console.log('Menus initialement ouverts:', openMenus.length);
openMenus.forEach(menu => {
console.log(' -', menu.id);
});
// Vérifier que seul le menu actif est ouvert
if (openMenus.length > 1) {
console.warn('⚠️ Plusieurs menus sont ouverts!');
console.warn('Seul le menu', activeMenuId, 'devrait être ouvert.');
// Corriger automatiquement
if (activeMenuId && window.appNavigation) {
console.log('Correction automatique en cours...');
window.appNavigation.closeAllExceptActive();
}
} else if (openMenus.length === 1 && openMenus[0].id === activeMenuId) {
console.log('✅ Parfait! Seul le menu actif est ouvert.');
} else if (openMenus.length === 0 && !activeMenuId) {
console.log('✅ Aucun menu ouvert - Comportement attendu.');
}
// Exposer des fonctions de test
window.menuTest = {
openAllMenus: function() {
document.querySelectorAll('.nav-submenu').forEach(menu => {
menu.classList.add('show');
const link = document.querySelector(`[href="#${menu.id}"]`);
if (link) link.setAttribute('aria-expanded', 'true');
});
console.log('Tous les menus ouverts (test)');
},
closeAllMenus: function() {
document.querySelectorAll('.nav-submenu').forEach(menu => {
menu.classList.remove('show');
const link = document.querySelector(`[href="#${menu.id}"]`);
if (link) link.setAttribute('aria-expanded', 'false');
});
console.log('Tous les menus fermés (test)');
},
showMenuState: function() {
const menus = document.querySelectorAll('.nav-submenu');
console.log('État des menus:');
menus.forEach(menu => {
const isOpen = menu.classList.contains('show');
const link = document.querySelector(`[href="#${menu.id}"]`);
const ariaExpanded = link ? link.getAttribute('aria-expanded') : 'N/A';
console.log(` ${menu.id}: ${isOpen ? 'OUVERT' : 'FERMÉ'} (aria-expanded: ${ariaExpanded})`);
});
}
};
console.groupEnd();
// Ajouter un indicateur visuel de débogage
if (window.appConfig?.debugMode) {
const debugIndicator = document.createElement('div');
debugIndicator.style.cssText = `
position: fixed;
bottom: 10px;
left: 10px;
background: rgba(0,0,0,0.8);
color: #0f0;
padding: 5px 10px;
border-radius: 4px;
font-family: monospace;
font-size: 12px;
z-index: 9999;
pointer-events: none;
`;
debugIndicator.textContent = `Menu: ${activeMenuId || 'Aucun'}`;
document.body.appendChild(debugIndicator);
}
});
// Fonction globale pour tester depuis la console
function testMenuSystem() {
console.log('=== TEST MANUEL DU SYSTÈME DE MENUS ===');
if (!window.appNavigation) {
console.error('appNavigation non disponible');
return;
}
// Test 1: Fermer tous les menus
console.log('Test 1: Fermeture de tous les menus...');
window.appNavigation.closeAllMenus();
// Test 2: Ouvrir le menu actif
setTimeout(() => {
const activeId = window.appConfig?.activeParentId !== null ?
`submenu${window.appConfig.activeParentId}` : null;
if (activeId) {
console.log('Test 2: Ouverture du menu actif:', activeId);
window.appNavigation.openMenuById(activeId);
}
// Test 3: Vérification finale
setTimeout(() => {
const openMenus = document.querySelectorAll('.nav-submenu.show').length;
console.log('Test 3: Résultat -', openMenus, 'menu(s) ouvert(s)');
if (openMenus === 1 || (openMenus === 0 && !activeId)) {
console.log('✅ Système de menus fonctionne correctement!');
} else {
console.warn('⚠️ Problème détecté avec le système de menus');
}
}, 500);
}, 500);
}
// Exposer la fonction de test
window.testMenuSystem = testMenuSystem;
</script>
</body>
</html>
<script>
// Test du système de menus
document.addEventListener('DOMContentLoaded', function() {
console.group('=== TEST SYSTÈME DE MENUS ===');
// Vérifier l'état initial
const activeMenuId = window.appConfig?.activeParentId !== null ?
`submenu${window.appConfig.activeParentId}` : null;
console.log('Menu actif configuré:', activeMenuId);
console.log('Page active:', window.appConfig?.activeLink);
// Compter les menus ouverts
const openMenus = document.querySelectorAll('.nav-submenu.show');
console.log('Menus initialement ouverts:', openMenus.length);
openMenus.forEach(menu => {
console.log(' -', menu.id);
});
// Vérifier que seul le menu actif est ouvert
if (openMenus.length > 1) {
console.warn('⚠️ Plusieurs menus sont ouverts!');
console.warn('Seul le menu', activeMenuId, 'devrait être ouvert.');
// Corriger automatiquement
if (activeMenuId && window.appNavigation) {
console.log('Correction automatique en cours...');
window.appNavigation.closeAllExceptActive();
}
} else if (openMenus.length === 1 && openMenus[0].id === activeMenuId) {
console.log('✅ Parfait! Seul le menu actif est ouvert.');
} else if (openMenus.length === 0 && !activeMenuId) {
console.log('✅ Aucun menu ouvert - Comportement attendu.');
}
// Exposer des fonctions de test
window.menuTest = {
openAllMenus: function() {
document.querySelectorAll('.nav-submenu').forEach(menu => {
menu.classList.add('show');
const link = document.querySelector(`[href="#${menu.id}"]`);
if (link) link.setAttribute('aria-expanded', 'true');
});
console.log('Tous les menus ouverts (test)');
},
closeAllMenus: function() {
document.querySelectorAll('.nav-submenu').forEach(menu => {
menu.classList.remove('show');
const link = document.querySelector(`[href="#${menu.id}"]`);
if (link) link.setAttribute('aria-expanded', 'false');
});
console.log('Tous les menus fermés (test)');
},
showMenuState: function() {
const menus = document.querySelectorAll('.nav-submenu');
console.log('État des menus:');
menus.forEach(menu => {
const isOpen = menu.classList.contains('show');
const link = document.querySelector(`[href="#${menu.id}"]`);
const ariaExpanded = link ? link.getAttribute('aria-expanded') : 'N/A';
console.log(` ${menu.id}: ${isOpen ? 'OUVERT' : 'FERMÉ'} (aria-expanded: ${ariaExpanded})`);
});
}
};
console.groupEnd();
// Ajouter un indicateur visuel de débogage
if (window.appConfig?.debugMode) {
const debugIndicator = document.createElement('div');
debugIndicator.style.cssText = `
position: fixed;
bottom: 10px;
left: 10px;
background: rgba(0,0,0,0.8);
color: #0f0;
padding: 5px 10px;
border-radius: 4px;
font-family: monospace;
font-size: 12px;
z-index: 9999;
pointer-events: none;
`;
debugIndicator.textContent = `Menu: ${activeMenuId || 'Aucun'}`;
document.body.appendChild(debugIndicator);
}
});
// Fonction globale pour tester depuis la console
function testMenuSystem() {
console.log('=== TEST MANUEL DU SYSTÈME DE MENUS ===');
if (!window.appNavigation) {
console.error('appNavigation non disponible');
return;
}
// Test 1: Fermer tous les menus
console.log('Test 1: Fermeture de tous les menus...');
window.appNavigation.closeAllMenus();
// Test 2: Ouvrir le menu actif
setTimeout(() => {
const activeId = window.appConfig?.activeParentId !== null ?
`submenu${window.appConfig.activeParentId}` : null;
if (activeId) {
console.log('Test 2: Ouverture du menu actif:', activeId);
window.appNavigation.openMenuById(activeId);
}
// Test 3: Vérification finale
setTimeout(() => {
const openMenus = document.querySelectorAll('.nav-submenu.show').length;
console.log('Test 3: Résultat -', openMenus, 'menu(s) ouvert(s)');
if (openMenus === 1 || (openMenus === 0 && !activeId)) {
console.log('✅ Système de menus fonctionne correctement!');
} else {
console.warn('⚠️ Problème détecté avec le système de menus');
}
}, 500);
}, 500);
}
// Exposer la fonction de test
window.testMenuSystem = testMenuSystem;
</script>