adejs/static/js/totalTable.js

84 lines
2.2 KiB
JavaScript
Raw Permalink Normal View History

var loadingDiv = document.getElementById('loading');
var errorDiv = document.getElementById('error');
var resultDiv = document.getElementById('result');
2017-09-25 17:17:24 +02:00
const timeout = 10000;
2017-10-04 11:25:59 +02:00
var emptyCoursesShown = false;
function getTable() {
// Send XHR to totalTable
2017-09-25 17:17:24 +02:00
loadingDiv.style.display = "";
errorDiv.style.display = "none";
let xhr = new XMLHttpRequest();
xhr.timeout = timeout;
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
setData(xhr.responseText);
} else {
setError();
}
}
};
2017-10-03 10:54:49 +02:00
xhr.open('GET', TABLE_URL, true);
xhr.send();
}
function setData(text) {
loadingDiv.style.display = "none";
2017-09-25 17:17:24 +02:00
errorDiv.style.display = "none";
resultDiv.innerHTML = text;
2017-10-04 11:25:59 +02:00
emptyCoursesShown = false;
var emptyCourses = document.getElementsByClassName('no-courses');
if (emptyCourses.length === 0) {
showEmptyCourses();
2017-10-04 11:25:59 +02:00
document.getElementById('extend').style.display = "none";
} else {
hideEmptyCourses();
document.getElementById('extend').addEventListener('click', function() {
2017-10-04 11:25:59 +02:00
switchEmptyCourses();
});
}
2017-10-04 11:25:59 +02:00
updateExtendText();
}
function showEmptyCourses() {
2017-10-04 11:25:59 +02:00
emptyCoursesShown = true;
var emptyCourses = document.getElementsByClassName('no-courses');
for (var i = 0; i < emptyCourses.length; i++) {
emptyCourses[i].style.display = "";
}
}
function hideEmptyCourses() {
2017-10-04 11:25:59 +02:00
emptyCoursesShown = false;
var emptyCourses = document.getElementsByClassName('no-courses');
for (var i = 0; i < emptyCourses.length; i++) {
emptyCourses[i].style.display = "none";
}
2017-10-04 11:25:59 +02:00
}
function switchEmptyCourses() {
if (emptyCoursesShown) {
hideEmptyCourses();
} else {
showEmptyCourses();
}
updateExtendText();
}
function updateExtendText() {
document.getElementById('extendText').innerHTML =
"Courses with null TD equivalent " + (emptyCoursesShown ? "(hide)" : "(show)");
}
function setError() {
loadingDiv.style.display = "none";
2017-09-25 17:17:24 +02:00
errorDiv.style.display = "";
}
2017-09-25 17:17:24 +02:00
document.getElementById('tryAgain').addEventListener('click', getTable);
getTable();