{"mappings":"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","sources":["","js/newsArchiveMixItUp.ts"],"sourcesContent":["(function () {\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\n var parcelRequire = $parcel$global[\"parcelRequireb86c\"];\nvar parcelRegister = parcelRequire.register;\nparcelRegister(\"9eJ88\", function(module, exports) {\n\n$parcel$export(module.exports, \"newsArchiveMixItUp\", function () { return $dd5cc76f1d61f224$export$3ca3cdeaf3d52d05; });\n// NewsArchive filter + pagination\n// ==========================================\n\nvar $19YmI = parcelRequire(\"19YmI\");\n\nvar $5QrDu = parcelRequire(\"5QrDu\");\n\nvar $eqT6r = parcelRequire(\"eqT6r\");\nconst $dd5cc76f1d61f224$var$newsArchiveEl = document.getElementById(\"NewsArchive\");\nconst $dd5cc76f1d61f224$var$articlesContainerEl = document.getElementById(\"articlesContainer\");\nconst $dd5cc76f1d61f224$var$paginationCurrentPageEl = document.querySelector(\".pagination__current\");\nconst $dd5cc76f1d61f224$var$paginationTotalPagesEl = document.querySelector(\".pagination__total\");\nconst $dd5cc76f1d61f224$var$paginationNextElements = document.querySelectorAll(\".pagination__next\");\nconst $dd5cc76f1d61f224$var$paginationPrevElements = document.querySelectorAll(\".pagination__back\");\nconst $dd5cc76f1d61f224$var$filterButtonElements = document.querySelectorAll(\".filter-dropdown__list-item\");\nconst $dd5cc76f1d61f224$export$3ca3cdeaf3d52d05 = ()=>{\n const createQueryObjectFromString = (str)=>{\n let query = {\n category: \"\",\n year: \"\",\n page: \"\"\n };\n let splitString = str.split(\"&\");\n splitString.forEach((s)=>{\n if (s.includes(\"category\")) query.category = s.split(\"=\")[1];\n if (s.includes(\"year\")) query.year = s.split(\"=\")[1];\n if (s.includes(\"page\")) query.page = s.split(\"=\")[1];\n });\n return query;\n };\n const createSearchString = (query)=>{\n let str = \"\";\n if (document.querySelector('[data-filter-group=\"category\"]')) str += query.category != \"\" ? \"&category=\" + query.category : \"\";\n if (document.querySelector('[data-filter-group=\"year\"]')) str += query.year != \"\" ? \"&year=\" + query.year : \"\";\n // Page below is used for pagination in CompetitionCalendar\n const urlParams = new URLSearchParams(window.location.search);\n const myParam = urlParams.get(\"page\");\n if (myParam != undefined) str += myParam != \"\" ? \"&page=\" + myParam : \"\";\n return str;\n };\n // Update search string when filters are toggled\n const updateSearchString = ()=>{\n let categoryFilter = document.querySelector(\".filter__category\");\n let categoryFilterItem = categoryFilter?.querySelector(\".mixitup-control-active\");\n let yearFilter = document.querySelector(\".filter__year\");\n let yearFilterItem = yearFilter?.querySelector(\".mixitup-control-active\");\n let categoryFilterString = \"\";\n if (categoryFilterItem != undefined && categoryFilterItem.getAttribute(\"data-label-clean\") != null) categoryFilterString += categoryFilterItem.getAttribute(\"data-label-clean\");\n let yearFilterString = \"\";\n if (yearFilterItem != undefined && yearFilterItem.getAttribute(\"data-label-clean\") != null) yearFilterString += yearFilterItem.getAttribute(\"data-label-clean\");\n // PageString is used for pagination in CompetitionCalendar\n let pageString = \"\";\n const urlParams = new URLSearchParams(window.location.search);\n const myParam = urlParams.get(\"page\");\n if (myParam != undefined) pageString = myParam;\n let queryObject = {\n category: categoryFilterString,\n year: yearFilterString,\n page: pageString\n };\n let queryString = createSearchString(queryObject);\n if (queryString.match(/&/)) queryString = queryString.replace(\"&\", \"\");\n window.history.replaceState({}, \"\", \"?\" + queryString);\n };\n // Activate/set selected filters. Called when page loads\n // @param archiveMixer - the instance of mixer\n const activateFilters = (mixer)=>{\n if (window.location.search.length > 1) {\n let locationSearch = window.location.search;\n let initialQuery = createQueryObjectFromString(locationSearch);\n if (mixer != null) {\n // Category\n let categoryQuery = initialQuery.category;\n if (document.querySelector('[data-filter-group=\"category\"]') && categoryQuery != \"\") mixer.setFilterGroupSelectors(\"category\", \".\" + categoryQuery);\n // Year\n let yearQuery = initialQuery.year;\n if (document.querySelector('[data-filter-group=\"year\"]') && yearQuery != \"\") mixer.setFilterGroupSelectors(\"year\", \".year-\" + yearQuery);\n // Parse setFilterGroupSelectors above\n mixer.parseFilterGroups();\n }\n }\n };\n // Function that checks and updates relevant elements in regards to mixitup pagination data\n const updatePaginationElements = (mixer)=>{\n if (mixer != undefined) {\n mixer.paginate(1);\n setTimeout(()=>{\n let currentPage = mixer.getState().activePagination?.page;\n let totalCurrentPages = mixer.getState().totalPages;\n // if there are more pages than one, enable next navigation\n if (totalCurrentPages > 1) {\n Array.from($dd5cc76f1d61f224$var$paginationNextElements).forEach((element)=>{\n element.classList.remove(\"disabled\");\n });\n updatePageCounter(mixer);\n }\n // if current filter is only 1 page, hide pagination\n if (totalCurrentPages == 1) {\n Array.from($dd5cc76f1d61f224$var$paginationPrevElements).forEach((element)=>{\n element.classList.add(\"disabled\");\n });\n Array.from($dd5cc76f1d61f224$var$paginationNextElements).forEach((element)=>{\n element.classList.add(\"disabled\");\n });\n updatePageCounter(mixer);\n }\n // if current page is the first page, disable navigation\n if (currentPage == 1) Array.from($dd5cc76f1d61f224$var$paginationPrevElements).forEach((element)=>{\n element.classList.add(\"disabled\");\n });\n else Array.from($dd5cc76f1d61f224$var$paginationPrevElements).forEach((element)=>{\n element.classList.remove(\"disabled\");\n });\n }, 100);\n }\n };\n // NEXT PAGE FUNCTION\n const nextPageFunction = (mixer)=>{\n mixer.paginate(\"next\").then(function(state) {\n let currentPage = mixer.getState().activePagination.page;\n let totalPages = mixer.getState().totalPages;\n if (currentPage == totalPages) Array.from($dd5cc76f1d61f224$var$paginationNextElements).forEach((element)=>{\n element.classList.add(\"disabled\");\n });\n Array.from($dd5cc76f1d61f224$var$paginationPrevElements).forEach((element)=>{\n if (element.classList.contains(\"disabled\")) element.classList.remove(\"disabled\");\n });\n });\n updatePageCounter(mixer);\n };\n // PREVIOUS PAGE FUNCTION\n const prevPageFunction = (mixer)=>{\n mixer.paginate(\"prev\").then(function(state) {\n let currentPage = mixer.getState().activePagination.page;\n let totalPages = mixer.getState().totalPages;\n if (currentPage == 1) Array.from($dd5cc76f1d61f224$var$paginationPrevElements).forEach((element)=>{\n element.classList.add(\"disabled\");\n });\n Array.from($dd5cc76f1d61f224$var$paginationNextElements).forEach((element)=>{\n if (element.classList.contains(\"disabled\")) element.classList.remove(\"disabled\");\n });\n });\n updatePageCounter(mixer);\n };\n // Function to call onMixEnd\n const mixEndFunction = (state)=>{\n updateSearchString();\n };\n if ($dd5cc76f1d61f224$var$articlesContainerEl != undefined) {\n (0, (/*@__PURE__*/$parcel$interopDefault($19YmI))).use((0, (/*@__PURE__*/$parcel$interopDefault($5QrDu))));\n (0, (/*@__PURE__*/$parcel$interopDefault($19YmI))).use((0, (/*@__PURE__*/$parcel$interopDefault($eqT6r))));\n // If desktop show 7 pagers, else only 5\n let pagers = screen.width > 500 ? 7 : 5;\n var archiveMixer = (0, (/*@__PURE__*/$parcel$interopDefault($19YmI)))($dd5cc76f1d61f224$var$articlesContainerEl, {\n multifilter: {\n enable: true\n },\n pagination: {\n limit: 6,\n maxPagers: pagers\n },\n animation: {\n enable: false\n },\n callbacks: {\n onMixEnd: mixEndFunction\n },\n templates: {\n pagerPrev: '',\n pagerNext: ''\n }\n });\n // PREVIOUS PAGE EVENT LISTENTER\n if ($dd5cc76f1d61f224$var$newsArchiveEl != undefined && $dd5cc76f1d61f224$var$paginationPrevElements != undefined && $dd5cc76f1d61f224$var$paginationNextElements != undefined) Array.from($dd5cc76f1d61f224$var$paginationPrevElements).forEach((element)=>{\n element.addEventListener(\"click\", ()=>{\n prevPageFunction(archiveMixer);\n });\n });\n // NEXT PAGE EVENT LISTENTER\n if ($dd5cc76f1d61f224$var$newsArchiveEl != undefined && $dd5cc76f1d61f224$var$paginationNextElements != undefined && $dd5cc76f1d61f224$var$paginationPrevElements != undefined) Array.from($dd5cc76f1d61f224$var$paginationNextElements).forEach((element)=>{\n element.addEventListener(\"click\", ()=>{\n nextPageFunction(archiveMixer);\n });\n });\n // Set filters on load\n activateFilters(archiveMixer);\n updatePaginationElements(archiveMixer);\n }\n // Function that updates page counter\n const updatePageCounter = (mixer)=>{\n if ($dd5cc76f1d61f224$var$paginationCurrentPageEl != undefined && $dd5cc76f1d61f224$var$paginationTotalPagesEl != undefined) {\n let currentPage = mixer.getState().activePagination.page;\n let totalCurrentPages = mixer.getState().totalPages;\n $dd5cc76f1d61f224$var$paginationCurrentPageEl.innerHTML = currentPage;\n $dd5cc76f1d61f224$var$paginationTotalPagesEl.innerHTML = totalCurrentPages;\n }\n };\n // Check pagination status on filter change\n if ($dd5cc76f1d61f224$var$filterButtonElements != undefined) Array.from($dd5cc76f1d61f224$var$filterButtonElements).forEach((element)=>{\n element.addEventListener(\"click\", ()=>{\n updatePaginationElements(archiveMixer);\n });\n });\n};\n\n});\n\n})();\n//# sourceMappingURL=newsArchiveMixItUp.bb706f33.js.map\n","// NewsArchive filter + pagination\r\n// ==========================================\r\nimport mixitup from 'mixitup';\r\nimport mixitupPagination from '../js/mixitup-pagination.min.js';\r\nimport mixitupMultiFilter from '../js/mixitup-multifilter.min.js';\r\n\r\nconst newsArchiveEl = document.getElementById('NewsArchive');\r\nconst articlesContainerEl = document.getElementById('articlesContainer');\r\nconst paginationCurrentPageEl = document.querySelector(\r\n '.pagination__current'\r\n) as HTMLElement;\r\nconst paginationTotalPagesEl = document.querySelector(\r\n '.pagination__total'\r\n) as HTMLElement;\r\nconst paginationNextElements = document.querySelectorAll('.pagination__next');\r\nconst paginationPrevElements = document.querySelectorAll('.pagination__back');\r\nconst filterButtonElements = document.querySelectorAll(\r\n '.filter-dropdown__list-item'\r\n);\r\n\r\nexport const newsArchiveMixItUp = () => {\r\n // Interface for object to store active filter data\r\n interface QueryStringObject {\r\n category?: string;\r\n year?: string;\r\n page?: string;\r\n }\r\n \r\n const createQueryObjectFromString = (str: string): QueryStringObject => {\r\n let query: QueryStringObject = {\r\n category: '',\r\n year: '',\r\n page: '',\r\n };\r\n\r\n let splitString = str.split('&');\r\n\r\n splitString.forEach((s) => {\r\n if (s.includes('category')) query.category = s.split('=')[1];\r\n if (s.includes('year')) query.year = s.split('=')[1];\r\n if (s.includes('page')) query.page = s.split('=')[1];\r\n });\r\n\r\n return query;\r\n };\r\n\r\n const createSearchString = (query: QueryStringObject): string => {\r\n let str = '';\r\n\r\n if (document.querySelector('[data-filter-group=\"category\"]'))\r\n str += query.category != '' ? '&category=' + query.category : '';\r\n if (document.querySelector('[data-filter-group=\"year\"]'))\r\n str += query.year != '' ? '&year=' + query.year : '';\r\n\r\n // Page below is used for pagination in CompetitionCalendar\r\n const urlParams = new URLSearchParams(window.location.search);\r\n const myParam = urlParams.get('page');\r\n if (myParam != undefined) str += myParam != '' ? '&page=' + myParam : '';\r\n\r\n return str;\r\n };\r\n\r\n // Update search string when filters are toggled\r\n const updateSearchString = () => {\r\n let categoryFilter = document.querySelector('.filter__category');\r\n let categoryFilterItem = categoryFilter?.querySelector(\r\n '.mixitup-control-active'\r\n );\r\n let yearFilter = document.querySelector('.filter__year');\r\n let yearFilterItem = yearFilter?.querySelector('.mixitup-control-active');\r\n\r\n let categoryFilterString = '';\r\n if (\r\n categoryFilterItem != undefined &&\r\n categoryFilterItem.getAttribute('data-label-clean') != null\r\n ) {\r\n categoryFilterString += categoryFilterItem.getAttribute('data-label-clean');\r\n }\r\n let yearFilterString = '';\r\n if (\r\n yearFilterItem != undefined &&\r\n yearFilterItem.getAttribute('data-label-clean') != null\r\n ) {\r\n yearFilterString += yearFilterItem.getAttribute('data-label-clean');\r\n }\r\n\r\n // PageString is used for pagination in CompetitionCalendar\r\n let pageString = '';\r\n const urlParams = new URLSearchParams(window.location.search);\r\n const myParam = urlParams.get('page');\r\n if (myParam != undefined) {\r\n pageString = myParam;\r\n }\r\n\r\n let queryObject: QueryStringObject = {\r\n category: categoryFilterString,\r\n year: yearFilterString,\r\n page: pageString,\r\n };\r\n\r\n let queryString = createSearchString(queryObject);\r\n\r\n if (queryString.match(/&/)) queryString = queryString.replace('&', '');\r\n\r\n window.history.replaceState({}, '', '?' + queryString);\r\n };\r\n\r\n // Activate/set selected filters. Called when page loads\r\n // @param archiveMixer - the instance of mixer\r\n const activateFilters = (mixer: any) => {\r\n if (window.location.search.length > 1) {\r\n let locationSearch = window.location.search;\r\n\r\n let initialQuery: QueryStringObject =\r\n createQueryObjectFromString(locationSearch);\r\n\r\n if (mixer != null) {\r\n // Category\r\n let categoryQuery = initialQuery.category;\r\n if (\r\n document.querySelector('[data-filter-group=\"category\"]') &&\r\n categoryQuery != ''\r\n )\r\n mixer.setFilterGroupSelectors('category', '.' + categoryQuery);\r\n\r\n // Year\r\n let yearQuery = initialQuery.year;\r\n if (\r\n document.querySelector('[data-filter-group=\"year\"]') &&\r\n yearQuery != ''\r\n )\r\n mixer.setFilterGroupSelectors('year', '.year-' + yearQuery);\r\n\r\n // Parse setFilterGroupSelectors above\r\n mixer.parseFilterGroups();\r\n }\r\n }\r\n };\r\n\r\n // Function that checks and updates relevant elements in regards to mixitup pagination data\r\n const updatePaginationElements = (mixer: any) => {\r\n if (mixer != undefined) {\r\n mixer.paginate(1);\r\n setTimeout(() => {\r\n let currentPage = mixer.getState().activePagination?.page;\r\n let totalCurrentPages = mixer.getState().totalPages;\r\n\r\n // if there are more pages than one, enable next navigation\r\n if (totalCurrentPages > 1) {\r\n Array.from(paginationNextElements).forEach((element) => {\r\n element.classList.remove('disabled');\r\n });\r\n updatePageCounter(mixer);\r\n }\r\n\r\n // if current filter is only 1 page, hide pagination\r\n if (totalCurrentPages == 1) {\r\n Array.from(paginationPrevElements).forEach((element) => {\r\n element.classList.add('disabled');\r\n });\r\n Array.from(paginationNextElements).forEach((element) => {\r\n element.classList.add('disabled');\r\n });\r\n updatePageCounter(mixer);\r\n }\r\n\r\n // if current page is the first page, disable navigation\r\n if (currentPage == 1) {\r\n Array.from(paginationPrevElements).forEach((element) => {\r\n element.classList.add('disabled');\r\n });\r\n } else {\r\n Array.from(paginationPrevElements).forEach((element) => {\r\n element.classList.remove('disabled');\r\n });\r\n }\r\n }, 100);\r\n }\r\n };\r\n\r\n // NEXT PAGE FUNCTION\r\n const nextPageFunction = (mixer: any) => {\r\n mixer.paginate('next').then(function (state) {\r\n let currentPage = mixer.getState().activePagination.page;\r\n let totalPages = mixer.getState().totalPages;\r\n\r\n if (currentPage == totalPages) {\r\n Array.from(paginationNextElements).forEach((element) => {\r\n element.classList.add('disabled');\r\n });\r\n }\r\n Array.from(paginationPrevElements).forEach((element) => {\r\n if (element.classList.contains('disabled')) {\r\n element.classList.remove('disabled');\r\n }\r\n });\r\n });\r\n updatePageCounter(mixer);\r\n };\r\n\r\n // PREVIOUS PAGE FUNCTION\r\n const prevPageFunction = (mixer: any) => {\r\n mixer.paginate('prev').then(function (state) {\r\n let currentPage = mixer.getState().activePagination.page;\r\n let totalPages = mixer.getState().totalPages;\r\n\r\n if (currentPage == 1) {\r\n Array.from(paginationPrevElements).forEach((element) => {\r\n element.classList.add('disabled');\r\n });\r\n }\r\n\r\n Array.from(paginationNextElements).forEach((element) => {\r\n if (element.classList.contains('disabled')) {\r\n element.classList.remove('disabled');\r\n }\r\n });\r\n });\r\n updatePageCounter(mixer);\r\n };\r\n\r\n // Function to call onMixEnd\r\n const mixEndFunction = (state) => {\r\n updateSearchString();\r\n };\r\n\r\n if (articlesContainerEl != undefined) {\r\n mixitup.use(mixitupPagination);\r\n mixitup.use(mixitupMultiFilter);\r\n\r\n // If desktop show 7 pagers, else only 5\r\n let pagers = screen.width > 500 ? 7 : 5;\r\n\r\n var archiveMixer = mixitup(articlesContainerEl, {\r\n multifilter: {\r\n enable: true,\r\n },\r\n pagination: {\r\n limit: 6,\r\n maxPagers: pagers,\r\n },\r\n animation: {\r\n enable: false,\r\n },\r\n callbacks: {\r\n onMixEnd: mixEndFunction,\r\n },\r\n templates: {\r\n pagerPrev:\r\n '',\r\n pagerNext:\r\n '',\r\n },\r\n });\r\n\r\n // PREVIOUS PAGE EVENT LISTENTER\r\n if (\r\n newsArchiveEl != undefined &&\r\n paginationPrevElements != undefined &&\r\n paginationNextElements != undefined\r\n ) {\r\n Array.from(paginationPrevElements).forEach((element) => {\r\n element.addEventListener('click', () => {\r\n prevPageFunction(archiveMixer);\r\n });\r\n });\r\n }\r\n\r\n // NEXT PAGE EVENT LISTENTER\r\n if (\r\n newsArchiveEl != undefined &&\r\n paginationNextElements != undefined &&\r\n paginationPrevElements != undefined\r\n ) {\r\n Array.from(paginationNextElements).forEach((element) => {\r\n element.addEventListener('click', () => {\r\n nextPageFunction(archiveMixer);\r\n });\r\n });\r\n }\r\n\r\n // Set filters on load\r\n activateFilters(archiveMixer);\r\n updatePaginationElements(archiveMixer);\r\n }\r\n\r\n // Function that updates page counter\r\n const updatePageCounter = (mixer: any) => {\r\n if (\r\n paginationCurrentPageEl != undefined &&\r\n paginationTotalPagesEl != undefined\r\n ) {\r\n let currentPage = mixer.getState().activePagination.page;\r\n let totalCurrentPages = mixer.getState().totalPages;\r\n paginationCurrentPageEl.innerHTML = currentPage;\r\n paginationTotalPagesEl.innerHTML = totalCurrentPages;\r\n }\r\n };\r\n\r\n // Check pagination status on filter change\r\n if (filterButtonElements != undefined) {\r\n Array.from(filterButtonElements).forEach((element) => {\r\n element.addEventListener('click', () => {\r\n updatePaginationElements(archiveMixer);\r\n });\r\n });\r\n }\r\n}\r\n\r\n"],"names":["$parcel$interopDefault","a","__esModule","default","parcelRequire","$parcel$global","globalThis","self","window","global","parcelRegister","register","module","exports","Object","defineProperty","get","$dd5cc76f1d61f224$export$3ca3cdeaf3d52d05","set","s","enumerable","configurable","$19YmI","$5QrDu","$eqT6r","$dd5cc76f1d61f224$var$newsArchiveEl","document","getElementById","$dd5cc76f1d61f224$var$articlesContainerEl","$dd5cc76f1d61f224$var$paginationCurrentPageEl","querySelector","$dd5cc76f1d61f224$var$paginationTotalPagesEl","$dd5cc76f1d61f224$var$paginationNextElements","querySelectorAll","$dd5cc76f1d61f224$var$paginationPrevElements","$dd5cc76f1d61f224$var$filterButtonElements","createQueryObjectFromString","str","query","category","year","page","splitString","split","forEach","includes","createSearchString","urlParams","URLSearchParams","location","search","myParam","undefined","updateSearchString","categoryFilter","categoryFilterItem","yearFilter","yearFilterItem","categoryFilterString","getAttribute","yearFilterString","pageString","queryString","match","replace","history","replaceState","updatePaginationElements","mixer","paginate","setTimeout","currentPage","getState","activePagination","totalCurrentPages","totalPages","Array","from","element","classList","remove","updatePageCounter","add","nextPageFunction","then","state","contains","prevPageFunction","use","pagers","screen","width","archiveMixer","multifilter","enable","pagination","limit","maxPagers","animation","callbacks","onMixEnd","templates","pagerPrev","pagerNext","addEventListener","length","initialQuery","categoryQuery","setFilterGroupSelectors","yearQuery","parseFilterGroups","innerHTML"],"version":3,"file":"newsArchiveMixItUp.bb706f33.js.map"}