ui update FIX on focused fields

This commit is contained in:
Patrick Haßel 2025-08-29 09:56:23 +02:00
parent d6643a446e
commit 70bcffe505

View File

@ -71,6 +71,13 @@
let timeout; let timeout;
function updateValue(tag, clazz, innerTag, value) {
const input = tag.getElementsByClassName(clazz)[0].getElementsByTagName(innerTag)[0];
if (document.activeElement !== input) {
input.value = value;
}
}
function request(query = "") { function request(query = "") {
if (timeout) { if (timeout) {
clearTimeout(timeout); clearTimeout(timeout);
@ -85,12 +92,12 @@
title.innerText = data.hostname; title.innerText = data.hostname;
for (let index = 0; index < data.relays.length; index++) { for (let index = 0; index < data.relays.length; index++) {
const relayData = data.relays[index]; const relayData = data.relays[index];
const tag = document.getElementById("relay" + index) || create(index); const relayTag = document.getElementById("relay" + index) || create(index);
tag.getElementsByClassName("name")[0].getElementsByTagName("input")[0].value = relayData.name; updateValue(relayTag, "name", "input", relayData.name);
tag.getElementsByClassName("state")[0].innerText = relayData.state ? "Ein" : "Aus"; relayTag.getElementsByClassName("state")[0].innerText = relayData.state ? "Ein" : "Aus";
tag.getElementsByClassName("onMillis")[0].getElementsByTagName("input")[0].value = relayData.onMillis; updateValue(relayTag, "onMillis", "input", relayData.onMillis);
tag.getElementsByClassName("offMillis")[0].getElementsByTagName("input")[0].value = relayData.offMillis; updateValue(relayTag, "offMillis", "input", relayData.offMillis);
tag.getElementsByClassName("initial")[0].getElementsByTagName("select")[0].value = relayData.initial; updateValue(relayTag, "initial", "select", relayData.initial);
} }
info.innerText = JSON.stringify(data, null, 2); info.innerText = JSON.stringify(data, null, 2);
} }