21364: added reset_items_available method Arvados-DCO-1.1-Signed-off-by: Lisa Knox...
authorLisa Knox <lisaknox83@gmail.com>
Wed, 3 Apr 2024 18:26:08 +0000 (14:26 -0400)
committerLisa Knox <lisaknox83@gmail.com>
Thu, 30 May 2024 17:58:10 +0000 (13:58 -0400)
services/workbench2/src/store/data-explorer/data-explorer-action.ts
services/workbench2/src/store/data-explorer/data-explorer-reducer.ts
services/workbench2/src/store/search-results-panel/search-results-middleware-service.ts

index a330b97426e332dd1663942dd22cc89b0046cf12..9aa5e2e7488f9381e83d667df7305be00c19430b 100644 (file)
@@ -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<typeof dataExplorerActions>;
 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<any, any> }) => dataExplorerActions.SET_COLUMNS({ ...payload, id }),
index 41dca03b6847db68eb64abc28bfde21dcf00519a..1c32891e52de1cb01fd242d0df6972f8199a868d 100644 (file)
@@ -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,
             })),
index dab83e0114d431b8e15cc6a6e68078f4d7696e0d..f21343819e1dc4c2b3054d2d0dc1e4966f3f7a5c 100644 (file)
@@ -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<GroupContentsResource>) =>
         items: listResults.items.map(resource => resource.uuid),
     });
 
+export const resetItemsAvailable = () =>
+    searchResultsPanelActions.RESET_ITEMS_AVAILABLE();
+
 export const appendItems = (listResults: ListResults<GroupContentsResource>) =>
     searchResultsPanelActions.APPEND_ITEMS({
         ...listResultsToDataExplorerItemsMeta(listResults),