var protocol = window.location.protocol var host = window.location.host + "/drdock" var $table_hpc = document.querySelector("div.table#hpc") var $table_gpu = document.querySelector("div.table#gpu") var $row_template = document.querySelector("div#row-template") var to_local_time = date => (date == '') ? '' : (new Date(new Date(date) - (new Date(date).getTimezoneOffset() * 60000)).toISOString().slice(0, -5)) fetch(protocol + "//" + host + "/api/v1/server_status", { mode: 'cors' }) .then(function(response) { return response.json() }) .then(function(myJson) { let server_status = myJson for (let [idx, job] of Object.entries(server_status["HPC"])) { let $new_node = $row_template.cloneNode(true) $new_node.querySelector(".content:nth-child(1)").textContent = job["uuid"] $new_node.querySelector(".content:nth-child(2)").textContent = job["job"] $new_node.querySelector(".content:nth-child(3)").textContent = job["status"] $new_node.querySelector(".content:nth-child(4)").textContent = to_local_time(job["start_time"]) $new_node.querySelector(".content:nth-child(5)").textContent = to_local_time(job["end_time"]) $new_node.style.display = "" $table_hpc.querySelector(".tb").appendChild($new_node) } for (let [idx, job] of Object.entries(server_status["GPU"])) { let $new_node = $row_template.cloneNode(true) $new_node.querySelector(".content:nth-child(1)").textContent = job["uuid"] $new_node.querySelector(".content:nth-child(2)").textContent = job["job"] $new_node.querySelector(".content:nth-child(3)").textContent = job["status"] $new_node.querySelector(".content:nth-child(4)").textContent = to_local_time(job["start_time"]) $new_node.querySelector(".content:nth-child(5)").textContent = to_local_time(job["end_time"]) $new_node.style.display = "" $table_gpu.querySelector(".tb").appendChild($new_node) } })