X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/95b86eb6b3184b787b570a906347ccaac32195c6..1d402d5f65011e082eb9332118c4dbfe4377952f:/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 80ab514c..347c7331 100644 --- a/src/store/data-explorer/data-explorer-middleware-service.ts +++ b/src/store/data-explorer/data-explorer-middleware-service.ts @@ -2,13 +2,13 @@ // // SPDX-License-Identifier: AGPL-3.0 -import { Dispatch, MiddlewareAPI } from "redux"; -import { RootState } from "../store"; -import { DataColumns } from "~/components/data-table/data-table"; +import { Dispatch, MiddlewareAPI } from 'redux'; +import { RootState } from '../store'; +import { DataColumns } from 'components/data-table/data-table'; import { DataExplorer } from './data-explorer-reducer'; -import { ListResults } from '~/services/common-service/common-resource-service'; -import { createTree } from "~/models/tree"; -import { DataTableFilters } from "~/components/data-table-filters/data-table-filters-tree"; +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; @@ -21,15 +21,24 @@ export abstract class DataExplorerMiddlewareService { return this.id; } - public getColumnFilters(columns: DataColumns, columnName: string): DataTableFilters { + 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): DataTableFilters => { - const column = columns.find(c => c.name === columnName); +export const getDataExplorerColumnFilters = ( + columns: DataColumns, + columnName: string +): DataTableFilters => { + const column = columns.find((c) => c.name === columnName); return column ? column.filters : createTree(); }; @@ -38,8 +47,12 @@ export const dataExplorerToListParams = (dataExplorer: DataExplorer) => ({ offset: dataExplorer.page * dataExplorer.rowsPerPage, }); -export const listResultsToDataExplorerItemsMeta = ({ itemsAvailable, offset, limit }: ListResults) => ({ +export const listResultsToDataExplorerItemsMeta = ({ + itemsAvailable, + offset, + limit, +}: ListResults) => ({ itemsAvailable, page: Math.floor(offset / limit), - rowsPerPage: limit + rowsPerPage: limit, });