New JS files
Slight change in autocomplete for bug fix
Separated the old script.js in function-oriented different files
diff --git a/js/limit-years.js b/js/limit-years.js
new file mode 100644
index 0000000..6d99c37
--- /dev/null
+++ b/js/limit-years.js
@@ -0,0 +1,89 @@
+window.addEventListener("load", addYearList);
+
+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";
+ yearLimits = true;
+ }
+ else{
+ yearlist.style.display = "none";
+ yearLimits = true;
+ }
+}
+
+function addYearList() {
+ var ylistspan = document.querySelector("#year-list-span")
+ for(var year=2006; year<2019; year++) {
+ var yin = document.createElement("input");
+ yin.type = "checkbox";
+ yin.class = "mdl-button mdl-js-button mdl-button--fab mdl-button--mini-fab mdl-js-ripple-effect mdl-button--colored";
+ yin.name = "" + 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 lab = document.createElement("label");
+ lab.innerHTML = "" + year + "<br>";
+
+ ylistspan.appendChild(yin);
+ ylistspan.appendChild(lab);
+ }
+
+ document.querySelector("#settings").addEventListener("click", altYearList);
+}
+