Spaces:
Running
Running
Update script.js
Browse filesCon estas modificaciones, hemos implementado las mejoras solicitadas en el archivo style.css para dar estilo a las celdas editables y en el archivo script.js para hacer todas las celdas de la tabla editables, dar formato de tiempo a la columna de tiempo y agregar una suma total al final de la tabla que se actualiza dinámicamente cuando se modifican los tiempos.
script.js
CHANGED
@@ -25,3 +25,48 @@ botonExportarPDF.addEventListener("click", () => {
|
|
25 |
// Mostrar el botón nuevamente después de la impresión
|
26 |
botonExportarPDF.style.display = "block";
|
27 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
// Mostrar el botón nuevamente después de la impresión
|
26 |
botonExportarPDF.style.display = "block";
|
27 |
});
|
28 |
+
// Asegurémonos de que el DOM esté completamente cargado antes de ejecutar el código
|
29 |
+
document.addEventListener("DOMContentLoaded", function() {
|
30 |
+
// Obtener todas las celdas editables
|
31 |
+
const celdasEditables = document.querySelectorAll("td[contenteditable='true']");
|
32 |
+
|
33 |
+
// Iterar sobre las celdas editables y agregar el atributo 'data-time' para identificar la columna de tiempo
|
34 |
+
celdasEditables.forEach(function(celda) {
|
35 |
+
celda.setAttribute("data-time", "true");
|
36 |
+
});
|
37 |
+
|
38 |
+
// Función para calcular la suma total del tiempo
|
39 |
+
function calcularSumaTotal() {
|
40 |
+
let sumaTotal = 0;
|
41 |
+
|
42 |
+
// Obtener todas las celdas de tiempo y sumar sus valores
|
43 |
+
const celdasTiempo = document.querySelectorAll("td[data-time='true']");
|
44 |
+
celdasTiempo.forEach(function(celda) {
|
45 |
+
const tiempo = parseInt(celda.textContent);
|
46 |
+
if (!isNaN(tiempo)) {
|
47 |
+
sumaTotal += tiempo;
|
48 |
+
}
|
49 |
+
});
|
50 |
+
|
51 |
+
// Mostrar la suma total en una nueva fila al final de la tabla
|
52 |
+
const tablaActividades = document.querySelector(".tabla-actividades tbody");
|
53 |
+
const filaSumaTotal = document.createElement("tr");
|
54 |
+
filaSumaTotal.id = "fila-suma-total";
|
55 |
+
filaSumaTotal.innerHTML = `
|
56 |
+
<td colspan="4">Suma Total:</td>
|
57 |
+
<td>${sumaTotal}</td>
|
58 |
+
`;
|
59 |
+
tablaActividades.appendChild(filaSumaTotal);
|
60 |
+
}
|
61 |
+
|
62 |
+
// Calcular la suma total al cargar la página
|
63 |
+
calcularSumaTotal();
|
64 |
+
|
65 |
+
// Escuchar cambios en las celdas de tiempo y recalcular la suma total
|
66 |
+
document.addEventListener("input", function(event) {
|
67 |
+
const elemento = event.target;
|
68 |
+
if (elemento.tagName === "TD" && elemento.getAttribute("data-time")) {
|
69 |
+
calcularSumaTotal();
|
70 |
+
}
|
71 |
+
});
|
72 |
+
});
|