test
This commit is contained in:
parent
fb78962fc1
commit
a87e165f97
263
Vue/gabarit.php
263
Vue/gabarit.php
|
|
@ -554,137 +554,138 @@ foreach ($menus as $key0 => $menuParent) {
|
||||||
|
|
||||||
<!-- Service Worker Registration -->
|
<!-- Service Worker Registration -->
|
||||||
<script src="/Js/sw-register.js?ver=2025.12.22.00"></script>
|
<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>
|
</body>
|
||||||
</html>
|
</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>
|
|
||||||
Loading…
Reference in New Issue
Block a user