document.querySelector('.info-stage'),\r\n gridNode = createElementFromString(`${jsonData.FilteredItems}
`).querySelector('[data-filter-content]'),\r\n stageFilter = createElementFromString(`${jsonData.FilterInformation}
`).querySelector('.info-stage'),\r\n footerContent = createElementFromString(`${jsonData.FilterFooter}
`).querySelector('.footer-stage');\r\n\r\n document.querySelectorAll('.footer-stage').forEach(el => el.remove());\r\n\r\n if (gridNode && container)\r\n container.innerHTML = gridNode.innerHTML;\r\n\r\n if (footerContent && container)\r\n container.appendChild(footerContent);\r\n\r\n if (stagecontainer && stageFilter)\r\n stagecontainer.innerHTML = stageFilter.innerHTML;\r\n\r\n this.removeLoader();\r\n this.updateUrl(jsonData.FilterStateUrl);\r\n window.Eucerin.initModules();\r\n document.dispatchEvent(new CustomEvent(\"FaceLiftLoadMore\"));\r\n }\r\n\r\n recoverState(): FilterAction {\r\n for (let filterCategory in this.options.state) {\r\n const inputs = Array.from(this.filterTag.querySelectorAll(`[data-key=\"${decodeURIComponent(filterCategory)}\"] input[type=\"checkbox\"]`)),\r\n aciveFilterNames = this.options.state[filterCategory] as any;\r\n\r\n inputs.filter((inp: HTMLInputElement) => aciveFilterNames.split(',').includes(inp.name))\r\n .forEach((inp: HTMLInputElement) => inp.checked = true);\r\n }\r\n\r\n return this;\r\n }\r\n\r\n resetState(): FilterAction {\r\n Array.from(>this.filterTag.querySelectorAll(this.options.checkboxSelector + ':checked')).forEach(value => value.checked = false);\r\n //this.recoverState()\r\n // .update();\r\n\r\n this.update();\r\n\r\n return this;\r\n }\r\n\r\n getState(): FilterActionState {\r\n return this.options.state;\r\n }\r\n\r\n saveCurrentState(): FilterAction {\r\n this.saveState(this.getParams());\r\n return this;\r\n }\r\n\r\n private removeLoader() {\r\n if (Eucerin.isMobile) {\r\n this.body.classList.remove(\"loader\");\r\n } else {\r\n this.element.classList.remove(\"loader\");\r\n }\r\n }\r\n\r\n private updateUrl(url) {\r\n window.history.pushState(url, '', url);\r\n }\r\n\r\n private saveState(state: FilterActionState): FilterAction {\r\n this.options.state = state;\r\n return this;\r\n }\r\n\r\n private showResetFilterBtn() {\r\n if (document.querySelector('.filter-item input:checked')) {\r\n this.applyFilterBtnWrapper.classList.add('active');\r\n this.resetFilterBtn.classList.add('active');\r\n } else {\r\n this.resetFilterBtn.classList.remove('active');\r\n this.applyFilterBtnWrapper.classList.remove('active');\r\n }\r\n }\r\n\r\n private openButtonFilterText(): FilterAction {\r\n var inputCheckedLength = document.querySelectorAll('.filter-item input:checked').length;\r\n if (inputCheckedLength == 1) {\r\n var chekcedItemValue = document.querySelector('.filter-item input:checked').getAttribute('data-value-name');\r\n this.openBtnTextfield.innerText = `${this.oneFilterSelectedText} ${chekcedItemValue}`;\r\n } else if (inputCheckedLength >= 2) {\r\n this.openBtnTextfield.innerText = `${inputCheckedLength} ${this.multipleFilterSelectedText}`;\r\n } else {\r\n this.openBtnTextfield.innerText = this.filterUnselectText;\r\n }\r\n\r\n if (inputCheckedLength > 0) {\r\n document.querySelector('.filter-action-buttons').classList.add('has-selected');\r\n } else {\r\n document.querySelector('.filter-action-buttons').classList.remove('has-selected');\r\n }\r\n\r\n return this\r\n }\r\n\r\n private getDefaultOptions(): FilterActionOptions {\r\n return {\r\n tagsMapAttrs: {\r\n tagsStrAttr: 'data-atob',\r\n tagCountAttr: 'data-tab-count',\r\n productsCountAttr: 'data-teaser-count'\r\n },\r\n\r\n filterTagSelector: '.filter-wrapper',\r\n filterBtnSelector: '.nx-filter-button',\r\n\r\n filterItemSelector: '.product-filter',\r\n checkboxSelector: '.filter-check-box',\r\n applyBtnSelector: '.filter-apply-button',\r\n countNodeSelector: '.filter-count',\r\n //gridNodeSelector: '.nx-teaser-grid',\r\n state: {}\r\n };\r\n }\r\n}"],"sourceRoot":""}