projects
/
arvados-workbench2.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
18207: Makes 'working' status work in 'Shared with me' & 'Groups' DataExplorers
[arvados-workbench2.git]
/
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 90e87a88b0a7225a9cbea0d7b842e5146a593d4c..f32fea2b5237c85fbdad07048258f4d94fb6794c 100644
(file)
--- a/
src/components/data-table/data-column.ts
+++ b/
src/components/data-table/data-column.ts
@@
-2,19
+2,25
@@
//
// SPDX-License-Identifier: AGPL-3.0
//
// SPDX-License-Identifier: AGPL-3.0
-import * as React from "react";
-import { DataTableFilterItem } from "../data-table-filters/data-table-filters";
+import React from "react";
+import { DataTableFilters } from "../data-table-filters/data-table-filters-tree";
+import { createTree } from 'models/tree';
-export interface DataColumn<T
, F extends DataTableFilterItem = DataTableFilterItem
> {
+export interface DataColumn<T> {
key?: React.Key;
name: string;
selected: boolean;
configurable: boolean;
key?: React.Key;
name: string;
selected: boolean;
configurable: boolean;
- sortDirection: SortDirection;
- filters: F[];
+
+ /**
+ * If set to true, filters on this column will be displayed in a
+ * radio group and only one filter can be selected at a time.
+ */
+ mutuallyExclusiveFilters?: boolean;
+ sortDirection?: SortDirection;
+ filters: DataTableFilters;
render: (item: T) => React.ReactElement<any>;
renderHeader?: () => React.ReactElement<any>;
render: (item: T) => React.ReactElement<any>;
renderHeader?: () => React.ReactElement<any>;
- width?: string;
}
export enum SortDirection {
}
export enum SortDirection {
@@
-35,13
+41,13
@@
export const resetSortDirection = <T>(column: DataColumn<T>): DataColumn<T> => {
return column.sortDirection ? { ...column, sortDirection: SortDirection.NONE } : column;
};
return column.sortDirection ? { ...column, sortDirection: SortDirection.NONE } : column;
};
-export const createDataColumn = <T
, F extends DataTableFilterItem>(dataColumn: Partial<DataColumn<T, F>>): DataColumn<T, F
> => ({
+export const createDataColumn = <T
>(dataColumn: Partial<DataColumn<T>>): DataColumn<T
> => ({
key: '',
name: '',
selected: true,
configurable: true,
sortDirection: SortDirection.NONE,
key: '',
name: '',
selected: true,
configurable: true,
sortDirection: SortDirection.NONE,
- filters:
[]
,
+ filters:
createTree()
,
render: () => React.createElement('span'),
...dataColumn,
});
render: () => React.createElement('span'),
...dataColumn,
});