]> gitweb.hhaalo.de Git - feierabend.git/commitdiff
add viewer with color
authorBastian Dehn <hhaalo@arcor.de>
Sun, 23 Jun 2024 14:53:18 +0000 (16:53 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Sun, 23 Jun 2024 14:53:18 +0000 (16:53 +0200)
src/xmlviewer/viewer.html

index 020d972a5970370c68c744d19e6b9b88241db0bb..97cb679aee90a257c032d3e3c92a261d8f5d2a14 100644 (file)
                                padding: 1rem;
                                text-align: left;
                        }
+                       .red {
+                               background-color: darksalmon;
+                       }
+                       .yellow {
+                               background-color: lemonchiffon;
+                       }
+                       .green {
+                               background-color: lightgreen;
+                       }
                </style>
        </head>
        <body>
                                                divElement.innerText = `Anfangssaldo: ${rootNode.getAttribute("anfangssaldo")}`
                                                element.append(divElement);
 
-                                               const count = rootNode.childElementCount;
                                                const tableElement = document.createElement("table");
+                                               const MAX_OVERDAYS = 7.5;
                                                let trElement;
                                                let tdElement;
+                                               let saldo;
+                                               let timeArray;
+                                               let maxWorktime;
+                                               let quota;
 
                                                trElement = document.createElement("tr");
 
                                                trElement.append(tdElement);
 
                                                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");
+                                                       if (quota >= 1)
+                                                               trElement.classList.add("red");
+                                                       else if (quota >= 0.66)
+                                                               trElement.classList.add("yellow");
+                                                       else if (quota >= -0.66)
+                                                               trElement.classList.add("green");
+                                                       else if (quota <= -0.66)
+                                                               trElement.classList.add("yellow");
+                                                       else if (quota <= -1)
+                                                               trElement.classList.add("red");
 
                                                        tdElement = document.createElement("td");
                                                        tdElement.innerText = rootNode.children[i].getAttribute("wochentag");