X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/72c12f527787181e4abb09fc968f07e795179c3c..4b961d16b8f8ef8afbd13697a79fe4684acd0416:/src/store/data-explorer/data-explorer-middleware.ts diff --git a/src/store/data-explorer/data-explorer-middleware.ts b/src/store/data-explorer/data-explorer-middleware.ts index 146867c3..e377f341 100644 --- a/src/store/data-explorer/data-explorer-middleware.ts +++ b/src/store/data-explorer/data-explorer-middleware.ts @@ -8,35 +8,36 @@ import { dataExplorerActions, bindDataExplorerActions } from "./data-explorer-ac import { DataExplorerMiddlewareService } from "./data-explorer-middleware-service"; export const dataExplorerMiddleware = (service: DataExplorerMiddlewareService): Middleware => api => next => { - const handleAction = (handler: (data: T) => void) => - (data: T) => { - if (data.id === service.getId()) { - handler(data); - } - }; const actions = bindDataExplorerActions(service.getId()); return action => { + const handleAction = (handler: (data: T) => void) => + (data: T) => { + next(action); + if (data.id === service.getId()) { + handler(data); + } + }; dataExplorerActions.match(action, { SET_PAGE: handleAction(() => { - api.dispatch(actions.REQUEST_ITEMS()); + api.dispatch(actions.REQUEST_ITEMS(false)); }), SET_ROWS_PER_PAGE: handleAction(() => { - api.dispatch(actions.REQUEST_ITEMS()); + api.dispatch(actions.REQUEST_ITEMS(true)); }), SET_FILTERS: handleAction(() => { api.dispatch(actions.RESET_PAGINATION()); - api.dispatch(actions.REQUEST_ITEMS()); + api.dispatch(actions.REQUEST_ITEMS(true)); }), TOGGLE_SORT: handleAction(() => { - api.dispatch(actions.REQUEST_ITEMS()); + api.dispatch(actions.REQUEST_ITEMS(true)); }), - SET_SEARCH_VALUE: handleAction(() => { + SET_EXPLORER_SEARCH_VALUE: handleAction(() => { api.dispatch(actions.RESET_PAGINATION()); - api.dispatch(actions.REQUEST_ITEMS()); + api.dispatch(actions.REQUEST_ITEMS(true)); }), - REQUEST_ITEMS: handleAction(() => { - service.requestItems(api); + REQUEST_ITEMS: handleAction(({ criteriaChanged }) => { + service.requestItems(api, criteriaChanged); }), default: () => next(action) });