obus/debugging_tool/static/script.js

87 lines
2.4 KiB
JavaScript
Raw Normal View History

2020-09-08 16:52:38 +00:00
let maxseen = 0;
let paused = true;
let updaterID = null;
2020-08-16 02:16:36 +00:00
2020-09-08 18:21:32 +00:00
let color_classes = {
"RESERVED TYPE": "error",
"controller": "controller",
"puzzle": "puzzle",
"needy": "needy",
}
2020-08-16 02:16:36 +00:00
function updateShow() {
2020-09-08 16:52:38 +00:00
for (let item of document.getElementsByClassName("raw")) {
2020-09-08 18:21:32 +00:00
item.classList.toggle("hide", !document.getElementById('show_raw').checked);
2020-08-16 02:16:36 +00:00
}
}
function updateMessages() {
fetch('/api.json')
.then(
function(response) {
if (response.status !== 200) {
console.log('FAIL: ' + response.status);
return;
}
response.json().then(function(data) {
if (data.length > maxseen) {
2020-09-08 16:52:38 +00:00
let messageTable = document.getElementById('message_table');
2020-09-09 11:57:16 +00:00
2020-09-08 16:52:38 +00:00
for (let i = maxseen; i < data.length; i++) {
let row = messageTable.insertRow(1);
2020-09-09 11:57:16 +00:00
row.classList.add("fade");
2020-09-08 16:52:38 +00:00
let current = data[i];
2020-08-16 02:16:36 +00:00
2020-09-08 16:52:38 +00:00
let human_readable_type = row.insertCell(0)
2020-09-08 18:21:32 +00:00
let colorblock = document.createElement("div");
colorblock.classList.add("colorblock");
human_readable_type.append(colorblock);
human_readable_type.innerHTML += current['human_readable_type'];
human_readable_type.classList.add(color_classes[current['human_readable_type']]);
human_readable_type.classList.add('human_readable_type');
2020-08-16 02:16:36 +00:00
2020-09-08 16:52:38 +00:00
let sender_id = row.insertCell(-1)
sender_id.innerHTML = current['sender_id'];
2020-09-08 18:21:32 +00:00
sender_id.classList.add('sender_id');
2020-09-08 16:52:38 +00:00
let parsed = row.insertCell(-1)
if (current['parsed'].startsWith("PARSE ERROR")) {
2020-09-08 18:21:32 +00:00
parsed.classList.add("error");
2020-09-08 16:52:38 +00:00
}
parsed.innerHTML = current['parsed'];
2020-09-08 18:21:32 +00:00
parsed.classList.add('parsed');
2020-08-16 02:16:36 +00:00
2020-09-08 16:52:38 +00:00
let time = row.insertCell(-1)
time.innerHTML = current['time'];
2020-09-08 18:21:32 +00:00
time.classList.add('time');
2020-08-16 02:16:36 +00:00
2020-09-08 16:52:38 +00:00
let raw_message = row.insertCell(-1);
raw_message.innerHTML = current['raw_message'];
raw_message.classList.add("raw");
raw_message.classList.add("raw_message");
2020-08-16 02:16:36 +00:00
2020-09-08 16:52:38 +00:00
let raw_id = row.insertCell(-1);
raw_id.innerHTML = current['pretty_raw_sender_id'];
raw_id.classList.add("raw");
raw_id.classList.add("raw_id");
}
maxseen = data.length;
2020-08-16 02:16:36 +00:00
}
});
}
)
}
2020-09-08 16:52:38 +00:00
function toggle_logging() {
if (paused) {
paused = false;
document.getElementById("toggle_button").innerHTML = "Pause";
updaterID = setInterval(updateMessages, 1000);
} else {
paused = true;
document.getElementById("toggle_button").innerHTML = "Start";
clearInterval(updaterID);
}
}