{"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 = <HTMLElement>createElementFromString('<div>' + responseText + '</div>');\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();","/// <reference path=\"typings/FaceLift.d.ts\" />\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":""}