SpreadQuiz/js/result_analyzer.js
Epagris fa74f65847 - automatic checking of publishing conditions
- result analyzer with basic functionality added
2024-09-07 18:25:14 +02:00

59 lines
1.7 KiB
JavaScript

function create_cell(content) {
let cell = document.createElement("td");
cell.innerHTML = content;
return cell;
}
function fetch_results() {
let filterF = document.getElementById("filter");
let req = {action: "get_results_by_gameid", gameid: GAMEID, filter: filterF.value.trim()};
request(req).then(resp => {
let rd = document.getElementById("results_display");
let results = JSON.parse(resp);
let empty_resp = results.length === 0;
rd.innerHTML = empty_resp ? "Nincs találat." : "";
if (empty_resp) {
return;
}
// let n = results.length;
results.forEach((record) => {
let row = document.createElement("tr");
// is the game concluded
let concluded = record["state"] === "concluded";
let percentage = "-";
let timestamp = "-";
// replace some fields if game was concluded
if (concluded) {
// percentage
let summary = record["summary"];
let r = Math.floor((summary["correct_answer_n"] / summary["challenge_n"]) * 100);
percentage = `${r}%`;
// finish timestamp
timestamp = unix_time_to_human_readable(record["end_time"]);
}
// create cells
let empty_cell = create_cell("");
let name_cell = create_cell(record.nickname)
let percentage_cell = create_cell(percentage)
let timestamp_cell = create_cell(timestamp);
row.append(empty_cell, name_cell, percentage_cell, timestamp_cell);
// append row
rd.appendChild(row);
});
});
}