buba/buba/static/main.js

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();
}