SortDirection,
toggleSortDirection
} from "~/components/data-table/data-column";
-import { DataExplorerAction, dataExplorerActions } from "./data-explorer-action";
+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";
rowsPerPageOptions: number[];
searchValue: string;
working?: boolean;
+ requestState: DataTableRequestState;
}
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<string, DataExplorer>;
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))),