{"version":3,"file":"ZepterWorld_Tabs.min.js","names":["Zepter_V2_ZepterWorld_Tabs","constructor","this","container","document","getElementById","firstRun","disabled","bpMobile","tabsCount","currentTabIndex","autoOpen","isFirstTab","isLastTab","TabsController","elTabsList","getElementsByClassName","length","window","addEventListener","GoToTab","querySelectorAll","forEach","elTab","tabIndex","linkElements","link","onclick","url","getAttribute","fetchAndRenderDetail","console","error","nodeType","ArrowsController","_a","_b","_c","_d","_e","elTabsWrapper","style","left","offsetWidth","classList","add","remove","hrefUrl","item","arrowPrev","arrowNext","Disable","pointerEvents","Enable","selectedTabLinkClassName","$","removeClass","ajax","success","data","html","addClass","history","pushState"],"sources":["V2/ZepterWorld_Tabs.js"],"mappings":"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","ignoreList":[],"sourcesContent":["class Zepter_V2_ZepterWorld_Tabs {\n constructor() {\n this.container = document.getElementById(\"V2_ZepterWorld_Tabs_Container\");\n this.firstRun = true;\n this.disabled = false;\n this.bpMobile = 992; // (md)\n this.tabsCount = 0;\n this.currentTabIndex = 0;\n this.autoOpen = true;\n this.isFirstTab = true;\n this.isLastTab = false;\n // Jeśli brakuje kontenera\n if (!this.container) {\n // Przerwij działanie tej klasy\n return;\n }\n // Obsługa ikonki koszyka\n this.TabsController();\n // Usuń przebieg prierwszego wywołania klasy\n this.firstRun = false;\n }\n TabsController() {\n // Ustal element zawierający taby\n const elTabsList = document.getElementById(\"V2_ZepterWorld_Tabs_List\");\n // Jesli element z tabami istnieje\n if (elTabsList) {\n // Ustal ilość tabów\n this.tabsCount = elTabsList.getElementsByClassName(\"V2_ZepterWorld_Tabs_Tab_Wrapper\").length;\n // Zawsze ustaw ponownie pasek zakładek po zmianie rozmiaru okienka\n window.addEventListener(\"resize\", () => { this.GoToTab(this.currentTabIndex); });\n // Przetwarzaj taby\n elTabsList.querySelectorAll(\"li\").forEach((elTab, tabIndex) => {\n const linkElements = elTab.getElementsByClassName(\"V2_ZepterWorld_Tabs_Tab_Link\");\n if (!linkElements || linkElements.length !== 1) {\n console.error(`Expected one link. Found: ${linkElements.length}`);\n }\n else {\n const link = linkElements[0];\n link.onclick = () => {\n // get href from attribute value, not from link.href as they are different. \n // Wwe use this value later on as $ selector.\n const url = link.getAttribute(\"href\");\n this.fetchAndRenderDetail(url);\n return false;\n };\n }\n if (elTab.nodeType === 1) {\n // Jeśli ten tab jest aktualnie wybrany\n if (elTab.getElementsByClassName(\"V2_ZepterWorld_Tabs_Tab_Link_Selected\").length === 1) {\n // Przesuń slider do tego taba\n this.GoToTab(tabIndex);\n }\n }\n });\n // Uruchom działanie strzałek zmieniających taby\n this.ArrowsController();\n }\n }\n GoToTab(tabIndex) {\n // Debug\n //console.log(`Go to tab ${tabIndex} of ${this.tabsCount}`)\n var _a, _b, _c, _d, _e;\n // Ustal element z wrapperem zawierający taby\n const elTabsWrapper = document.getElementById(\"V2_ZepterWorld_Tabs_Wrapper\");\n const elTabsList = document.getElementById(\"V2_ZepterWorld_Tabs_List\");\n // Jeśli element zawierający taby istnieje\n if (elTabsWrapper && elTabsList) {\n // Nie pozwalaj na zmianę zakładki jeśli osiągnięta pierwszą/ostatnią zakładkę\n if (tabIndex < 0 || tabIndex >= this.tabsCount) {\n return;\n }\n // Zaktualizuj indeks wybranej zakładki\n this.currentTabIndex = tabIndex;\n // Ustaw pozycję zakładek we wrapperze (scrolluj do wybranej)\n elTabsList.style.left = `-${elTabsWrapper.offsetWidth * tabIndex}px`;\n // Ustal czy to jest pierwsza zakładka\n this.isFirstTab = tabIndex == 0 ? true : false;\n this.isLastTab = tabIndex == this.tabsCount - 1 ? true : false;\n // Zablokuj/odblokuj strzałkę [prev]\n if (this.isFirstTab) {\n (_a = document.getElementById(\"V2_ZepterWorld_Tabs_Arrow_Prev_Wrapper\")) === null || _a === void 0 ? void 0 : _a.classList.add(\"V2_ZepterWorld_Tabs_Arrow_Prev_Wrapper_Disabled\");\n }\n else {\n (_b = document.getElementById(\"V2_ZepterWorld_Tabs_Arrow_Prev_Wrapper\")) === null || _b === void 0 ? void 0 : _b.classList.remove(\"V2_ZepterWorld_Tabs_Arrow_Prev_Wrapper_Disabled\");\n }\n // Zablokuj/odblokuj strzałkę [next]\n if (this.isLastTab) {\n (_c = document.getElementById(\"V2_ZepterWorld_Tabs_Arrow_Next_Wrapper\")) === null || _c === void 0 ? void 0 : _c.classList.add(\"V2_ZepterWorld_Tabs_Arrow_Next_Wrapper_Disabled\");\n }\n else {\n (_d = document.getElementById(\"V2_ZepterWorld_Tabs_Arrow_Next_Wrapper\")) === null || _d === void 0 ? void 0 : _d.classList.remove(\"V2_ZepterWorld_Tabs_Arrow_Next_Wrapper_Disabled\");\n }\n // Jeśli aktywna jest funkcja autoOpen\n if (this.autoOpen && !this.firstRun) {\n const link = (_e = elTabsList.getElementsByClassName(\"V2_ZepterWorld_Tabs_Tab_Link\")) === null || _e === void 0 ? void 0 : _e.item(tabIndex);\n const hrefUrl = link.getAttribute(\"href\");\n // Jeśli link istnieje\n if (typeof hrefUrl == 'string' && hrefUrl.length > 0) {\n // Przejdź do adresu do któego kieruje wybrana zakładka\n this.fetchAndRenderDetail(hrefUrl);\n }\n }\n }\n }\n ArrowsController() {\n // Ustal obiekty ze strzałkami\n const arrowPrev = document.getElementById(\"V2_ZepterWorld_Tabs_Arrow_Prev_Wrapper\");\n const arrowNext = document.getElementById(\"V2_ZepterWorld_Tabs_Arrow_Next_Wrapper\");\n // Ustaw akcję dla strzałki [previous]\n arrowPrev === null || arrowPrev === void 0 ? void 0 : arrowPrev.addEventListener(\"click\", () => {\n this.GoToTab(this.currentTabIndex - 1);\n });\n // Ustaw akcję dla strzałki [next]\n arrowNext === null || arrowNext === void 0 ? void 0 : arrowNext.addEventListener(\"click\", () => {\n this.GoToTab(this.currentTabIndex + 1);\n });\n }\n Disable() {\n // Zablokuj działanie paska z zakładkami\n this.disabled = true;\n this.container.style.pointerEvents = \"none\";\n }\n Enable() {\n // Odblokuj działanie paska z zakładkami\n this.disabled = true;\n this.container.style.pointerEvents = \"\";\n }\n fetchAndRenderDetail(url) {\n const selectedTabLinkClassName = \"V2_ZepterWorld_Tabs_Tab_Link_Selected\";\n $(`a.${selectedTabLinkClassName}`).removeClass(selectedTabLinkClassName);\n $.ajax({\n url: `${url}?partial=true`,\n success: function (data) {\n $('div[data-V2_ZepterWorld_Tabs_Detail]').html(data);\n $(`a[href=\"${url}\"]`).addClass(selectedTabLinkClassName);\n history.pushState(\"\", \"\", url);\n }\n });\n }\n}\nnew Zepter_V2_ZepterWorld_Tabs();\n//# sourceMappingURL=ZepterWorld_Tabs.js.map"]}