@cdx-ui/data-grid 0.3.12 → 0.3.14

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.
Files changed (67) hide show
  1. package/coverage.svg +1 -1
  2. package/lib/commonjs/DataGrid.js +279 -40
  3. package/lib/commonjs/DataGrid.js.map +1 -1
  4. package/lib/commonjs/DataGridFilterPanel.js +136 -9
  5. package/lib/commonjs/DataGridFilterPanel.js.map +1 -1
  6. package/lib/commonjs/adapter/columns.js +16 -8
  7. package/lib/commonjs/adapter/columns.js.map +1 -1
  8. package/lib/commonjs/adapter/pinning.js +5 -1
  9. package/lib/commonjs/adapter/pinning.js.map +1 -1
  10. package/lib/commonjs/adapter/selectColumn.js +11 -0
  11. package/lib/commonjs/adapter/selectColumn.js.map +1 -1
  12. package/lib/commonjs/adapter/treeData.js +195 -0
  13. package/lib/commonjs/adapter/treeData.js.map +1 -0
  14. package/lib/commonjs/styles.js +48 -2
  15. package/lib/commonjs/styles.js.map +1 -1
  16. package/lib/commonjs/types.js +11 -1
  17. package/lib/commonjs/types.js.map +1 -1
  18. package/lib/commonjs/useDataGridTable.js +143 -12
  19. package/lib/commonjs/useDataGridTable.js.map +1 -1
  20. package/lib/module/DataGrid.js +285 -46
  21. package/lib/module/DataGrid.js.map +1 -1
  22. package/lib/module/DataGridFilterPanel.js +139 -13
  23. package/lib/module/DataGridFilterPanel.js.map +1 -1
  24. package/lib/module/adapter/columns.js +17 -9
  25. package/lib/module/adapter/columns.js.map +1 -1
  26. package/lib/module/adapter/pinning.js +5 -1
  27. package/lib/module/adapter/pinning.js.map +1 -1
  28. package/lib/module/adapter/selectColumn.js +11 -1
  29. package/lib/module/adapter/selectColumn.js.map +1 -1
  30. package/lib/module/adapter/treeData.js +187 -0
  31. package/lib/module/adapter/treeData.js.map +1 -0
  32. package/lib/module/styles.js +47 -1
  33. package/lib/module/styles.js.map +1 -1
  34. package/lib/module/types.js +10 -0
  35. package/lib/module/types.js.map +1 -1
  36. package/lib/module/useDataGridTable.js +147 -16
  37. package/lib/module/useDataGridTable.js.map +1 -1
  38. package/lib/typescript/DataGrid.d.ts.map +1 -1
  39. package/lib/typescript/DataGridFilterPanel.d.ts +39 -4
  40. package/lib/typescript/DataGridFilterPanel.d.ts.map +1 -1
  41. package/lib/typescript/adapter/columns.d.ts +1 -1
  42. package/lib/typescript/adapter/columns.d.ts.map +1 -1
  43. package/lib/typescript/adapter/pinning.d.ts +1 -0
  44. package/lib/typescript/adapter/pinning.d.ts.map +1 -1
  45. package/lib/typescript/adapter/selectColumn.d.ts +8 -0
  46. package/lib/typescript/adapter/selectColumn.d.ts.map +1 -1
  47. package/lib/typescript/adapter/treeData.d.ts +36 -0
  48. package/lib/typescript/adapter/treeData.d.ts.map +1 -0
  49. package/lib/typescript/index.d.ts +1 -1
  50. package/lib/typescript/index.d.ts.map +1 -1
  51. package/lib/typescript/styles.d.ts +12 -1
  52. package/lib/typescript/styles.d.ts.map +1 -1
  53. package/lib/typescript/types.d.ts +68 -0
  54. package/lib/typescript/types.d.ts.map +1 -1
  55. package/lib/typescript/useDataGridTable.d.ts +25 -3
  56. package/lib/typescript/useDataGridTable.d.ts.map +1 -1
  57. package/package.json +5 -5
  58. package/src/DataGrid.tsx +399 -59
  59. package/src/DataGridFilterPanel.tsx +188 -17
  60. package/src/adapter/columns.ts +21 -7
  61. package/src/adapter/pinning.ts +10 -1
  62. package/src/adapter/selectColumn.ts +12 -1
  63. package/src/adapter/treeData.ts +228 -0
  64. package/src/index.ts +4 -0
  65. package/src/styles.ts +57 -1
  66. package/src/types.ts +76 -0
  67. package/src/useDataGridTable.ts +217 -15
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
 
3
- import { SELECT_COLUMN_ID } from '../types';
3
+ import { DETAIL_PANEL_TOGGLE_ID, SELECT_COLUMN_ID } from '../types';
4
4
  export const DEFAULT_PINNED_COLUMN_WIDTH = 100;
5
5
  export const SELECT_COLUMN_WIDTH = 56;
6
+ export const DETAIL_PANEL_TOGGLE_WIDTH = 48;
6
7
  export function isColumnPinningActive(state) {
7
8
  return state.start.length > 0 || state.end.length > 0;
8
9
  }
@@ -13,6 +14,9 @@ export function pinnedColumnPixelWidth(columnId, col) {
13
14
  if (columnId === SELECT_COLUMN_ID) {
14
15
  return SELECT_COLUMN_WIDTH;
15
16
  }
17
+ if (columnId === DETAIL_PANEL_TOGGLE_ID) {
18
+ return DETAIL_PANEL_TOGGLE_WIDTH;
19
+ }
16
20
  return Math.max(col?.width ?? DEFAULT_PINNED_COLUMN_WIDTH, col?.minWidth ?? 0);
17
21
  }
18
22
  export function buildPinnedOffsets(state, colByField) {
@@ -1 +1 @@
1
- {"version":3,"names":["SELECT_COLUMN_ID","DEFAULT_PINNED_COLUMN_WIDTH","SELECT_COLUMN_WIDTH","isColumnPinningActive","state","start","length","end","pinnedFieldSet","Set","pinnedColumnPixelWidth","columnId","col","Math","max","width","minWidth","buildPinnedOffsets","colByField","Map","startOffset","id","set","get","endOffset","index","startTotal","endTotal","pinnedCellStyle","edge","offset","isHeader","position","insetInlineStart","insetInlineEnd","zIndex","pinnedEdgeGuidesImage","offsets","color","isRTL","stops","toString","inner","push","undefined","join","warnedPinnedFlexFields","warnPinnedFlexColumns","columns","pinned","__DEV__","column","has","field","flex","add","console","warn"],"sourceRoot":"../../../src","sources":["adapter/pinning.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DETAIL_PANEL_TOGGLE_ID","SELECT_COLUMN_ID","DEFAULT_PINNED_COLUMN_WIDTH","SELECT_COLUMN_WIDTH","DETAIL_PANEL_TOGGLE_WIDTH","isColumnPinningActive","state","start","length","end","pinnedFieldSet","Set","pinnedColumnPixelWidth","columnId","col","Math","max","width","minWidth","buildPinnedOffsets","colByField","Map","startOffset","id","set","get","endOffset","index","startTotal","endTotal","pinnedCellStyle","edge","offset","isHeader","position","insetInlineStart","insetInlineEnd","zIndex","pinnedEdgeGuidesImage","offsets","color","isRTL","stops","toString","inner","push","undefined","join","warnedPinnedFlexFields","warnPinnedFlexColumns","columns","pinned","__DEV__","column","has","field","flex","add","console","warn"],"sourceRoot":"../../../src","sources":["adapter/pinning.ts"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { SELECT_COLUMN_ID } from '../types';
3
+ import { DETAIL_PANEL_TOGGLE_ID, SELECT_COLUMN_ID } from '../types';
4
4
  export function createSelectColumn() {
5
5
  return {
6
6
  id: SELECT_COLUMN_ID,
@@ -11,4 +11,14 @@ export function createSelectColumn() {
11
11
  size: 48
12
12
  };
13
13
  }
14
+ export function createDetailPanelToggleColumn() {
15
+ return {
16
+ id: DETAIL_PANEL_TOGGLE_ID,
17
+ header: DETAIL_PANEL_TOGGLE_ID,
18
+ enableSorting: false,
19
+ enableColumnFilter: false,
20
+ enableGlobalFilter: false,
21
+ size: 48
22
+ };
23
+ }
14
24
  //# sourceMappingURL=selectColumn.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["SELECT_COLUMN_ID","createSelectColumn","id","header","enableSorting","enableColumnFilter","enableGlobalFilter","size"],"sourceRoot":"../../../src","sources":["adapter/selectColumn.ts"],"mappings":";;AAAA,SAASA,gBAAgB,QAAQ,UAAU;AAE3C,OAAO,SAASC,kBAAkBA,CAAA,EAAG;EACnC,OAAO;IACLC,EAAE,EAAEF,gBAAgB;IACpBG,MAAM,EAAEH,gBAAgB;IACxBI,aAAa,EAAE,KAAK;IACpBC,kBAAkB,EAAE,KAAK;IACzBC,kBAAkB,EAAE,KAAK;IACzBC,IAAI,EAAE;EACR,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["DETAIL_PANEL_TOGGLE_ID","SELECT_COLUMN_ID","createSelectColumn","id","header","enableSorting","enableColumnFilter","enableGlobalFilter","size","createDetailPanelToggleColumn"],"sourceRoot":"../../../src","sources":["adapter/selectColumn.ts"],"mappings":";;AAAA,SAASA,sBAAsB,EAAEC,gBAAgB,QAAQ,UAAU;AAEnE,OAAO,SAASC,kBAAkBA,CAAA,EAAG;EACnC,OAAO;IACLC,EAAE,EAAEF,gBAAgB;IACpBG,MAAM,EAAEH,gBAAgB;IACxBI,aAAa,EAAE,KAAK;IACpBC,kBAAkB,EAAE,KAAK;IACzBC,kBAAkB,EAAE,KAAK;IACzBC,IAAI,EAAE;EACR,CAAC;AACH;AAEA,OAAO,SAASC,6BAA6BA,CAAA,EAAG;EAC9C,OAAO;IACLN,EAAE,EAAEH,sBAAsB;IAC1BI,MAAM,EAAEJ,sBAAsB;IAC9BK,aAAa,EAAE,KAAK;IACpBC,kBAAkB,EAAE,KAAK;IACzBC,kBAAkB,EAAE,KAAK;IACzBC,IAAI,EAAE;EACR,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,187 @@
1
+ "use strict";
2
+
3
+ /** The shape TanStack rows share; filtered and sorted rows carry their filtered `subRows`. */
4
+
5
+ const pathKey = path => JSON.stringify(path);
6
+ const warnedDuplicatePaths = new Set();
7
+ export function buildTreeIndex(rows, getTreeDataPath, keyOf) {
8
+ const byPath = new Map();
9
+ const paths = new Map();
10
+ for (const row of rows) {
11
+ const path = getTreeDataPath(row);
12
+ const key = pathKey(path);
13
+ if (__DEV__ && byPath.has(key) && !warnedDuplicatePaths.has(key)) {
14
+ warnedDuplicatePaths.add(key);
15
+ console.warn(`[DataGrid] Duplicate tree data path ${key}. Paths must be unique.`);
16
+ }
17
+ byPath.set(key, row);
18
+ paths.set(row, path);
19
+ }
20
+ const roots = [];
21
+ const childrenOf = new Map();
22
+ const rowOf = new Map();
23
+ const parentKeyOf = new Map();
24
+ const childKeysOf = new Map();
25
+ for (const row of rows) {
26
+ const path = paths.get(row) ?? [];
27
+ const key = keyOf(row);
28
+ rowOf.set(key, row);
29
+ let parent;
30
+ for (let length = path.length - 1; length > 0 && parent === undefined; length -= 1) {
31
+ parent = byPath.get(pathKey(path.slice(0, length)));
32
+ }
33
+ if (parent === undefined || parent === row) {
34
+ roots.push(row);
35
+ continue;
36
+ }
37
+ const parentKey = keyOf(parent);
38
+ parentKeyOf.set(key, parentKey);
39
+ const siblings = childrenOf.get(parent);
40
+ if (siblings) {
41
+ siblings.push(row);
42
+ } else {
43
+ childrenOf.set(parent, [row]);
44
+ }
45
+ const siblingKeys = childKeysOf.get(parentKey);
46
+ if (siblingKeys) {
47
+ siblingKeys.push(key);
48
+ } else {
49
+ childKeysOf.set(parentKey, [key]);
50
+ }
51
+ }
52
+ const depthOf = new Map();
53
+ const breadthFirst = roots.map(row => keyOf(row));
54
+ for (const key of breadthFirst) {
55
+ depthOf.set(key, 0);
56
+ }
57
+ // The array iterator also visits children pushed during the loop.
58
+ for (const key of breadthFirst) {
59
+ for (const child of childKeysOf.get(key) ?? []) {
60
+ depthOf.set(child, (depthOf.get(key) ?? 0) + 1);
61
+ breadthFirst.push(child);
62
+ }
63
+ }
64
+ return {
65
+ roots,
66
+ childrenOf,
67
+ rowOf,
68
+ parentKeyOf,
69
+ childKeysOf,
70
+ depthOf,
71
+ keysDeepestFirst: breadthFirst.reverse()
72
+ };
73
+ }
74
+
75
+ /**
76
+ * With `propagateParents`, a parent is `all` exactly when every child is `all`, whatever the model
77
+ * says about the parent itself. Without it, a parent's own selection decides, and partly selected
78
+ * descendants show as `some`.
79
+ */
80
+ export function computeTreeSelection(index, selected, propagateParents) {
81
+ const status = new Map();
82
+ for (const key of index.keysDeepestFirst) {
83
+ const isSelected = selected.has(key);
84
+ const children = index.childKeysOf.get(key);
85
+ if (!children?.length) {
86
+ status.set(key, isSelected ? 'all' : 'none');
87
+ continue;
88
+ }
89
+ let all = true;
90
+ let some = false;
91
+ for (const child of children) {
92
+ const childStatus = status.get(child) ?? 'none';
93
+ if (childStatus !== 'all') {
94
+ all = false;
95
+ }
96
+ if (childStatus !== 'none') {
97
+ some = true;
98
+ }
99
+ }
100
+ if (propagateParents) {
101
+ status.set(key, all ? 'all' : some || isSelected ? 'some' : 'none');
102
+ } else {
103
+ status.set(key, isSelected ? 'all' : some ? 'some' : 'none');
104
+ }
105
+ }
106
+ return status;
107
+ }
108
+ export function applyTreeSelection(index, selected, targets, value, propagateParents) {
109
+ const next = new Set(selected);
110
+ for (const key of targets) {
111
+ if (value) {
112
+ next.add(key);
113
+ } else {
114
+ next.delete(key);
115
+ }
116
+ }
117
+ if (propagateParents) {
118
+ for (const key of index.keysDeepestFirst) {
119
+ const children = index.childKeysOf.get(key);
120
+ if (!children?.length) {
121
+ continue;
122
+ }
123
+ if (children.every(child => next.has(child))) {
124
+ next.add(key);
125
+ } else {
126
+ next.delete(key);
127
+ }
128
+ }
129
+ }
130
+ return next;
131
+ }
132
+
133
+ /**
134
+ * Rows a toggle writes (`targets`) and the rows whose state decides the toggle direction
135
+ * (`units`). With `descendants`, a row's filtered sub-rows are included; a row whose children were
136
+ * all filtered out takes its whole subtree, so a matching group can still be picked.
137
+ */
138
+ export function selectionScope(rows, index, descendants) {
139
+ const targets = [];
140
+ const units = [];
141
+ const visitFullSubtree = key => {
142
+ targets.push(key);
143
+ const children = index.childKeysOf.get(key);
144
+ if (!children?.length) {
145
+ units.push(key);
146
+ return;
147
+ }
148
+ children.forEach(visitFullSubtree);
149
+ };
150
+ const visit = row => {
151
+ if (!descendants) {
152
+ targets.push(row.id);
153
+ units.push(row.id);
154
+ return;
155
+ }
156
+ if (row.subRows.length === 0) {
157
+ visitFullSubtree(row.id);
158
+ return;
159
+ }
160
+ targets.push(row.id);
161
+ row.subRows.forEach(visit);
162
+ };
163
+ rows.forEach(visit);
164
+ return {
165
+ targets,
166
+ units
167
+ };
168
+ }
169
+
170
+ /** Keeps every row that matches and every ancestor of a match. */
171
+ export function keepMatchesWithAncestors(rows, index, keyOf, matches) {
172
+ const keep = new Set();
173
+ for (const row of rows) {
174
+ if (!matches(row)) {
175
+ continue;
176
+ }
177
+ for (let key = keyOf(row); key !== undefined;) {
178
+ if (keep.has(key)) {
179
+ break;
180
+ }
181
+ keep.add(key);
182
+ key = index.parentKeyOf.get(key);
183
+ }
184
+ }
185
+ return rows.filter(row => keep.has(keyOf(row)));
186
+ }
187
+ //# sourceMappingURL=treeData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["pathKey","path","JSON","stringify","warnedDuplicatePaths","Set","buildTreeIndex","rows","getTreeDataPath","keyOf","byPath","Map","paths","row","key","__DEV__","has","add","console","warn","set","roots","childrenOf","rowOf","parentKeyOf","childKeysOf","get","parent","length","undefined","slice","push","parentKey","siblings","siblingKeys","depthOf","breadthFirst","map","child","keysDeepestFirst","reverse","computeTreeSelection","index","selected","propagateParents","status","isSelected","children","all","some","childStatus","applyTreeSelection","targets","value","next","delete","every","selectionScope","descendants","units","visitFullSubtree","forEach","visit","id","subRows","keepMatchesWithAncestors","matches","keep","filter"],"sourceRoot":"../../../src","sources":["adapter/treeData.ts"],"mappings":"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","ignoreList":[]}
@@ -147,7 +147,20 @@ export const dataGridBodyVariants = cva(Platform.select({
147
147
  default: ''
148
148
  }));
149
149
  export const dataGridFilterInputVariants = cva('min-w-24');
150
- export const dataGridFilterPanelVariants = cva('absolute start-4 top-16 z-30 w-max max-w-[calc(100%-2rem)] gap-3 rounded-lg border border-stroke-secondary bg-surface-primary px-3 pb-2 pt-3 shadow-lg');
150
+
151
+ // The toolbar panel sits at a fixed spot in the grid root. A panel opened from a column is anchored
152
+ // to its opener in a portal, so its position and width cap come from the anchored overlay instead.
153
+ export const dataGridFilterPanelVariants = cva('w-max gap-3 rounded-lg border border-stroke-secondary bg-surface-primary px-3 pb-2 pt-3 shadow-lg', {
154
+ variants: {
155
+ anchored: {
156
+ true: '',
157
+ false: 'absolute start-4 top-16 z-30 max-w-[calc(100%-2rem)]'
158
+ }
159
+ },
160
+ defaultVariants: {
161
+ anchored: false
162
+ }
163
+ });
151
164
 
152
165
  // The panel is as wide as one unwrapped row, capped at the grid's width. Below that, fields wrap
153
166
  // onto new lines and grow to fill them, so the layout follows the grid's width, not the viewport.
@@ -178,6 +191,39 @@ export const dataGridCellVariants = cva(['h-12 px-4', Platform.select({
178
191
  web: 'border-b border-stroke-secondary',
179
192
  default: ''
180
193
  })]);
194
+ export const dataGridDetailToggleCellVariants = cva(['w-12 px-2', Platform.select({
195
+ web: 'border-b border-stroke-secondary',
196
+ default: ''
197
+ })]);
198
+
199
+ // Header labels and depth-0 content line up because both reserve the toggle slot.
200
+ export const dataGridTreeCellInnerVariants = cva('min-w-0 flex-1 flex-row items-center gap-2');
201
+ export const dataGridTreeToggleSlotVariants = cva('size-8 shrink-0 items-center justify-center');
202
+ export const dataGridTreeContentVariants = cva('min-w-0 flex-1 flex-row items-center');
203
+ export const dataGridDetailPanelCellVariants = cva(['px-4 py-3', Platform.select({
204
+ web: 'border-b border-stroke-secondary bg-surface-primary',
205
+ default: ''
206
+ })]);
207
+
208
+ // Same `w-0 min-w-full` trick as the header label: a declared column width truncates the value
209
+ // with an ellipsis instead of wrapping it onto a second line and growing the fixed-height row.
210
+ export const dataGridCellTextVariants = cva('min-w-0', {
211
+ variants: {
212
+ align: {
213
+ start: 'text-start',
214
+ center: 'text-center',
215
+ end: 'text-end'
216
+ },
217
+ fitToColumn: {
218
+ true: 'w-0 min-w-full',
219
+ false: ''
220
+ }
221
+ },
222
+ defaultVariants: {
223
+ align: 'start',
224
+ fitToColumn: false
225
+ }
226
+ });
181
227
  export const dataGridSelectCellVariants = cva(['w-14 px-4', Platform.select({
182
228
  web: 'border-b border-stroke-secondary',
183
229
  default: ''
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","cva","dataGridRootVariants","variants","autoHeight","true","false","defaultVariants","dataGridMainVariants","overlay","compoundVariants","className","dataGridPinnedSurfaceVariants","select","web","default","header","dataGridPinnedEdgeVariants","edge","start","end","none","dataGridToolbarVariants","dataGridToolbarSearchVariants","dataGridToolbarActionsVariants","dataGridFooterVariants","dataGridOverlayVariants","headerFilters","dataGridEmptyOverlayVariants","dataGridHeaderCellInnerVariants","align","center","fitToColumn","dataGridHeaderLabelVariants","dataGridSortButtonVariants","position","leading","trailing","sorted","dataGridTableVariants","dataGridHeaderVariants","dataGridBodyVariants","dataGridFilterInputVariants","dataGridFilterPanelVariants","dataGridFilterPanelRowVariants","dataGridFilterPanelLogicVariants","dataGridFilterPanelFieldVariants","size","column","operator","value","dataGridFilterPanelColumnVariants","dataGridFilterPanelOperatorVariants","dataGridFilterPanelValueVariants","dataGridFilterPanelFooterVariants","dataGridHeadVariants","dataGridSelectHeadVariants","dataGridCellVariants","dataGridSelectCellVariants","dataGridPaginationVariants","dataGridPaginationRangeVariants"],"sourceRoot":"../../src","sources":["styles.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Platform","cva","dataGridRootVariants","variants","autoHeight","true","false","defaultVariants","dataGridMainVariants","overlay","compoundVariants","className","dataGridPinnedSurfaceVariants","select","web","default","header","dataGridPinnedEdgeVariants","edge","start","end","none","dataGridToolbarVariants","dataGridToolbarSearchVariants","dataGridToolbarActionsVariants","dataGridFooterVariants","dataGridOverlayVariants","headerFilters","dataGridEmptyOverlayVariants","dataGridHeaderCellInnerVariants","align","center","fitToColumn","dataGridHeaderLabelVariants","dataGridSortButtonVariants","position","leading","trailing","sorted","dataGridTableVariants","dataGridHeaderVariants","dataGridBodyVariants","dataGridFilterInputVariants","dataGridFilterPanelVariants","anchored","dataGridFilterPanelRowVariants","dataGridFilterPanelLogicVariants","dataGridFilterPanelFieldVariants","size","column","operator","value","dataGridFilterPanelColumnVariants","dataGridFilterPanelOperatorVariants","dataGridFilterPanelValueVariants","dataGridFilterPanelFooterVariants","dataGridHeadVariants","dataGridSelectHeadVariants","dataGridCellVariants","dataGridDetailToggleCellVariants","dataGridTreeCellInnerVariants","dataGridTreeToggleSlotVariants","dataGridTreeContentVariants","dataGridDetailPanelCellVariants","dataGridCellTextVariants","dataGridSelectCellVariants","dataGridPaginationVariants","dataGridPaginationRangeVariants"],"sourceRoot":"../../src","sources":["styles.ts"],"mappings":"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","ignoreList":[]}
@@ -25,8 +25,18 @@
25
25
  * explicit `{ value, label }` pair.
26
26
  */
27
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
+
28
34
  export const SELECT_COLUMN_ID = '__select__';
29
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
+
30
40
  /** MUI X Data Grid checkbox-column field; accepted as an alias for {@link SELECT_COLUMN_ID}. */
31
41
  export const MUI_CHECKBOX_FIELD = '__check__';
32
42
  export const DEFAULT_PAGE_SIZE_OPTIONS = [25, 50, 100];
@@ -1 +1 @@
1
- {"version":3,"names":["SELECT_COLUMN_ID","MUI_CHECKBOX_FIELD","DEFAULT_PAGE_SIZE_OPTIONS","DEFAULT_PAGINATION_MODEL","page","pageSize","EMPTY_SELECTION","type","ids","Set"],"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;;AA+HA,OAAO,MAAMA,gBAAgB,GAAG,YAAY;;AAE5C;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,IAAIC,GAAG,CAAC;AACf,CAAC","ignoreList":[]}
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,14 +1,15 @@
1
1
  "use strict";
2
2
 
3
- import { useMemo } from 'react';
4
- import { columnFilteringFeature, columnPinningFeature, 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
8
  import { filterFn_displayText, metaUsesDisplayFilter, normalizeFilterQuery, sortFn_boolean, sortFn_datetime, sortFn_number, sortFn_selectLabel, untypedCellIncludesQuery } from './adapter/columnTypes';
8
9
  import { filterOperatorNeedsValue, isActiveFilterItem, isBlankFilterValue, isFilterValueGroup, isOperatorFilterValue, rowMatchesFilterItem } from './adapter/filterOperators';
9
- import { SELECT_COLUMN_ID } from './types';
10
+ import { DETAIL_PANEL_TOGGLE_ID, SELECT_COLUMN_ID } from './types';
10
11
  function gridGlobalFilterFn(row, columnId, filterValue) {
11
- if (columnId === SELECT_COLUMN_ID) {
12
+ if (columnId === SELECT_COLUMN_ID || columnId === DETAIL_PANEL_TOGGLE_ID) {
12
13
  return false;
13
14
  }
14
15
  const meta = row.getAllCells().find(cell => cell.column.id === columnId)?.column.columnDef.meta;
@@ -20,7 +21,9 @@ function gridGlobalFilterFn(row, columnId, filterValue) {
20
21
  const features = tableFeatures({
21
22
  columnFilteringFeature,
22
23
  columnPinningFeature,
24
+ columnVisibilityFeature,
23
25
  globalFilteringFeature,
26
+ rowExpandingFeature,
24
27
  rowSortingFeature,
25
28
  rowPaginationFeature,
26
29
  rowSelectionFeature,
@@ -193,6 +196,10 @@ export function resolveRowId(row, getRowId) {
193
196
  }
194
197
  return '';
195
198
  }
199
+ const EMPTY_EXPANSION = {};
200
+ const EMPTY_FILTER_EXPANSION = {};
201
+ const EMPTY_VISIBILITY = {};
202
+ let warnedMissingTreeDataPath = false;
196
203
  export function useDataGridTable({
197
204
  rows,
198
205
  columns,
@@ -214,8 +221,22 @@ export function useDataGridTable({
214
221
  onQuickFilterChange,
215
222
  rowSelectionModel,
216
223
  onRowSelectionModelChange,
217
- columnPinning
224
+ columnPinning,
225
+ columnVisibility = EMPTY_VISIBILITY,
226
+ detailPanel = false,
227
+ treeData: treeDataProp = false,
228
+ getTreeDataPath,
229
+ defaultGroupingExpansionDepth = 0,
230
+ isGroupExpandedByDefault,
231
+ rowSelectionPropagation
218
232
  }) {
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;
219
240
  const orFilterItems = useMemo(() => {
220
241
  if (filterLogicOperator !== 'or' || filterMode === 'server') {
221
242
  return undefined;
@@ -223,17 +244,27 @@ export function useDataGridTable({
223
244
  const active = filterModel.filter(isActiveFilterItem);
224
245
  return active.length > 1 ? active : undefined;
225
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]);
226
249
  const data = useMemo(() => {
227
250
  if (!orFilterItems) {
228
251
  return [...rows];
229
252
  }
230
253
  const filterableColumns = new Map(columns.filter(col => col.filterable !== false).map(col => [col.field, col]));
231
- return rows.filter(row => orFilterItems.some(item => {
254
+ const matches = row => orFilterItems.some(item => {
232
255
  const col = filterableColumns.get(item.field);
233
256
  return col !== undefined && rowMatchesFilterItem(col, row, item);
234
- }));
235
- }, [columns, orFilterItems, rows]);
257
+ });
258
+ return fullTree ? keepMatchesWithAncestors(rows, fullTree, keyOf, matches) : rows.filter(matches);
259
+ }, [columns, fullTree, keyOf, orFilterItems, rows]);
236
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]);
237
268
  const columnDefs = useMemo(() => {
238
269
  const mapped = columns.map(col => {
239
270
  const def = gridColDefToColumnDef(col);
@@ -242,12 +273,68 @@ export function useDataGridTable({
242
273
  }
243
274
  return def;
244
275
  });
245
- return checkboxSelection ? [createSelectColumn(), ...mapped] : mapped;
246
- }, [checkboxSelection, columns, disableColumnSorting]);
276
+ return [...(checkboxSelection && !treeData ? [createSelectColumn()] : []), ...(detailPanel ? [createDetailPanelToggleColumn()] : []), ...mapped];
277
+ }, [checkboxSelection, columns, detailPanel, disableColumnSorting, treeData]);
247
278
  const sortingState = useMemo(() => sortModelToSortingState(sortModel), [sortModel]);
248
279
  const paginationState = useMemo(() => paginationModelToState(paginationModel), [paginationModel]);
249
280
  const columnFilterState = useMemo(() => orFilterItems ? [] : filterModelToColumnFilters(filterModel), [filterModel, orFilterItems]);
250
- const rowSelectionState = useMemo(() => selectionModelToRowSelection(rowSelectionModel, allIds), [rowSelectionModel, allIds]);
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
+ };
251
338
  const resetPaginationPage = () => {
252
339
  if (paginationModel.page !== 0) {
253
340
  onPaginationModelChange({
@@ -274,8 +361,11 @@ export function useDataGridTable({
274
361
  const table = useTable({
275
362
  features,
276
363
  columns: columnDefs,
277
- data,
278
- getRowId: row => selectionIdKey(resolveRowId(row, getRowId)),
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,
279
369
  enableMultiSort: false,
280
370
  enableMultiRowSelection: true,
281
371
  globalFilterFn: gridGlobalFilterFn,
@@ -290,7 +380,9 @@ export function useDataGridTable({
290
380
  columnFilters: columnFilterState,
291
381
  globalFilter: quickFilter,
292
382
  rowSelection: rowSelectionState,
293
- columnPinning
383
+ columnPinning,
384
+ columnVisibility,
385
+ expanded: expandedState
294
386
  },
295
387
  onSortingChange: updater => {
296
388
  const next = applyUpdater(updater, sortingState);
@@ -319,11 +411,50 @@ export function useDataGridTable({
319
411
  onFilterModelChange(model);
320
412
  resetPaginationPage();
321
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
+ }
322
452
  return {
323
453
  table,
324
454
  setQuickFilter,
325
455
  setColumnFilter,
326
- setFilterModel
456
+ setFilterModel,
457
+ tree: treeState
327
458
  };
328
459
  }
329
460
  //# sourceMappingURL=useDataGridTable.js.map