{"version":3,"sources":["webpack:///./cartridges/app_designholding/cartridge/client/default/js/components/pagination/pagination.js","webpack:///./cartridges/app_designholding/cartridge/client/default/js/components/pagination/index.js"],"names":["JS_HOOK_PAGINATION_BUTTON","Pagination","constructor","element","paginationButtons","querySelectorAll","bindEvents","getPageData","event","preventDefault","button","currentTarget","url","href","refinementsUpdate","updateHistory","Events","$trigger","data","state","scrollTop","forEach","addEventListener","window","document","documentElement","location","reload"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAEA,IAAMA,yBAAyB,GAAG,6BAAlC;;AAEA,MAAMC,qBAAN,CAAiB;AACfC,aAAW,CAACC,OAAD,EAAU;AACnB,SAAKA,OAAL,GAAeA,OAAf;AACA,SAAKC,iBAAL,GAAyB,CAAC,GAAG,KAAKD,OAAL,CAAaE,gBAAb,CAA8BL,yBAA9B,CAAJ,CAAzB;AAEA,SAAKM,UAAL;AACD;AAED;AACF;AACA;AACA;;;AACoB,SAAXC,WAAW,CAACC,KAAD,EAAQ;AACxBA,SAAK,CAACC,cAAN;AAEA,QAAMC,MAAM,GAAGF,KAAK,CAACG,aAArB;AAEA,QAAMC,GAAG,GAAGF,MAAM,CAACG,IAAnB;AAEA,QAAI,CAACD,GAAL,EAAU;AAEVX,yBAAU,CAACa,iBAAX,CAA6BF,GAA7B;AACAX,yBAAU,CAACc,aAAX,CAAyBH,GAAzB;AACD;AAGD;AACF;AACA;AACA;;;AACsB,SAAbG,aAAa,CAACH,GAAD,EAAM;AACxBI,qBAAM,CAACC,QAAP,CAAgB,eAAhB,EAAiC;AAC/BC,UAAI,EAAE;AAAEN,WAAF;AAAOO,aAAK,EAAE;AAAEP;AAAF;AAAd;AADyB,KAAjC;AAGD;AAGD;AACF;AACA;AACA;;;AAC0B,SAAjBE,iBAAiB,CAACF,GAAD,EAAM;AAC5BI,qBAAM,CAACC,QAAP,CAAgB,6BAAhB,EAA+C;AAC7CC,UAAI,EAAE;AACJN,WADI;AAEJO,aAAK,EAAE;AACLP,aADK;AAELQ,mBAAS,EAAE;AAFN;AAFH;AADuC,KAA/C;AASD;;AAEDd,YAAU,GAAG;AACX,QAAI,KAAKF,iBAAT,EAA4B;AAC1B,WAAKA,iBAAL,CAAuBiB,OAAvB,CAAgCX,MAAD,IAC7BA,MAAM,CAACY,gBAAP,CAAwB,OAAxB,EAAkCd,KAAD,IAAWP,qBAAU,CAACM,WAAX,CAAuBC,KAAvB,CAA5C,CADF;AAGD;;AAEDe,UAAM,CAACD,gBAAP,CAAwB,UAAxB,EAAoC,MAAM;AACxCE,cAAQ,CAACC,eAAT,CAAyBL,SAAzB,GAAqC,CAArC;AACAG,YAAM,CAACG,QAAP,CAAgBC,MAAhB;AACD,KAHD;AAID;;AAhEc;;AAmEF1B,oEAAf,E;;ACvEA;AAEeA,qGAAf,E","file":"js/Pagination.js","sourcesContent":["import Events from '@utilities/events';\n\nconst JS_HOOK_PAGINATION_BUTTON = '[js-hook-pagination-button]';\n\nclass Pagination {\n constructor(element) {\n this.element = element;\n this.paginationButtons = [...this.element.querySelectorAll(JS_HOOK_PAGINATION_BUTTON)];\n\n this.bindEvents();\n }\n\n /**\n * Getting new grid html through Ajax call\n * @param event\n */\n static getPageData(event) {\n event.preventDefault();\n\n const button = event.currentTarget;\n\n const url = button.href;\n\n if (!url) return;\n\n Pagination.refinementsUpdate(url);\n Pagination.updateHistory(url);\n }\n\n\n /**\n * Replacing current history to the current visible grid\n * @param {url} url\n */\n static updateHistory(url) {\n Events.$trigger('history::push', {\n data: { url, state: { url } },\n });\n }\n\n\n /**\n * Replacing current history to the current visible grid\n * @param {url} url\n */\n static refinementsUpdate(url) {\n Events.$trigger('history::refinements-update', {\n data: {\n url,\n state: {\n url,\n scrollTop: true,\n }\n },\n })\n }\n\n bindEvents() {\n if (this.paginationButtons) {\n this.paginationButtons.forEach((button) =>\n button.addEventListener('click', (event) => Pagination.getPageData(event)),\n )\n }\n\n window.addEventListener('popstate', () => {\n document.documentElement.scrollTop = 0;\n window.location.reload();\n });\n }\n}\n\nexport default Pagination;\n","import Pagination from './pagination';\n\nexport default Pagination;\n"],"sourceRoot":""}