X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/897d589c887f2421ade0c67c0e59c1502711254a..a54420c0b7b6566ecf9d0f04835e6d8a3ef165d9:/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 1e875054..e93d291d 100644 --- a/src/store/data-explorer/data-explorer-reducer.ts +++ b/src/store/data-explorer/data-explorer-reducer.ts @@ -21,7 +21,7 @@ import { DataTableFilters } from 'components/data-table-filters/data-table-filte export interface DataExplorer { fetchMode: DataTableFetchMode; - columns: DataColumns; + columns: DataColumns; items: any[]; itemsAvailable: number; page: number; @@ -97,6 +97,9 @@ export const dataExplorerReducer = ( SET_EXPLORER_SEARCH_VALUE: ({ id, searchValue }) => update(state, id, (explorer) => ({ ...explorer, searchValue })), + RESET_EXPLORER_SEARCH_VALUE: ({ id }) => + update(state, id, (explorer) => ({ ...explorer, searchValue: '' })), + SET_REQUEST_STATE: ({ id, requestState }) => update(state, id, (explorer) => ({ ...explorer, requestState })), @@ -114,9 +117,9 @@ export const getDataExplorer = (state: DataExplorerState, id: string) => { return returnValue; }; -export const getSortColumn = (dataExplorer: DataExplorer) => +export const getSortColumn = (dataExplorer: DataExplorer): DataColumn | undefined => dataExplorer.columns.find( - (c: any) => !!c.sortDirection && c.sortDirection !== SortDirection.NONE + (c: DataColumn) => !!c.sort && c.sort.direction !== SortDirection.NONE ); const update = ( @@ -126,8 +129,8 @@ const update = ( ) => ({ ...state, [id]: updateFn(getDataExplorer(state, id)) }); const canUpdateColumns = ( - prevColumns: DataColumns, - nextColumns: DataColumns + prevColumns: DataColumns, + nextColumns: DataColumns ) => { if (prevColumns.length !== nextColumns.length) { return true; @@ -143,7 +146,7 @@ const canUpdateColumns = ( }; const setColumns = - (columns: DataColumns) => (dataExplorer: DataExplorer) => ({ + (columns: DataColumns) => (dataExplorer: DataExplorer) => ({ ...dataExplorer, columns: canUpdateColumns(dataExplorer.columns, columns) ? columns @@ -151,23 +154,23 @@ const setColumns = }); const mapColumns = - (mapFn: (column: DataColumn) => DataColumn) => + (mapFn: (column: DataColumn) => DataColumn) => (dataExplorer: DataExplorer) => ({ ...dataExplorer, columns: dataExplorer.columns.map(mapFn), }); -const toggleSort = (columnName: string) => (column: DataColumn) => +const toggleSort = (columnName: string) => (column: DataColumn) => column.name === columnName ? toggleSortDirection(column) : resetSortDirection(column); -const toggleColumn = (columnName: string) => (column: DataColumn) => +const toggleColumn = (columnName: string) => (column: DataColumn) => column.name === columnName ? { ...column, selected: !column.selected } : column; const setFilters = (columnName: string, filters: DataTableFilters) => - (column: DataColumn) => + (column: DataColumn) => column.name === columnName ? { ...column, filters } : column;