parent
debefa0d3d
commit
b9ea7f7bcb
2 changed files with 28 additions and 10 deletions
|
@ -1,11 +1,11 @@
|
|||
(function() {
|
||||
'use strict';
|
||||
|
||||
let items;
|
||||
let reqBoxes;
|
||||
let excBoxes;
|
||||
let allBoxes;
|
||||
let tags;
|
||||
let itemsByYear;
|
||||
|
||||
let showSingles = true;
|
||||
|
||||
|
@ -21,11 +21,19 @@ function updateItems() {
|
|||
let [reqTags, excTags] = fillSets();
|
||||
let anyReq = reqTags.size > 0;
|
||||
|
||||
for (let item of items) {
|
||||
let req = tags.get(item).some(x => reqTags.has(x));
|
||||
let exc = tags.get(item).some(x => excTags.has(x));
|
||||
for (let [year, items] of itemsByYear) {
|
||||
let hide = true;
|
||||
|
||||
item.hidden = exc || (anyReq && !req);
|
||||
for (let item of items) {
|
||||
let req = tags.get(item).some(x => reqTags.has(x));
|
||||
let exc = tags.get(item).some(x => excTags.has(x));
|
||||
let hidden = exc || (anyReq && !req);
|
||||
|
||||
item.hidden = hidden;
|
||||
hide &&= hidden;
|
||||
}
|
||||
|
||||
document.getElementById(`marker-${year}`).hidden = hide;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -101,13 +109,20 @@ function useFragment() {
|
|||
|
||||
|
||||
function setup() {
|
||||
items = Array.from(document.getElementsByClassName('post'));
|
||||
|
||||
function inputs(id) {
|
||||
let iter = document.getElementById(id).getElementsByTagName('input');
|
||||
return Array.from(iter);
|
||||
}
|
||||
|
||||
let items = Array.from(document.getElementsByClassName('post'));
|
||||
itemsByYear = new Map;
|
||||
|
||||
for (let item of items) {
|
||||
let year = item.dataset.year;
|
||||
if (!itemsByYear.has(year)) itemsByYear.set(year, new Set);
|
||||
itemsByYear.get(year).add(item);
|
||||
}
|
||||
|
||||
reqBoxes = inputs('require');
|
||||
excBoxes = inputs('exclude');
|
||||
allBoxes = [...reqBoxes, ...excBoxes];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue