resources/js/newui.js
let socket = null;
let session_id = null;
function handleClosed() {
document.querySelector('body').outerHTML = 'WEBSOCKET IS DOWN';
}
function checkOpen() {
return socket && socket.readyState == WebSocket.OPEN;
}
window.addEventListener('DOMContentLoaded', _ => {
// TODO tää pitäisi varmaan jotenkin konffata
socket = new WebSocket("ws://localhost:3011/newui");
// Connection opened
socket.addEventListener("open", (event) => {
});
socket.addEventListener("error", (event) => {
alert.log('Error: ', event);
});
socket.addEventListener("close", e => {
});
// Listen for messages
socket.addEventListener("message", (event) => {
console.log(`got newui message ${event.data}`);
let split = event.data.split(':');
let key = split[0];
switch(key) {
case "SESSIONID":
session_id = split[1];
break;
default:
let msg = JSON.parse(event.data);
let id = msg.id;
let html = msg["new-html"];
document.querySelector(`#${id}`).outerHTML = html;
}
});
});
function send(event, param) {
console.log(`Calling ${event}`);
if(!session_id) { alert('Session id is damaged'); return; }
if(!checkOpen()) { handleClosed(); return; }
let json = JSON.stringify({ sessionid: session_id,
call: event,
param: param});
socket.send(json);
console.log(`Called ${event}`);
}