From 0eaa538e8a2dc0bbf12b4268a19b902ce71cbd13 Mon Sep 17 00:00:00 2001 From: Bogdan Date: Mon, 21 Aug 2023 21:32:26 +0300 Subject: [PATCH] Allow deselecting values when using search through url query params --- frontend/src/Search/SearchFooter.js | 21 +++++++++++--------- frontend/src/Search/SearchFooterConnector.js | 19 +++++++----------- 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/frontend/src/Search/SearchFooter.js b/frontend/src/Search/SearchFooter.js index f1de88e3a..5e949fc6e 100644 --- a/frontend/src/Search/SearchFooter.js +++ b/frontend/src/Search/SearchFooter.js @@ -24,6 +24,7 @@ class SearchFooter extends Component { super(props, context); const { + defaultSearchQueryParams, defaultIndexerIds, defaultCategories, defaultSearchQuery, @@ -33,16 +34,16 @@ class SearchFooter extends Component { } = props; this.state = { - isQueryParameterModalOpen: false, - queryModalOptions: null, - searchType: defaultSearchType, + searchIndexerIds: defaultSearchQueryParams.searchIndexerIds ?? defaultIndexerIds, + searchCategories: defaultSearchQueryParams.searchCategories ?? defaultCategories, + searchQuery: (defaultSearchQueryParams.searchQuery ?? defaultSearchQuery) || '', + searchType: defaultSearchQueryParams.searchType ?? defaultSearchType, + searchLimit: defaultSearchQueryParams.searchLimit ?? defaultSearchLimit, + searchOffset: defaultSearchQueryParams.searchOffset ?? defaultSearchOffset, + newSearch: true, searchingReleases: false, - searchQuery: defaultSearchQuery || '', - searchIndexerIds: defaultIndexerIds, - searchCategories: defaultCategories, - searchLimit: defaultSearchLimit, - searchOffset: defaultSearchOffset, - newSearch: true + isQueryParameterModalOpen: false, + queryModalOptions: null }; } @@ -189,6 +190,7 @@ class SearchFooter extends Component { break; default: icon = icons.SEARCH; + break; } let footerLabel = searchIndexerIds.length === 0 ? translate('SearchAllIndexers') : translate('SearchCountIndexers', { count: searchIndexerIds.length }); @@ -300,6 +302,7 @@ class SearchFooter extends Component { } SearchFooter.propTypes = { + defaultSearchQueryParams: PropTypes.object.isRequired, defaultIndexerIds: PropTypes.arrayOf(PropTypes.number).isRequired, defaultCategories: PropTypes.arrayOf(PropTypes.number).isRequired, defaultSearchQuery: PropTypes.string.isRequired, diff --git a/frontend/src/Search/SearchFooterConnector.js b/frontend/src/Search/SearchFooterConnector.js index 9399fe6ca..1f740e49a 100644 --- a/frontend/src/Search/SearchFooterConnector.js +++ b/frontend/src/Search/SearchFooterConnector.js @@ -49,12 +49,12 @@ function createMapStateToProps() { return { defaultSearchQueryParams, - defaultSearchQuery: defaultSearchQueryParams.searchQuery ?? defaultSearchQuery, - defaultIndexerIds: defaultSearchQueryParams.searchIndexerIds ?? defaultIndexerIds, - defaultCategories: defaultSearchQueryParams.searchCategories ?? defaultCategories, - defaultSearchType: defaultSearchQueryParams.searchType ?? defaultSearchType, - defaultSearchLimit: defaultSearchQueryParams.searchLimit ?? defaultSearchLimit, - defaultSearchOffset: defaultSearchQueryParams.searchOffset ?? defaultSearchOffset + defaultSearchQuery, + defaultIndexerIds, + defaultCategories, + defaultSearchType, + defaultSearchLimit, + defaultSearchOffset }; } ); @@ -87,14 +87,9 @@ class SearchFooterConnector extends Component { // Render render() { - const { - defaultSearchQueryParams, - ...otherProps - } = this.props; - return ( );