diff --git a/demo/src/components/SearchBar.js b/demo/src/components/SearchBar.js index bf94dd2a..89c3927c 100644 --- a/demo/src/components/SearchBar.js +++ b/demo/src/components/SearchBar.js @@ -35,8 +35,8 @@ const SearchBar = (props) => { const handleSubmit = () => { if (productType !== 'SEARCH') { onSearch('SEARCH'); + history.push('/'); } - history.push('/'); return true; }; return ( diff --git a/src/UnbxdSearchWrapper.js b/src/UnbxdSearchWrapper.js index b1bb9216..dd77649b 100644 --- a/src/UnbxdSearchWrapper.js +++ b/src/UnbxdSearchWrapper.js @@ -43,7 +43,8 @@ const initialUnbxdState = { selectedRangeFacets: { add: {}, remove: {}, list: {} }, applyMultiple: false, pageSize: 10, - sort: '' + sort: '', + query: '' }; class UnbxdSearchWrapper extends Component { diff --git a/src/modules/searchBox/SearchBox.js b/src/modules/searchBox/SearchBox.js index 9d3a8086..88b57ba1 100644 --- a/src/modules/searchBox/SearchBox.js +++ b/src/modules/searchBox/SearchBox.js @@ -20,15 +20,19 @@ const SearchBox = (props) => { unbxdCore, unbxdCoreStatus, helpers, - productType + productType, + unbxdState } = appState; + const { query } = unbxdState; + return ( ); diff --git a/src/modules/searchBox/SearchBoxContainer.js b/src/modules/searchBox/SearchBoxContainer.js index 111357c5..61e7b734 100644 --- a/src/modules/searchBox/SearchBoxContainer.js +++ b/src/modules/searchBox/SearchBoxContainer.js @@ -92,6 +92,21 @@ class SearchBoxContainer extends React.PureComponent { manageRangeFacets(null, null, null, manageStateTypes.RESET); } + componentDidUpdate(prevProps) { + const { unbxdCore, unbxdCoreStatus, query } = this.props; + const { q: currentQuery } = unbxdCore.getQueryParams(); + if ( + unbxdCoreStatus !== prevProps.unbxdCoreStatus && + unbxdCoreStatus === 'LOADING' && + typeof currentQuery === 'string' && + currentQuery.length > 0 && + currentQuery !== query && + prevProps.query === query + ) { + this.setState({ query: currentQuery }); + } + } + getSearchBoxProps() { const { unbxdCore, diff --git a/src/utils/setSearchBoxConfiguration.js b/src/utils/setSearchBoxConfiguration.js index a49b9ae5..b9259118 100644 --- a/src/utils/setSearchBoxConfiguration.js +++ b/src/utils/setSearchBoxConfiguration.js @@ -11,7 +11,8 @@ function setSearchBoxConfiguration(config) { return { ...existingState, productType: productTypes.SEARCH, - categoryId: '' + categoryId: '', + unbxdState: { ...existingState.unbxdState, query: config.query } }; }); }