codice://--------------------------------------------------------------------------------------------------------------------------------- // si inizializza il collapse per la tabella dei badge // Funzione per espandere/collassare i dettagli del badge function toggleBadgeDetails(event, idDipendente) { event.stopPropagation(); // Previene la propagazione dell'evento const icon = event.target; // 'icon' definita correttamente qui come l'elemento su cui si è cliccato. const tr = icon.closest('tr'); const dipId = tr.getAttribute('data-id'); const isExpanded = icon.classList.contains("fa-arrow-circle-o-down"); // Controlla se l'icona indica che i dettagli sono attualmente espansi. icon.classList.toggle("fa-arrow-circle-o-right"); // Alterna tra indicare un dettaglio non espanso icon.classList.toggle("fa-arrow-circle-o-down"); // e un dettaglio espanso. const detailsRowId = "details-row-" + dipId; let detailsRow = document.getElementById(detailsRowId); if (!detailsRow) { detailsRow = document.createElement("tr"); detailsRow.id = detailsRowId; detailsRow.innerHTML = `<td colspan="11"><div id='details-content-${dipId}' class='details-content'>Caricamento...</div></td>`; tr.parentNode.insertBefore(detailsRow, tr.nextSibling); fetchBadgeDetails(dipId, detailsRowId); } else { const detailsContent = document.getElementById(`details-content-${dipId}`); detailsContent.parentNode.parentNode.style.display = isExpanded ? "none" : "table-row"; } }

Rispondi quotando