made index.html static - websocket everywhere

This commit is contained in:
2024-01-09 12:17:13 +01:00
parent e375fab048
commit 62cc2bf982
3 changed files with 107 additions and 384 deletions

View File

@@ -71,7 +71,7 @@ function onMessage(event) {
const result = processDataString(data_sliced, statusMapping);
console.log("STATUS:");
console.log(JSON.stringify(result, null, 2));
fillValuestoHTML(result);
fillValuesToHTML(result);
return;
}
@@ -80,7 +80,7 @@ function onMessage(event) {
const result = processDataString(data_sliced, staticMapping);
console.log("STATIC:");
console.log(JSON.stringify(result, null, 2));
fillValuestoHTML(result);
fillValuesToHTML(result);
return;
}
}
@@ -139,11 +139,47 @@ function do_resize(textbox) {
else textbox.rows = rows;
}
function fillValuestoHTML(dataset) {
function fillValuesToHTML(dataset) {
for (var key in dataset) {
var inputElement = document.getElementById(key);
if (inputElement) {
inputElement.value = dataset[key];
var element = document.getElementById(key);
if (element) {
if (element.type === "checkbox") {
// Wenn das Element ein Kontrollkästchen ist
element.checked = dataset[key] == 1 ? true : false;
} else if (element.tagName === "SELECT") {
// Wenn das Element ein Dropdown ist
setDropdownValue(element, dataset[key]);
} else if (element.classList.contains("progress-bar")) {
// Wenn das Element eine Fortschrittsleiste ist
updateProgressBar(element, dataset[key]);
} else if (element.classList.contains("removeable")) {
// Wenn das Element ein Settingsabschnitt-div ist
if (dataset[key] == 0) element.remove();
} else {
// Standardmäßig für Textfelder und andere Elemente
element.value = dataset[key];
}
}
}
}
// Funktion zum Setzen des ausgewählten Werts für Dropdowns
function setDropdownValue(selectElement, value) {
for (var i = 0; i < selectElement.options.length; i++) {
if (selectElement.options[i].value === value) {
selectElement.selectedIndex = i;
break;
}
}
}
// Funktion zum Aktualisieren der Fortschrittsleiste
function updateProgressBar(progressBar, value) {
// Wert in das aria-valuenow-Attribut einfügen
progressBar.setAttribute("aria-valuenow", value);
// Breite des Fortschrittsbalkens und inneren Text aktualisieren
progressBar.style.width = value + "%";
progressBar.textContent = value + "%";
}