All checks were successful
continuous-integration/drone/push Build is passing
74 lines
1.3 KiB
TypeScript
74 lines
1.3 KiB
TypeScript
class Log {
|
|
|
|
createLog(entry:string):any {
|
|
|
|
var element = document.createElement("PRE");
|
|
|
|
if (entry.indexOf("WARNING") != -1) {
|
|
element.className = "warningMsg"
|
|
}
|
|
|
|
if (entry.indexOf("ERROR") != -1) {
|
|
element.className = "errorMsg"
|
|
}
|
|
|
|
if (entry.indexOf("DEBUG") != -1) {
|
|
element.className = "debugMsg"
|
|
}
|
|
|
|
element.innerHTML = entry
|
|
|
|
return element
|
|
}
|
|
|
|
}
|
|
|
|
function showLogs(bottom:boolean) {
|
|
|
|
var log = new Log()
|
|
|
|
var logs = SERVER["log"]["log"]
|
|
var div = document.getElementById("content_log")
|
|
var wrapper = document.getElementById("box-wrapper") as HTMLElement
|
|
var shouldStickToBottom:boolean = bottom
|
|
|
|
div.innerHTML = ""
|
|
|
|
if (wrapper != null && shouldStickToBottom == false) {
|
|
var distanceToBottom:number = wrapper.scrollHeight - wrapper.scrollTop - wrapper.clientHeight
|
|
if (distanceToBottom < 80) {
|
|
shouldStickToBottom = true
|
|
}
|
|
}
|
|
|
|
var keys = getObjKeys(logs)
|
|
|
|
keys.forEach(logID => {
|
|
|
|
var entry = log.createLog(logs[logID])
|
|
|
|
div.append(entry)
|
|
|
|
});
|
|
|
|
setTimeout(function(){
|
|
|
|
if (shouldStickToBottom == true && wrapper != null) {
|
|
|
|
wrapper.scrollTop = wrapper.scrollHeight;
|
|
|
|
}
|
|
|
|
}, 10);
|
|
|
|
}
|
|
|
|
function resetLogs() {
|
|
|
|
var cmd = "resetLogs"
|
|
var data = new Object()
|
|
var server:Server = new Server(cmd)
|
|
server.request(data)
|
|
|
|
}
|