UNPKG

1.84 kBJavaScriptView Raw
1(function (global, factory) {
2 typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
3 typeof define === 'function' && define.amd ? define(['exports'], factory) :
4 (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.htwoo = global.htwoo || {}, global.htwoo.pivot = {})));
5}(this, (function (exports) { 'use strict';
6
7 const elemPivotBar = '.hoo-pivotbar';
8 const elemPivotButton = '.hoo-button-pivot';
9 const dropDownPivotButton = '.hoo-navitem-text';
10 const stateIsActive = 'is-active';
11
12 const changePivot = (event) => {
13 event.preventDefault();
14
15 console.log(event.target);
16
17 let currentButton = event.target.classList.contains(elemPivotButton.substr(1)) ? event.target : event.target.closest(elemPivotButton);
18 if (!currentButton) {
19 currentButton = event.target.classList.contains(dropDownPivotButton.substr(1)) ? event.target : event.target.closest(dropDownPivotButton);
20 }
21
22 const currentPivotBar = event.target.closest(elemPivotBar);
23
24 const allButtons = currentPivotBar.querySelectorAll(elemPivotButton);
25
26 allButtons.forEach(item => {
27 item.classList.remove(stateIsActive);
28 });
29
30 currentButton.classList.add(stateIsActive);
31
32 };
33
34
35 const initPivot = () => {
36
37 // register event on regular buttons
38 const pivotBarsButtons = document.querySelectorAll(`${elemPivotBar} ${elemPivotButton}`);
39 pivotBarsButtons.forEach(pivotBarsButton => {
40 pivotBarsButton.dataset.ref = pivotBarsButton.textContent.trim();
41 pivotBarsButton.addEventListener('click', changePivot);
42 });
43
44 };
45
46 exports.initPivot = initPivot;
47
48 Object.defineProperty(exports, '__esModule', { value: true });
49
50})));