function getVersion() { fetch('/api/version') .then(function(response) { return response.json(); }) .then(function(version) { document.getElementById("version").innerHTML = "v" + version.version; }); } let current_job = null; function runctnr() { document.getElementById("btnlaunch").disabled = true; document.getElementById("btnlaunchspinner").style.display = "inline-block"; fetch('/api/run') .then(function(response) { return response.json(); }) .then(function(data) { current_job = data.jobid; document.getElementById("jobid").textContent = current_job; document.getElementById("started-alert").style.display = "block"; fetchLogs(); }) return false; } function fetchLogs() { var ws = new WebSocket('ws://' + window.location.host + '/api/jobs/' + current_job + '/logs'); ws.onopen = function (evt) { console.log("Connection open ..."); document.getElementById("logs-card").style.display = "block"; document.getElementById("logs").innerText = ""; }; ws.onmessage = function (evt) { console.log("Received Message: " + evt.data); document.getElementById("logs").innerText += evt.data; }; ws.onclose = function (evt) { console.log("Connection closed."); current_job = null; document.getElementById("btnlaunch").disabled = false; document.getElementById("btnlaunchspinner").style.display = "none"; document.getElementById("started-alert").style.display = "none"; }; }