diff --git a/src/components/pages/search/SearchResults.jsx b/src/components/pages/search/SearchResults.jsx index 3c3db0bf..8c5f93d1 100644 --- a/src/components/pages/search/SearchResults.jsx +++ b/src/components/pages/search/SearchResults.jsx @@ -50,7 +50,6 @@ import { createSortByHandler, createSortDirHandler, normalizeSearchQueryParams, - deriveSearchType, } from '../../../helpers/searchHelpers'; import { setSearchPageAdvanced, @@ -58,7 +57,6 @@ import { setSearchPageAdvancedSearchTerms, setSearchPageKeyword, } from '../../../actions/searchPage'; -import { readListItems } from '../../search/searchResultHelpers'; const selectBarPropTypes = { toggleBar: PropTypes.object, @@ -286,15 +284,10 @@ function SearchResults(props) { const isSidebarOpen = useSelector((state) => isSearchResultSidebarOpen(state)); const display = currentView(props); - // use the list items size to handle the seeded empty result conflicting with errors - const { listType } = deriveSearchType(config, SEARCH_RESULT_PAGE_SEARCH_NAME, searchDescriptor); - const { items } = readListItems(config, listType, searchResults); - const searchResultsSize = items?.size ?? 0; - useEffect(() => { setPreferredPageSize(props, dispatch); dispatch(search(config, SEARCH_RESULT_PAGE_SEARCH_NAME, searchDescriptor)); - }, [searchDescriptor.toString(), searchResultsSize]); + }, [searchDescriptor.toString()]); const handlePageSizeChange = createPageSizeChangeHandler({ history, @@ -392,11 +385,16 @@ function SearchResults(props) { searchDisplay = ; } + const handleBatchInvokeComplete = () => { + dispatch(search(config, SEARCH_RESULT_PAGE_SEARCH_NAME, searchDescriptor)); + }; + const sidebar = ( ); diff --git a/src/components/search/SearchResultBatchPanel.jsx b/src/components/search/SearchResultBatchPanel.jsx index 7eef9523..f4e624e4 100644 --- a/src/components/search/SearchResultBatchPanel.jsx +++ b/src/components/search/SearchResultBatchPanel.jsx @@ -42,6 +42,7 @@ const propTypes = { recordType: PropTypes.string, selectedItems: PropTypes.instanceOf(Immutable.Map), invoke: PropTypes.func, + onInvokeComplete: PropTypes.func, }; export default class SearchResultBatchPanel extends Component { @@ -146,6 +147,12 @@ export default class SearchResultBatchPanel extends Component { if (location) { history.push(location); } + } else { + const { onInvokeComplete } = this.props; + + if (onInvokeComplete) { + onInvokeComplete(); + } } }); } diff --git a/src/components/search/SearchResultSidebar.jsx b/src/components/search/SearchResultSidebar.jsx index dd5a2bb0..7b52ca4a 100644 --- a/src/components/search/SearchResultSidebar.jsx +++ b/src/components/search/SearchResultSidebar.jsx @@ -18,6 +18,7 @@ const propTypes = { history: PropTypes.shape({ push: PropTypes.func, }), + onInvokeComplete: PropTypes.func, recordType: PropTypes.string, isOpen: PropTypes.bool, }; @@ -38,6 +39,7 @@ export default function SearchResultSidebar(props) { const { config, history, + onInvokeComplete, recordType, isOpen, } = props; @@ -69,6 +71,7 @@ export default function SearchResultSidebar(props) { color={panelColor} config={config} history={history} + onInvokeComplete={onInvokeComplete} recordType={recordType} selectedItems={selectedItems} />