PageSourceSearch

https://www.gemeinde-kirchberg.de/_assets/f6691f2c8f7fb18adf855cd4…/JavaScript/src/collapse.js?1786446061

js gemeinde-kirchberg.de collected 2026-10-03 00:33:49 UTC 1,120 bytes, 47 lines download raw bytes

1/**
2 * Sollte kein Button übergeben werden, wird ein `.collapse-btn` vorausgesetzt.
3 * Diesem wird der EventListener angehängt.
4 *
5 * @param selector
6 * @param button
7 */
8class communiceCollapse {
9  constructor(selector, button) {
10    this.selector = selector;
11    this.collapseId = selector.dataset.collapseId;
12    this.button = button || selector.querySelector('.collapse-btn');
13    this.init()
14  }
15
16  toggle = () => {
17    const collapse = document.querySelector('#' + this.collapseId);
18    this.button.ariaExpanded = !collapse.classList.contains('open');
19    dkSlideToggle(
20      collapse,
21      400,
22      {
23        classToggleElement: this.selector,
24        classToggle: 'open'
25      }
26    )
27  }
28
29  init = () => {
30    this.button.addEventListener('click', e => {
31      e.preventDefault();
32      this.toggle();
33    })
34
35    this.button.addEventListener('keydown', e => {
36      if (e.key === ' ') {
37        // Prevent space
38        e.preventDefault();
39      } else if (e.key === 'Enter') {
40        // If enter is pressed, activate the button
41        e.preventDefault();
42        this.toggle(e);
43      }
44    })
45  }
46
47}

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.