X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/eda5e30d786d5d1224a552e962b6b711efab7369..3dbe57077135d1684407ba6cc2a0d20cfcb33618:/src/store/workflow-panel/workflow-middleware-service.ts diff --git a/src/store/workflow-panel/workflow-middleware-service.ts b/src/store/workflow-panel/workflow-middleware-service.ts index 2ca5337e..6dbcf6ac 100644 --- a/src/store/workflow-panel/workflow-middleware-service.ts +++ b/src/store/workflow-panel/workflow-middleware-service.ts @@ -7,15 +7,16 @@ import { MiddlewareAPI, Dispatch } from 'redux'; import { DataExplorerMiddlewareService, dataExplorerToListParams, listResultsToDataExplorerItemsMeta } from '~/store/data-explorer/data-explorer-middleware-service'; import { RootState } from '~/store/store'; import { snackbarActions, SnackbarKind } from '~/store/snackbar/snackbar-actions'; -import { DataExplorer } from '~/store/data-explorer/data-explorer-reducer'; +import { DataExplorer, getDataExplorer } from '~/store/data-explorer/data-explorer-reducer'; import { updateResources } from '~/store/resources/resources-actions'; import { FilterBuilder } from '~/services/api/filter-builder'; import { SortDirection } from '~/components/data-table/data-column'; -import { WorkflowPanelColumnNames } from '~/views/workflow-panel/workflow-panel'; +import { WorkflowPanelColumnNames } from '~/views/workflow-panel/workflow-panel-view'; import { OrderDirection, OrderBuilder } from '~/services/api/order-builder'; import { WorkflowResource } from '~/models/workflow'; -import { ListResults } from '~/services/common-service/common-resource-service'; -import { workflowPanelActions } from './workflow-panel-actions'; +import { ListResults } from '~/services/common-service/common-service'; +import { workflowPanelActions } from '~/store/workflow-panel/workflow-panel-actions'; +import { getSortColumn } from "~/store/data-explorer/data-explorer-reducer"; export class WorkflowMiddlewareService extends DataExplorerMiddlewareService { constructor(private services: ServiceRepository, id: string) { @@ -23,10 +24,12 @@ export class WorkflowMiddlewareService extends DataExplorerMiddlewareService { } async requestItems(api: MiddlewareAPI) { + const state = api.getState(); + const dataExplorer = getDataExplorer(state.dataExplorer, this.getId()); try { - const response = await this.services.workflowService; - api.dispatch(updateResources([])); - api.dispatch(setItems({ kind: '', offset: 4, limit: 4, items: [], itemsAvailable: 4 })); + const response = await this.services.workflowService.list(getParams(dataExplorer)); + api.dispatch(updateResources(response.items)); + api.dispatch(setItems(response)); } catch { api.dispatch(couldNotFetchWorkflows()); } @@ -36,18 +39,18 @@ export class WorkflowMiddlewareService extends DataExplorerMiddlewareService { export const getParams = (dataExplorer: DataExplorer) => ({ ...dataExplorerToListParams(dataExplorer), order: getOrder(dataExplorer), - filters: getFilters(dataExplorer), + filters: getFilters(dataExplorer) }); export const getFilters = (dataExplorer: DataExplorer) => { const filters = new FilterBuilder() .addILike("name", dataExplorer.searchValue) .getFilters(); - return `[${filters}]`; + return filters; }; export const getOrder = (dataExplorer: DataExplorer) => { - const sortColumn = dataExplorer.columns.find(c => c.sortDirection !== SortDirection.NONE); + const sortColumn = getSortColumn(dataExplorer); const order = new OrderBuilder(); if (sortColumn) { const sortDirection = sortColumn && sortColumn.sortDirection === SortDirection.ASC