HBMonv2/html/scripts/hbmon.js
2021-05-21 14:05:13 +03:00

80 lines
3.2 KiB
JavaScript

var sock = null;
var ellog = null;
window.onload = function() {
var wsuri;
ellog = document.getElementById('log');
bridge_table = document.getElementById('bridge');
main_table = document.getElementById('main');
masters_table = document.getElementById('masters');
opb_table = document.getElementById('opb');
peers_table = document.getElementById('peers');
wsuri = (((window.location.protocol === "https:") ? "wss://" : "ws://") + window.location.hostname + ":9000");
if ("WebSocket" in window) {
sock = new WebSocket(wsuri);
} else if ("MozWebSocket" in window) {
sock = new MozWebSocket(wsuri);
} else {
if (ellog != null) {
log("Browser does not support WebSocket!");}
}
if (sock) {
sock.onopen = function() {
if (ellog != null) {
log("Connected to " + wsuri);}
}
sock.onclose = function(e) {
if (ellog != null) {
log("Connection closed (wasClean = " + e.wasClean + ", code = " + e.code + ", reason = '" + e.reason + "')");}
sock = null;
bridge_table.innerHTML = "";
main_table.innerHTML = "";
masters_table.innerHTML = "";
opb_table.innerHTML = "";
peers_table.innerHTML = "";
}
sock.onmessage = function(e) {
var opcode = e.data.slice(0,1);
var message = e.data.slice(1);
if (opcode == "b") {
Bmsg(message);
} else if (opcode == "c") {
Cmsg(message);
} else if (opcode == "i") {
Imsg(message);
} else if (opcode == "o") {
Omsg(message);
} else if (opcode == "p") {
Pmsg(message);
} else if (opcode == "l") {
if (ellog != null) {
log(message);}
} else if (opcode == "q") {
log(message);
bridge_table.innerHTML = "";
main_table.innerHTML = "";
masters_table.innerHTML = "";
opb_table.innerHTML = "";
peers_table.innerHTML = "";
} else {
log("Unknown Message Received: " + message);
}
}
}
};
function Bmsg(_msg) {bridge_table.innerHTML = _msg;};
function Cmsg(_msg) {masters_table.innerHTML = _msg;};
function Imsg(_msg) {main_table.innerHTML = _msg;};
function Omsg(_msg) {opb_table.innerHTML = _msg;};
function Pmsg(_msg) {peers_table.innerHTML = _msg;};
function log(_msg) {
ellog.innerHTML += _msg + '\n';
ellog.scrollTop = ellog.scrollHeight;};