X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/cc493b89840b48f40c2beaf626994724331aa196..f470b41502497ccc4b37872cc921d71e57a37986:/src/store/data-explorer/data-explorer-middleware-service.ts diff --git a/src/store/data-explorer/data-explorer-middleware-service.ts b/src/store/data-explorer/data-explorer-middleware-service.ts index 059c0784..64e6e50b 100644 --- a/src/store/data-explorer/data-explorer-middleware-service.ts +++ b/src/store/data-explorer/data-explorer-middleware-service.ts @@ -5,9 +5,10 @@ import { Dispatch, MiddlewareAPI } from "redux"; import { RootState } from "../store"; import { DataColumns } from "~/components/data-table/data-table"; -import { DataTableFilterItem } from "~/components/data-table-filters/data-table-filters"; import { DataExplorer } from './data-explorer-reducer'; -import { ListArguments, ListResults } from '~/common/api/common-resource-service'; +import { ListResults } from '~/services/common-service/common-service'; +import { createTree } from "~/models/tree"; +import { DataTableFilters } from "~/components/data-table-filters/data-table-filters-tree"; export abstract class DataExplorerMiddlewareService { protected readonly id: string; @@ -20,26 +21,25 @@ export abstract class DataExplorerMiddlewareService { return this.id; } - public getColumnFilters(columns: DataColumns, columnName: string): F[] { - const column = columns.find(c => c.name === columnName); - return column ? column.filters.filter(f => f.selected) : []; + public getColumnFilters(columns: DataColumns, columnName: string): DataTableFilters { + return getDataExplorerColumnFilters(columns, columnName); } - abstract requestItems(api: MiddlewareAPI): void; + abstract requestItems(api: MiddlewareAPI, criteriaChanged?: boolean): Promise; } -export const getDataExplorerColumnFilters = (columns: DataColumns, columnName: string): F[] => { +export const getDataExplorerColumnFilters = (columns: DataColumns, columnName: string): DataTableFilters => { const column = columns.find(c => c.name === columnName); - return column ? column.filters.filter(f => f.selected) : []; + return column ? column.filters : createTree(); }; -export const dataExplorerToListParams = (dataExplorer: DataExplorer) => ({ +export const dataExplorerToListParams = (dataExplorer: DataExplorer) => ({ limit: dataExplorer.rowsPerPage, - offset: dataExplorer.page * dataExplorer.rowsPerPage, + offset: dataExplorer.page * dataExplorer.rowsPerPage }); export const listResultsToDataExplorerItemsMeta = ({ itemsAvailable, offset, limit }: ListResults) => ({ itemsAvailable, page: Math.floor(offset / limit), rowsPerPage: limit -}); \ No newline at end of file +});