This repository has been archived on 2023-01-06. You can view files and clone it, but cannot push or open issues or pull requests.
web/public/static/js/resultservice.js
2022-04-26 15:00:38 +02:00

67 lines
1.5 KiB
JavaScript

document.addEventListener('DOMContentLoaded', () => {
new ResultService();
});
class ResultService
{
hash = 0;
alertbox = document.getElementById("alert");
table = document.getElementById("ranking-table");
endpoint = "../api/v1/race/sync.php?h=";
constructor()
{
this.loop();
}
async loop()
{
try {
await this.updateTable();
this.alertbox.classList.add("hidden");
} catch (error) {
console.log(error);
this.alertbox.innerHTML = "<b>Noe gikk galt: </b>" + error;
this.alertbox.classList.remove("hidden");
}
setTimeout(() => {
this.loop();
}, 1000);
}
async updateTable()
{
let response = await fetch(this.endpoint + this.hash);
if (response.status === 204)
{
return;
}
let json = await response.json();
this.hash = json.hash;
let data = json.data;
let tableHTML = "";
tableHTML += "<table>";
tableHTML += "<tr>";
tableHTML += "<th>Lag</th>";
tableHTML += "<th>Tid</th>";
tableHTML += "</tr>";
data.times.reverse().forEach(element => {
tableHTML += "<tr>";
tableHTML += "<td>" + data.map.team.name[element.id] + "</td>";
tableHTML += "<td>" + element.time + "</td>";
tableHTML += "</tr>";
});
tableHTML += "<table>";
this.table.innerHTML = tableHTML;
}
}