let lastVar = null; // Vérifie régulièrement la présence du token et met à jour l'affichage setInterval(() => { const varExportAvance = getVarExportAvance(); if (varExportAvance !== lastVar) { lastVar = varExportAvance; hideExportAvanceIfNotAdvanced(); } }, 1000); function getVarExportAvance() { // Try to get JWT from Swagger UI authorize input const varExportAvance = localStorage.getItem('auth_exportavance'); return varExportAvance; } function hideExportAvanceIfNotAdvanced() { const varExport = getVarExportAvance(); // Toujours réafficher les opérations avancées const opEls = Array.from(document.querySelectorAll('[data-path]')) .filter(el => el.getAttribute('data-path')?.includes('export-avance')); opEls.forEach(el => { // Find parent .opblock (the whole operation block) let opblock = el; while (opblock && !opblock.classList.contains('opblock')) { opblock = opblock.parentElement; } if (opblock) { opblock.style.display = ''; } }); opEls.forEach(opEl => { let parent = opEl.parentElement; while (parent && !parent.classList.contains('opblock-tag-section')) { parent = parent.parentElement; } if (parent) { parent.style.display = ''; } }); if (!varExport || varExport === 'false') { opEls.forEach(el => { let opblock = el; while (opblock && !opblock.classList.contains('opblock')) { opblock = opblock.parentElement; } if (opblock) { opblock.style.display = 'none'; } }); opEls.forEach(opEl => { let parent = opEl.parentElement; while (parent && !parent.classList.contains('opblock-tag-section')) { parent = parent.parentElement; } if (parent) { const visibleOps = parent.querySelectorAll('.opblock:not([style*="display: none"])'); if (visibleOps.length === 0) { parent.style.display = 'none'; } } }); } } // Run after Swagger UI loads function observeSwaggerUi() { const target = document.getElementById('swagger-ui'); if (!target) return; // Initial hide hideExportAvanceIfNotAdvanced(); // Observe DOM changes const observer = new MutationObserver(() => { hideExportAvanceIfNotAdvanced(); }); observer.observe(target, { childList: true, subtree: true }); } window.addEventListener('load', () => { setTimeout(observeSwaggerUi, 1500); });