X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/52cc3b912c703c24bc90e67aaf24e8ad912d3ebf..2badeb3fe6beb308b952ab2b7101ed4547c04e10:/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 bbfea7acd5..96ef952493 100644 --- a/src/components/data-table/data-column.ts +++ b/src/components/data-table/data-column.ts @@ -4,19 +4,23 @@ import { DataTableFilterItem } from "../data-table-filters/data-table-filters"; -export interface DataColumn { +export interface DataColumn { name: string; selected: boolean; configurable?: boolean; key?: React.Key; sortDirection?: SortDirection; - filters?: DataTableFilterItem[]; + filters?: F[]; render: (item: T) => React.ReactElement; renderHeader?: () => React.ReactElement | null; width?: string; } -export type SortDirection = "asc" | "desc" | "none"; +export enum SortDirection { + ASC = "asc", + DESC = "desc", + NONE = "none" +} export const isColumnConfigurable = (column: DataColumn) => { return column.configurable === undefined || column.configurable; @@ -24,12 +28,12 @@ export const isColumnConfigurable = (column: DataColumn) => { export const toggleSortDirection = (column: DataColumn): DataColumn => { return column.sortDirection - ? column.sortDirection === "asc" - ? { ...column, sortDirection: "desc" } - : { ...column, sortDirection: "asc" } + ? column.sortDirection === SortDirection.ASC + ? { ...column, sortDirection: SortDirection.DESC } + : { ...column, sortDirection: SortDirection.ASC } : column; }; export const resetSortDirection = (column: DataColumn): DataColumn => { - return column.sortDirection ? { ...column, sortDirection: "none" } : column; + return column.sortDirection ? { ...column, sortDirection: SortDirection.NONE } : column; };