From 70bcffe505da0bc75b6690e39e7082b1a59846cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20Ha=C3=9Fel?= Date: Fri, 29 Aug 2025 09:56:23 +0200 Subject: [PATCH] ui update FIX on focused fields --- index.html | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/index.html b/index.html index 5b240af..9272f07 100644 --- a/index.html +++ b/index.html @@ -71,6 +71,13 @@ 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 = "") { if (timeout) { clearTimeout(timeout); @@ -85,12 +92,12 @@ title.innerText = data.hostname; for (let index = 0; index < data.relays.length; index++) { const relayData = data.relays[index]; - const tag = document.getElementById("relay" + index) || create(index); - tag.getElementsByClassName("name")[0].getElementsByTagName("input")[0].value = relayData.name; - tag.getElementsByClassName("state")[0].innerText = relayData.state ? "Ein" : "Aus"; - tag.getElementsByClassName("onMillis")[0].getElementsByTagName("input")[0].value = relayData.onMillis; - tag.getElementsByClassName("offMillis")[0].getElementsByTagName("input")[0].value = relayData.offMillis; - tag.getElementsByClassName("initial")[0].getElementsByTagName("select")[0].value = relayData.initial; + const relayTag = document.getElementById("relay" + index) || create(index); + updateValue(relayTag, "name", "input", relayData.name); + relayTag.getElementsByClassName("state")[0].innerText = relayData.state ? "Ein" : "Aus"; + updateValue(relayTag, "onMillis", "input", relayData.onMillis); + updateValue(relayTag, "offMillis", "input", relayData.offMillis); + updateValue(relayTag, "initial", "select", relayData.initial); } info.innerText = JSON.stringify(data, null, 2); }