From f48f1daebd79a3b897c240f0b829d05c8b9cc3d0 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Wed, 3 Jul 2024 21:32:46 +0200 Subject: [PATCH] change viewer append row method --- src/xmlviewer/viewer.js | 144 ++++++++++++++++++++-------------------- 1 file changed, 73 insertions(+), 71 deletions(-) diff --git a/src/xmlviewer/viewer.js b/src/xmlviewer/viewer.js index 6ee8dc0..9903e87 100644 --- a/src/xmlviewer/viewer.js +++ b/src/xmlviewer/viewer.js @@ -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); -- 2.39.5