{"version":3,"sources":["webpack:///./Scripts/Components/SortCriteriaCompact.js","webpack:///./Scripts/Containers/SortCriteriaCompact.container.js"],"names":["SortCriteriaCompact","_Component","props","_this","_callSuper","state","isOpen","setWrapperRef","bind","handleClickOutside","handleToggleOnClick","handleSelectChange","_inherits","key","value","document","addEventListener","this","removeEventListener","node","wrapperRef","setState","window","location","origin","event","contains","target","_this2","sortItems","selectedOption","concat","_toConsumableArray","filter","sort","selected","React","createElement","className","ref","onClick","text","translate","map","_ref","index","Component","SortCriteriaCompactContainer","productViewCached","__litium","cache","PRODUCT_VIEW_CACHED","used","dom","productsView","onSearchResultDataChange","tempResult","existingFilter","replace","undefined","includes","container","innerHTML","existingResult","querySelector","newNode","parentNode","replaceChild","bootstrapComponents","_this$props$sortCrite","sortCriteria","every","ele","length","Fragment","connect","_ref$facetedSearch","facetedSearch","productsViewCachedId","dispatch","query","q","withHtmlResult"],"mappings":"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","file":"22.js","sourcesContent":["import React, { Component } from 'react';\r\nimport { translate } from '../Services/translation';\r\n\r\nclass SortCriteriaCompact extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n        this.state = {\r\n            isOpen: false\r\n        };\r\n\r\n        this.setWrapperRef = this.setWrapperRef.bind(this);\r\n        this.handleClickOutside = this.handleClickOutside.bind(this);\r\n        this.handleToggleOnClick = this.handleToggleOnClick.bind(this);\r\n        this.handleSelectChange = this.handleSelectChange.bind(this);\r\n    }\r\n\r\n    componentDidMount() {\r\n        document.addEventListener('mousedown', this.handleClickOutside);\r\n    }\r\n\r\n    componentWillUnmount() {\r\n        document.removeEventListener('mousedown', this.handleClickOutside);\r\n    }\r\n\r\n    setWrapperRef(node) {\r\n        this.wrapperRef = node;\r\n    }\r\n\r\n    handleToggleOnClick() {\r\n        this.setState({\r\n            isOpen: !this.state.isOpen\r\n        });\r\n    }\r\n\r\n    handleSelectChange(value) {\r\n        window.location = window.location.origin + value;\r\n    }\r\n\r\n    handleClickOutside(event) {\r\n        if (this.wrapperRef && !this.wrapperRef.contains(event.target)) {\r\n            this.setState({\r\n                isOpen: false\r\n            });\r\n        }\r\n    }\r\n\r\n    render() {\r\n        const { sortItems } = this.props;\r\n        const selectedOption = [...sortItems.filter(sort => sort.selected === true), {}][0];\r\n        return (\r\n            <div className=\"custom-select__wrapper\" ref={this.setWrapperRef}>\r\n                {selectedOption.selected ?\r\n                    <div className={`custom-select__dropdown--selected ${this.state.isOpen ? \"arrow-up\" : \"arrow-down\"}`} onClick={() => this.handleToggleOnClick()}>\r\n                        {selectedOption.text}\r\n                    </div> :\r\n                    <div className={`custom-select__dropdown--selected ${this.state.isOpen ? \"arrow-up\" : \"arrow-down\"}`} onClick={() => this.handleToggleOnClick()}>\r\n                        {translate(`filter.sort`)}\r\n                    </div>\r\n                }\r\n                <div className={`custom-select__dropdown-items ${this.state.isOpen ? \"\" : \"hidden\"}`}>\r\n                    {sortItems && sortItems.map(({ text, value, selected }, index) =>\r\n                        !selected && <div key={`sorteriaCompact-${index}`} onClick={() => this.handleSelectChange(value)}>{text}</div>\r\n                    )}\r\n                </div>\r\n            </div>\r\n        );\r\n    }\r\n}\r\n\r\nexport default SortCriteriaCompact;","import React, { Component, Fragment } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport {\r\n    query,\r\n    PRODUCT_VIEW_CACHED\r\n} from '../Actions/FacetedSearch.action';\r\nimport SortCriteriaCompact from '../Components/SortCriteriaCompact';\r\n\r\nclass SortCriteriaCompactContainer extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n    }\r\n\r\n    componentDidUpdate() {\r\n        const productViewCached = window.__litium.cache ? window.__litium.cache[PRODUCT_VIEW_CACHED] || {} : {};\r\n        if (!productViewCached.used) {\r\n            productViewCached.used = true;\r\n            const dom = productViewCached.productsView;\r\n            dom && this.onSearchResultDataChange(dom);\r\n        }\r\n    }\r\n\r\n    onSearchResultDataChange(dom) {\r\n        if ([null, undefined].includes(dom)) {\r\n            return;\r\n        }\r\n        const container = document.createElement('div');\r\n        container.innerHTML = dom;\r\n        const existingResult = document.querySelector(\"#search-result\");\r\n        const tempResult = container.querySelector(\"#search-result\");\r\n        const existingFilter = existingResult.querySelector('#facetedSearchCompact');\r\n        const tempFilter = tempResult.querySelector('#facetedSearchCompact');\r\n        const replace = (node, newNode) => node.parentNode.replaceChild(newNode, node);\r\n        // move existingFilter from existingResult to tempResult\r\n        replace(tempFilter, existingFilter);\r\n        // replace existingResult with tempResult ( newResult )\r\n        replace(existingResult, tempResult);\r\n        // bootstrap react components if any exists in the search result\r\n        window.__litium.bootstrapComponents();\r\n    }\r\n\r\n    render() {\r\n        const { sortCriteria = [] } = this.props;\r\n        const hidden = [sortCriteria].every(ele => !ele || ele.length === 0);\r\n        return (hidden ? null :\r\n            <Fragment>\r\n                {sortCriteria && sortCriteria.sortItems.length > 0 &&\r\n                    <SortCriteriaCompact {...sortCriteria} />\r\n                }\r\n            </Fragment>\r\n        );\r\n    }\r\n}\r\n\r\nconst mapStateToProps = ({ facetedSearch: { sortCriteria, productsViewCachedId } }) => {\r\n    return {\r\n        sortCriteria,\r\n        productsViewCachedId\r\n    };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n    return {\r\n        query: (q, withHtmlResult) => dispatch(query(q, withHtmlResult))\r\n    };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(SortCriteriaCompactContainer);"],"sourceRoot":""}