olimpa commited on
Commit
7e289d3
1 Parent(s): c407e70

Update script.js

Browse files

Con 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.

Files changed (1) hide show
  1. script.js +45 -0
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
+ });