]> gitweb.hhaalo.de Git - feierabend.git/commitdiff
change viewer append row method
authorBastian Dehn <hhaalo@arcor.de>
Wed, 3 Jul 2024 19:32:46 +0000 (21:32 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Wed, 3 Jul 2024 19:32:46 +0000 (21:32 +0200)
src/xmlviewer/viewer.js

index 6ee8dc0587480c855604429d3f3fdc0160e72cdd..9903e8788cf521f94e529184f148c4c967f6467a 100644 (file)
@@ -11,6 +11,77 @@ function addColorClass(element, quota) {
                element.classList.add("red");
 }
 
+function appendRow(childNode, tableElement) {
+       const MAX_OVERDAYS = 7.5;
+
+       let timeArray = childNode.getAttribute("sollarbeitszeit").split(":");
+       let maxWorktime = timeArray[0] * 3600;
+       maxWorktime += timeArray[1] * 60;
+       maxWorktime *= MAX_OVERDAYS;
+       timeArray = childNode.getAttribute("saldo").split(":");
+       let saldo = timeArray[0] * 3600;
+       saldo += timeArray[1] * 60;
+       const quota = saldo / maxWorktime;
+
+       let trElement = document.createElement("tr");
+
+       tdElement = document.createElement("td");
+       tdElement.setAttribute("data-cell", "Wochentag");
+       tdElement.innerText = childNode.getAttribute("wochentag");
+       addColorClass(tdElement, quota);
+       trElement.append(tdElement);
+
+       tdElement = document.createElement("td");
+       tdElement.setAttribute("data-cell", "Datum");
+       tdElement.innerText = childNode.getAttribute("datum");
+       addColorClass(tdElement, quota);
+       trElement.append(tdElement);
+
+       tdElement = document.createElement("td");
+       tdElement.setAttribute("data-cell", "Anfang");
+       tdElement.innerText = childNode.getAttribute("begin");
+       addColorClass(tdElement, quota);
+       trElement.append(tdElement);
+
+       tdElement = document.createElement("td");
+       tdElement.setAttribute("data-cell", "Ende");
+       tdElement.innerText = childNode.getAttribute("ende");
+       addColorClass(tdElement, quota);
+       trElement.append(tdElement);
+
+       tdElement = document.createElement("td");
+       tdElement.setAttribute("data-cell", "Pause");
+       tdElement.innerText = childNode.getAttribute("pause");
+       addColorClass(tdElement, quota);
+       trElement.append(tdElement);
+
+       tdElement = document.createElement("td");
+       tdElement.setAttribute("data-cell", "Soll");
+       tdElement.innerText = childNode.getAttribute("sollarbeitszeit");
+       addColorClass(tdElement, quota);
+       trElement.append(tdElement);
+
+       tdElement = document.createElement("td");
+       tdElement.setAttribute("data-cell", "Ist");
+       tdElement.innerText = childNode.getAttribute("arbeitszeit");
+       addColorClass(tdElement, quota);
+       trElement.append(tdElement);
+
+       tdElement = document.createElement("td");
+       tdElement.setAttribute("data-cell", "Stunden");
+       tdElement.innerText = childNode.getAttribute("stunden");
+       addColorClass(tdElement, quota);
+       trElement.append(tdElement);
+
+       tdElement = document.createElement("td");
+       tdElement.setAttribute("data-cell", "Saldo");
+       tdElement.innerText = childNode.getAttribute("saldo");
+       addColorClass(tdElement, quota);
+       trElement.append(tdElement);
+
+       tableElement.append(trElement)
+}
+
 function loadFile() {
        const fileinput = document.getElementById("filepath");
        const element = document.getElementById("content");
@@ -23,13 +94,9 @@ function loadFile() {
                const rootNode = xmldoc.children[0]
 
                const tableElement = document.createElement("table");
-               const MAX_OVERDAYS = 7.5;
+               
                let trElement;
                let tdElement;
-               let saldo;
-               let timeArray;
-               let maxWorktime;
-               let quota;
 
                const captionElement = document.createElement("caption");
                captionElement.innerText = `Zeitkonto - Anfangssaldo: ${rootNode.getAttribute("anfangssaldo")}`
@@ -73,72 +140,7 @@ function loadFile() {
                tableElement.append(trElement)
                const count = rootNode.childElementCount;
                for (let i = 0; i < count; i++) {
-                       timeArray = rootNode.children[i].getAttribute("sollarbeitszeit").split(":");
-                       maxWorktime = timeArray[0] * 3600;
-                       maxWorktime += timeArray[1] * 60;
-                       maxWorktime *= MAX_OVERDAYS;
-                       timeArray = rootNode.children[i].getAttribute("saldo").split(":");
-                       saldo = timeArray[0] * 3600;
-                       saldo += timeArray[1] * 60;
-                       quota = saldo / maxWorktime;
-
-                       trElement = document.createElement("tr");
-
-                       tdElement = document.createElement("td");
-                       tdElement.setAttribute("data-cell", "Wochentag");
-                       tdElement.innerText = rootNode.children[i].getAttribute("wochentag");
-                       addColorClass(tdElement, quota);
-                       trElement.append(tdElement);
-
-                       tdElement = document.createElement("td");
-                       tdElement.setAttribute("data-cell", "Datum");
-                       tdElement.innerText = rootNode.children[i].getAttribute("datum");
-                       addColorClass(tdElement, quota);
-                       trElement.append(tdElement);
-
-                       tdElement = document.createElement("td");
-                       tdElement.setAttribute("data-cell", "Anfang");
-                       tdElement.innerText = rootNode.children[i].getAttribute("begin");
-                       addColorClass(tdElement, quota);
-                       trElement.append(tdElement);
-
-                       tdElement = document.createElement("td");
-                       tdElement.setAttribute("data-cell", "Ende");
-                       tdElement.innerText = rootNode.children[i].getAttribute("ende");
-                       addColorClass(tdElement, quota);
-                       trElement.append(tdElement);
-
-                       tdElement = document.createElement("td");
-                       tdElement.setAttribute("data-cell", "Pause");
-                       tdElement.innerText = rootNode.children[i].getAttribute("pause");
-                       addColorClass(tdElement, quota);
-                       trElement.append(tdElement);
-
-                       tdElement = document.createElement("td");
-                       tdElement.setAttribute("data-cell", "Soll");
-                       tdElement.innerText = rootNode.children[i].getAttribute("sollarbeitszeit");
-                       addColorClass(tdElement, quota);
-                       trElement.append(tdElement);
-
-                       tdElement = document.createElement("td");
-                       tdElement.setAttribute("data-cell", "Ist");
-                       tdElement.innerText = rootNode.children[i].getAttribute("arbeitszeit");
-                       addColorClass(tdElement, quota);
-                       trElement.append(tdElement);
-
-                       tdElement = document.createElement("td");
-                       tdElement.setAttribute("data-cell", "Stunden");
-                       tdElement.innerText = rootNode.children[i].getAttribute("stunden");
-                       addColorClass(tdElement, quota);
-                       trElement.append(tdElement);
-
-                       tdElement = document.createElement("td");
-                       tdElement.setAttribute("data-cell", "Saldo");
-                       tdElement.innerText = rootNode.children[i].getAttribute("saldo");
-                       addColorClass(tdElement, quota);
-                       trElement.append(tdElement);
-
-                       tableElement.append(trElement)
+                       appendRow(rootNode.children[i], tableElement);
                }
 
                element.append(tableElement);