diff --git a/ver_formulario_enviado.php b/ver_formulario_enviado.php index 0c048a6..9ab62e2 100644 --- a/ver_formulario_enviado.php +++ b/ver_formulario_enviado.php @@ -1297,33 +1297,42 @@ function _mpApplyExamVisibility(selectedExam) { for (var gk in _mpAllGroups) { _mpAllGroups[gk].forEach(function(s) { if (s.sep_id) allTomaSeps[s.sep_id] = gk; }); } - if (!Object.keys(allTomaSeps).length) return; + console.log('[tomas] _mpAllGroups keys:', Object.keys(_mpAllGroups)); + console.log('[tomas] allTomaSeps:', allTomaSeps); + console.log('[tomas] selectedExam:', selectedExam); + if (!Object.keys(allTomaSeps).length) { + console.warn('[tomas] Sin sep_ids en _mpAllGroups — no se aplica visibilidad'); + return; + } // 2. Sep_ids del examen seleccionado var examSeps = {}; if (selectedExam) { var groups = _mpGetGroupsForExam(selectedExam); + console.log('[tomas] groups for', selectedExam, ':', Object.keys(groups)); for (var gk2 in groups) { groups[gk2].forEach(function(s) { if (s.sep_id) examSeps[s.sep_id] = true; }); } } + console.log('[tomas] examSeps:', examSeps); - // 3. Recorrer DOM y aplicar visibilidad + // 3. Recorrer hijos directos de doc-body en orden + // (no querySelectorAll — así capturamos section-title y otros sin data-campo-id) var docBody = document.querySelector('.doc-body'); if (!docBody) return; var inHidden = false; - docBody.querySelectorAll('[data-campo-id]').forEach(function(el) { - var cid = el.getAttribute('data-campo-id'); - if (el.classList.contains('esquema-sep')) { + Array.from(docBody.children).forEach(function(child) { + if (child.classList.contains('esquema-sep')) { + var cid = child.getAttribute('data-campo-id') || ''; if (allTomaSeps[cid] !== undefined) { - inHidden = !examSeps[cid]; // ocultar si no es del examen - el.style.display = inHidden ? 'none' : ''; + inHidden = !examSeps[cid]; } else { inHidden = false; // separador genérico — siempre visible - el.style.display = ''; } + child.style.display = inHidden ? 'none' : ''; } else { - el.style.display = inHidden ? 'none' : ''; + // campo, section-title, firma-pro-widget, etc. + child.style.display = inHidden ? 'none' : ''; } }); }