Implement an abstract localStorage cache
parent
69db285def
commit
e1b22a2125
|
@ -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() {
|
||||
|
|
|
@ -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"]}} → {{run["estimate"]}}</td>
|
||||
<td>{{run["name"]}} <span class="de-emphasis">{{run["category"]}}</span></td>
|
||||
<td>{{run["runners"]}}</td>
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue