{"version":3,"sources":["webpack:///./Scripts/Components/QuickSearchResult.js","webpack:///./Scripts/Components/QuickSearch.js","webpack:///./Scripts/Containers/QuickSearch.container.js"],"names":["QuickSearchResult","result","selectedItem","searchUrl","className","map","item","index","array","key","name","category","showAll","sameCategory","url","href","hasImage","imageSource","src","QuickSearch","setTimeout","searchInput","focus","this","props","query","showResult","showFullForm","onSearch","onKeyDown","toggleShowFullForm","role","onClick","e","focusOnInput","title","translate","type","placeholder","autoComplete","value","onChange","event","target","ref","input","Component","QuickSearchContainer","state","clickHandler","bind","lastClickedNode","document","addEventListener","urlParams","URLSearchParams","window","location","search","has","get","setSearchQuery","removeEventListener","setState","searchContainer","contains","prevProps","querySelector","scrollIntoView","behavior","block","inline","__litium","quickSearchUrl","length","elem","onBlur","debouncedQuery","debounce","dispatch","text","connect","quickSearch","opt","handleKeyDown"],"mappings":"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","file":"1.19a91a585e28b5682894.js","sourcesContent":["import React, { Fragment } from 'react'\r\n\r\nconst sameCategory = (item, index, array) =>\r\n (index > 0 && array[index - 1].category === array[index].category) ||\r\n item.showAll\r\n\r\nconst QuickSearchResult = ({ result, selectedItem, searchUrl }) => (\r\n
\r\n \r\n
\r\n)\r\n\r\nexport default QuickSearchResult\r\n","import React, { Component } from 'react'\r\nimport QuickSearchResult from './QuickSearchResult'\r\nimport { translate } from '../Services/translation'\r\n\r\nclass QuickSearch extends Component {\r\n focusOnInput() {\r\n setTimeout(() => {\r\n this.searchInput && this.searchInput.focus()\r\n }, 0)\r\n }\r\n\r\n render() {\r\n const {\r\n query,\r\n result,\r\n showResult,\r\n showFullForm,\r\n onSearch,\r\n onKeyDown,\r\n toggleShowFullForm,\r\n selectedItem,\r\n searchUrl,\r\n } = this.props\r\n return (\r\n
\r\n {\r\n toggleShowFullForm()\r\n this.focusOnInput()\r\n }}\r\n title={translate('general.search')}\r\n >\r\n \r\n \r\n \r\n
\r\n \r\n onSearch(event.target.value)}\r\n onKeyDown={(event) =>\r\n onKeyDown(event, { searchUrl })\r\n }\r\n ref={(input) => {\r\n this.searchInput = input\r\n }}\r\n />\r\n toggleShowFullForm()}\r\n >\r\n
\r\n {showResult && (\r\n \r\n )}\r\n
\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default QuickSearch\r\n","import React, { Component } from 'react'\r\nimport * as debounce from 'lodash.debounce'\r\nimport { connect } from 'react-redux'\r\nimport QuickSearch from '../Components/QuickSearch'\r\nimport {\r\n query,\r\n setSearchQuery,\r\n toggleShowFullForm,\r\n handleKeyDown,\r\n} from '../Actions/QuickSearch.action'\r\n\r\nclass QuickSearchContainer extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = { ...props }\r\n this.clickHandler = this.clickHandler.bind(this)\r\n this.lastClickedNode = null\r\n }\r\n\r\n componentDidMount() {\r\n document.addEventListener('mousedown', this.clickHandler)\r\n var urlParams = new URLSearchParams(window.location.search)\r\n if (urlParams.has('q')) {\r\n const query = urlParams.get('q')\r\n const { setSearchQuery } = this.props\r\n setSearchQuery(query)\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n document.removeEventListener('mousedown', this.clickHandler)\r\n }\r\n\r\n componentWillUpdate({ showFullForm } = props) {\r\n if (this.state.showFullForm !== showFullForm) {\r\n this.setState({ ...this.state, showFullForm })\r\n }\r\n }\r\n\r\n clickHandler(event) {\r\n this.lastClickedNode = event.target\r\n }\r\n\r\n onBlur() {\r\n const { showFullForm, toggleShowFullForm } = this.props\r\n if (\r\n this.searchContainer &&\r\n !this.searchContainer.contains(this.lastClickedNode)\r\n ) {\r\n showFullForm && toggleShowFullForm()\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (this.props.selectedItem !== prevProps.selectedItem) {\r\n document\r\n .querySelector('.quick-search-result__item--selected')\r\n .scrollIntoView({\r\n behavior: 'smooth',\r\n block: 'end',\r\n inline: 'nearest',\r\n })\r\n }\r\n }\r\n\r\n render() {\r\n const { query } = this.props\r\n const searchUrl =\r\n window.__litium.quickSearchUrl +\r\n (query.length > 0 ? `?q=${query}` : '')\r\n return (\r\n
(this.searchContainer = elem)}>\r\n this.onBlur(),\r\n }}\r\n />\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n query: state.quickSearch.query,\r\n result: state.quickSearch.result,\r\n showResult: state.quickSearch.showResult,\r\n showFullForm: state.quickSearch.showFullForm,\r\n selectedItem: state.quickSearch.selectedItem,\r\n }\r\n}\r\n\r\n// debouncing function to 200ms so we don't send query request on every key stroke\r\nconst debouncedQuery = debounce((dispatch, text) => dispatch(query(text)), 200)\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n onSearch: (text) => {\r\n dispatch(setSearchQuery(text))\r\n debouncedQuery(dispatch, text)\r\n },\r\n toggleShowFullForm: () => dispatch(toggleShowFullForm()),\r\n setSearchQuery: (text) => dispatch(setSearchQuery(text)),\r\n onKeyDown: (event, opt) => dispatch(handleKeyDown(event, opt)),\r\n }\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(QuickSearchContainer)\r\n"],"sourceRoot":""}