aboutsummaryrefslogtreecommitdiffstats
path: root/web_src/js/modules/fomantic/tab.ts
blob: ceae9dd0988036fa4d1b40c0f0c05af2de95601d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import $ from 'jquery';
import {queryElemSiblings} from '../../utils/dom.ts';

export function initFomanticTab() {
  $.fn.tab = function (this: any) {
    for (const elBtn of this) {
      const tabName = elBtn.getAttribute('data-tab');
      if (!tabName) continue;
      elBtn.addEventListener('click', () => {
        const elTab = document.querySelector(`.ui.tab[data-tab="${tabName}"]`);
        queryElemSiblings(elTab, `.ui.tab`, (el) => el.classList.remove('active'));
        queryElemSiblings(elBtn, `[data-tab]`, (el) => el.classList.remove('active'));
        elBtn.classList.add('active');
        elTab.classList.add('active');
      });
    }
    return this;
  };
}