X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/9b29a65b9f9f02b338445c12b5d08b292f797c1c..73122efb6429184611d17b3278ecbe9c2e26a6c2:/src/store/data-explorer/data-explorer-reducer.ts diff --git a/src/store/data-explorer/data-explorer-reducer.ts b/src/store/data-explorer/data-explorer-reducer.ts index 0fa3290544..c6aa7116b8 100644 --- a/src/store/data-explorer/data-explorer-reducer.ts +++ b/src/store/data-explorer/data-explorer-reducer.ts @@ -7,10 +7,10 @@ import { resetSortDirection, SortDirection, toggleSortDirection -} from "~/components/data-table/data-column"; -import { DataExplorerAction, dataExplorerActions } from "./data-explorer-action"; -import { DataColumns, DataTableFetchMode } from "~/components/data-table/data-table"; -import { DataTableFilters } from "~/components/data-table-filters/data-table-filters-tree"; +} from "components/data-table/data-column"; +import { DataExplorerAction, dataExplorerActions, DataTableRequestState } from "./data-explorer-action"; +import { DataColumns, DataTableFetchMode } from "components/data-table/data-table"; +import { DataTableFilters } from "components/data-table-filters/data-table-filters-tree"; export interface DataExplorer { fetchMode: DataTableFetchMode; @@ -22,6 +22,7 @@ export interface DataExplorer { rowsPerPageOptions: number[]; searchValue: string; working?: boolean; + requestState: DataTableRequestState; } export const initialDataExplorer: DataExplorer = { @@ -30,9 +31,10 @@ export const initialDataExplorer: DataExplorer = { items: [], itemsAvailable: 0, page: 0, - rowsPerPage: 10, - rowsPerPageOptions: [5, 10, 25, 50], - searchValue: "" + rowsPerPage: 50, + rowsPerPageOptions: [50, 100, 200, 500], + searchValue: "", + requestState: DataTableRequestState.IDLE }; export type DataExplorerState = Record; @@ -75,6 +77,9 @@ export const dataExplorerReducer = (state: DataExplorerState = {}, action: DataE SET_EXPLORER_SEARCH_VALUE: ({ id, searchValue }) => update(state, id, explorer => ({ ...explorer, searchValue })), + SET_REQUEST_STATE: ({ id, requestState }) => + update(state, id, explorer => ({ ...explorer, requestState })), + TOGGLE_SORT: ({ id, columnName }) => update(state, id, mapColumns(toggleSort(columnName))),