@cdx-ui/data-grid 0.3.10 → 0.3.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/coverage.svg +1 -1
- package/lib/commonjs/DataGrid.js +232 -62
- package/lib/commonjs/DataGrid.js.map +1 -1
- package/lib/commonjs/DataGridFilterPanel.js +420 -0
- package/lib/commonjs/DataGridFilterPanel.js.map +1 -0
- package/lib/commonjs/adapter/columnTypes.js +256 -0
- package/lib/commonjs/adapter/columnTypes.js.map +1 -0
- package/lib/commonjs/adapter/columns.js +132 -4
- package/lib/commonjs/adapter/columns.js.map +1 -1
- package/lib/commonjs/adapter/filterOperators.js +422 -0
- package/lib/commonjs/adapter/filterOperators.js.map +1 -0
- package/lib/commonjs/adapter/pinning.js +101 -0
- package/lib/commonjs/adapter/pinning.js.map +1 -0
- package/lib/commonjs/index.js +26 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/numberCells.js +280 -0
- package/lib/commonjs/numberCells.js.map +1 -0
- package/lib/commonjs/styles.js +61 -1
- package/lib/commonjs/styles.js.map +1 -1
- package/lib/commonjs/types.js +29 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/useDataGridTable.js +98 -13
- package/lib/commonjs/useDataGridTable.js.map +1 -1
- package/lib/module/DataGrid.js +237 -67
- package/lib/module/DataGrid.js.map +1 -1
- package/lib/module/DataGridFilterPanel.js +414 -0
- package/lib/module/DataGridFilterPanel.js.map +1 -0
- package/lib/module/adapter/columnTypes.js +240 -0
- package/lib/module/adapter/columnTypes.js.map +1 -0
- package/lib/module/adapter/columns.js +129 -4
- package/lib/module/adapter/columns.js.map +1 -1
- package/lib/module/adapter/filterOperators.js +406 -0
- package/lib/module/adapter/filterOperators.js.map +1 -0
- package/lib/module/adapter/pinning.js +90 -0
- package/lib/module/adapter/pinning.js.map +1 -0
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/numberCells.js +275 -0
- package/lib/module/numberCells.js.map +1 -0
- package/lib/module/styles.js +60 -0
- package/lib/module/styles.js.map +1 -1
- package/lib/module/types.js +28 -0
- package/lib/module/types.js.map +1 -1
- package/lib/module/useDataGridTable.js +99 -14
- package/lib/module/useDataGridTable.js.map +1 -1
- package/lib/typescript/DataGrid.d.ts.map +1 -1
- package/lib/typescript/DataGridFilterPanel.d.ts +17 -0
- package/lib/typescript/DataGridFilterPanel.d.ts.map +1 -0
- package/lib/typescript/adapter/columnTypes.d.ts +32 -0
- package/lib/typescript/adapter/columnTypes.d.ts.map +1 -0
- package/lib/typescript/adapter/columns.d.ts +14 -5
- package/lib/typescript/adapter/columns.d.ts.map +1 -1
- package/lib/typescript/adapter/filterOperators.d.ts +43 -0
- package/lib/typescript/adapter/filterOperators.d.ts.map +1 -0
- package/lib/typescript/adapter/pinning.d.ts +25 -0
- package/lib/typescript/adapter/pinning.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +4 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/numberCells.d.ts +46 -0
- package/lib/typescript/numberCells.d.ts.map +1 -0
- package/lib/typescript/styles.d.ts +21 -0
- package/lib/typescript/styles.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +86 -7
- package/lib/typescript/types.d.ts.map +1 -1
- package/lib/typescript/useDataGridTable.d.ts +18 -4
- package/lib/typescript/useDataGridTable.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/DataGrid.tsx +377 -67
- package/src/DataGridFilterPanel.tsx +477 -0
- package/src/adapter/columnTypes.ts +327 -0
- package/src/adapter/columns.test.ts +75 -1
- package/src/adapter/columns.ts +178 -3
- package/src/adapter/filterOperators.test.ts +292 -0
- package/src/adapter/filterOperators.ts +524 -0
- package/src/adapter/pinning.ts +125 -0
- package/src/index.ts +15 -0
- package/src/numberCells.tsx +379 -0
- package/src/styles.ts +75 -0
- package/src/types.ts +114 -7
- package/src/useDataGridTable.test.ts +69 -0
- package/src/useDataGridTable.ts +127 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactTable","_selectColumn","_columns","_types","features","tableFeatures","columnFilteringFeature","globalFilteringFeature","rowSortingFeature","rowPaginationFeature","rowSelectionFeature","filteredRowModel","createFilteredRowModel","sortedRowModel","createSortedRowModel","paginatedRowModel","createPaginatedRowModel","filterFns","includesString","filterFn_includesString","sortFns","alphanumeric","sortFn_alphanumeric","text","sortFn_text","sortModelToSortingState","model","map","item","id","field","desc","sort","sortingStateToSortModel","state","filter","SELECT_COLUMN_ID","slice","paginationModelToState","pageIndex","page","pageSize","paginationStateToModel","columnFilterValueToString","value","String","filterModelToColumnFilters","trim","length","columnFiltersToFilterModel","selectionIdKey","selectionModelToRowSelection","allIds","selected","Set","type","ids","add","has","Object","fromEntries","rowSelectionToModel","previousModel","currentIdsByKey","Map","set","selectedKeys","keys","key","delete","resolveRowId","row","getRowId","__DEV__","console","warn","useDataGridTable","rows","columns","checkboxSelection","disableColumnSorting","paginationMode","sortingMode","filterMode","rowCount","sortModel","onSortModelChange","paginationModel","onPaginationModelChange","filterModel","onFilterModelChange","quickFilter","onQuickFilterChange","rowSelectionModel","onRowSelectionModelChange","data","useMemo","columnDefs","mapped","col","def","gridColDefToColumnDef","enableSorting","createSelectColumn","sortingState","paginationState","columnFilterState","rowSelectionState","resetPaginationPage","setQuickFilter","setColumnFilter","next","push","table","useTable","enableMultiSort","enableMultiRowSelection","manualPagination","manualSorting","manualFiltering","autoResetPageIndex","undefined","sorting","pagination","columnFilters","globalFilter","rowSelection","onSortingChange","updater","applyUpdater","onPaginationChange","onColumnFiltersChange","onGlobalFilterChange","onRowSelectionChange"],"sourceRoot":"../../src","sources":["useDataGridTable.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","require","_reactTable","_selectColumn","_columns","_columnTypes","_filterOperators","_types","gridGlobalFilterFn","row","columnId","filterValue","SELECT_COLUMN_ID","meta","getAllCells","find","cell","column","id","columnDef","metaUsesDisplayFilter","filterFn_displayText","untypedCellIncludesQuery","getValue","normalizeFilterQuery","features","tableFeatures","columnFilteringFeature","columnPinningFeature","globalFilteringFeature","rowSortingFeature","rowPaginationFeature","rowSelectionFeature","filteredRowModel","createFilteredRowModel","sortedRowModel","createSortedRowModel","paginatedRowModel","createPaginatedRowModel","filterFns","includesString","filterFn_includesString","sortFns","alphanumeric","sortFn_alphanumeric","text","sortFn_text","number","sortFn_number","datetime","sortFn_datetime","boolean","sortFn_boolean","selectLabel","sortFn_selectLabel","sortModelToSortingState","model","map","item","field","desc","sort","sortingStateToSortModel","state","filter","slice","paginationModelToState","pageIndex","page","pageSize","paginationStateToModel","columnFilterValueToString","value","String","filterModelToColumnFilters","valuesByField","Map","operator","undefined","filterOperatorNeedsValue","isBlankFilterValue","trim","length","values","get","push","set","items","columnFilterValueToItem","isOperatorFilterValue","columnFiltersToFilterModel","flatMap","isFilterValueGroup","selectionIdKey","selectionModelToRowSelection","allIds","selected","Set","type","ids","add","has","Object","fromEntries","rowSelectionToModel","previousModel","currentIdsByKey","selectedKeys","keys","key","delete","resolveRowId","getRowId","__DEV__","console","warn","useDataGridTable","rows","columns","checkboxSelection","disableColumnSorting","paginationMode","sortingMode","filterMode","rowCount","sortModel","onSortModelChange","paginationModel","onPaginationModelChange","filterModel","onFilterModelChange","filterLogicOperator","quickFilter","onQuickFilterChange","rowSelectionModel","onRowSelectionModelChange","columnPinning","orFilterItems","useMemo","active","isActiveFilterItem","data","filterableColumns","col","filterable","some","rowMatchesFilterItem","columnDefs","mapped","def","gridColDefToColumnDef","enableSorting","createSelectColumn","sortingState","paginationState","columnFilterState","rowSelectionState","resetPaginationPage","setQuickFilter","setColumnFilter","next","table","useTable","enableMultiSort","enableMultiRowSelection","globalFilterFn","manualPagination","manualSorting","manualFiltering","autoResetPageIndex","sorting","pagination","columnFilters","globalFilter","rowSelection","onSortingChange","updater","applyUpdater","onPaginationChange","onColumnFiltersChange","onGlobalFilterChange","onRowSelectionChange","setFilterModel"],"sourceRoot":"../../src","sources":["useDataGridTable.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/DataGrid.js
CHANGED
|
@@ -1,22 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { useMemo } from 'react';
|
|
4
|
-
import { Platform, View } from 'react-native';
|
|
5
|
-
import { Checkbox, IconButton, Input, Skeleton, Table, TablePagination, Text } from '@cdx-ui/components';
|
|
6
|
-
import { KeyboardArrowDown, KeyboardArrowUp, Search } from '@cdx-ui/icons';
|
|
3
|
+
import { useMemo, useRef, useState } from 'react';
|
|
4
|
+
import { I18nManager, Platform, View } from 'react-native';
|
|
5
|
+
import { Checkbox, Icon, IconButton, Input, Skeleton, Table, TablePagination, Text } from '@cdx-ui/components';
|
|
6
|
+
import { Check, Close, FilterList, KeyboardArrowDown, KeyboardArrowUp, Search } from '@cdx-ui/icons';
|
|
7
7
|
import { dataAttributes, mergeDataAttributes } from '@cdx-ui/primitives';
|
|
8
8
|
import { cn, useControllableState } from '@cdx-ui/utils';
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
9
|
+
import { normalizePinnedColumns, resolveColumnAlign, resolveColumnHeaderAlign } from './adapter/columns';
|
|
10
|
+
import { DEFAULT_PINNED_COLUMN_WIDTH, SELECT_COLUMN_WIDTH, buildPinnedOffsets, isColumnPinningActive, pinnedCellStyle, pinnedEdgeGuidesImage, pinnedFieldSet, warnPinnedFlexColumns } from './adapter/pinning';
|
|
11
|
+
import { getTypedCellText } from './adapter/columnTypes';
|
|
12
|
+
import { DataGridFilterPanel } from './DataGridFilterPanel';
|
|
13
|
+
import { dataGridBodyVariants, dataGridCellVariants, dataGridEmptyOverlayVariants, dataGridFilterInputVariants, dataGridFooterVariants, dataGridHeadVariants, dataGridHeaderCellInnerVariants, dataGridHeaderLabelVariants, dataGridHeaderVariants, dataGridMainVariants, dataGridOverlayVariants, dataGridPaginationRangeVariants, dataGridPaginationVariants, dataGridPinnedEdgeVariants, dataGridPinnedSurfaceVariants, dataGridRootVariants, dataGridSelectCellVariants, dataGridSelectHeadVariants, dataGridSortButtonVariants, dataGridTableVariants, dataGridToolbarActionsVariants, dataGridToolbarSearchVariants, dataGridToolbarVariants } from './styles';
|
|
11
14
|
import { DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PAGINATION_MODEL, EMPTY_SELECTION, SELECT_COLUMN_ID } from './types';
|
|
12
15
|
import { resolveRowId, useDataGridTable } from './useDataGridTable';
|
|
13
|
-
import { jsx as _jsx,
|
|
16
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
17
|
const MAX_SKELETON_ROW_COUNT = 10;
|
|
15
18
|
const DEFAULT_WEB_COLUMN_WIDTH = 100;
|
|
16
|
-
const SELECT_COLUMN_WIDTH = 56;
|
|
17
19
|
const WEB_TABLE_CONTAINER_STYLE = {
|
|
18
20
|
overflow: 'visible'
|
|
19
21
|
};
|
|
22
|
+
// Same token as the pinned cells' `border-stroke-secondary` divider.
|
|
23
|
+
const PINNED_EDGE_COLOR = 'var(--color-stroke-secondary)';
|
|
20
24
|
function cellStyle(col, webWidth) {
|
|
21
25
|
if (!col) {
|
|
22
26
|
return undefined;
|
|
@@ -39,36 +43,96 @@ function cellStyle(col, webWidth) {
|
|
|
39
43
|
}
|
|
40
44
|
return Object.keys(style).length > 0 ? style : undefined;
|
|
41
45
|
}
|
|
42
|
-
function
|
|
43
|
-
|
|
46
|
+
function effectiveFlex(column, pinned) {
|
|
47
|
+
if (pinned.has(column.field)) {
|
|
48
|
+
return 0;
|
|
49
|
+
}
|
|
50
|
+
return Math.max(column.flex ?? 0, 0);
|
|
51
|
+
}
|
|
52
|
+
function webColumnWidths(columns, checkboxSelection, pinned = new Set()) {
|
|
53
|
+
const totalFlex = columns.reduce((total, column) => total + effectiveFlex(column, pinned), 0);
|
|
44
54
|
const widths = new Map();
|
|
45
55
|
if (totalFlex === 0) {
|
|
46
56
|
for (const column of columns) {
|
|
47
|
-
if (column.
|
|
57
|
+
if (pinned.has(column.field)) {
|
|
58
|
+
widths.set(column.field, Math.max(column.width ?? DEFAULT_PINNED_COLUMN_WIDTH, column.minWidth ?? 0));
|
|
59
|
+
} else if (column.width !== undefined) {
|
|
48
60
|
widths.set(column.field, column.width);
|
|
49
61
|
}
|
|
50
62
|
}
|
|
51
63
|
return widths;
|
|
52
64
|
}
|
|
53
65
|
const fixedWidth = (checkboxSelection ? SELECT_COLUMN_WIDTH : 0) + columns.reduce((total, column) => {
|
|
54
|
-
if ((column
|
|
66
|
+
if (effectiveFlex(column, pinned) > 0) {
|
|
55
67
|
return total;
|
|
56
68
|
}
|
|
57
|
-
|
|
69
|
+
const fallback = pinned.has(column.field) ? DEFAULT_PINNED_COLUMN_WIDTH : DEFAULT_WEB_COLUMN_WIDTH;
|
|
70
|
+
return total + Math.max(column.width ?? fallback, column.minWidth ?? 0);
|
|
58
71
|
}, 0);
|
|
59
72
|
for (const column of columns) {
|
|
60
|
-
|
|
61
|
-
|
|
73
|
+
const flex = effectiveFlex(column, pinned);
|
|
74
|
+
if (flex > 0) {
|
|
75
|
+
const share = flex / totalFlex;
|
|
62
76
|
const percentage = share * 100;
|
|
63
77
|
const fixedShare = fixedWidth * share;
|
|
64
78
|
const width = `calc(${percentage.toString()}% - ${fixedShare.toString()}px)`;
|
|
65
79
|
widths.set(column.field, column.minWidth === undefined ? width : `max(${column.minWidth.toString()}px, ${width})`);
|
|
66
80
|
} else {
|
|
67
|
-
|
|
81
|
+
const fallback = pinned.has(column.field) ? DEFAULT_PINNED_COLUMN_WIDTH : DEFAULT_WEB_COLUMN_WIDTH;
|
|
82
|
+
widths.set(column.field, Math.max(column.width ?? fallback, column.minWidth ?? 0));
|
|
68
83
|
}
|
|
69
84
|
}
|
|
70
85
|
return widths;
|
|
71
86
|
}
|
|
87
|
+
function pinMetaFor(columnId, pinning) {
|
|
88
|
+
const startIndex = pinning.start.indexOf(columnId);
|
|
89
|
+
if (startIndex >= 0) {
|
|
90
|
+
return {
|
|
91
|
+
edge: 'start',
|
|
92
|
+
isEdgeDivider: startIndex === pinning.start.length - 1
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
const endIndex = pinning.end.indexOf(columnId);
|
|
96
|
+
if (endIndex >= 0) {
|
|
97
|
+
return {
|
|
98
|
+
edge: 'end',
|
|
99
|
+
isEdgeDivider: endIndex === 0
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
return {
|
|
103
|
+
edge: false,
|
|
104
|
+
isEdgeDivider: false
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
function mergePinnedStyle(base, pin, offsets, columnId, isHeader) {
|
|
108
|
+
if (!pin.edge || offsets == null) {
|
|
109
|
+
return base;
|
|
110
|
+
}
|
|
111
|
+
const offset = pin.edge === 'start' ? offsets.start.get(columnId) ?? 0 : offsets.end.get(columnId) ?? 0;
|
|
112
|
+
return {
|
|
113
|
+
...base,
|
|
114
|
+
...pinnedCellStyle(pin.edge, offset, isHeader)
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
function pinnedClassName(pin, isHeader) {
|
|
118
|
+
if (!pin.edge) {
|
|
119
|
+
return undefined;
|
|
120
|
+
}
|
|
121
|
+
return cn(dataGridPinnedSurfaceVariants({
|
|
122
|
+
header: isHeader
|
|
123
|
+
}), dataGridPinnedEdgeVariants({
|
|
124
|
+
edge: pin.isEdgeDivider ? pin.edge : 'none'
|
|
125
|
+
}));
|
|
126
|
+
}
|
|
127
|
+
function BooleanCell({
|
|
128
|
+
value
|
|
129
|
+
}) {
|
|
130
|
+
return /*#__PURE__*/_jsx(Icon, {
|
|
131
|
+
as: value ? Check : Close,
|
|
132
|
+
accessibilityLabel: value ? 'Yes' : 'No',
|
|
133
|
+
className: "size-5"
|
|
134
|
+
});
|
|
135
|
+
}
|
|
72
136
|
function defaultCellContent(value) {
|
|
73
137
|
if (value == null) {
|
|
74
138
|
return '';
|
|
@@ -90,28 +154,44 @@ function DefaultLoadingRows({
|
|
|
90
154
|
columns,
|
|
91
155
|
checkboxSelection,
|
|
92
156
|
rowCount,
|
|
93
|
-
columnWidths
|
|
157
|
+
columnWidths,
|
|
158
|
+
orderedColumnIds,
|
|
159
|
+
pinning,
|
|
160
|
+
offsets
|
|
94
161
|
}) {
|
|
162
|
+
const colByField = new Map(columns.map(column => [column.field, column]));
|
|
163
|
+
const ids = orderedColumnIds ?? (checkboxSelection ? [SELECT_COLUMN_ID, ...columns.map(column => column.field)] : columns.map(column => column.field));
|
|
95
164
|
return /*#__PURE__*/_jsx(_Fragment, {
|
|
96
165
|
children: Array.from({
|
|
97
166
|
length: rowCount
|
|
98
|
-
}, (_, rowIndex) => /*#__PURE__*/
|
|
167
|
+
}, (_, rowIndex) => /*#__PURE__*/_jsx(Table.Row, {
|
|
99
168
|
className: "pointer-events-none web:hover:bg-surface-primary",
|
|
100
169
|
testID: rowIndex === 0 ? 'data-grid-default-loading-rows' : undefined,
|
|
101
|
-
children:
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
170
|
+
children: ids.map(columnId => {
|
|
171
|
+
const pin = pinMetaFor(columnId, pinning);
|
|
172
|
+
if (columnId === SELECT_COLUMN_ID) {
|
|
173
|
+
return /*#__PURE__*/_jsx(Table.Cell, {
|
|
174
|
+
align: "center",
|
|
175
|
+
className: cn(dataGridSelectCellVariants(), pinnedClassName(pin, false)),
|
|
176
|
+
style: mergePinnedStyle(undefined, pin, offsets, columnId, false),
|
|
177
|
+
children: /*#__PURE__*/_jsx(Skeleton, {
|
|
178
|
+
className: "size-5"
|
|
179
|
+
})
|
|
180
|
+
}, columnId);
|
|
181
|
+
}
|
|
182
|
+
const column = colByField.get(columnId);
|
|
183
|
+
if (!column) {
|
|
184
|
+
return null;
|
|
185
|
+
}
|
|
186
|
+
return /*#__PURE__*/_jsx(Table.Cell, {
|
|
187
|
+
align: resolveColumnAlign(column),
|
|
188
|
+
className: cn(dataGridCellVariants(), pinnedClassName(pin, false)),
|
|
189
|
+
style: mergePinnedStyle(cellStyle(column, columnWidths.get(column.field)), pin, offsets, column.field, false),
|
|
190
|
+
children: /*#__PURE__*/_jsx(Skeleton, {
|
|
191
|
+
className: "h-4 w-3/5"
|
|
192
|
+
})
|
|
193
|
+
}, column.field);
|
|
194
|
+
})
|
|
115
195
|
}, rowIndex))
|
|
116
196
|
});
|
|
117
197
|
}
|
|
@@ -144,6 +224,7 @@ function DataGridInner(props) {
|
|
|
144
224
|
rowCount,
|
|
145
225
|
showToolbar = false,
|
|
146
226
|
headerFilters = false,
|
|
227
|
+
pinnedColumns,
|
|
147
228
|
pageSizeOptions = DEFAULT_PAGE_SIZE_OPTIONS,
|
|
148
229
|
noRowsOverlay,
|
|
149
230
|
loadingOverlay,
|
|
@@ -169,6 +250,11 @@ function DataGridInner(props) {
|
|
|
169
250
|
defaultProp: props.defaultFilterModel ?? [],
|
|
170
251
|
onChange: props.onFilterModelChange
|
|
171
252
|
});
|
|
253
|
+
const [filterLogicOperator, setFilterLogicOperator] = useControllableState({
|
|
254
|
+
prop: props.filterLogicOperator,
|
|
255
|
+
defaultProp: props.defaultFilterLogicOperator ?? 'and',
|
|
256
|
+
onChange: props.onFilterLogicOperatorChange
|
|
257
|
+
});
|
|
172
258
|
const [quickFilter, setQuickFilter] = useControllableState({
|
|
173
259
|
prop: props.quickFilter,
|
|
174
260
|
defaultProp: props.defaultQuickFilter ?? '',
|
|
@@ -182,12 +268,18 @@ function DataGridInner(props) {
|
|
|
182
268
|
const resolvedSortModel = sortModel ?? [];
|
|
183
269
|
const resolvedPagination = paginationModel ?? DEFAULT_PAGINATION_MODEL;
|
|
184
270
|
const resolvedFilterModel = filterModel ?? [];
|
|
271
|
+
const resolvedFilterLogicOperator = filterLogicOperator ?? 'and';
|
|
185
272
|
const resolvedQuickFilter = quickFilter ?? '';
|
|
186
273
|
const resolvedSelection = rowSelectionModel ?? EMPTY_SELECTION;
|
|
274
|
+
const knownFields = useMemo(() => new Set(columns.map(column => column.field)), [columns]);
|
|
275
|
+
const columnPinning = useMemo(() => normalizePinnedColumns(pinnedColumns, knownFields, checkboxSelection), [pinnedColumns, knownFields, checkboxSelection]);
|
|
276
|
+
const pinningActive = isColumnPinningActive(columnPinning);
|
|
277
|
+
const pinnedFields = useMemo(() => pinnedFieldSet(columnPinning), [columnPinning]);
|
|
187
278
|
const {
|
|
188
279
|
table,
|
|
189
280
|
setQuickFilter: setQuickFilterWithPageReset,
|
|
190
|
-
setColumnFilter
|
|
281
|
+
setColumnFilter,
|
|
282
|
+
setFilterModel: setFilterModelWithPageReset
|
|
191
283
|
} = useDataGridTable({
|
|
192
284
|
rows,
|
|
193
285
|
columns,
|
|
@@ -204,10 +296,12 @@ function DataGridInner(props) {
|
|
|
204
296
|
onPaginationModelChange: model => setPaginationModel(model),
|
|
205
297
|
filterModel: resolvedFilterModel,
|
|
206
298
|
onFilterModelChange: model => setFilterModel(model),
|
|
299
|
+
filterLogicOperator: resolvedFilterLogicOperator,
|
|
207
300
|
quickFilter: resolvedQuickFilter,
|
|
208
301
|
onQuickFilterChange: value => setQuickFilter(value),
|
|
209
302
|
rowSelectionModel: resolvedSelection,
|
|
210
|
-
onRowSelectionModelChange: model => setRowSelectionModel(model)
|
|
303
|
+
onRowSelectionModelChange: model => setRowSelectionModel(model),
|
|
304
|
+
columnPinning
|
|
211
305
|
});
|
|
212
306
|
const colByField = useMemo(() => {
|
|
213
307
|
const map = new Map();
|
|
@@ -216,8 +310,32 @@ function DataGridInner(props) {
|
|
|
216
310
|
}
|
|
217
311
|
return map;
|
|
218
312
|
}, [columns]);
|
|
219
|
-
|
|
220
|
-
const
|
|
313
|
+
warnPinnedFlexColumns(columns, pinnedFields);
|
|
314
|
+
const columnWidths = useMemo(() => webColumnWidths(columns, checkboxSelection, pinnedFields), [checkboxSelection, columns, pinnedFields]);
|
|
315
|
+
const hasFlexColumns = useMemo(() => columns.some(column => effectiveFlex(column, pinnedFields) > 0), [columns, pinnedFields]);
|
|
316
|
+
const pinnedOffsets = useMemo(() => pinningActive ? buildPinnedOffsets(columnPinning, colByField) : null, [pinningActive, columnPinning, colByField]);
|
|
317
|
+
const orderedLeafColumnIds = useMemo(() => {
|
|
318
|
+
if (!pinningActive) {
|
|
319
|
+
return undefined;
|
|
320
|
+
}
|
|
321
|
+
return [...table.getStartVisibleLeafColumns().map(column => column.id), ...table.getCenterVisibleLeafColumns().map(column => column.id), ...table.getEndVisibleLeafColumns().map(column => column.id)];
|
|
322
|
+
}, [pinningActive, table]);
|
|
323
|
+
const isEmpty = !loading && rows.length === 0;
|
|
324
|
+
const mainScrollStyle = useMemo(() => {
|
|
325
|
+
if (!pinningActive || pinnedOffsets == null) {
|
|
326
|
+
return undefined;
|
|
327
|
+
}
|
|
328
|
+
const guides = Platform.OS === 'web' && !isEmpty ? pinnedEdgeGuidesImage(pinnedOffsets, PINNED_EDGE_COLOR, I18nManager.isRTL) : undefined;
|
|
329
|
+
// Logical scroll-padding keeps focused cells out from under pinned edges (web).
|
|
330
|
+
return {
|
|
331
|
+
scrollPaddingInlineStart: pinnedOffsets.startTotal,
|
|
332
|
+
scrollPaddingInlineEnd: pinnedOffsets.endTotal,
|
|
333
|
+
...(guides ? {
|
|
334
|
+
backgroundImage: guides,
|
|
335
|
+
backgroundRepeat: 'no-repeat'
|
|
336
|
+
} : {})
|
|
337
|
+
};
|
|
338
|
+
}, [pinningActive, pinnedOffsets, isEmpty]);
|
|
221
339
|
const visibleRows = table.getRowModel().rows;
|
|
222
340
|
const pageCount = Math.max(table.getPageCount(), 1);
|
|
223
341
|
const selectedCount = table.getFilteredSelectedRowModel().rows.length;
|
|
@@ -233,14 +351,20 @@ function DataGridInner(props) {
|
|
|
233
351
|
indeterminate: true
|
|
234
352
|
};
|
|
235
353
|
const accessibleName = ariaLabel ?? label;
|
|
236
|
-
const isEmpty = !loading && rows.length === 0;
|
|
237
354
|
const totalCount = paginationMode === 'server' ? rowCount ?? rows.length : filterableCount;
|
|
238
|
-
const filterValueFor = field =>
|
|
355
|
+
const filterValueFor = field => {
|
|
356
|
+
const value = resolvedFilterModel.find(item => item.field === field)?.value;
|
|
357
|
+
return typeof value === 'string' ? value : '';
|
|
358
|
+
};
|
|
239
359
|
const showToolbarBar = showToolbar || toolbarActions != null;
|
|
360
|
+
const filterPanelColumns = useMemo(() => columns.filter(column => column.filterable !== false), [columns]);
|
|
361
|
+
const [filterPanelOpen, setFilterPanelOpen] = useState(false);
|
|
362
|
+
const filterPanelButtonRef = useRef(null);
|
|
363
|
+
const showFilterPanelButton = showToolbar && filterPanelColumns.length > 0;
|
|
240
364
|
return /*#__PURE__*/_jsxs(View, {
|
|
241
365
|
className: cn(dataGridRootVariants({
|
|
242
366
|
autoHeight
|
|
243
|
-
}), className),
|
|
367
|
+
}), className, filterPanelOpen && 'overflow-visible'),
|
|
244
368
|
style: style,
|
|
245
369
|
...mergeDataAttributes({}, dataAttributes({
|
|
246
370
|
slot: 'data-grid'
|
|
@@ -258,15 +382,43 @@ function DataGridInner(props) {
|
|
|
258
382
|
placeholder: "Search",
|
|
259
383
|
accessibilityLabel: "Search"
|
|
260
384
|
})]
|
|
385
|
+
}) : null, showFilterPanelButton ? /*#__PURE__*/_jsx(IconButton, {
|
|
386
|
+
ref: filterPanelButtonRef,
|
|
387
|
+
as: FilterList,
|
|
388
|
+
variant: "ghost",
|
|
389
|
+
color: "neutral",
|
|
390
|
+
size: "small",
|
|
391
|
+
accessibilityLabel: "Filters",
|
|
392
|
+
accessibilityState: {
|
|
393
|
+
expanded: filterPanelOpen
|
|
394
|
+
},
|
|
395
|
+
onPress: () => setFilterPanelOpen(open => !open)
|
|
261
396
|
}) : null, toolbarActions ? /*#__PURE__*/_jsx(View, {
|
|
262
397
|
className: dataGridToolbarActionsVariants(),
|
|
263
398
|
children: toolbarActions
|
|
264
399
|
}) : null]
|
|
400
|
+
}) : null, showFilterPanelButton && filterPanelOpen ? /*#__PURE__*/_jsx(DataGridFilterPanel, {
|
|
401
|
+
columns: filterPanelColumns,
|
|
402
|
+
filterModel: resolvedFilterModel,
|
|
403
|
+
onFilterModelChange: setFilterModelWithPageReset,
|
|
404
|
+
logicOperator: resolvedFilterLogicOperator,
|
|
405
|
+
onLogicOperatorChange: operator => {
|
|
406
|
+
setFilterLogicOperator(operator);
|
|
407
|
+
if (resolvedPagination.page !== 0) {
|
|
408
|
+
setPaginationModel({
|
|
409
|
+
...resolvedPagination,
|
|
410
|
+
page: 0
|
|
411
|
+
});
|
|
412
|
+
}
|
|
413
|
+
},
|
|
414
|
+
onClose: () => setFilterPanelOpen(false),
|
|
415
|
+
triggerRef: filterPanelButtonRef
|
|
265
416
|
}) : null, /*#__PURE__*/_jsxs(View, {
|
|
266
417
|
className: dataGridMainVariants({
|
|
267
418
|
autoHeight,
|
|
268
419
|
overlay: isEmpty || loading && loadingOverlay != null
|
|
269
420
|
}),
|
|
421
|
+
style: mainScrollStyle,
|
|
270
422
|
children: [/*#__PURE__*/_jsxs(Table, {
|
|
271
423
|
className: cn(dataGridTableVariants(), Platform.OS === 'web' && hasFlexColumns ? 'table-fixed' : undefined),
|
|
272
424
|
containerStyle: Platform.OS === 'web' ? WEB_TABLE_CONTAINER_STYLE : undefined,
|
|
@@ -278,25 +430,30 @@ function DataGridInner(props) {
|
|
|
278
430
|
} : {}),
|
|
279
431
|
children: [label ? /*#__PURE__*/_jsx(Table.Caption, {
|
|
280
432
|
children: label
|
|
281
|
-
}) : null, Platform.OS === 'web' && hasFlexColumns ? /*#__PURE__*/
|
|
282
|
-
children:
|
|
433
|
+
}) : null, Platform.OS === 'web' && hasFlexColumns ? /*#__PURE__*/_jsx("colgroup", {
|
|
434
|
+
children: (orderedLeafColumnIds ?? (checkboxSelection ? [SELECT_COLUMN_ID, ...columns.map(column => column.field)] : columns.map(column => column.field))).map(columnId => columnId === SELECT_COLUMN_ID ? /*#__PURE__*/_jsx("col", {
|
|
283
435
|
style: {
|
|
284
436
|
width: SELECT_COLUMN_WIDTH
|
|
285
437
|
}
|
|
286
|
-
}) :
|
|
438
|
+
}, columnId) : /*#__PURE__*/_jsx("col", {
|
|
287
439
|
style: {
|
|
288
|
-
width: columnWidths.get(
|
|
289
|
-
minWidth:
|
|
440
|
+
width: columnWidths.get(columnId),
|
|
441
|
+
minWidth: colByField.get(columnId)?.minWidth
|
|
290
442
|
}
|
|
291
|
-
},
|
|
443
|
+
}, columnId))
|
|
292
444
|
}) : null, /*#__PURE__*/_jsxs(Table.Header, {
|
|
293
445
|
className: dataGridHeaderVariants(),
|
|
294
|
-
children: [
|
|
446
|
+
children: [(pinningActive ? [{
|
|
447
|
+
id: 'pinned',
|
|
448
|
+
headers: [...table.getStartLeafHeaders(), ...table.getCenterLeafHeaders(), ...table.getEndLeafHeaders()]
|
|
449
|
+
}] : table.getHeaderGroups()).map(headerGroup => /*#__PURE__*/_jsx(Table.Row, {
|
|
295
450
|
children: headerGroup.headers.map(header => {
|
|
451
|
+
const pin = pinMetaFor(header.column.id, columnPinning);
|
|
296
452
|
if (header.id === SELECT_COLUMN_ID) {
|
|
297
453
|
return /*#__PURE__*/_jsx(Table.Head, {
|
|
298
454
|
align: "center",
|
|
299
|
-
className: dataGridSelectHeadVariants(),
|
|
455
|
+
className: cn(dataGridSelectHeadVariants(), pinnedClassName(pin, true)),
|
|
456
|
+
style: mergePinnedStyle(undefined, pin, pinnedOffsets, header.id, true),
|
|
300
457
|
children: /*#__PURE__*/_jsx(Checkbox, {
|
|
301
458
|
value: "select-all",
|
|
302
459
|
isChecked: headerSelectState.checked,
|
|
@@ -310,7 +467,7 @@ function DataGridInner(props) {
|
|
|
310
467
|
const col = colByField.get(header.column.id);
|
|
311
468
|
const sorted = header.column.getIsSorted();
|
|
312
469
|
const canSort = !disableColumnSorting && header.column.getCanSort();
|
|
313
|
-
const headerAlign =
|
|
470
|
+
const headerAlign = resolveColumnHeaderAlign(col);
|
|
314
471
|
const headerName = col?.headerName ?? header.column.id;
|
|
315
472
|
const SortIcon = sorted === 'asc' ? KeyboardArrowUp : KeyboardArrowDown;
|
|
316
473
|
const sortButton = canSort ? /*#__PURE__*/_jsx(IconButton, {
|
|
@@ -330,8 +487,8 @@ function DataGridInner(props) {
|
|
|
330
487
|
}) : null;
|
|
331
488
|
return /*#__PURE__*/_jsx(Table.Head, {
|
|
332
489
|
align: headerAlign,
|
|
333
|
-
className: dataGridHeadVariants(),
|
|
334
|
-
style: cellStyle(col, columnWidths.get(header.column.id)),
|
|
490
|
+
className: cn(dataGridHeadVariants(), pinnedClassName(pin, true)),
|
|
491
|
+
style: mergePinnedStyle(cellStyle(col, columnWidths.get(header.column.id)), pin, pinnedOffsets, header.column.id, true),
|
|
335
492
|
...(Platform.OS === 'web' ? {
|
|
336
493
|
title: col?.renderHeader ? undefined : headerName,
|
|
337
494
|
...(canSort ? {
|
|
@@ -352,26 +509,27 @@ function DataGridInner(props) {
|
|
|
352
509
|
}, header.id);
|
|
353
510
|
})
|
|
354
511
|
}, headerGroup.id)), headerFilters ? /*#__PURE__*/_jsx(Table.Row, {
|
|
355
|
-
children: table.getAllLeafColumns().map(column => {
|
|
512
|
+
children: (pinningActive ? [...table.getStartVisibleLeafColumns(), ...table.getCenterVisibleLeafColumns(), ...table.getEndVisibleLeafColumns()] : table.getAllLeafColumns()).map(column => {
|
|
513
|
+
const pin = pinMetaFor(column.id, columnPinning);
|
|
356
514
|
if (column.id === SELECT_COLUMN_ID) {
|
|
357
515
|
return /*#__PURE__*/_jsx(Table.Cell, {
|
|
358
516
|
align: "center",
|
|
359
|
-
className: dataGridSelectHeadVariants()
|
|
517
|
+
className: cn(dataGridSelectHeadVariants(), pinnedClassName(pin, true)),
|
|
518
|
+
style: mergePinnedStyle(undefined, pin, pinnedOffsets, column.id, true)
|
|
360
519
|
}, column.id);
|
|
361
520
|
}
|
|
362
521
|
const col = colByField.get(column.id);
|
|
363
|
-
const headerAlign = col?.headerAlign ?? col?.align;
|
|
364
522
|
if (col?.filterable === false) {
|
|
365
523
|
return /*#__PURE__*/_jsx(Table.Head, {
|
|
366
|
-
align:
|
|
367
|
-
className: dataGridHeadVariants(),
|
|
368
|
-
style: cellStyle(col, columnWidths.get(column.id))
|
|
524
|
+
align: resolveColumnHeaderAlign(col),
|
|
525
|
+
className: cn(dataGridHeadVariants(), pinnedClassName(pin, true)),
|
|
526
|
+
style: mergePinnedStyle(cellStyle(col, columnWidths.get(column.id)), pin, pinnedOffsets, column.id, true)
|
|
369
527
|
}, column.id);
|
|
370
528
|
}
|
|
371
529
|
return /*#__PURE__*/_jsx(Table.Head, {
|
|
372
|
-
align:
|
|
373
|
-
className: dataGridHeadVariants(),
|
|
374
|
-
style: cellStyle(col, columnWidths.get(column.id)),
|
|
530
|
+
align: resolveColumnHeaderAlign(col),
|
|
531
|
+
className: cn(dataGridHeadVariants(), pinnedClassName(pin, true)),
|
|
532
|
+
style: mergePinnedStyle(cellStyle(col, columnWidths.get(column.id)), pin, pinnedOffsets, column.id, true),
|
|
375
533
|
children: /*#__PURE__*/_jsx(Input, {
|
|
376
534
|
size: "small",
|
|
377
535
|
className: dataGridFilterInputVariants(),
|
|
@@ -391,15 +549,21 @@ function DataGridInner(props) {
|
|
|
391
549
|
columns: columns,
|
|
392
550
|
checkboxSelection: checkboxSelection,
|
|
393
551
|
rowCount: Math.min(resolvedPagination.pageSize, MAX_SKELETON_ROW_COUNT),
|
|
394
|
-
columnWidths: columnWidths
|
|
552
|
+
columnWidths: columnWidths,
|
|
553
|
+
orderedColumnIds: orderedLeafColumnIds,
|
|
554
|
+
pinning: columnPinning,
|
|
555
|
+
offsets: pinnedOffsets
|
|
395
556
|
}) : isEmpty ? null : visibleRows.map(row => {
|
|
396
557
|
const rowId = resolveRowId(row.original, getRowId);
|
|
558
|
+
const cells = pinningActive ? [...row.getStartVisibleCells(), ...row.getCenterVisibleCells(), ...row.getEndVisibleCells()] : row.getAllCells();
|
|
397
559
|
return /*#__PURE__*/_jsx(Table.Row, {
|
|
398
|
-
children:
|
|
560
|
+
children: cells.map(cell => {
|
|
561
|
+
const pin = pinMetaFor(cell.column.id, columnPinning);
|
|
399
562
|
if (cell.column.id === SELECT_COLUMN_ID) {
|
|
400
563
|
return /*#__PURE__*/_jsx(Table.Cell, {
|
|
401
564
|
align: "center",
|
|
402
|
-
className: dataGridSelectCellVariants(),
|
|
565
|
+
className: cn(dataGridSelectCellVariants(), pinnedClassName(pin, false)),
|
|
566
|
+
style: mergePinnedStyle(undefined, pin, pinnedOffsets, cell.column.id, false),
|
|
403
567
|
children: /*#__PURE__*/_jsx(Checkbox, {
|
|
404
568
|
value: String(rowId),
|
|
405
569
|
isChecked: row.getIsSelected(),
|
|
@@ -417,17 +581,23 @@ function DataGridInner(props) {
|
|
|
417
581
|
value,
|
|
418
582
|
row: row.original,
|
|
419
583
|
field: col.field,
|
|
420
|
-
id: rowId
|
|
584
|
+
id: rowId,
|
|
585
|
+
col
|
|
421
586
|
});
|
|
422
587
|
} else if (col?.valueFormatter) {
|
|
423
588
|
content = col.valueFormatter(value, row.original, col);
|
|
589
|
+
} else if (col?.type === 'boolean' && typeof value === 'boolean') {
|
|
590
|
+
content = /*#__PURE__*/_jsx(BooleanCell, {
|
|
591
|
+
value: value
|
|
592
|
+
});
|
|
424
593
|
} else {
|
|
425
|
-
|
|
594
|
+
const typedText = getTypedCellText(col, value, row.original);
|
|
595
|
+
content = typedText !== undefined ? typedText : defaultCellContent(value);
|
|
426
596
|
}
|
|
427
597
|
return /*#__PURE__*/_jsx(Table.Cell, {
|
|
428
|
-
align:
|
|
429
|
-
className: dataGridCellVariants(),
|
|
430
|
-
style: cellStyle(col, columnWidths.get(cell.column.id)),
|
|
598
|
+
align: resolveColumnAlign(col),
|
|
599
|
+
className: cn(dataGridCellVariants(), pinnedClassName(pin, false)),
|
|
600
|
+
style: mergePinnedStyle(cellStyle(col, columnWidths.get(cell.column.id)), pin, pinnedOffsets, cell.column.id, false),
|
|
431
601
|
children: content
|
|
432
602
|
}, cell.id);
|
|
433
603
|
})
|