const botonExportarPDF = document.getElementById("boton-exportar-pdf"); const seleccionarFirma = document.getElementById("seleccionar-firma"); botonExportarPDF.addEventListener("click", () => { // Ocultar el botón durante la exportación botonExportarPDF.style.display = "none"; // Obtener el contenido sin la firma const contenido = document.querySelector(".plan-de-culto").cloneNode(true); const firmaSeleccionada = seleccionarFirma.value; // Crear un nuevo elemento de fila y celda para la firma const filaFirma = document.createElement("tr"); const celdaFirma = document.createElement("td"); celdaFirma.colSpan = 4; // O ajusta según la cantidad de columnas en tu tabla celdaFirma.textContent = `Firma: ${firmaSeleccionada}`; // Agregar la fila de firma al final de la tabla filaFirma.appendChild(celdaFirma); contenido.querySelector(".tabla-actividades tbody").appendChild(filaFirma); // Abrir el cuadro de diálogo de impresión window.print(); // Mostrar el botón nuevamente después de la impresión botonExportarPDF.style.display = "block"; }); // Agrega una función para restablecer el valor predeterminado al hacer clic en la celda de tiempo document.addEventListener("click", function(event) { const elemento = event.target; if (elemento.classList.contains("tiempo") && elemento.textContent.trim() === "") { elemento.textContent = elemento.getAttribute("data-default-value"); } }); // Asegurémonos de que el DOM esté completamente cargado antes de ejecutar el código document.addEventListener("DOMContentLoaded", function() { // Obtener todas las celdas editables const celdasEditables = document.querySelectorAll("td[contenteditable='true']"); // Iterar sobre las celdas editables y agregar el atributo 'data-time' para identificar la columna de tiempo celdasEditables.forEach(function(celda) { celda.setAttribute("data-time", "true"); }); // Función para calcular la suma total del tiempo function calcularSumaTotal() { let sumaTotalSegundos = 0; // Obtener todas las celdas de tiempo y sumar sus valores const celdasTiempo = document.querySelectorAll("td[data-time='true']"); celdasTiempo.forEach(function(celda) { const tiempo = celda.textContent.trim(); if (tiempo) { const partesTiempo = tiempo.split(':'); if (partesTiempo.length === 3) { // Convertir horas, minutos y segundos a segundos y sumar sumaTotalSegundos += parseInt(partesTiempo[0]) * 3600 + parseInt(partesTiempo[1]) * 60 + parseInt(partesTiempo[2]); } } }); // Convertir la suma total de segundos a formato HH:mm:ss const horas = Math.floor(sumaTotalSegundos / 3600); const minutos = Math.floor((sumaTotalSegundos % 3600) / 60); const segundos = sumaTotalSegundos % 60; // Actualizar la celda de suma total con el texto descriptivo y el tiempo formateado const totalTiempo = document.getElementById("total-tiempo"); totalTiempo.textContent = `${horas.toString().padStart(2, '0')}:${minutos.toString().padStart(2, '0')}:${segundos.toString().padStart(2, '0')}`; } // Calcular la suma total al cargar la página calcularSumaTotal(); // Escuchar cambios en las celdas de tiempo y recalcular la suma total document.addEventListener("input", function(event) { const elemento = event.target; if (elemento.tagName === "TD" && elemento.getAttribute("data-time")) { calcularSumaTotal(); } }); });