/** * 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" } })