{"version":3,"sources":["webpack:///./modules/LoadMoreArticle.ts","webpack:///./AjaxLoader.ts"],"names":["__webpack_require__","r","__webpack_exports__","_AjaxLoader__WEBPACK_IMPORTED_MODULE_0__","_helpers_DOMHelpers__WEBPACK_IMPORTED_MODULE_1__","LoadMoreArticle","element","_this","this","dataContainer","document","querySelector","loadMoreButton","articleFilterContent","closest","articleHiglighterTeasers","dataUrl","getAttribute","ajaxLoader","onSuccess","bind","addEventListener","e","preventDefault","loadMore","history","pushState","window","classList","add","requestUrl","setup","selector","Array","from","querySelectorAll","filter","node","dataset","moduleInitialized","forEach","prototype","responseText","data","Object","children","appendChild","remove","Eucerin","initModules","dispatchEvent","CustomEvent","AjaxLoader","callbackSuccess","callBackFailed","callbackFailed","url","targetIndentity","xhttp","XMLHttpRequest","onreadystatechange","readyState","status","onFailed","console","warn","open","send"],"mappings":"2FAAAA,EAAAC,EAAAC,GAAA,IAAAC,EAAAH,EAAA,KAAAI,EAAAJ,EAAA,GAIAK,EAAA,WAcI,SAAAA,EAAmBC,GAAnB,IAAAC,EAAAC,KAAmBA,KAAAF,UACfE,KAAKC,cAAgBC,SAASC,cAAc,yBAC5CH,KAAKI,eAAiBJ,KAAKF,QAAQK,cAAc,cACjDH,KAAKK,qBAAuBL,KAAKF,QAAQQ,QAAQ,2BAC7CN,KAAKO,yBAA2BP,KAAKK,sBAAwBL,KAAKK,qBAAqBF,cAAc,gCAEzGH,KAAKQ,QAAUR,KAAKI,eAAeK,aAAa,YAChDT,KAAKU,WAAa,IAAIf,EAAA,EAAWK,KAAKW,UAAUC,KAAKZ,OAErDA,KAAKI,eAAeS,iBAAiB,QAAS,SAACC,GAC3CA,EAAEC,iBACF,IAAMC,EAAWjB,EAAKK,eAAeK,aAAa,QAE9CQ,QAAQC,WACRC,OAAOF,QAAQC,UAAU,KAAM,KAAMF,GAGzCjB,EAAKQ,yBAAyBa,UAAUC,IAAI,UAC5CtB,EAAKW,WAAWY,WAAWvB,EAAKS,WAiB5C,OA1CWX,EAAA0B,MAAP,SAAaC,QAAA,IAAAA,MAXM,mCAYfC,MAAMC,KAAKxB,SAASyB,iBAAiBH,IAAWI,OAAO,SAACC,GAAsB,OAACA,EAAKC,QAAQC,oBAAmBC,QAAQ,SAAClC,GACpH,IAAID,EAAgBC,GACpBA,EAAQgC,QAAQC,kBAAoB,UA0B5ClC,EAAAoC,UAAAtB,UAAA,SAAUuB,GAAV,IAAAnC,EAAAC,KACQmC,EAAiCC,OAAAxC,EAAA,EAAAwC,CAAwB,QAAUF,EAAe,UAEtFT,MAAMC,KAAKS,EAAKE,UAAUL,QAAQ,SAAClC,GAC/BC,EAAKE,cAAcqC,YAAYxC,KAGnCE,KAAKO,0BAA4BP,KAAKO,yBAAyBa,UAAUmB,OAAO,UAEhFvC,KAAKF,QAAQyC,SACbpB,OAAOqB,QAAQC,cACfvC,SAASwC,cAAc,IAAIC,YAAY,sBAE/C9C,EAjDA,eAmDA,IAAIA,EAAgB0B,wCCrDpB,IAAAqB,EAAA,WAKI,SAAAA,EAAYC,EAAiBC,GACzB9C,KAAK6C,gBAAkBA,EACvB7C,KAAK+C,eAAiBD,EAoC9B,OAjCIF,EAAAX,UAAAX,WAAA,SAAW0B,EAAKC,GAAhB,IAAAlD,EAAAC,KACQkD,EAAQ,IAAIC,eAEhBD,EAAME,mBAAqB,WACE,IAArBF,EAAMG,aACe,MAAjBH,EAAMI,OACNvD,EAAKY,UAAUuC,EAAOD,GAEA,MAAjBC,EAAMI,QAAmC,MAAjBJ,EAAMI,QAAmC,MAAjBJ,EAAMI,SACtB,mBAAzBvD,EAAmB,eAC3BA,EAAKwD,SAASL,EAAOD,GAErBO,QAAQC,KAAK,qBAAqBP,EAAMI,WAMxDJ,EAAMQ,KAAK,MAAOV,GAClBE,EAAMS,QAGVf,EAAAX,UAAAtB,UAAA,SAAUuC,EAAOD,GACyB,mBAA1BjD,KAAoB,iBAC5BA,KAAK6C,gBAAgBK,EAAMhB,aAAce,IAIjDL,EAAAX,UAAAsB,SAAA,SAASL,EAAOD,GACyB,mBAAzBjD,KAAmB,gBAC3BA,KAAK+C,eAAeG,EAAOD,IAGvCL,EA3CA","file":"./modules/LoadMoreArticle.3086d600.js","sourcesContent":["const moduleSelector = '[data-module=\"LoadMoreArticle\"]';\r\nimport AjaxLoader from '../AjaxLoader';\r\nimport { createElementFromString } from '../helpers/DOMHelpers';\r\n\r\nexport default class LoadMoreArticle {\r\n ajaxLoader: AjaxLoader;\r\n loadMoreButton: HTMLElement;\r\n dataUrl;\r\n dataContainer: HTMLElement;\r\n articleFilterContent;\r\n articleHiglighterTeasers;\r\n static setup(selector: string = moduleSelector): void {\r\n Array.from(document.querySelectorAll(selector)).filter((node: HTMLElement) => !node.dataset.moduleInitialized).forEach((element: HTMLElement) => {\r\n new LoadMoreArticle(element);\r\n element.dataset.moduleInitialized = 'true';\r\n });\r\n }\r\n\r\n constructor(public element: HTMLElement) {\r\n this.dataContainer = document.querySelector('[data-filter-content]')\r\n this.loadMoreButton = this.element.querySelector('.load-more');\r\n this.articleFilterContent = this.element.closest(\".article-filter-content\"),\r\n this.articleHiglighterTeasers = this.articleFilterContent && this.articleFilterContent.querySelector(\".article-highlighted-teasers\");\r\n\r\n this.dataUrl = this.loadMoreButton.getAttribute(\"data-ulr\");\r\n this.ajaxLoader = new AjaxLoader(this.onSuccess.bind(this));\r\n\r\n this.loadMoreButton.addEventListener(\"click\", (e) => {\r\n e.preventDefault();\r\n const loadMore = this.loadMoreButton.getAttribute(\"href\");\r\n\r\n if (history.pushState) {\r\n window.history.pushState(null, null, loadMore);\r\n }\r\n\r\n this.articleHiglighterTeasers.classList.add(\"loader\");\r\n this.ajaxLoader.requestUrl(this.dataUrl);\r\n })\r\n }\r\n\r\n onSuccess(responseText) {\r\n let data: HTMLElement = createElementFromString('
' + responseText + '
');\r\n\r\n Array.from(data.children).forEach((element: HTMLElement) => {\r\n this.dataContainer.appendChild(element);\r\n });\r\n\r\n this.articleHiglighterTeasers && this.articleHiglighterTeasers.classList.remove(\"loader\");\r\n\r\n this.element.remove();\r\n window.Eucerin.initModules();\r\n document.dispatchEvent(new CustomEvent(\"FaceLiftLoadMore\"));\r\n }\r\n}\r\n\r\nnew LoadMoreArticle.setup();","/// \r\n\r\nexport default class AjaxLoader {\r\n\r\n private callbackSuccess: any;\r\n private callbackFailed: any;\r\n\r\n constructor(callbackSuccess, callBackFailed?) {\r\n this.callbackSuccess = callbackSuccess;\r\n this.callbackFailed = callBackFailed;\r\n }\r\n\r\n requestUrl(url, targetIndentity?) {\r\n let xhttp = new XMLHttpRequest();\r\n\r\n xhttp.onreadystatechange = () => {\r\n if (xhttp.readyState === 4) {\r\n if (xhttp.status === 200) {\r\n this.onSuccess(xhttp, targetIndentity);\r\n }\r\n else if (xhttp.status === 404 || xhttp.status === 500 || xhttp.status === 400) {\r\n if (typeof (this.callbackFailed) === 'function') {\r\n this.onFailed(xhttp, targetIndentity);\r\n } else {\r\n console.warn(`Request failed:/\\n${xhttp.status}`);\r\n }\r\n }\r\n }\r\n };\r\n\r\n xhttp.open('Get', url);\r\n xhttp.send();\r\n }\r\n\r\n onSuccess(xhttp, targetIndentity) {\r\n if (typeof (this.callbackSuccess) === 'function') {\r\n this.callbackSuccess(xhttp.responseText, targetIndentity);\r\n }\r\n }\r\n\r\n onFailed(xhttp, targetIndentity?) {\r\n if (typeof (this.callbackFailed) === 'function') {\r\n this.callbackFailed(xhttp, targetIndentity);\r\n }\r\n }\r\n}\r\n"],"sourceRoot":""}