diff --git a/_static/webserver-v1.js b/_static/webserver-v1.js
index 483284b866..e1cf7b08a7 100644
--- a/_static/webserver-v1.js
+++ b/_static/webserver-v1.js
@@ -23,14 +23,18 @@ source.addEventListener('log', function (e) {
source.addEventListener('state', function (e) {
const data = JSON.parse(e.data);
- document.getElementById(data.id).children[1].innerText = data.state;
+ console.log('got state', e);
+ const f = (x) => document.getElementById(x.id).children[1].innerText = x.state;
+ if (Array.isArray(data))
+ data.forEach(d => f(d));
+ else f(data);
});
const states = document.getElementById("states");
let i = 0, row;
for (; row = states.rows[i]; i++) {
if (row.classList.contains("switch")) {
- (function(id) {
+ (function (id) {
row.children[2].children[0].addEventListener('click', function () {
const xhr = new XMLHttpRequest();
xhr.open("POST", '/switch/' + id.substr(7) + '/toggle', true);
@@ -39,7 +43,7 @@ for (; row = states.rows[i]; i++) {
})(row.id);
}
if (row.classList.contains("fan")) {
- (function(id) {
+ (function (id) {
row.children[2].children[0].addEventListener('click', function () {
const xhr = new XMLHttpRequest();
xhr.open("POST", '/fan/' + id.substr(4) + '/toggle', true);
@@ -48,7 +52,7 @@ for (; row = states.rows[i]; i++) {
})(row.id);
}
if (row.classList.contains("light")) {
- (function(id) {
+ (function (id) {
row.children[2].children[0].addEventListener('click', function () {
const xhr = new XMLHttpRequest();
xhr.open("POST", '/light/' + id.substr(6) + '/toggle', true);
@@ -57,7 +61,7 @@ for (; row = states.rows[i]; i++) {
})(row.id);
}
if (row.classList.contains("cover")) {
- (function(id) {
+ (function (id) {
row.children[2].children[0].addEventListener('click', function () {
const xhr = new XMLHttpRequest();
xhr.open("POST", '/cover/' + id.substr(6) + '/open', true);
diff --git a/_static/webserver-v1.min.js b/_static/webserver-v1.min.js
index e2cbb4b4e5..a2dc58345b 100644
--- a/_static/webserver-v1.min.js
+++ b/_static/webserver-v1.min.js
@@ -1 +1 @@
-const source=new EventSource("/events");source.addEventListener("log",function(a){const b=document.getElementById("log");let c="";a.data.startsWith("\x1B[1;31m")?c="e":a.data.startsWith("\x1B[0;33m")?c="w":a.data.startsWith("\x1B[0;32m")?c="i":a.data.startsWith("\x1B[0;35m")?c="c":a.data.startsWith("\x1B[0;36m")?c="d":a.data.startsWith("\x1B[0;37m")?c="v":b.innerHTML+=a.data+"\n",b.innerHTML+=""+a.data.substr(7,a.data.length-10)+"\n"}),source.addEventListener("state",function(a){const b=JSON.parse(a.data);document.getElementById(b.id).children[1].innerText=b.state});const states=document.getElementById("states");for(let a,b=0;a=states.rows[b];b++)a.classList.contains("switch")&&function(b){a.children[2].children[0].addEventListener("click",function(){const a=new XMLHttpRequest;a.open("POST","/switch/"+b.substr(7)+"/toggle",!0),a.send()})}(a.id),a.classList.contains("fan")&&function(b){a.children[2].children[0].addEventListener("click",function(){const a=new XMLHttpRequest;a.open("POST","/fan/"+b.substr(4)+"/toggle",!0),a.send()})}(a.id),a.classList.contains("light")&&function(b){a.children[2].children[0].addEventListener("click",function(){const a=new XMLHttpRequest;a.open("POST","/light/"+b.substr(6)+"/toggle",!0),a.send()})}(a.id),a.classList.contains("cover")&&function(b){a.children[2].children[0].addEventListener("click",function(){const a=new XMLHttpRequest;a.open("POST","/cover/"+b.substr(6)+"/open",!0),a.send()}),a.children[2].children[1].addEventListener("click",function(){const a=new XMLHttpRequest;a.open("POST","/cover/"+b.substr(6)+"/close",!0),a.send()})}(a.id);
\ No newline at end of file
+const source = new EventSource("/events"); source.addEventListener("log", function (t) { const n = document.getElementById("log"); let e = ""; t.data.startsWith("[1;31m") ? e = "e" : t.data.startsWith("[0;33m") ? e = "w" : t.data.startsWith("[0;32m") ? e = "i" : t.data.startsWith("[0;35m") ? e = "c" : t.data.startsWith("[0;36m") ? e = "d" : t.data.startsWith("[0;37m") ? e = "v" : n.innerHTML += t.data + "\n", n.innerHTML += '' + t.data.substr(7, t.data.length - 10) + "\n" }), source.addEventListener("state", function (t) { const n = JSON.parse(t.data); console.log("got state", t); const e = t => document.getElementById(t.id).children[1].innerText = t.state; Array.isArray(n) ? n.forEach(t => e(t)) : e(n) }); const states = document.getElementById("states"); let row, i = 0; for (; row = states.rows[i]; i++)row.classList.contains("switch") && function (t) { row.children[2].children[0].addEventListener("click", function () { const n = new XMLHttpRequest; n.open("POST", "/switch/" + t.substr(7) + "/toggle", !0), n.send() }) }(row.id), row.classList.contains("fan") && function (t) { row.children[2].children[0].addEventListener("click", function () { const n = new XMLHttpRequest; n.open("POST", "/fan/" + t.substr(4) + "/toggle", !0), n.send() }) }(row.id), row.classList.contains("light") && function (t) { row.children[2].children[0].addEventListener("click", function () { const n = new XMLHttpRequest; n.open("POST", "/light/" + t.substr(6) + "/toggle", !0), n.send() }) }(row.id), row.classList.contains("cover") && function (t) { row.children[2].children[0].addEventListener("click", function () { const n = new XMLHttpRequest; n.open("POST", "/cover/" + t.substr(6) + "/open", !0), n.send() }), row.children[2].children[1].addEventListener("click", function () { const n = new XMLHttpRequest; n.open("POST", "/cover/" + t.substr(6) + "/close", !0), n.send() }) }(row.id);
\ No newline at end of file