PageSourceSearch

https://www.chaberlin.org/wp-content/themes/CHA/js/main.js

js chaberlin.org collected 2026-10-02 12:12:38 UTC 4,902 bytes, 155 lines download raw bytes

1document.addEventListener('DOMContentLoaded', function () {
2    var years = [];
3    document.querySelectorAll('#newsletter-list li').forEach(function (item) {
4      var year = item.getAttribute('data-newsletter-year');
5      if (years.indexOf(year) === -1) {
6        years.push(year);
7      }
8    });
9    years.sort();
10
11    var yearsList = document.getElementById('newsletter-years');
12    years.forEach(function (year) {
13      var listItem = document.createElement('li');
14      var link = document.createElement('a');
15      link.href = '#';
16      link.textContent = year;
17      link.addEventListener('click', function (event) {
18        event.preventDefault();
19        filterNewsletterLinks(year);
20        highlightActiveYear(this);
21      });
22      listItem.appendChild(link);
23      yearsList.appendChild(listItem);
24    });
25
26    if (yearsList != null && yearsList.children.length > 0) {
27      yearsList.lastChild.querySelector('li a').click();
28    }
29
30    function filterNewsletterLinks(year) {
31
32      var linkList = document.querySelectorAll('#newsletter-list li');
33      linkList.forEach(function (link) {
34        var linkYear = link.getAttribute('data-newsletter-year');
35        if (year.toString() === linkYear.toString()) {
36          link.style.display = 'block';
37        } else {
38          link.style.display = 'none';
39        }
40      });
41    }
42
43    function highlightActiveYear(selectedLink) {
44      // Alle Links zurücksetzen
45      document.querySelectorAll('#newsletter-years li').forEach(function (item) {
46        item.classList.remove('active');
47      });
48      // Aktuellen Link hervorheben
49      selectedLink.parentNode.classList.add('active');
50    }
51
52    // Takeways
53    years = [];
54    document.querySelectorAll('#takeaway-list li').forEach(function (item) {
55      var year = item.getAttribute('data-takeaway-year');
56      if (years.indexOf(year) === -1) {
57        years.push(year);
58      }
59    });
60    years.sort();
61
62    yearsList = document.getElementById('takeaway-years');
63    years.forEach(function (year) {
64      var listItem = document.createElement('li');
65      var link = document.createElement('a');
66      link.href = '#';
67      link.textContent = year;
68      link.addEventListener('click', function (event) {
69        event.preventDefault();
70        filterTakeawayLinks(year);
71        highlightActiveTakeawayYear(this);
72      });
73      listItem.appendChild(link);
74      yearsList.appendChild(listItem);
75    });
76
77    if (yearsList != null && yearsList.children.length > 0) {
78      yearsList.lastChild.querySelector('li a').click();
79    }
80
81    function filterTakeawayLinks(year) {
82
83      var linkList = document.querySelectorAll('#takeaway-list li');
84      linkList.forEach(function (link) {
85        var linkYear = link.getAttribute('data-takeaway-year');
86        if (year.toString() === linkYear.toString()) {
87          link.style.display = 'block';
88        } else {
89          link.style.display = 'none';
90        }
91      });
92    }
93
94    function highlightActiveTakeawayYear(selectedLink) {
95      // Alle Links zurücksetzen
96      document.querySelectorAll('#takeaway-years li').forEach(function (item) {
97        item.classList.remove('active');
98      });
99      // Aktuellen Link hervorheben
100      selectedLink.parentNode.classList.add('active');
101    }
102
103    // PressKit
104    years = [];
105    document.querySelectorAll('#press-kit-list li').forEach(function (item) {
106      var year = item.getAttribute('data-press-kit-year');
107      if (years.indexOf(year) === -1) {
108        years.push(year);
109      }
110    });
111    years.sort();
112
113    yearsList = document.getElementById('press-kit-years');
114    years.forEach(function (year) {
115      var listItem = document.createElement('li');
116      var link = document.createElement('a');
117      link.href = '#';
118      link.textContent = year;
119      link.addEventListener('click', function (event) {
120        event.preventDefault();
121        filterPressKitLinks(year);
122        highlightActivePressKitYear(this);
123      });
124      listItem.appendChild(link);
125      yearsList.appendChild(listItem);
126    });
127
128    if (yearsList != null && yearsList.children.length > 0) {
129      yearsList.lastChild.querySelector('li a').click();
130    }
131
132    function filterPressKitLinks(year) {
133
134      var linkList = document.querySelectorAll('#press-kit-list li');
135      linkList.forEach(function (link) {
136        var linkYear = link.getAttribute('data-press-kit-year');
137        if (year.toString() === linkYear.toString()) {
138          link.style.display = 'block';
139        } else {
140          link.style.display = 'none';
141        }
142      });
143    }
144
145    function highlightActivePressKitYear(selectedLink) {
146      // Alle Links zurücksetzen
147      document.querySelectorAll('#press-kit-years li').forEach(function (item) {
148        item.classList.remove('active');
149      });
150      // Aktuellen Link hervorheben
151      selectedLink.parentNode.classList.add('active');
152    }
153
154  },
155);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.