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