36 lines
1.1 KiB
JavaScript
36 lines
1.1 KiB
JavaScript
import Display from "./display.js";
|
|
|
|
let container = document.getElementById("geavision-display");
|
|
if (container) {
|
|
const display = new Display(container);
|
|
|
|
function connect() {
|
|
const ws = new WebSocket("/ws");
|
|
ws.addEventListener("message", (event) => {
|
|
let m = JSON.parse(event.data);
|
|
if (m.cmd === undefined) {
|
|
console.log("undefined command", m)
|
|
}
|
|
switch(m.cmd) {
|
|
case "set_pages":
|
|
display.set_pages(m.pages);
|
|
break;
|
|
case "simple_text":
|
|
display.simple_text(m.page, m.row, m.col, m.text, m.align);
|
|
break;
|
|
case "text":
|
|
display.text(m.page, m.row, m.col_start, m.col_end, m.text, m.align);
|
|
break;
|
|
}
|
|
});
|
|
ws.addEventListener("close", (ev) => {
|
|
setTimeout(function () {
|
|
connect();
|
|
}, 1000)
|
|
});
|
|
ws.addEventListener("error", (ev) => {
|
|
ws.close();
|
|
});
|
|
}
|
|
connect();
|
|
}
|