kappa123/kappa123/client/static/main.js

65 lines
1.5 KiB
JavaScript

var cacheEnabled = true;
var updateCache = function() {
if (cacheEnabled) {
window.localStorage.setItem('cache', cache);
}
}
var primeCache = function() {
if (cacheEnabled) {
var string = window.localStorage.getItem('cache') || "";
var strCache = string.split(",");
cache = [];
strCache.map(function(item) {
cache[cache.length] = (item == 'true');
setRowValue(cache.length, cache[cache.length-1]);
});
} else {
cache = [];
}
}
primeCache();
var elements = document.getElementsByClassName('run');
for (var i=0; i<elements.length; i++) {
var element = elements[i];
element.onclick = toggleRow;
var id = element.id.replace("run-", "");
cache[id-1] = false;
}
function getRowValue(id) {
return cache[id-1];
}
function setRowValue(id, selected) {
var row = document.getElementById("run-" + id)
if (!row) {return}
cache[id-1] = selected;
if (selected) {
row.className = "run selected";
} else {
row.className = "run";
}
}
function toggleRow(e) {
var row = e.currentTarget;
var id = row.id.replace("run-", "");
if (row.className == "run selected") {
setRowValue(id, false);
} else {
setRowValue(id, true);
}
updateCache();
}
function updateHideUnselected() {
var table = document.getElementById('the_table');
table.className == "hide-unselected" ? table.className = "" : table.className = "hide-unselected";
}