From d12b605afd9653c8d3c67df2005b2b6b217389c8 Mon Sep 17 00:00:00 2001 From: Lizandro Guarnizo <77708265+lizandrogd@users.noreply.github.com> Date: Fri, 10 Jul 2026 11:57:37 -0500 Subject: [PATCH] Fix: iterar hijos directos de doc-body para ocultar section-title sin data-campo-id MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Los div.section-title ("Firma del profesional") no tienen data-campo-id y eran ignorados por querySelectorAll. Ahora se itera docBody.children en orden para que inHidden aplique a todos los hijos incluyendo los que no tienen atributo. Agrega console.log [tomas] para diagnóstico del estado de _mpAllGroups. Co-Authored-By: Claude Sonnet 4.6 --- ver_formulario_enviado.php | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) 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' : ''; } }); }