@cdx-ui/data-grid 0.3.11 → 0.3.13
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 +490 -81
- package/lib/commonjs/DataGrid.js.map +1 -1
- package/lib/commonjs/DataGridFilterPanel.js +547 -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 +140 -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 +105 -0
- package/lib/commonjs/adapter/pinning.js.map +1 -0
- package/lib/commonjs/adapter/selectColumn.js +11 -0
- package/lib/commonjs/adapter/selectColumn.js.map +1 -1
- package/lib/commonjs/adapter/treeData.js +195 -0
- package/lib/commonjs/adapter/treeData.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 +107 -1
- package/lib/commonjs/styles.js.map +1 -1
- package/lib/commonjs/types.js +39 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/useDataGridTable.js +234 -18
- package/lib/commonjs/useDataGridTable.js.map +1 -1
- package/lib/module/DataGrid.js +497 -88
- package/lib/module/DataGrid.js.map +1 -1
- package/lib/module/DataGridFilterPanel.js +540 -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 +137 -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 +94 -0
- package/lib/module/adapter/pinning.js.map +1 -0
- package/lib/module/adapter/selectColumn.js +11 -1
- package/lib/module/adapter/selectColumn.js.map +1 -1
- package/lib/module/adapter/treeData.js +187 -0
- package/lib/module/adapter/treeData.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 +106 -0
- package/lib/module/styles.js.map +1 -1
- package/lib/module/types.js +38 -0
- package/lib/module/types.js.map +1 -1
- package/lib/module/useDataGridTable.js +238 -22
- package/lib/module/useDataGridTable.js.map +1 -1
- package/lib/typescript/DataGrid.d.ts.map +1 -1
- package/lib/typescript/DataGridFilterPanel.d.ts +52 -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 +26 -0
- package/lib/typescript/adapter/pinning.d.ts.map +1 -0
- package/lib/typescript/adapter/selectColumn.d.ts +8 -0
- package/lib/typescript/adapter/selectColumn.d.ts.map +1 -1
- package/lib/typescript/adapter/treeData.d.ts +36 -0
- package/lib/typescript/adapter/treeData.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 +32 -0
- package/lib/typescript/styles.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +154 -7
- package/lib/typescript/types.d.ts.map +1 -1
- package/lib/typescript/useDataGridTable.d.ts +40 -4
- package/lib/typescript/useDataGridTable.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/DataGrid.tsx +745 -95
- package/src/DataGridFilterPanel.tsx +648 -0
- package/src/adapter/columnTypes.ts +327 -0
- package/src/adapter/columns.test.ts +75 -1
- package/src/adapter/columns.ts +192 -3
- package/src/adapter/filterOperators.test.ts +292 -0
- package/src/adapter/filterOperators.ts +524 -0
- package/src/adapter/pinning.ts +134 -0
- package/src/adapter/selectColumn.ts +12 -1
- package/src/adapter/treeData.ts +228 -0
- package/src/index.ts +19 -0
- package/src/numberCells.tsx +379 -0
- package/src/styles.ts +131 -0
- package/src/types.ts +190 -7
- package/src/useDataGridTable.test.ts +69 -0
- package/src/useDataGridTable.ts +338 -17
package/lib/module/types.js
CHANGED
|
@@ -1,6 +1,44 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* Filter operators. Names match MUI Data Grid Community so server handlers written for
|
|
5
|
+
* MUI keep working. Which operators a column accepts depends on its `type`.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Columns pinned to the logical start and end edges while the grid scrolls
|
|
10
|
+
* horizontally.
|
|
11
|
+
*
|
|
12
|
+
* `left` and `right` are deprecated compatibility aliases for `start` and `end`
|
|
13
|
+
* (same mapping as `GridColDef.align`).
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
/** How `filterModel` items combine: every item must match (`'and'`) or any one item (`'or'`). */
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Built-in column types. Names and defaults match MUI Data Grid Community.
|
|
20
|
+
* Omit `type` to keep untyped display, alignment, and sort.
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* A `singleSelect` choice: a primitive (value and label are the same) or an
|
|
25
|
+
* explicit `{ value, label }` pair.
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
/** Maps a column `field` to `false` to hide it. Fields that are missing or `true` stay visible. */
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* How a selection change spreads through `treeData`. Both default to `true`, as in MUI.
|
|
32
|
+
*/
|
|
33
|
+
|
|
3
34
|
export const SELECT_COLUMN_ID = '__select__';
|
|
35
|
+
|
|
36
|
+
/** Same id as MUI X's master-detail toggle column. */
|
|
37
|
+
export const DETAIL_PANEL_TOGGLE_ID = '__detail_panel_toggle__';
|
|
38
|
+
export const EMPTY_ROW_ID_SET = new Set();
|
|
39
|
+
|
|
40
|
+
/** MUI X Data Grid checkbox-column field; accepted as an alias for {@link SELECT_COLUMN_ID}. */
|
|
41
|
+
export const MUI_CHECKBOX_FIELD = '__check__';
|
|
4
42
|
export const DEFAULT_PAGE_SIZE_OPTIONS = [25, 50, 100];
|
|
5
43
|
export const DEFAULT_PAGINATION_MODEL = {
|
|
6
44
|
page: 0,
|
package/lib/module/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SELECT_COLUMN_ID","DEFAULT_PAGE_SIZE_OPTIONS","DEFAULT_PAGINATION_MODEL","page","pageSize","EMPTY_SELECTION","type","ids"
|
|
1
|
+
{"version":3,"names":["SELECT_COLUMN_ID","DETAIL_PANEL_TOGGLE_ID","EMPTY_ROW_ID_SET","Set","MUI_CHECKBOX_FIELD","DEFAULT_PAGE_SIZE_OPTIONS","DEFAULT_PAGINATION_MODEL","page","pageSize","EMPTY_SELECTION","type","ids"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;AA8BA;AACA;AACA;AACA;;AAsCA;AACA;AACA;AACA;AACA;AACA;AACA;;AAcA;;AAYA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;;AAwDA;;AAeA;AACA;AACA;;AA6HA,OAAO,MAAMA,gBAAgB,GAAG,YAAY;;AAE5C;AACA,OAAO,MAAMC,sBAAsB,GAAG,yBAAyB;AAE/D,OAAO,MAAMC,gBAAwC,GAAG,IAAIC,GAAG,CAAC,CAAC;;AAEjE;AACA,OAAO,MAAMC,kBAAkB,GAAG,WAAW;AAE7C,OAAO,MAAMC,yBAAyB,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAU;AAE/D,OAAO,MAAMC,wBAA6C,GAAG;EAC3DC,IAAI,EAAE,CAAC;EACPC,QAAQ,EAAE;AACZ,CAAC;AAED,OAAO,MAAMC,eAAsC,GAAG;EACpDC,IAAI,EAAE,SAAS;EACfC,GAAG,EAAE,IAAIR,GAAG,CAAC;AACf,CAAC","ignoreList":[]}
|
|
@@ -1,13 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { useMemo } from 'react';
|
|
4
|
-
import { columnFilteringFeature, createFilteredRowModel, createPaginatedRowModel, createSortedRowModel, filterFn_includesString, globalFilteringFeature, rowPaginationFeature, rowSelectionFeature, rowSortingFeature, sortFn_alphanumeric, sortFn_text, tableFeatures, useTable } from '@tanstack/react-table';
|
|
5
|
-
import { createSelectColumn } from './adapter/selectColumn';
|
|
3
|
+
import { useMemo, useState } from 'react';
|
|
4
|
+
import { columnFilteringFeature, columnPinningFeature, columnVisibilityFeature, createFilteredRowModel, createPaginatedRowModel, createSortedRowModel, filterFn_includesString, globalFilteringFeature, rowExpandingFeature, rowPaginationFeature, rowSelectionFeature, rowSortingFeature, sortFn_alphanumeric, sortFn_text, tableFeatures, useTable } from '@tanstack/react-table';
|
|
5
|
+
import { createDetailPanelToggleColumn, createSelectColumn } from './adapter/selectColumn';
|
|
6
|
+
import { applyTreeSelection, buildTreeIndex, computeTreeSelection, keepMatchesWithAncestors, selectionScope } from './adapter/treeData';
|
|
6
7
|
import { applyUpdater, gridColDefToColumnDef } from './adapter/columns';
|
|
7
|
-
import {
|
|
8
|
+
import { filterFn_displayText, metaUsesDisplayFilter, normalizeFilterQuery, sortFn_boolean, sortFn_datetime, sortFn_number, sortFn_selectLabel, untypedCellIncludesQuery } from './adapter/columnTypes';
|
|
9
|
+
import { filterOperatorNeedsValue, isActiveFilterItem, isBlankFilterValue, isFilterValueGroup, isOperatorFilterValue, rowMatchesFilterItem } from './adapter/filterOperators';
|
|
10
|
+
import { DETAIL_PANEL_TOGGLE_ID, SELECT_COLUMN_ID } from './types';
|
|
11
|
+
function gridGlobalFilterFn(row, columnId, filterValue) {
|
|
12
|
+
if (columnId === SELECT_COLUMN_ID || columnId === DETAIL_PANEL_TOGGLE_ID) {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
const meta = row.getAllCells().find(cell => cell.column.id === columnId)?.column.columnDef.meta;
|
|
16
|
+
if (metaUsesDisplayFilter(meta)) {
|
|
17
|
+
return filterFn_displayText(row, columnId, filterValue);
|
|
18
|
+
}
|
|
19
|
+
return untypedCellIncludesQuery(row.getValue(columnId), normalizeFilterQuery(filterValue));
|
|
20
|
+
}
|
|
8
21
|
const features = tableFeatures({
|
|
9
22
|
columnFilteringFeature,
|
|
23
|
+
columnPinningFeature,
|
|
24
|
+
columnVisibilityFeature,
|
|
10
25
|
globalFilteringFeature,
|
|
26
|
+
rowExpandingFeature,
|
|
11
27
|
rowSortingFeature,
|
|
12
28
|
rowPaginationFeature,
|
|
13
29
|
rowSelectionFeature,
|
|
@@ -19,7 +35,11 @@ const features = tableFeatures({
|
|
|
19
35
|
},
|
|
20
36
|
sortFns: {
|
|
21
37
|
alphanumeric: sortFn_alphanumeric,
|
|
22
|
-
text: sortFn_text
|
|
38
|
+
text: sortFn_text,
|
|
39
|
+
number: sortFn_number,
|
|
40
|
+
datetime: sortFn_datetime,
|
|
41
|
+
boolean: sortFn_boolean,
|
|
42
|
+
selectLabel: sortFn_selectLabel
|
|
23
43
|
}
|
|
24
44
|
});
|
|
25
45
|
export function sortModelToSortingState(model) {
|
|
@@ -58,17 +78,60 @@ function columnFilterValueToString(value) {
|
|
|
58
78
|
}
|
|
59
79
|
return '';
|
|
60
80
|
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Items without an `operator` keep today's text filter. Items with one carry the operator and
|
|
84
|
+
* typed operand into the column filter. An item whose operator needs a value but has none is
|
|
85
|
+
* dropped, so `isEmpty` / `isNotEmpty` survive a blank `value` and nothing else does.
|
|
86
|
+
*/
|
|
61
87
|
export function filterModelToColumnFilters(model) {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
88
|
+
const valuesByField = new Map();
|
|
89
|
+
for (const item of model) {
|
|
90
|
+
let value;
|
|
91
|
+
if (item.operator !== undefined) {
|
|
92
|
+
if (filterOperatorNeedsValue(item.operator) && isBlankFilterValue(item.value)) {
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
value = {
|
|
96
|
+
operator: item.operator,
|
|
97
|
+
value: item.value
|
|
98
|
+
};
|
|
99
|
+
} else {
|
|
100
|
+
const text = columnFilterValueToString(item.value);
|
|
101
|
+
if (text.trim().length === 0) {
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
value = text;
|
|
105
|
+
}
|
|
106
|
+
const values = valuesByField.get(item.field);
|
|
107
|
+
if (values) {
|
|
108
|
+
values.push(value);
|
|
109
|
+
} else {
|
|
110
|
+
valuesByField.set(item.field, [value]);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return [...valuesByField].map(([id, values]) => ({
|
|
114
|
+
id,
|
|
115
|
+
value: values.length === 1 ? values[0] : {
|
|
116
|
+
items: values
|
|
117
|
+
}
|
|
65
118
|
}));
|
|
66
119
|
}
|
|
120
|
+
function columnFilterValueToItem(field, value) {
|
|
121
|
+
if (isOperatorFilterValue(value)) {
|
|
122
|
+
return {
|
|
123
|
+
field,
|
|
124
|
+
operator: value.operator,
|
|
125
|
+
value: value.value
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
return {
|
|
129
|
+
field,
|
|
130
|
+
value: columnFilterValueToString(value)
|
|
131
|
+
};
|
|
132
|
+
}
|
|
67
133
|
export function columnFiltersToFilterModel(state) {
|
|
68
|
-
return state.filter(item => item.id !== SELECT_COLUMN_ID).
|
|
69
|
-
field: item.id,
|
|
70
|
-
value: columnFilterValueToString(item.value)
|
|
71
|
-
}));
|
|
134
|
+
return state.filter(item => item.id !== SELECT_COLUMN_ID).flatMap(item => isFilterValueGroup(item.value) ? item.value.items.map(value => columnFilterValueToItem(item.id, value)) : [columnFilterValueToItem(item.id, item.value)]);
|
|
72
135
|
}
|
|
73
136
|
function selectionIdKey(id) {
|
|
74
137
|
return `${typeof id}:${String(id)}`;
|
|
@@ -133,6 +196,10 @@ export function resolveRowId(row, getRowId) {
|
|
|
133
196
|
}
|
|
134
197
|
return '';
|
|
135
198
|
}
|
|
199
|
+
const EMPTY_EXPANSION = {};
|
|
200
|
+
const EMPTY_FILTER_EXPANSION = {};
|
|
201
|
+
const EMPTY_VISIBILITY = {};
|
|
202
|
+
let warnedMissingTreeDataPath = false;
|
|
136
203
|
export function useDataGridTable({
|
|
137
204
|
rows,
|
|
138
205
|
columns,
|
|
@@ -149,13 +216,55 @@ export function useDataGridTable({
|
|
|
149
216
|
onPaginationModelChange,
|
|
150
217
|
filterModel,
|
|
151
218
|
onFilterModelChange,
|
|
219
|
+
filterLogicOperator,
|
|
152
220
|
quickFilter,
|
|
153
221
|
onQuickFilterChange,
|
|
154
222
|
rowSelectionModel,
|
|
155
|
-
onRowSelectionModelChange
|
|
223
|
+
onRowSelectionModelChange,
|
|
224
|
+
columnPinning,
|
|
225
|
+
columnVisibility = EMPTY_VISIBILITY,
|
|
226
|
+
detailPanel = false,
|
|
227
|
+
treeData: treeDataProp = false,
|
|
228
|
+
getTreeDataPath,
|
|
229
|
+
defaultGroupingExpansionDepth = 0,
|
|
230
|
+
isGroupExpandedByDefault,
|
|
231
|
+
rowSelectionPropagation
|
|
156
232
|
}) {
|
|
157
|
-
const
|
|
233
|
+
const treeData = treeDataProp && getTreeDataPath !== undefined;
|
|
234
|
+
if (__DEV__ && treeDataProp && getTreeDataPath === undefined && !warnedMissingTreeDataPath) {
|
|
235
|
+
warnedMissingTreeDataPath = true;
|
|
236
|
+
console.warn('[DataGrid] `treeData` needs `getTreeDataPath`. Rendering flat rows.');
|
|
237
|
+
}
|
|
238
|
+
const propagateDescendants = rowSelectionPropagation?.descendants ?? true;
|
|
239
|
+
const propagateParents = rowSelectionPropagation?.parents ?? true;
|
|
240
|
+
const orFilterItems = useMemo(() => {
|
|
241
|
+
if (filterLogicOperator !== 'or' || filterMode === 'server') {
|
|
242
|
+
return undefined;
|
|
243
|
+
}
|
|
244
|
+
const active = filterModel.filter(isActiveFilterItem);
|
|
245
|
+
return active.length > 1 ? active : undefined;
|
|
246
|
+
}, [filterLogicOperator, filterMode, filterModel]);
|
|
247
|
+
const keyOf = useMemo(() => row => selectionIdKey(resolveRowId(row, getRowId)), [getRowId]);
|
|
248
|
+
const fullTree = useMemo(() => treeData ? buildTreeIndex(rows, getTreeDataPath, keyOf) : undefined, [getTreeDataPath, keyOf, rows, treeData]);
|
|
249
|
+
const data = useMemo(() => {
|
|
250
|
+
if (!orFilterItems) {
|
|
251
|
+
return [...rows];
|
|
252
|
+
}
|
|
253
|
+
const filterableColumns = new Map(columns.filter(col => col.filterable !== false).map(col => [col.field, col]));
|
|
254
|
+
const matches = row => orFilterItems.some(item => {
|
|
255
|
+
const col = filterableColumns.get(item.field);
|
|
256
|
+
return col !== undefined && rowMatchesFilterItem(col, row, item);
|
|
257
|
+
});
|
|
258
|
+
return fullTree ? keepMatchesWithAncestors(rows, fullTree, keyOf, matches) : rows.filter(matches);
|
|
259
|
+
}, [columns, fullTree, keyOf, orFilterItems, rows]);
|
|
158
260
|
const allIds = useMemo(() => data.map(row => resolveRowId(row, getRowId)), [data, getRowId]);
|
|
261
|
+
const allRowIds = useMemo(() => rows.map(row => resolveRowId(row, getRowId)), [rows, getRowId]);
|
|
262
|
+
const tree = useMemo(() => {
|
|
263
|
+
if (!fullTree || !getTreeDataPath) {
|
|
264
|
+
return undefined;
|
|
265
|
+
}
|
|
266
|
+
return data.length === rows.length ? fullTree : buildTreeIndex(data, getTreeDataPath, keyOf);
|
|
267
|
+
}, [data, fullTree, getTreeDataPath, keyOf, rows.length]);
|
|
159
268
|
const columnDefs = useMemo(() => {
|
|
160
269
|
const mapped = columns.map(col => {
|
|
161
270
|
const def = gridColDefToColumnDef(col);
|
|
@@ -164,12 +273,68 @@ export function useDataGridTable({
|
|
|
164
273
|
}
|
|
165
274
|
return def;
|
|
166
275
|
});
|
|
167
|
-
return checkboxSelection ? [createSelectColumn(), ...
|
|
168
|
-
}, [checkboxSelection, columns, disableColumnSorting]);
|
|
276
|
+
return [...(checkboxSelection && !treeData ? [createSelectColumn()] : []), ...(detailPanel ? [createDetailPanelToggleColumn()] : []), ...mapped];
|
|
277
|
+
}, [checkboxSelection, columns, detailPanel, disableColumnSorting, treeData]);
|
|
169
278
|
const sortingState = useMemo(() => sortModelToSortingState(sortModel), [sortModel]);
|
|
170
279
|
const paginationState = useMemo(() => paginationModelToState(paginationModel), [paginationModel]);
|
|
171
|
-
const columnFilterState = useMemo(() => filterModelToColumnFilters(filterModel), [filterModel]);
|
|
172
|
-
const rowSelectionState = useMemo(() => selectionModelToRowSelection(rowSelectionModel, allIds), [rowSelectionModel, allIds]);
|
|
280
|
+
const columnFilterState = useMemo(() => orFilterItems ? [] : filterModelToColumnFilters(filterModel), [filterModel, orFilterItems]);
|
|
281
|
+
const rowSelectionState = useMemo(() => selectionModelToRowSelection(rowSelectionModel, treeData ? allRowIds : allIds), [rowSelectionModel, treeData, allRowIds, allIds]);
|
|
282
|
+
const filterSignature = treeData && filterMode === 'client' && (quickFilter.trim().length > 0 || filterModel.some(isActiveFilterItem)) ? JSON.stringify([quickFilter, filterModel, filterLogicOperator]) : '';
|
|
283
|
+
const [userExpanded, setUserExpanded] = useState({});
|
|
284
|
+
const [filterExpansion, setFilterExpansion] = useState({
|
|
285
|
+
signature: '',
|
|
286
|
+
expanded: {}
|
|
287
|
+
});
|
|
288
|
+
const filterExpanded = filterSignature !== '' && filterExpansion.signature === filterSignature ? filterExpansion.expanded : EMPTY_FILTER_EXPANSION;
|
|
289
|
+
const expandedState = useMemo(() => {
|
|
290
|
+
if (!tree) {
|
|
291
|
+
return EMPTY_EXPANSION;
|
|
292
|
+
}
|
|
293
|
+
const isExpanded = key => {
|
|
294
|
+
if (filterSignature !== '') {
|
|
295
|
+
return filterExpanded[key] ?? true;
|
|
296
|
+
}
|
|
297
|
+
const own = userExpanded[key];
|
|
298
|
+
if (own !== undefined) {
|
|
299
|
+
return own;
|
|
300
|
+
}
|
|
301
|
+
const row = tree.rowOf.get(key);
|
|
302
|
+
const depth = fullTree?.depthOf.get(key) ?? tree.depthOf.get(key) ?? 0;
|
|
303
|
+
if (row !== undefined && isGroupExpandedByDefault) {
|
|
304
|
+
return isGroupExpandedByDefault({
|
|
305
|
+
id: resolveRowId(row, getRowId),
|
|
306
|
+
row,
|
|
307
|
+
depth
|
|
308
|
+
});
|
|
309
|
+
}
|
|
310
|
+
return defaultGroupingExpansionDepth === -1 || depth < defaultGroupingExpansionDepth;
|
|
311
|
+
};
|
|
312
|
+
const state = {};
|
|
313
|
+
for (const key of tree.childKeysOf.keys()) {
|
|
314
|
+
if (isExpanded(key)) {
|
|
315
|
+
state[key] = true;
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
return state;
|
|
319
|
+
}, [tree, fullTree, filterSignature, filterExpanded, userExpanded, isGroupExpandedByDefault, defaultGroupingExpansionDepth, getRowId]);
|
|
320
|
+
const isRowExpanded = key => key in expandedState;
|
|
321
|
+
const toggleRowExpanded = key => {
|
|
322
|
+
const next = !isRowExpanded(key);
|
|
323
|
+
if (filterSignature !== '') {
|
|
324
|
+
setFilterExpansion(previous => ({
|
|
325
|
+
signature: filterSignature,
|
|
326
|
+
expanded: {
|
|
327
|
+
...(previous.signature === filterSignature ? previous.expanded : {}),
|
|
328
|
+
[key]: next
|
|
329
|
+
}
|
|
330
|
+
}));
|
|
331
|
+
return;
|
|
332
|
+
}
|
|
333
|
+
setUserExpanded(previous => ({
|
|
334
|
+
...previous,
|
|
335
|
+
[key]: next
|
|
336
|
+
}));
|
|
337
|
+
};
|
|
173
338
|
const resetPaginationPage = () => {
|
|
174
339
|
if (paginationModel.page !== 0) {
|
|
175
340
|
onPaginationModelChange({
|
|
@@ -196,10 +361,14 @@ export function useDataGridTable({
|
|
|
196
361
|
const table = useTable({
|
|
197
362
|
features,
|
|
198
363
|
columns: columnDefs,
|
|
199
|
-
data,
|
|
200
|
-
getRowId: row =>
|
|
364
|
+
data: tree ? tree.roots : data,
|
|
365
|
+
getRowId: row => keyOf(row),
|
|
366
|
+
getSubRows: tree ? row => tree.childrenOf.get(row) : undefined,
|
|
367
|
+
filterFromLeafRows: treeData,
|
|
368
|
+
paginateExpandedRows: false,
|
|
201
369
|
enableMultiSort: false,
|
|
202
370
|
enableMultiRowSelection: true,
|
|
371
|
+
globalFilterFn: gridGlobalFilterFn,
|
|
203
372
|
manualPagination: paginationMode === 'server',
|
|
204
373
|
manualSorting: sortingMode === 'server',
|
|
205
374
|
manualFiltering: filterMode === 'server',
|
|
@@ -210,7 +379,10 @@ export function useDataGridTable({
|
|
|
210
379
|
pagination: paginationState,
|
|
211
380
|
columnFilters: columnFilterState,
|
|
212
381
|
globalFilter: quickFilter,
|
|
213
|
-
rowSelection: rowSelectionState
|
|
382
|
+
rowSelection: rowSelectionState,
|
|
383
|
+
columnPinning,
|
|
384
|
+
columnVisibility,
|
|
385
|
+
expanded: expandedState
|
|
214
386
|
},
|
|
215
387
|
onSortingChange: updater => {
|
|
216
388
|
const next = applyUpdater(updater, sortingState);
|
|
@@ -235,10 +407,54 @@ export function useDataGridTable({
|
|
|
235
407
|
onRowSelectionModelChange(rowSelectionToModel(next, rowSelectionModel, allIds));
|
|
236
408
|
}
|
|
237
409
|
});
|
|
410
|
+
const setFilterModel = model => {
|
|
411
|
+
onFilterModelChange(model);
|
|
412
|
+
resetPaginationPage();
|
|
413
|
+
};
|
|
414
|
+
const treeSelection = useMemo(() => {
|
|
415
|
+
if (!fullTree) {
|
|
416
|
+
return undefined;
|
|
417
|
+
}
|
|
418
|
+
const selectedKeys = new Set(Object.keys(rowSelectionState));
|
|
419
|
+
return {
|
|
420
|
+
selectedKeys,
|
|
421
|
+
statuses: computeTreeSelection(fullTree, selectedKeys, propagateParents)
|
|
422
|
+
};
|
|
423
|
+
}, [fullTree, propagateParents, rowSelectionState]);
|
|
424
|
+
let treeState;
|
|
425
|
+
if (fullTree && treeSelection) {
|
|
426
|
+
const {
|
|
427
|
+
selectedKeys,
|
|
428
|
+
statuses
|
|
429
|
+
} = treeSelection;
|
|
430
|
+
const selectionStatus = key => statuses.get(key) ?? 'none';
|
|
431
|
+
const commit = scope => {
|
|
432
|
+
const value = !scope.units.every(key => selectionStatus(key) === 'all');
|
|
433
|
+
const next = applyTreeSelection(fullTree, selectedKeys, scope.targets, value, propagateParents);
|
|
434
|
+
onRowSelectionModelChange(rowSelectionToModel(Object.fromEntries([...next].map(key => [key, true])), rowSelectionModel, allRowIds));
|
|
435
|
+
};
|
|
436
|
+
const filtered = table.getFilteredRowModel();
|
|
437
|
+
const headerScope = propagateDescendants ? selectionScope(filtered.rows, fullTree, true) : selectionScope(filtered.flatRows, fullTree, false);
|
|
438
|
+
const selectedUnits = headerScope.units.filter(key => selectionStatus(key) !== 'none');
|
|
439
|
+
const allUnitsSelected = headerScope.units.length > 0 && headerScope.units.every(key => selectionStatus(key) === 'all');
|
|
440
|
+
treeState = {
|
|
441
|
+
isRowExpanded,
|
|
442
|
+
toggleRowExpanded,
|
|
443
|
+
selectionStatus,
|
|
444
|
+
toggleRowSelected: row => commit(selectionScope([row], fullTree, propagateDescendants)),
|
|
445
|
+
toggleAllRowsSelected: () => commit(headerScope),
|
|
446
|
+
headerSelection: {
|
|
447
|
+
checked: allUnitsSelected,
|
|
448
|
+
indeterminate: !allUnitsSelected && selectedUnits.length > 0
|
|
449
|
+
}
|
|
450
|
+
};
|
|
451
|
+
}
|
|
238
452
|
return {
|
|
239
453
|
table,
|
|
240
454
|
setQuickFilter,
|
|
241
|
-
setColumnFilter
|
|
455
|
+
setColumnFilter,
|
|
456
|
+
setFilterModel,
|
|
457
|
+
tree: treeState
|
|
242
458
|
};
|
|
243
459
|
}
|
|
244
460
|
//# sourceMappingURL=useDataGridTable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","columnFilteringFeature","createFilteredRowModel","createPaginatedRowModel","createSortedRowModel","filterFn_includesString","globalFilteringFeature","rowPaginationFeature","rowSelectionFeature","rowSortingFeature","sortFn_alphanumeric","sortFn_text","tableFeatures","useTable","createSelectColumn","applyUpdater","gridColDefToColumnDef","SELECT_COLUMN_ID","features","filteredRowModel","sortedRowModel","paginatedRowModel","filterFns","includesString","sortFns","alphanumeric","text","sortModelToSortingState","model","map","item","id","field","desc","sort","sortingStateToSortModel","state","filter","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","columnDefs","mapped","col","def","enableSorting","sortingState","paginationState","columnFilterState","rowSelectionState","resetPaginationPage","setQuickFilter","setColumnFilter","next","push","table","enableMultiSort","enableMultiRowSelection","manualPagination","manualSorting","manualFiltering","autoResetPageIndex","undefined","sorting","pagination","columnFilters","globalFilter","rowSelection","onSortingChange","updater","onPaginationChange","onColumnFiltersChange","onGlobalFilterChange","onRowSelectionChange"],"sourceRoot":"../../src","sources":["useDataGridTable.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useMemo","useState","columnFilteringFeature","columnPinningFeature","columnVisibilityFeature","createFilteredRowModel","createPaginatedRowModel","createSortedRowModel","filterFn_includesString","globalFilteringFeature","rowExpandingFeature","rowPaginationFeature","rowSelectionFeature","rowSortingFeature","sortFn_alphanumeric","sortFn_text","tableFeatures","useTable","createDetailPanelToggleColumn","createSelectColumn","applyTreeSelection","buildTreeIndex","computeTreeSelection","keepMatchesWithAncestors","selectionScope","applyUpdater","gridColDefToColumnDef","filterFn_displayText","metaUsesDisplayFilter","normalizeFilterQuery","sortFn_boolean","sortFn_datetime","sortFn_number","sortFn_selectLabel","untypedCellIncludesQuery","filterOperatorNeedsValue","isActiveFilterItem","isBlankFilterValue","isFilterValueGroup","isOperatorFilterValue","rowMatchesFilterItem","DETAIL_PANEL_TOGGLE_ID","SELECT_COLUMN_ID","gridGlobalFilterFn","row","columnId","filterValue","meta","getAllCells","find","cell","column","id","columnDef","getValue","features","filteredRowModel","sortedRowModel","paginatedRowModel","filterFns","includesString","sortFns","alphanumeric","text","number","datetime","boolean","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","trim","length","values","get","push","set","items","columnFilterValueToItem","columnFiltersToFilterModel","flatMap","selectionIdKey","selectionModelToRowSelection","allIds","selected","Set","type","ids","add","has","Object","fromEntries","rowSelectionToModel","previousModel","currentIdsByKey","selectedKeys","keys","key","delete","resolveRowId","getRowId","__DEV__","console","warn","EMPTY_EXPANSION","EMPTY_FILTER_EXPANSION","EMPTY_VISIBILITY","warnedMissingTreeDataPath","useDataGridTable","rows","columns","checkboxSelection","disableColumnSorting","paginationMode","sortingMode","filterMode","rowCount","sortModel","onSortModelChange","paginationModel","onPaginationModelChange","filterModel","onFilterModelChange","filterLogicOperator","quickFilter","onQuickFilterChange","rowSelectionModel","onRowSelectionModelChange","columnPinning","columnVisibility","detailPanel","treeData","treeDataProp","getTreeDataPath","defaultGroupingExpansionDepth","isGroupExpandedByDefault","rowSelectionPropagation","propagateDescendants","descendants","propagateParents","parents","orFilterItems","active","keyOf","fullTree","data","filterableColumns","col","filterable","matches","some","allRowIds","tree","columnDefs","mapped","def","enableSorting","sortingState","paginationState","columnFilterState","rowSelectionState","filterSignature","JSON","stringify","userExpanded","setUserExpanded","filterExpansion","setFilterExpansion","signature","expanded","filterExpanded","expandedState","isExpanded","own","rowOf","depth","depthOf","childKeysOf","isRowExpanded","toggleRowExpanded","next","previous","resetPaginationPage","setQuickFilter","setColumnFilter","table","roots","getSubRows","childrenOf","filterFromLeafRows","paginateExpandedRows","enableMultiSort","enableMultiRowSelection","globalFilterFn","manualPagination","manualSorting","manualFiltering","autoResetPageIndex","sorting","pagination","columnFilters","globalFilter","rowSelection","onSortingChange","updater","onPaginationChange","onColumnFiltersChange","onGlobalFilterChange","onRowSelectionChange","setFilterModel","treeSelection","statuses","treeState","selectionStatus","commit","scope","units","every","targets","filtered","getFilteredRowModel","headerScope","flatRows","selectedUnits","allUnitsSelected","toggleRowSelected","toggleAllRowsSelected","headerSelection","checked","indeterminate"],"sourceRoot":"../../src","sources":["useDataGridTable.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGrid.d.ts","sourceRoot":"","sources":["../../src/DataGrid.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DataGrid.d.ts","sourceRoot":"","sources":["../../src/DataGrid.tsx"],"names":[],"mappings":"AAkFA,OAAO,EAOL,KAAK,aAAa,EAGlB,KAAK,iBAAiB,EACvB,MAAM,SAAS,CAAC;AA6qCjB,wBAAgB,QAAQ,CAAC,CAAC,SAAS,iBAAiB,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,2CAE5E;yBAFe,QAAQ;;;AAMxB,YAAY,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { type RefObject } from 'react';
|
|
2
|
+
import { View } from 'react-native';
|
|
3
|
+
import type { GridColDef, GridFilterItem, GridFilterModel, GridFilterOperator, GridLogicOperator, GridValidRowModel } from './types';
|
|
4
|
+
export declare function filterPlaceholder<R extends GridValidRowModel>(col: GridColDef<R> | undefined, operator: GridFilterOperator): string;
|
|
5
|
+
export declare function createDefaultFilterItem<R extends GridValidRowModel>(columns: readonly GridColDef<R>[]): GridFilterItem | undefined;
|
|
6
|
+
/** The control that opened the panel and, for a column opener, the field it targets. */
|
|
7
|
+
export interface DataGridFilterPanelOpener {
|
|
8
|
+
ref: RefObject<View | null>;
|
|
9
|
+
field?: string;
|
|
10
|
+
/** Changes on every open-for-field call, so a repeat call moves focus again. */
|
|
11
|
+
request?: number;
|
|
12
|
+
}
|
|
13
|
+
export interface UseDataGridFilterPanelParams<R extends GridValidRowModel> {
|
|
14
|
+
/** The panel's columns. A field that is missing or has `filterable: false` does not open it. */
|
|
15
|
+
columns: readonly GridColDef<R>[];
|
|
16
|
+
filterModel: GridFilterModel;
|
|
17
|
+
/** Receives the appended item. It filters nothing, so callers should not reset the page. */
|
|
18
|
+
onFilterModelChange: (model: GridFilterModel) => void;
|
|
19
|
+
}
|
|
20
|
+
export interface UseDataGridFilterPanelResult {
|
|
21
|
+
opener: DataGridFilterPanelOpener | null;
|
|
22
|
+
/** Opens the panel on `field`, or retargets it when already open. Header filter cells and the
|
|
23
|
+
* column menu call this; the column menu passes its trigger, since the menu item unmounts. */
|
|
24
|
+
openForField: (field: string, ref: RefObject<View | null>) => void;
|
|
25
|
+
/** The toolbar button: opens the panel on the model as it is, or closes it. */
|
|
26
|
+
toggle: (ref: RefObject<View | null>) => void;
|
|
27
|
+
close: (options: {
|
|
28
|
+
restoreFocus: boolean;
|
|
29
|
+
}) => void;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Open state for the filter panel. Opening for a field shows the field's first item, even a
|
|
33
|
+
* value-less one, and leaves the model alone. When the field has none, it appends
|
|
34
|
+
* `{ field, operator }` and drops value-less items on other fields, as the append branch of MUI X
|
|
35
|
+
* `showFilterPanel(field)` does. MUI also rewrites the model when the field has an item.
|
|
36
|
+
*/
|
|
37
|
+
export declare function useDataGridFilterPanel<R extends GridValidRowModel>({ columns, filterModel, onFilterModelChange, }: UseDataGridFilterPanelParams<R>): UseDataGridFilterPanelResult;
|
|
38
|
+
export interface DataGridFilterPanelProps<R extends GridValidRowModel> {
|
|
39
|
+
columns: readonly GridColDef<R>[];
|
|
40
|
+
filterModel: GridFilterModel;
|
|
41
|
+
onFilterModelChange: (model: GridFilterModel) => void;
|
|
42
|
+
logicOperator: GridLogicOperator;
|
|
43
|
+
onLogicOperatorChange: (operator: GridLogicOperator) => void;
|
|
44
|
+
/** `restoreFocus` is false for an outside press, which leaves focus where the user pressed. */
|
|
45
|
+
onClose: (options: {
|
|
46
|
+
restoreFocus: boolean;
|
|
47
|
+
}) => void;
|
|
48
|
+
/** Presses on the opener are not outside presses. A column opener also anchors the panel. */
|
|
49
|
+
opener: DataGridFilterPanelOpener;
|
|
50
|
+
}
|
|
51
|
+
export declare function DataGridFilterPanel<R extends GridValidRowModel>({ columns, filterModel, onFilterModelChange, logicOperator, onLogicOperatorChange, onClose, opener, }: DataGridFilterPanelProps<R>): import("react/jsx-runtime").JSX.Element;
|
|
52
|
+
//# sourceMappingURL=DataGridFilterPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataGridFilterPanel.d.ts","sourceRoot":"","sources":["../../src/DataGridFilterPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACjF,OAAO,EAAY,IAAI,EAAE,MAAM,cAAc,CAAC;AAsC9C,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAyCjB,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,iBAAiB,EAC3D,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,EAC9B,QAAQ,EAAE,kBAAkB,GAC3B,MAAM,CAeR;AAiED,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,iBAAiB,EACjE,OAAO,EAAE,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,GAChC,cAAc,GAAG,SAAS,CAM5B;AAgCD,wFAAwF;AACxF,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,4BAA4B,CAAC,CAAC,SAAS,iBAAiB;IACvE,gGAAgG;IAChG,OAAO,EAAE,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAClC,WAAW,EAAE,eAAe,CAAC;IAC7B,4FAA4F;IAC5F,mBAAmB,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;CACvD;AAED,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,yBAAyB,GAAG,IAAI,CAAC;IACzC;kGAC8F;IAC9F,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC;IACnE,+EAA+E;IAC/E,MAAM,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC;IAC9C,KAAK,EAAE,CAAC,OAAO,EAAE;QAAE,YAAY,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;CACrD;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,iBAAiB,EAAE,EAClE,OAAO,EACP,WAAW,EACX,mBAAmB,GACpB,EAAE,4BAA4B,CAAC,CAAC,CAAC,GAAG,4BAA4B,CAkChE;AAiOD,MAAM,WAAW,wBAAwB,CAAC,CAAC,SAAS,iBAAiB;IACnE,OAAO,EAAE,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAClC,WAAW,EAAE,eAAe,CAAC;IAC7B,mBAAmB,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IACtD,aAAa,EAAE,iBAAiB,CAAC;IACjC,qBAAqB,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC7D,+FAA+F;IAC/F,OAAO,EAAE,CAAC,OAAO,EAAE;QAAE,YAAY,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACtD,6FAA6F;IAC7F,MAAM,EAAE,yBAAyB,CAAC;CACnC;AAED,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,iBAAiB,EAAE,EAC/D,OAAO,EACP,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,qBAAqB,EACrB,OAAO,EACP,MAAM,GACP,EAAE,wBAAwB,CAAC,CAAC,CAAC,2CA0H7B"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { GridAlignment, GridColDef, GridColType, GridValidRowModel } from '../types';
|
|
2
|
+
export interface DataGridColumnMeta<R extends GridValidRowModel = GridValidRowModel> {
|
|
3
|
+
colDef: GridColDef<R>;
|
|
4
|
+
getFilterText: (value: unknown, row: R) => string;
|
|
5
|
+
}
|
|
6
|
+
interface ValueRow {
|
|
7
|
+
getValue: (columnId: string) => unknown;
|
|
8
|
+
original: unknown;
|
|
9
|
+
getAllCells: () => readonly {
|
|
10
|
+
column: {
|
|
11
|
+
id: string;
|
|
12
|
+
columnDef: {
|
|
13
|
+
meta?: unknown;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
}[];
|
|
17
|
+
}
|
|
18
|
+
export declare function usesDisplayFilter<R extends GridValidRowModel>(col: GridColDef<R>): boolean;
|
|
19
|
+
export declare function metaUsesDisplayFilter(meta: unknown): boolean;
|
|
20
|
+
export declare function columnSortFnName<R extends GridValidRowModel>(col: GridColDef<R>): 'text' | 'number' | 'datetime' | 'boolean' | 'selectLabel' | undefined;
|
|
21
|
+
export declare function typeDefaultAlign(type: GridColType | undefined): GridAlignment | undefined;
|
|
22
|
+
export declare function getColumnFilterText<R extends GridValidRowModel>(col: GridColDef<R>, value: unknown, row: R): string;
|
|
23
|
+
export declare function getTypedCellText<R extends GridValidRowModel>(col: GridColDef<R> | undefined, value: unknown, row: R): string | undefined;
|
|
24
|
+
export declare function normalizeFilterQuery(filterValue: unknown): string;
|
|
25
|
+
export declare function untypedCellIncludesQuery(value: unknown, query: string): boolean;
|
|
26
|
+
export declare function filterFn_displayText(row: ValueRow, columnId: string, filterValue: unknown): boolean;
|
|
27
|
+
export declare function sortFn_number(rowA: ValueRow, rowB: ValueRow, columnId: string): number;
|
|
28
|
+
export declare function sortFn_datetime(rowA: ValueRow, rowB: ValueRow, columnId: string): number;
|
|
29
|
+
export declare function sortFn_boolean(rowA: ValueRow, rowB: ValueRow, columnId: string): number;
|
|
30
|
+
export declare function sortFn_selectLabel(rowA: ValueRow, rowB: ValueRow, columnId: string): number;
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=columnTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columnTypes.d.ts","sourceRoot":"","sources":["../../../src/adapter/columnTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,WAAW,EAEX,iBAAiB,EAElB,MAAM,UAAU,CAAC;AAalB,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB;IACjF,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACtB,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,MAAM,CAAC;CACnD;AAED,UAAU,QAAQ;IAChB,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IACxC,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,SAAS;QAC1B,MAAM,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE;gBAAE,IAAI,CAAC,EAAE,OAAO,CAAA;aAAE,CAAA;SAAE,CAAC;KACvD,EAAE,CAAC;CACL;AAoBD,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,iBAAiB,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAE1F;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAE5D;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,iBAAiB,EAC1D,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,GACjB,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,CAgBxE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,CAQzF;AAgED,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,iBAAiB,EAC7D,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAClB,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,CAAC,GACL,MAAM,CAoBR;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,iBAAiB,EAC1D,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,EAC9B,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,CAAC,GACL,MAAM,GAAG,SAAS,CAQpB;AAoCD,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM,CAKjE;AAwBD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAQ/E;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,QAAQ,EACb,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,OAAO,GACnB,OAAO,CAMT;AAwBD,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKtF;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExF;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOvF;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQ3F"}
|
|
@@ -1,17 +1,26 @@
|
|
|
1
1
|
import type { TableAlignment } from '@cdx-ui/components';
|
|
2
|
-
import type {
|
|
2
|
+
import type { ColumnPinningState } from '@tanstack/react-table';
|
|
3
|
+
import { type GridAlignment, type GridColDef, type GridPinnedColumnFields, type GridValidRowModel } from '../types';
|
|
4
|
+
import { filterFn_displayText, type DataGridColumnMeta } from './columnTypes';
|
|
3
5
|
export declare function gridColDefToColumnDef<R extends GridValidRowModel>(col: GridColDef<R>): {
|
|
6
|
+
meta: DataGridColumnMeta<R>;
|
|
7
|
+
sortFn?: "number" | "boolean" | "text" | "datetime" | "selectLabel" | undefined;
|
|
8
|
+
sortUndefined?: "last" | undefined;
|
|
4
9
|
id: string;
|
|
5
10
|
accessorFn: (row: R) => unknown;
|
|
6
11
|
header: string;
|
|
7
12
|
enableSorting: boolean;
|
|
8
13
|
enableColumnFilter: boolean;
|
|
9
14
|
enableGlobalFilter: boolean;
|
|
10
|
-
filterFn:
|
|
11
|
-
meta: {
|
|
12
|
-
colDef: GridColDef<R>;
|
|
13
|
-
};
|
|
15
|
+
filterFn: (row: Parameters<typeof filterFn_displayText>[0], columnId: string, filterValue: unknown) => boolean;
|
|
14
16
|
};
|
|
15
17
|
export declare function applyUpdater<T>(updater: T | ((old: T) => T), previous: T): T;
|
|
16
18
|
export declare function normalizeGridAlignment(align?: GridAlignment): TableAlignment;
|
|
19
|
+
/**
|
|
20
|
+
* Maps `pinnedColumns` (including deprecated `left` / `right` and MUI `__check__`)
|
|
21
|
+
* to TanStack `ColumnPinningState`. Logical keys win over aliases; start wins over end.
|
|
22
|
+
*/
|
|
23
|
+
export declare function normalizePinnedColumns(pinnedColumns: GridPinnedColumnFields | undefined, knownFields: ReadonlySet<string>, checkboxSelection: boolean, detailPanel?: boolean): ColumnPinningState;
|
|
24
|
+
export declare function resolveColumnAlign<R extends GridValidRowModel>(col: GridColDef<R> | undefined): TableAlignment;
|
|
25
|
+
export declare function resolveColumnHeaderAlign<R extends GridValidRowModel>(col: GridColDef<R> | undefined): TableAlignment;
|
|
17
26
|
//# sourceMappingURL=columns.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../../src/adapter/columns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../../src/adapter/columns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACvB,MAAM,UAAU,CAAC;AAClB,OAAO,EAEL,oBAAoB,EAKpB,KAAK,kBAAkB,EAExB,MAAM,eAAe,CAAC;AAOvB,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,iBAAiB,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;;;;;sBAS/D,CAAC;;;;;oBASZ,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAAC,YACrC,MAAM,eACH,OAAO,KACnB,OAAO;EAsBb;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAE5E;AAED,wBAAgB,sBAAsB,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,cAAc,CAQ5E;AA2BD;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,sBAAsB,GAAG,SAAS,EACjD,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,EAChC,iBAAiB,EAAE,OAAO,EAC1B,WAAW,UAAQ,GAClB,kBAAkB,CAkFpB;AAED,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,iBAAiB,EAC5D,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,GAC7B,cAAc,CAKhB;AAED,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,iBAAiB,EAClE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,GAC7B,cAAc,CAKhB"}
|