X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/37e43f4e19ad2bd27b15fe7f0d857218dad39055..d911869b4340a32575e3a2cdce26ebd543522e42:/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 ac35c02395..90e87a88b0 100644 --- a/src/components/data-table/data-column.ts +++ b/src/components/data-table/data-column.ts @@ -2,16 +2,16 @@ // // SPDX-License-Identifier: AGPL-3.0 -import { DataTableFilterItem } from "../data-table-filters/data-table-filters"; import * as React from "react"; +import { DataTableFilterItem } from "../data-table-filters/data-table-filters"; export interface DataColumn { + key?: React.Key; name: string; selected: boolean; configurable: boolean; - key?: React.Key; - sortDirection?: SortDirection; - filters?: F[]; + sortDirection: SortDirection; + filters: F[]; render: (item: T) => React.ReactElement; renderHeader?: () => React.ReactElement; width?: string; @@ -34,3 +34,14 @@ export const toggleSortDirection = (column: DataColumn): DataColumn => export const resetSortDirection = (column: DataColumn): DataColumn => { return column.sortDirection ? { ...column, sortDirection: SortDirection.NONE } : column; }; + +export const createDataColumn = (dataColumn: Partial>): DataColumn => ({ + key: '', + name: '', + selected: true, + configurable: true, + sortDirection: SortDirection.NONE, + filters: [], + render: () => React.createElement('span'), + ...dataColumn, +});