From 5b7b834bcab1a32fe77851d78fd984e1c96465ee Mon Sep 17 00:00:00 2001 From: Lisa Knox Date: Wed, 3 Apr 2024 14:26:08 -0400 Subject: [PATCH] 21364: added reset_items_available method Arvados-DCO-1.1-Signed-off-by: Lisa Knox --- .../src/store/data-explorer/data-explorer-action.ts | 2 ++ .../src/store/data-explorer/data-explorer-reducer.ts | 5 ++++- .../search-results-middleware-service.ts | 5 +++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/services/workbench2/src/store/data-explorer/data-explorer-action.ts b/services/workbench2/src/store/data-explorer/data-explorer-action.ts index a330b97426..9aa5e2e748 100644 --- a/services/workbench2/src/store/data-explorer/data-explorer-action.ts +++ b/services/workbench2/src/store/data-explorer/data-explorer-action.ts @@ -15,6 +15,7 @@ export enum DataTableRequestState { export const dataExplorerActions = unionize({ CLEAR: ofType<{ id: string }>(), RESET_PAGINATION: ofType<{ id: string }>(), + RESET_ITEMS_AVAILABLE: ofType<{ id: string }>(), REQUEST_ITEMS: ofType<{ id: string; criteriaChanged?: boolean, background?: boolean }>(), REQUEST_STATE: ofType<{ id: string; criteriaChanged?: boolean }>(), SET_FETCH_MODE: ofType<{ id: string; fetchMode: DataTableFetchMode }>(), @@ -37,6 +38,7 @@ export type DataExplorerAction = UnionOf; export const bindDataExplorerActions = (id: string) => ({ CLEAR: () => dataExplorerActions.CLEAR({ id }), RESET_PAGINATION: () => dataExplorerActions.RESET_PAGINATION({ id }), + RESET_ITEMS_AVAILABLE: () => dataExplorerActions.RESET_ITEMS_AVAILABLE({ id }), REQUEST_ITEMS: (criteriaChanged?: boolean, background?: boolean) => dataExplorerActions.REQUEST_ITEMS({ id, criteriaChanged, background }), SET_FETCH_MODE: (payload: { fetchMode: DataTableFetchMode }) => dataExplorerActions.SET_FETCH_MODE({ ...payload, id }), SET_COLUMNS: (payload: { columns: DataColumns }) => dataExplorerActions.SET_COLUMNS({ ...payload, id }), diff --git a/services/workbench2/src/store/data-explorer/data-explorer-reducer.ts b/services/workbench2/src/store/data-explorer/data-explorer-reducer.ts index 41dca03b68..1c32891e52 100644 --- a/services/workbench2/src/store/data-explorer/data-explorer-reducer.ts +++ b/services/workbench2/src/store/data-explorer/data-explorer-reducer.ts @@ -91,11 +91,14 @@ export const dataExplorerReducer = ( }) ), + RESET_ITEMS_AVAILABLE: ({ id }) => + update(state, id, (explorer) => ({ ...explorer, itemsAvailable: 0 })), + APPEND_ITEMS: ({ id, items, itemsAvailable, page, rowsPerPage }) => update(state, id, (explorer) => ({ ...explorer, items: state[id].items.concat(items), - itemsAvailable: itemsAvailable, + itemsAvailable: state[id].itemsAvailable + itemsAvailable, page, rowsPerPage, })), diff --git a/services/workbench2/src/store/search-results-panel/search-results-middleware-service.ts b/services/workbench2/src/store/search-results-panel/search-results-middleware-service.ts index dab83e0114..f21343819e 100644 --- a/services/workbench2/src/store/search-results-panel/search-results-middleware-service.ts +++ b/services/workbench2/src/store/search-results-panel/search-results-middleware-service.ts @@ -63,6 +63,8 @@ export class SearchResultsMiddlewareService extends DataExplorerMiddlewareServic api.dispatch(progressIndicatorActions.START_WORKING(this.id)) api.dispatch(dataExplorerActions.SET_IS_NOT_FOUND({ id: this.id, isNotFound: false })); + api.dispatch(resetItemsAvailable()); + sessions.forEach(session => { const params = getParams(dataExplorer, searchValue, session.apiRevision); this.services.groupsService.contents('', params, session) @@ -135,6 +137,9 @@ export const setItems = (listResults: ListResults) => items: listResults.items.map(resource => resource.uuid), }); +export const resetItemsAvailable = () => + searchResultsPanelActions.RESET_ITEMS_AVAILABLE(); + export const appendItems = (listResults: ListResults) => searchResultsPanelActions.APPEND_ITEMS({ ...listResultsToDataExplorerItemsMeta(listResults), -- 2.30.2