summaryrefslogtreecommitdiff
path: root/static/js/toggleable.ts
blob: 6f7e43b44558329ce38d7a6945c02951b6df7ed1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
document
  .querySelectorAll('.toggleable > .toggle-trigger')
  .forEach((trigger) => {
    const toggleable = trigger.parentElement;
    const content = toggleable?.querySelector('.toggle-content');
    if (!toggleable || !content)
      return console.warn(
        'trigger',
        trigger,
        'resulted in error:',
        new Error(
          'could not resolve one of: toggleable parent, toggleable content',
        ),
      );

    trigger.addEventListener('click', () => {
      content.classList.toggle('hidden');
    });
    content.classList.add('hidden');
  });