Implement an abstract localStorage cache

main
Ryan Rix 2017-07-03 18:31:34 -05:00
parent 69db285def
commit e1b22a2125
3 changed files with 47 additions and 6 deletions

View File

@ -1,14 +1,54 @@
// custom javascript
var updateCache = function() {
window.localStorage.setItem('cache', cache);
}
var primeCache = function() {
strCache = window.localStorage.getItem('cache').split(",") || []; // Augh.
cache = [];
strCache.map(function(item) {
cache[cache.length] = (item == 'true');
setRowValue(cache.length, cache[cache.length-1]);
});
}
primeCache();
var elements = document.getElementsByClassName('run');
for (idx in elements) {
var element = elements[idx];
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;
row.className == "run selected" ? row.className = "run" : row.className = "run selected"
var id = row.id.replace("run-", "");
if (row.className == "run selected") {
setRowValue(id, false);
} else {
setRowValue(id, true);
}
updateCache();
}
function updateHideUnselected() {

View File

@ -20,7 +20,7 @@
<th scope="col">Runners</th>
</tr>
{% for run in runs %}
<tr class="run {{run["class"]}}">
<tr class="run {{run["class"]}}" id="run-{{run["order"]}}">
<td>{{run["time"]}} &rarr; {{run["estimate"]}}</td>
<td>{{run["name"]}} <span class="de-emphasis">{{run["category"]}}</span></td>
<td>{{run["runners"]}}</td>

View File

@ -36,11 +36,12 @@ def transform_runs(raw_data):
for run in raw_data:
run = run['fields']
d = {
'time': arrow.get(run['starttime']).to('America/Chicago').format('HH:mm:ss'),
'time': arrow.get(run['starttime']).to('America/Chicago').format('MMM DD HH:mm:ss'),
'estimate': run['run_time'],
'name': run['name'],
'category': run['category'],
'runners': run['deprecated_runners'] #lol
'runners': run['deprecated_runners'], #lol
'order': run['order']
}
output.append(d)
return output