/**
* Definitions
*/
const colorClamp = "#34495e"
const colorTime = "#95a5a6"
const serverTypes = [
"API",
"StorageServer"
]
const serverTypesColors = [
"yellow",
"orange"
]
const messageTypes = [
"ERR",
"DEB",
"INFO"
]
const messageTypesColors = [
"#e74c3c",
"#95a5a6",
"#ecf0f1"
]
const messageColors = [
"#e74c3c",
"#95a5a6",
"#ecf0f1"
]
/**
* Begin of code
*/
const messages = document.getElementById("messages")
let autoScroll = true;
function addMessage(serverType, messageType, message) {
let li = document.createElement("li")
li.innerHTML = formatDate() +
formatMessageType(messageType) +
formatServerType(serverType) +
formatMessage(message, messageType)
messages.appendChild(li)
if (autoScroll) {
li.scrollIntoView()
}
deleteOldMessages()
}
function deleteOldMessages() {
if (messages.childElementCount > 500) {
messages.removeChild(messages.getElementsByTagName("li")[0])
}
}
function clampOn() {
return "["
}
function clampClosed() {
return "] "
}
function formatDate() {
const date = new Date()
return clampOn() +
"" +
date.getDate().toString().padStart(2, '0') + "." +
date.getMonth().toString().padStart(2, '0') + "." +
date.getFullYear() + " " +
date.getHours().toString().padStart(2, '0') + ":" +
date.getMinutes().toString().padStart(2, '0') + ":" +
date.getSeconds().toString().padStart(2, '0') + ":" +
date.getMilliseconds().toString().padStart(3, '0') + " " +
"" + clampClosed()
}
function formatServerType(serverType) {
return clampOn() + "" + serverTypes[serverType] + "" + clampClosed()
}
function formatMessage(message, messageType) {
return ""+message+""
}
function formatMessageType(messageType) {
return clampOn() + "" + messageTypes[messageType] + "" + clampClosed()
}
function handleScrollState() {
console.log("here")
}
let scrollState = document.getElementById('scroll-state')
document.getElementById('btn-toggle-scroll').addEventListener('click', () => {
console.log("clicked", scrollState.innerHTML)
if (scrollState.innerHTML == "on") {
autoScroll = false
scrollState.style.color = "#e74c3c"
scrollState.innerHTML = "off"
} else {
autoScroll = true
scrollState.style.color = "#27ae60"
scrollState.innerHTML = "on"
}
})