X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/fd79729916cf6ddf27063b1865d39a36abb9e038..3eaf143e04107bf25e15aaef4d1b4d5d7ef68f86:/src/components/data-table/data-column.ts diff --git a/src/components/data-table/data-column.ts b/src/components/data-table/data-column.ts index 7ac568a2..bbfea7ac 100644 --- a/src/components/data-table/data-column.ts +++ b/src/components/data-table/data-column.ts @@ -10,24 +10,26 @@ export interface DataColumn { configurable?: boolean; key?: React.Key; sortDirection?: SortDirection; - onSortToggle?: () => void; filters?: DataTableFilterItem[]; - onFiltersChange?: (filters: DataTableFilterItem[]) => void; render: (item: T) => React.ReactElement; renderHeader?: () => React.ReactElement | null; + width?: string; } -export type SortDirection = "asc" | "desc"; +export type SortDirection = "asc" | "desc" | "none"; export const isColumnConfigurable = (column: DataColumn) => { return column.configurable === undefined || column.configurable; }; export const toggleSortDirection = (column: DataColumn): DataColumn => { - const sortDirection = column.sortDirection === undefined || column.sortDirection === "desc" ? "asc" : "desc"; - return { ...column, sortDirection }; + return column.sortDirection + ? column.sortDirection === "asc" + ? { ...column, sortDirection: "desc" } + : { ...column, sortDirection: "asc" } + : column; }; export const resetSortDirection = (column: DataColumn): DataColumn => { - return { ...column, sortDirection: undefined }; + return column.sortDirection ? { ...column, sortDirection: "none" } : column; };