blob: 41647f70a762f00c70bdda4fb1b3d26e40011c78 [file] [log] [blame]
// *********** HERE STARTS limit-years.js *************
var limitYears = false;
var showYears = new Set();
function repaint() {
//targetYear: graf.nodes[e.source].year,
if(limitYears) {
var added = new Set();
s.graph.nodes().forEach(function(n) {
var numNeig = s.graph.numNeighborsFromYears(n.id, showYears);
if ((n.year == 0 && (n.sex == 'F' || n.sex == 'M') )
|| numNeig == 0
|| (!showYears.has("" + n.year) && (n.year != 0) )) {
n.hidden = true;
}
else {
n.hidden = false;
added.add(n.id);
}
});
s.graph.edges().forEach(function(e) {
if(!added.has(e.source) && !added.has(e.target)){
e.hidden = true;
}
else e.hidden = false;
});
}
else {
s.graph.nodes().forEach(function(n) {
n.hidden = false;
});
s.graph.edges().forEach(function(e) {
e.hidden = false;
});
}
}
function altYearList() {
var yearlist = document.querySelector("#year-list");
if(yearlist.style.display == "none"){
yearlist.style.display = "block";
document.querySelector("#settings i").innerText = "close";
yearLimits = true;
}
else{
yearlist.style.display = "none";
document.querySelector("#settings i").innerText = "settings";
yearLimits = true;
}
}
function addYearList() {
var ylistspan = document.querySelector("#year-list-span")
for(var year = 2006; year < 2019; year++) {
var lab = document.createElement("label");
lab.setAttribute("class", "mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect custom-checkbox");
lab.setAttribute("for", "checkbox-"+year);
var yin = document.createElement("input");
yin.type = "checkbox";
yin.setAttribute("class", "mdl-checkbox__input");
yin.name = year;
yin.id = "checkbox-"+year;
yin.addEventListener("change", function() {
limitYears = true;
if(this.checked) {
showYears.add(this.name);
} else {
showYears.delete(this.name);
}
if (showYears.size == 0) limitYears = false;
repaint();
s.refresh();
});
var span = document.createElement("span");
span.innerText = year;
span.setAttribute("class", "mdl-checkbox__label");
lab.appendChild(yin);
lab.appendChild(span);
ylistspan.appendChild(lab);
ylistspan.insertAdjacentHTML("beforeend", "<br>");
}
document.querySelector("#settings").addEventListener("click", altYearList);
}