@tanstack/table-core 8.0.0-alpha.54 → 8.0.0-alpha.58
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/build/cjs/core.js +9 -384
- package/build/cjs/core.js.map +1 -1
- package/build/cjs/features/Cells.js +122 -0
- package/build/cjs/features/Cells.js.map +1 -0
- package/build/cjs/features/ColumnSizing.js +90 -37
- package/build/cjs/features/ColumnSizing.js.map +1 -1
- package/build/cjs/features/Columns.js +216 -0
- package/build/cjs/features/Columns.js.map +1 -0
- package/build/cjs/features/Expanding.js +2 -2
- package/build/cjs/features/Expanding.js.map +1 -1
- package/build/cjs/features/Filters.js +3 -3
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Grouping.js +2 -2
- package/build/cjs/features/Grouping.js.map +1 -1
- package/build/cjs/features/Headers.js +78 -153
- package/build/cjs/features/Headers.js.map +1 -1
- package/build/cjs/features/Ordering.js +1 -1
- package/build/cjs/features/Ordering.js.map +1 -1
- package/build/cjs/features/Pagination.js +2 -2
- package/build/cjs/features/Pagination.js.map +1 -1
- package/build/cjs/features/Pinning.js +172 -2
- package/build/cjs/features/Pinning.js.map +1 -1
- package/build/cjs/features/RowSelection.js +1 -1
- package/build/cjs/features/RowSelection.js.map +1 -1
- package/build/cjs/features/Rows.js +99 -0
- package/build/cjs/features/Rows.js.map +1 -0
- package/build/cjs/features/Sorting.js +2 -2
- package/build/cjs/features/Sorting.js.map +1 -1
- package/build/cjs/features/Visibility.js +51 -17
- package/build/cjs/features/Visibility.js.map +1 -1
- package/build/cjs/utils.js.map +1 -1
- package/build/esm/index.js +881 -695
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +418 -316
- package/build/types/core.d.ts +2 -79
- package/build/types/features/Cells.d.ts +14 -0
- package/build/types/features/ColumnSizing.d.ts +26 -18
- package/build/types/features/Columns.d.ts +54 -0
- package/build/types/features/Expanding.d.ts +2 -1
- package/build/types/features/Filters.d.ts +3 -1
- package/build/types/features/Grouping.d.ts +2 -1
- package/build/types/features/Headers.d.ts +3 -11
- package/build/types/features/Ordering.d.ts +1 -1
- package/build/types/features/Pagination.d.ts +2 -1
- package/build/types/features/Pinning.d.ts +18 -4
- package/build/types/features/RowSelection.d.ts +1 -1
- package/build/types/features/Rows.d.ts +29 -0
- package/build/types/features/Sorting.d.ts +2 -1
- package/build/types/features/Visibility.d.ts +7 -2
- package/build/types/types.d.ts +18 -10
- package/build/types/utils.d.ts +0 -1
- package/build/umd/index.development.js +882 -696
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +1 -1
- package/build/umd/index.production.js.map +1 -1
- package/package.json +1 -1
- package/src/core.ts +28 -550
- package/src/features/Cells.ts +156 -0
- package/src/features/ColumnSizing.ts +103 -51
- package/src/features/Columns.ts +290 -0
- package/src/features/Expanding.ts +7 -3
- package/src/features/Filters.ts +11 -3
- package/src/features/Grouping.ts +3 -2
- package/src/features/Headers.ts +48 -138
- package/src/features/Ordering.ts +1 -1
- package/src/features/Pagination.ts +6 -2
- package/src/features/Pinning.ts +194 -3
- package/src/features/RowSelection.ts +1 -1
- package/src/features/Rows.ts +151 -0
- package/src/features/Sorting.ts +3 -2
- package/src/features/Visibility.ts +67 -20
- package/src/types.ts +25 -37
- package/src/utils.ts +1 -3
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* table-core
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) TanStack
|
|
5
|
+
*
|
|
6
|
+
* This source code is licensed under the MIT license found in the
|
|
7
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
+
*
|
|
9
|
+
* @license MIT
|
|
10
|
+
*/
|
|
11
|
+
'use strict';
|
|
12
|
+
|
|
13
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
|
+
|
|
15
|
+
var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.js');
|
|
16
|
+
var utils = require('../utils.js');
|
|
17
|
+
|
|
18
|
+
//
|
|
19
|
+
var Columns = {
|
|
20
|
+
createInstance: function createInstance(instance) {
|
|
21
|
+
return {
|
|
22
|
+
getDefaultColumn: utils.memo(function () {
|
|
23
|
+
return [instance.options.defaultColumn];
|
|
24
|
+
}, function (defaultColumn) {
|
|
25
|
+
var _defaultColumn;
|
|
26
|
+
|
|
27
|
+
defaultColumn = (_defaultColumn = defaultColumn) != null ? _defaultColumn : {};
|
|
28
|
+
return _rollupPluginBabelHelpers["extends"]({
|
|
29
|
+
header: function header(props) {
|
|
30
|
+
return props.header.column.id;
|
|
31
|
+
},
|
|
32
|
+
footer: function footer(props) {
|
|
33
|
+
return props.header.column.id;
|
|
34
|
+
},
|
|
35
|
+
cell: function cell(_ref) {
|
|
36
|
+
var _ref$value = _ref.value,
|
|
37
|
+
value = _ref$value === void 0 ? '' : _ref$value;
|
|
38
|
+
return typeof value === 'boolean' ? value.toString() : value;
|
|
39
|
+
}
|
|
40
|
+
}, instance._features.reduce(function (obj, feature) {
|
|
41
|
+
return Object.assign(obj, feature.getDefaultColumn == null ? void 0 : feature.getDefaultColumn());
|
|
42
|
+
}, {}), defaultColumn);
|
|
43
|
+
}, {
|
|
44
|
+
debug: function debug() {
|
|
45
|
+
var _instance$options$deb;
|
|
46
|
+
|
|
47
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugColumns;
|
|
48
|
+
},
|
|
49
|
+
key: 'getDefaultColumn'
|
|
50
|
+
}),
|
|
51
|
+
getColumnDefs: function getColumnDefs() {
|
|
52
|
+
return instance.options.columns;
|
|
53
|
+
},
|
|
54
|
+
createColumn: function createColumn(columnDef, depth, parent) {
|
|
55
|
+
var _ref2, _columnDef$id;
|
|
56
|
+
|
|
57
|
+
var defaultColumn = instance.getDefaultColumn();
|
|
58
|
+
var id = (_ref2 = (_columnDef$id = columnDef.id) != null ? _columnDef$id : columnDef.accessorKey) != null ? _ref2 : typeof columnDef.header === 'string' ? columnDef.header : undefined;
|
|
59
|
+
var accessorFn;
|
|
60
|
+
|
|
61
|
+
if (columnDef.accessorFn) {
|
|
62
|
+
accessorFn = columnDef.accessorFn;
|
|
63
|
+
} else if (columnDef.accessorKey) {
|
|
64
|
+
accessorFn = function accessorFn(originalRow) {
|
|
65
|
+
return originalRow[columnDef.accessorKey];
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
if (!id) {
|
|
70
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
71
|
+
throw new Error(columnDef.accessorFn ? "Columns require an id when using an accessorFn" : "Columns require an id when using a non-string header");
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
throw new Error();
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
var column = _rollupPluginBabelHelpers["extends"]({}, defaultColumn, columnDef, {
|
|
78
|
+
id: "" + id,
|
|
79
|
+
accessorFn: accessorFn,
|
|
80
|
+
parent: parent,
|
|
81
|
+
depth: depth,
|
|
82
|
+
columnDef: columnDef,
|
|
83
|
+
columnDefType: columnDef.columnDefType,
|
|
84
|
+
columns: [],
|
|
85
|
+
getFlatColumns: utils.memo(function () {
|
|
86
|
+
return [true];
|
|
87
|
+
}, function () {
|
|
88
|
+
var _column$columns;
|
|
89
|
+
|
|
90
|
+
return [column].concat((_column$columns = column.columns) == null ? void 0 : _column$columns.flatMap(function (d) {
|
|
91
|
+
return d.getFlatColumns();
|
|
92
|
+
}));
|
|
93
|
+
}, {
|
|
94
|
+
key: 'column.getFlatColumns',
|
|
95
|
+
debug: function debug() {
|
|
96
|
+
var _instance$options$deb2;
|
|
97
|
+
|
|
98
|
+
return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugColumns;
|
|
99
|
+
}
|
|
100
|
+
}),
|
|
101
|
+
getLeafColumns: utils.memo(function () {
|
|
102
|
+
return [instance._getOrderColumnsFn()];
|
|
103
|
+
}, function (orderColumns) {
|
|
104
|
+
var _column$columns2;
|
|
105
|
+
|
|
106
|
+
if ((_column$columns2 = column.columns) != null && _column$columns2.length) {
|
|
107
|
+
var leafColumns = column.columns.flatMap(function (column) {
|
|
108
|
+
return column.getLeafColumns();
|
|
109
|
+
});
|
|
110
|
+
return orderColumns(leafColumns);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
return [column];
|
|
114
|
+
}, {
|
|
115
|
+
key: 'column.getLeafColumns',
|
|
116
|
+
debug: function debug() {
|
|
117
|
+
var _instance$options$deb3;
|
|
118
|
+
|
|
119
|
+
return (_instance$options$deb3 = instance.options.debugAll) != null ? _instance$options$deb3 : instance.options.debugColumns;
|
|
120
|
+
}
|
|
121
|
+
})
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
column = instance._features.reduce(function (obj, feature) {
|
|
125
|
+
return Object.assign(obj, feature.createColumn == null ? void 0 : feature.createColumn(column, instance));
|
|
126
|
+
}, column); // Yes, we have to convert instance to uknown, because we know more than the compiler here.
|
|
127
|
+
|
|
128
|
+
return column;
|
|
129
|
+
},
|
|
130
|
+
getAllColumns: utils.memo(function () {
|
|
131
|
+
return [instance.getColumnDefs()];
|
|
132
|
+
}, function (columnDefs) {
|
|
133
|
+
var recurseColumns = function recurseColumns(columnDefs, parent, depth) {
|
|
134
|
+
if (depth === void 0) {
|
|
135
|
+
depth = 0;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
return columnDefs.map(function (columnDef) {
|
|
139
|
+
var column = instance.createColumn(columnDef, depth, parent);
|
|
140
|
+
column.columns = columnDef.columns ? recurseColumns(columnDef.columns, column, depth + 1) : [];
|
|
141
|
+
return column;
|
|
142
|
+
});
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
return recurseColumns(columnDefs);
|
|
146
|
+
}, {
|
|
147
|
+
key: 'getAllColumns',
|
|
148
|
+
debug: function debug() {
|
|
149
|
+
var _instance$options$deb4;
|
|
150
|
+
|
|
151
|
+
return (_instance$options$deb4 = instance.options.debugAll) != null ? _instance$options$deb4 : instance.options.debugColumns;
|
|
152
|
+
}
|
|
153
|
+
}),
|
|
154
|
+
getAllFlatColumns: utils.memo(function () {
|
|
155
|
+
return [instance.getAllColumns()];
|
|
156
|
+
}, function (allColumns) {
|
|
157
|
+
return allColumns.flatMap(function (column) {
|
|
158
|
+
return column.getFlatColumns();
|
|
159
|
+
});
|
|
160
|
+
}, {
|
|
161
|
+
key: 'getAllFlatColumns',
|
|
162
|
+
debug: function debug() {
|
|
163
|
+
var _instance$options$deb5;
|
|
164
|
+
|
|
165
|
+
return (_instance$options$deb5 = instance.options.debugAll) != null ? _instance$options$deb5 : instance.options.debugColumns;
|
|
166
|
+
}
|
|
167
|
+
}),
|
|
168
|
+
getAllFlatColumnsById: utils.memo(function () {
|
|
169
|
+
return [instance.getAllFlatColumns()];
|
|
170
|
+
}, function (flatColumns) {
|
|
171
|
+
return flatColumns.reduce(function (acc, column) {
|
|
172
|
+
acc[column.id] = column;
|
|
173
|
+
return acc;
|
|
174
|
+
}, {});
|
|
175
|
+
}, {
|
|
176
|
+
key: 'getAllFlatColumnsById',
|
|
177
|
+
debug: function debug() {
|
|
178
|
+
var _instance$options$deb6;
|
|
179
|
+
|
|
180
|
+
return (_instance$options$deb6 = instance.options.debugAll) != null ? _instance$options$deb6 : instance.options.debugColumns;
|
|
181
|
+
}
|
|
182
|
+
}),
|
|
183
|
+
getAllLeafColumns: utils.memo(function () {
|
|
184
|
+
return [instance.getAllColumns(), instance._getOrderColumnsFn()];
|
|
185
|
+
}, function (allColumns, orderColumns) {
|
|
186
|
+
var leafColumns = allColumns.flatMap(function (column) {
|
|
187
|
+
return column.getLeafColumns();
|
|
188
|
+
});
|
|
189
|
+
return orderColumns(leafColumns);
|
|
190
|
+
}, {
|
|
191
|
+
key: 'getAllLeafColumns',
|
|
192
|
+
debug: function debug() {
|
|
193
|
+
var _instance$options$deb7;
|
|
194
|
+
|
|
195
|
+
return (_instance$options$deb7 = instance.options.debugAll) != null ? _instance$options$deb7 : instance.options.debugColumns;
|
|
196
|
+
}
|
|
197
|
+
}),
|
|
198
|
+
getColumn: function getColumn(columnId) {
|
|
199
|
+
var column = instance.getAllFlatColumnsById()[columnId];
|
|
200
|
+
|
|
201
|
+
if (!column) {
|
|
202
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
203
|
+
console.warn("[Table] Column with id " + columnId + " does not exist.");
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
throw new Error();
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
return column;
|
|
210
|
+
}
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
};
|
|
214
|
+
|
|
215
|
+
exports.Columns = Columns;
|
|
216
|
+
//# sourceMappingURL=Columns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Columns.js","sources":["../../../src/features/Columns.ts"],"sourcesContent":["import { features } from 'process'\nimport {\n Cell,\n Column,\n Header,\n TableGenerics,\n TableInstance,\n Row,\n AccessorFn,\n ColumnDef,\n Renderable,\n HeaderRenderProps,\n} from '../types'\nimport { memo } from '../utils'\nimport { ColumnPinningPosition } from './Pinning'\n\nexport type CoreColumnDefType = 'data' | 'display' | 'group'\n\nexport type CoreColumnDef<TGenerics extends TableGenerics> = {\n id: string\n accessorKey?: string & keyof TGenerics['Row']\n accessorFn?: AccessorFn<TGenerics['Row']>\n columns?: ColumnDef<TGenerics>[]\n header?: Renderable<\n TGenerics,\n {\n instance: TableInstance<TGenerics>\n header: Header<TGenerics>\n column: Column<TGenerics>\n }\n >\n footer?: Renderable<\n TGenerics,\n {\n instance: TableInstance<TGenerics>\n header: Header<TGenerics>\n column: Column<TGenerics>\n }\n >\n cell?: Renderable<\n TGenerics,\n {\n instance: TableInstance<TGenerics>\n row: Row<TGenerics>\n column: Column<TGenerics>\n cell: Cell<TGenerics>\n value: TGenerics['Value']\n }\n >\n meta?: TGenerics['ColumnMeta']\n}\n\nexport type CoreColumn<TGenerics extends TableGenerics> = {\n id: string\n depth: number\n accessorFn?: AccessorFn<TGenerics['Row']>\n columnDef: ColumnDef<TGenerics>\n columnDefType: CoreColumnDefType\n columns: Column<TGenerics>[]\n parent?: Column<TGenerics>\n getFlatColumns: () => Column<TGenerics>[]\n getLeafColumns: () => Column<TGenerics>[]\n}\n\nexport type ColumnsOptions<TGenerics extends TableGenerics> = {\n columns: ColumnDef<TGenerics>[]\n defaultColumn?: Partial<ColumnDef<TGenerics>>\n}\n\nexport type ColumnsInstance<TGenerics extends TableGenerics> = {\n getDefaultColumn: () => Partial<ColumnDef<TGenerics>>\n getColumnDefs: () => ColumnDef<TGenerics>[]\n createColumn: (\n columnDef: ColumnDef<TGenerics>,\n depth: number,\n parent?: Column<TGenerics>\n ) => Column<TGenerics>\n getAllColumns: () => Column<TGenerics>[]\n getAllFlatColumns: () => Column<TGenerics>[]\n getAllFlatColumnsById: () => Record<string, Column<TGenerics>>\n getAllLeafColumns: () => Column<TGenerics>[]\n getColumn: (columnId: string) => Column<TGenerics>\n}\n\n//\n\nexport const Columns = {\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ColumnsInstance<TGenerics> => {\n return {\n getDefaultColumn: memo(\n () => [instance.options.defaultColumn],\n defaultColumn => {\n defaultColumn = (defaultColumn ?? {}) as Partial<ColumnDef<TGenerics>>\n\n return {\n header: (props: HeaderRenderProps<Header<TGenerics>>) =>\n props.header.column.id,\n footer: (props: HeaderRenderProps<Header<TGenerics>>) =>\n props.header.column.id,\n cell: ({ value = '' }: { value: any }): JSX.Element =>\n typeof value === 'boolean' ? value.toString() : value,\n ...instance._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.getDefaultColumn?.())\n }, {}),\n ...defaultColumn,\n } as Partial<ColumnDef<TGenerics>>\n },\n {\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n key: 'getDefaultColumn',\n }\n ),\n\n getColumnDefs: () => instance.options.columns,\n\n createColumn: (\n columnDef: ColumnDef<TGenerics> & { columnDefType?: CoreColumnDefType },\n depth: number,\n parent\n ) => {\n const defaultColumn = instance.getDefaultColumn()\n\n let id =\n columnDef.id ??\n columnDef.accessorKey ??\n (typeof columnDef.header === 'string' ? columnDef.header : undefined)\n\n let accessorFn: AccessorFn<TGenerics['Row']> | undefined\n\n if (columnDef.accessorFn) {\n accessorFn = columnDef.accessorFn\n } else if (columnDef.accessorKey) {\n accessorFn = (originalRow?: TGenerics['Row']) =>\n (originalRow as any)[columnDef.accessorKey]\n }\n\n if (!id) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n columnDef.accessorFn\n ? `Columns require an id when using an accessorFn`\n : `Columns require an id when using a non-string header`\n )\n }\n throw new Error()\n }\n\n let column: CoreColumn<TGenerics> = {\n ...defaultColumn,\n ...columnDef,\n id: `${id}`,\n accessorFn,\n parent: parent as any,\n depth,\n columnDef,\n columnDefType: columnDef.columnDefType as CoreColumnDefType,\n columns: [],\n getFlatColumns: memo(\n () => [true],\n () => {\n return [\n column as Column<TGenerics>,\n ...column.columns?.flatMap(d => d.getFlatColumns()),\n ]\n },\n {\n key: 'column.getFlatColumns',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n getLeafColumns: memo(\n () => [instance._getOrderColumnsFn()],\n orderColumns => {\n if (column.columns?.length) {\n let leafColumns = column.columns.flatMap(column =>\n column.getLeafColumns()\n )\n\n return orderColumns(leafColumns)\n }\n\n return [column as Column<TGenerics>]\n },\n {\n key: 'column.getLeafColumns',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n }\n\n column = instance._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.createColumn?.(column, instance))\n }, column)\n\n // Yes, we have to convert instance to uknown, because we know more than the compiler here.\n return column as Column<TGenerics>\n },\n\n getAllColumns: memo(\n () => [instance.getColumnDefs()],\n columnDefs => {\n const recurseColumns = (\n columnDefs: ColumnDef<TGenerics>[],\n parent?: Column<TGenerics>,\n depth = 0\n ): Column<TGenerics>[] => {\n return columnDefs.map(columnDef => {\n const column = instance.createColumn(columnDef, depth, parent)\n\n column.columns = columnDef.columns\n ? recurseColumns(columnDef.columns, column, depth + 1)\n : []\n\n return column\n })\n }\n\n return recurseColumns(columnDefs)\n },\n {\n key: 'getAllColumns',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n\n getAllFlatColumns: memo(\n () => [instance.getAllColumns()],\n allColumns => {\n return allColumns.flatMap(column => {\n return column.getFlatColumns()\n })\n },\n {\n key: 'getAllFlatColumns',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n\n getAllFlatColumnsById: memo(\n () => [instance.getAllFlatColumns()],\n flatColumns => {\n return flatColumns.reduce((acc, column) => {\n acc[column.id] = column\n return acc\n }, {} as Record<string, Column<TGenerics>>)\n },\n {\n key: 'getAllFlatColumnsById',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n\n getAllLeafColumns: memo(\n () => [instance.getAllColumns(), instance._getOrderColumnsFn()],\n (allColumns, orderColumns) => {\n let leafColumns = allColumns.flatMap(column =>\n column.getLeafColumns()\n )\n return orderColumns(leafColumns)\n },\n {\n key: 'getAllLeafColumns',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n\n getColumn: columnId => {\n const column = instance.getAllFlatColumnsById()[columnId]\n\n if (!column) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`[Table] Column with id ${columnId} does not exist.`)\n }\n throw new Error()\n }\n\n return column\n },\n }\n },\n}\n"],"names":["Columns","createInstance","instance","getDefaultColumn","memo","options","defaultColumn","_extends","header","props","column","id","footer","cell","value","toString","_features","reduce","obj","feature","Object","assign","debug","debugAll","debugColumns","key","getColumnDefs","columns","createColumn","columnDef","depth","parent","accessorKey","undefined","accessorFn","originalRow","process","env","NODE_ENV","Error","columnDefType","getFlatColumns","flatMap","d","getLeafColumns","_getOrderColumnsFn","orderColumns","length","leafColumns","getAllColumns","columnDefs","recurseColumns","map","getAllFlatColumns","allColumns","getAllFlatColumnsById","flatColumns","acc","getAllLeafColumns","getColumn","columnId","console","warn"],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ var Expanding = {
|
|
|
30
30
|
paginateExpandedRows: true
|
|
31
31
|
};
|
|
32
32
|
},
|
|
33
|
-
|
|
33
|
+
createInstance: function createInstance(instance) {
|
|
34
34
|
var registered = false;
|
|
35
35
|
return {
|
|
36
36
|
queueResetExpanded: function queueResetExpanded() {
|
|
@@ -200,7 +200,7 @@ var Expanding = {
|
|
|
200
200
|
instance._getExpandedRowModel = instance.options.getExpandedRowModel(instance);
|
|
201
201
|
}
|
|
202
202
|
|
|
203
|
-
if (!instance._getExpandedRowModel) {
|
|
203
|
+
if (instance.options.manualExpanding || !instance._getExpandedRowModel) {
|
|
204
204
|
return instance.getPreExpandedRowModel();
|
|
205
205
|
}
|
|
206
206
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Expanding.js","sources":["../../../src/features/Expanding.ts"],"sourcesContent":["import { RowModel } from '..'\nimport {\n Getter,\n OnChangeFn,\n TableGenerics,\n PropGetterValue,\n TableInstance,\n Row,\n Updater,\n} from '../types'\nimport { functionalUpdate, makeStateUpdater, memo, propGetter } from '../utils'\n\nexport type ExpandedStateList = Record<string, boolean>\nexport type ExpandedState = true | Record<string, boolean>\nexport type ExpandedTableState = {\n expanded: ExpandedState\n}\n\nexport type ExpandedRow = {\n toggleExpanded: (expanded?: boolean) => void\n getIsExpanded: () => boolean\n getCanExpand: () => boolean\n getToggleExpandedProps: <TGetter extends Getter<ToggleExpandedProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleExpandedProps, TGetter>\n}\n\nexport type ExpandedOptions<TGenerics extends TableGenerics> = {\n onExpandedChange?: OnChangeFn<ExpandedState>\n autoResetExpanded?: boolean\n enableExpanded?: boolean\n getExpandedRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n expandSubRows?: boolean\n defaultCanExpand?: boolean\n getIsRowExpanded?: (row: Row<TGenerics>) => boolean\n getRowCanExpand?: (row: Row<TGenerics>) => boolean\n paginateExpandedRows?: boolean\n}\n\nexport type ToggleExpandedProps = {\n title?: string\n onClick?: (event: unknown) => void\n}\n\nexport type ExpandedInstance<TGenerics extends TableGenerics> = {\n queueResetExpanded: () => void\n setExpanded: (updater: Updater<ExpandedState>) => void\n toggleRowExpanded: (rowId: string, expanded?: boolean) => void\n toggleAllRowsExpanded: (expanded?: boolean) => void\n resetExpanded: () => void\n getRowCanExpand: (rowId: string) => boolean\n getCanSomeRowsExpand: () => boolean\n getIsRowExpanded: (rowId: string) => boolean\n getToggleExpandedProps: <TGetter extends Getter<ToggleExpandedProps>>(\n rowId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleExpandedProps, TGetter>\n getToggleAllRowsExpandedProps: <TGetter extends Getter<ToggleExpandedProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleExpandedProps, TGetter>\n getIsSomeRowsExpanded: () => boolean\n getIsAllRowsExpanded: () => boolean\n getExpandedDepth: () => number\n getExpandedRowModel: () => RowModel<TGenerics>\n _getExpandedRowModel?: () => RowModel<TGenerics>\n getPreExpandedRowModel: () => RowModel<TGenerics>\n}\n\n//\n\nexport const Expanding = {\n getInitialState: (): ExpandedTableState => {\n return {\n expanded: {},\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ExpandedOptions<TGenerics> => {\n return {\n onExpandedChange: makeStateUpdater('expanded', instance),\n autoResetExpanded: true,\n expandSubRows: true,\n paginateExpandedRows: true,\n }\n },\n\n getInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ExpandedInstance<TGenerics> => {\n let registered = false\n\n return {\n queueResetExpanded: () => {\n instance.queueResetPageIndex()\n\n if (!registered) {\n registered = true\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetExpanded\n ) {\n instance.resetExpanded()\n }\n },\n setExpanded: updater => instance.options.onExpandedChange?.(updater),\n toggleRowExpanded: (rowId, expanded) => {\n if (!rowId) return\n\n instance.setExpanded(old => {\n const exists = old === true ? true : !!old?.[rowId]\n\n let oldExpanded: ExpandedStateList = {}\n\n if (old === true) {\n Object.keys(instance.getRowModel().rowsById).forEach(rowId => {\n oldExpanded[rowId] = true\n })\n } else {\n oldExpanded = old\n }\n\n expanded = expanded ?? !exists\n\n if (!exists && expanded) {\n return {\n ...oldExpanded,\n [rowId]: true,\n }\n }\n\n if (exists && !expanded) {\n const { [rowId]: _, ...rest } = oldExpanded\n return rest\n }\n\n return old\n })\n },\n toggleAllRowsExpanded: expanded => {\n if (expanded ?? !instance.getIsAllRowsExpanded()) {\n instance.setExpanded(true)\n } else {\n instance.setExpanded({})\n }\n },\n resetExpanded: () => {\n instance.setExpanded(instance.initialState?.expanded ?? {})\n },\n getIsRowExpanded: rowId => {\n const row = instance.getPreExpandedRowModel().rowsById[rowId]\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `[Table] getIsRowExpanded: no row found with id ${rowId}`\n )\n }\n throw new Error()\n }\n\n const expanded = instance.getState().expanded\n\n return !!(\n instance.options.getIsRowExpanded?.(row) ??\n (expanded === true || expanded?.[rowId])\n )\n },\n getRowCanExpand: rowId => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `[Table] getRowCanExpand: no row found with id ${rowId}`\n )\n }\n throw new Error()\n }\n\n return (\n instance.options.getRowCanExpand?.(row) ??\n instance.options.enableExpanded ??\n instance.options.defaultCanExpand ??\n !!row.subRows?.length\n )\n },\n getCanSomeRowsExpand: () => {\n return Object.keys(instance.getRowModel().rowsById).some(id =>\n instance.getRowCanExpand(id)\n )\n },\n getToggleExpandedProps: (rowId, userProps) => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n return\n }\n\n const canExpand = instance.getRowCanExpand(rowId)\n\n const initialProps: ToggleExpandedProps = {\n title: canExpand ? 'Toggle Expanded' : undefined,\n onClick: canExpand\n ? (e: unknown) => {\n ;(e as any).persist?.()\n instance.toggleRowExpanded(rowId)\n }\n : undefined,\n }\n\n return propGetter(initialProps, userProps)\n },\n getToggleAllRowsExpandedProps: userProps => {\n const initialProps: ToggleExpandedProps = {\n title: 'Toggle All Expanded',\n onClick: (e: unknown) => {\n ;(e as any).persist?.()\n instance.toggleAllRowsExpanded()\n },\n }\n\n return propGetter(initialProps, userProps)\n },\n getIsSomeRowsExpanded: () => {\n const expanded = instance.getState().expanded\n return expanded === true || Object.values(expanded).some(Boolean)\n },\n getIsAllRowsExpanded: () => {\n const expanded = instance.getState().expanded\n\n // If expanded is true, save some cycles and return true\n if (expanded === true) {\n return true\n }\n\n // If any row is not expanded, return false\n if (\n Object.keys(instance.getRowModel().rowsById).some(\n id => !instance.getIsRowExpanded(id)\n )\n ) {\n return false\n }\n\n // They must all be expanded :shrug:\n return true\n },\n getExpandedDepth: () => {\n let maxDepth = 0\n\n const rowIds =\n instance.getState().expanded === true\n ? Object.keys(instance.getRowModel().rowsById)\n : Object.keys(instance.getState().expanded)\n\n rowIds.forEach(id => {\n const splitId = id.split('.')\n maxDepth = Math.max(maxDepth, splitId.length)\n })\n\n return maxDepth\n },\n getPreExpandedRowModel: () => instance.getGroupedRowModel(),\n getExpandedRowModel: () => {\n if (\n !instance._getExpandedRowModel &&\n instance.options.getExpandedRowModel\n ) {\n instance._getExpandedRowModel =\n instance.options.getExpandedRowModel(instance)\n }\n\n if (!instance._getExpandedRowModel) {\n return instance.getPreExpandedRowModel()\n }\n\n return instance._getExpandedRowModel()\n },\n }\n },\n\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): ExpandedRow => {\n return {\n toggleExpanded: expanded =>\n void instance.toggleRowExpanded(row.id, expanded),\n getIsExpanded: () => instance.getIsRowExpanded(row.id),\n getCanExpand: () => row.subRows && !!row.subRows.length,\n getToggleExpandedProps: userProps =>\n instance.getToggleExpandedProps(row.id, userProps),\n }\n },\n}\n"],"names":["Expanding","getInitialState","expanded","getDefaultOptions","instance","onExpandedChange","makeStateUpdater","autoResetExpanded","expandSubRows","paginateExpandedRows","getInstance","registered","queueResetExpanded","queueResetPageIndex","options","autoResetAll","resetExpanded","setExpanded","updater","toggleRowExpanded","rowId","old","exists","oldExpanded","Object","keys","getRowModel","rowsById","forEach","_extends","rest","_toPropertyKey","toggleAllRowsExpanded","getIsAllRowsExpanded","initialState","getIsRowExpanded","row","getPreExpandedRowModel","process","env","NODE_ENV","console","warn","Error","getState","getRowCanExpand","getRow","enableExpanded","defaultCanExpand","subRows","length","getCanSomeRowsExpand","some","id","getToggleExpandedProps","userProps","canExpand","initialProps","title","undefined","onClick","e","persist","propGetter","getToggleAllRowsExpandedProps","getIsSomeRowsExpanded","values","Boolean","getExpandedDepth","maxDepth","rowIds","splitId","split","Math","max","getGroupedRowModel","getExpandedRowModel","_getExpandedRowModel","createRow","toggleExpanded","getIsExpanded","getCanExpand"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Expanding.js","sources":["../../../src/features/Expanding.ts"],"sourcesContent":["import { RowModel } from '..'\nimport {\n Getter,\n OnChangeFn,\n TableGenerics,\n PropGetterValue,\n TableInstance,\n Row,\n Updater,\n} from '../types'\nimport { makeStateUpdater, propGetter } from '../utils'\n\nexport type ExpandedStateList = Record<string, boolean>\nexport type ExpandedState = true | Record<string, boolean>\nexport type ExpandedTableState = {\n expanded: ExpandedState\n}\n\nexport type ExpandedRow = {\n toggleExpanded: (expanded?: boolean) => void\n getIsExpanded: () => boolean\n getCanExpand: () => boolean\n getToggleExpandedProps: <TGetter extends Getter<ToggleExpandedProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleExpandedProps, TGetter>\n}\n\nexport type ExpandedOptions<TGenerics extends TableGenerics> = {\n manualExpanding?: boolean\n onExpandedChange?: OnChangeFn<ExpandedState>\n autoResetExpanded?: boolean\n enableExpanded?: boolean\n getExpandedRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n expandSubRows?: boolean\n defaultCanExpand?: boolean\n getIsRowExpanded?: (row: Row<TGenerics>) => boolean\n getRowCanExpand?: (row: Row<TGenerics>) => boolean\n paginateExpandedRows?: boolean\n}\n\nexport type ToggleExpandedProps = {\n title?: string\n onClick?: (event: unknown) => void\n}\n\nexport type ExpandedInstance<TGenerics extends TableGenerics> = {\n queueResetExpanded: () => void\n setExpanded: (updater: Updater<ExpandedState>) => void\n toggleRowExpanded: (rowId: string, expanded?: boolean) => void\n toggleAllRowsExpanded: (expanded?: boolean) => void\n resetExpanded: () => void\n getRowCanExpand: (rowId: string) => boolean\n getCanSomeRowsExpand: () => boolean\n getIsRowExpanded: (rowId: string) => boolean\n getToggleExpandedProps: <TGetter extends Getter<ToggleExpandedProps>>(\n rowId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleExpandedProps, TGetter>\n getToggleAllRowsExpandedProps: <TGetter extends Getter<ToggleExpandedProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleExpandedProps, TGetter>\n getIsSomeRowsExpanded: () => boolean\n getIsAllRowsExpanded: () => boolean\n getExpandedDepth: () => number\n getExpandedRowModel: () => RowModel<TGenerics>\n _getExpandedRowModel?: () => RowModel<TGenerics>\n getPreExpandedRowModel: () => RowModel<TGenerics>\n}\n\n//\n\nexport const Expanding = {\n getInitialState: (): ExpandedTableState => {\n return {\n expanded: {},\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ExpandedOptions<TGenerics> => {\n return {\n onExpandedChange: makeStateUpdater('expanded', instance),\n autoResetExpanded: true,\n expandSubRows: true,\n paginateExpandedRows: true,\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ExpandedInstance<TGenerics> => {\n let registered = false\n\n return {\n queueResetExpanded: () => {\n instance.queueResetPageIndex()\n\n if (!registered) {\n registered = true\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetExpanded\n ) {\n instance.resetExpanded()\n }\n },\n setExpanded: updater => instance.options.onExpandedChange?.(updater),\n toggleRowExpanded: (rowId, expanded) => {\n if (!rowId) return\n\n instance.setExpanded(old => {\n const exists = old === true ? true : !!old?.[rowId]\n\n let oldExpanded: ExpandedStateList = {}\n\n if (old === true) {\n Object.keys(instance.getRowModel().rowsById).forEach(rowId => {\n oldExpanded[rowId] = true\n })\n } else {\n oldExpanded = old\n }\n\n expanded = expanded ?? !exists\n\n if (!exists && expanded) {\n return {\n ...oldExpanded,\n [rowId]: true,\n }\n }\n\n if (exists && !expanded) {\n const { [rowId]: _, ...rest } = oldExpanded\n return rest\n }\n\n return old\n })\n },\n toggleAllRowsExpanded: expanded => {\n if (expanded ?? !instance.getIsAllRowsExpanded()) {\n instance.setExpanded(true)\n } else {\n instance.setExpanded({})\n }\n },\n resetExpanded: () => {\n instance.setExpanded(instance.initialState?.expanded ?? {})\n },\n getIsRowExpanded: rowId => {\n const row = instance.getPreExpandedRowModel().rowsById[rowId]\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `[Table] getIsRowExpanded: no row found with id ${rowId}`\n )\n }\n throw new Error()\n }\n\n const expanded = instance.getState().expanded\n\n return !!(\n instance.options.getIsRowExpanded?.(row) ??\n (expanded === true || expanded?.[rowId])\n )\n },\n getRowCanExpand: rowId => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `[Table] getRowCanExpand: no row found with id ${rowId}`\n )\n }\n throw new Error()\n }\n\n return (\n instance.options.getRowCanExpand?.(row) ??\n instance.options.enableExpanded ??\n instance.options.defaultCanExpand ??\n !!row.subRows?.length\n )\n },\n getCanSomeRowsExpand: () => {\n return Object.keys(instance.getRowModel().rowsById).some(id =>\n instance.getRowCanExpand(id)\n )\n },\n getToggleExpandedProps: (rowId, userProps) => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n return\n }\n\n const canExpand = instance.getRowCanExpand(rowId)\n\n const initialProps: ToggleExpandedProps = {\n title: canExpand ? 'Toggle Expanded' : undefined,\n onClick: canExpand\n ? (e: unknown) => {\n ;(e as any).persist?.()\n instance.toggleRowExpanded(rowId)\n }\n : undefined,\n }\n\n return propGetter(initialProps, userProps)\n },\n getToggleAllRowsExpandedProps: userProps => {\n const initialProps: ToggleExpandedProps = {\n title: 'Toggle All Expanded',\n onClick: (e: unknown) => {\n ;(e as any).persist?.()\n instance.toggleAllRowsExpanded()\n },\n }\n\n return propGetter(initialProps, userProps)\n },\n getIsSomeRowsExpanded: () => {\n const expanded = instance.getState().expanded\n return expanded === true || Object.values(expanded).some(Boolean)\n },\n getIsAllRowsExpanded: () => {\n const expanded = instance.getState().expanded\n\n // If expanded is true, save some cycles and return true\n if (expanded === true) {\n return true\n }\n\n // If any row is not expanded, return false\n if (\n Object.keys(instance.getRowModel().rowsById).some(\n id => !instance.getIsRowExpanded(id)\n )\n ) {\n return false\n }\n\n // They must all be expanded :shrug:\n return true\n },\n getExpandedDepth: () => {\n let maxDepth = 0\n\n const rowIds =\n instance.getState().expanded === true\n ? Object.keys(instance.getRowModel().rowsById)\n : Object.keys(instance.getState().expanded)\n\n rowIds.forEach(id => {\n const splitId = id.split('.')\n maxDepth = Math.max(maxDepth, splitId.length)\n })\n\n return maxDepth\n },\n getPreExpandedRowModel: () => instance.getGroupedRowModel(),\n getExpandedRowModel: () => {\n if (\n !instance._getExpandedRowModel &&\n instance.options.getExpandedRowModel\n ) {\n instance._getExpandedRowModel =\n instance.options.getExpandedRowModel(instance)\n }\n\n if (\n instance.options.manualExpanding ||\n !instance._getExpandedRowModel\n ) {\n return instance.getPreExpandedRowModel()\n }\n\n return instance._getExpandedRowModel()\n },\n }\n },\n\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): ExpandedRow => {\n return {\n toggleExpanded: expanded =>\n void instance.toggleRowExpanded(row.id, expanded),\n getIsExpanded: () => instance.getIsRowExpanded(row.id),\n getCanExpand: () => row.subRows && !!row.subRows.length,\n getToggleExpandedProps: userProps =>\n instance.getToggleExpandedProps(row.id, userProps),\n }\n },\n}\n"],"names":["Expanding","getInitialState","expanded","getDefaultOptions","instance","onExpandedChange","makeStateUpdater","autoResetExpanded","expandSubRows","paginateExpandedRows","createInstance","registered","queueResetExpanded","queueResetPageIndex","options","autoResetAll","resetExpanded","setExpanded","updater","toggleRowExpanded","rowId","old","exists","oldExpanded","Object","keys","getRowModel","rowsById","forEach","_extends","rest","_toPropertyKey","toggleAllRowsExpanded","getIsAllRowsExpanded","initialState","getIsRowExpanded","row","getPreExpandedRowModel","process","env","NODE_ENV","console","warn","Error","getState","getRowCanExpand","getRow","enableExpanded","defaultCanExpand","subRows","length","getCanSomeRowsExpand","some","id","getToggleExpandedProps","userProps","canExpand","initialProps","title","undefined","onClick","e","persist","propGetter","getToggleAllRowsExpandedProps","getIsSomeRowsExpanded","values","Boolean","getExpandedDepth","maxDepth","rowIds","splitId","split","Math","max","getGroupedRowModel","getExpandedRowModel","_getExpandedRowModel","manualExpanding","createRow","toggleExpanded","getIsExpanded","getCanExpand"],"mappings":"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"}
|
|
@@ -122,7 +122,7 @@ var Filters = {
|
|
|
122
122
|
}
|
|
123
123
|
};
|
|
124
124
|
},
|
|
125
|
-
|
|
125
|
+
createInstance: function createInstance(instance) {
|
|
126
126
|
var registered = false;
|
|
127
127
|
return {
|
|
128
128
|
queueResetFilters: function queueResetFilters() {
|
|
@@ -324,7 +324,7 @@ var Filters = {
|
|
|
324
324
|
instance._getColumnFilteredRowModel = instance.options.getColumnFilteredRowModel(instance);
|
|
325
325
|
}
|
|
326
326
|
|
|
327
|
-
if (!instance._getColumnFilteredRowModel) {
|
|
327
|
+
if (instance.options.manualColumnFiltering || !instance._getColumnFilteredRowModel) {
|
|
328
328
|
return instance.getPreColumnFilteredRowModel();
|
|
329
329
|
}
|
|
330
330
|
|
|
@@ -338,7 +338,7 @@ var Filters = {
|
|
|
338
338
|
instance._getGlobalFilteredRowModel = instance.options.getGlobalFilteredRowModel(instance);
|
|
339
339
|
}
|
|
340
340
|
|
|
341
|
-
if (!instance._getGlobalFilteredRowModel) {
|
|
341
|
+
if (instance.options.manualGlobalFiltering || !instance._getGlobalFilteredRowModel) {
|
|
342
342
|
return instance.getPreGlobalFilteredRowModel();
|
|
343
343
|
}
|
|
344
344
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Filters.js","sources":["../../../src/features/Filters.ts"],"sourcesContent":["import { RowModel } from '..'\nimport { BuiltInFilterFn, filterFns } from '../filterFns'\nimport {\n Column,\n OnChangeFn,\n TableGenerics,\n TableInstance,\n Row,\n Updater,\n} from '../types'\nimport {\n functionalUpdate,\n isFunction,\n makeStateUpdater,\n memo,\n Overwrite,\n} from '../utils'\n\nexport type FiltersTableState = {\n columnFilters: ColumnFiltersState\n globalFilter: any\n columnFiltersProgress: number\n globalFilterProgress: number\n}\n\nexport type ColumnFiltersState = ColumnFilter[]\n\nexport type ColumnFilter = {\n id: string\n value: unknown\n}\n\n/*\nA filter function is any function that takes an array of rows and returns an array of rows. Because filter functions can be used for both column and global filters, they are passed an array of columnIds to filter on. \n*/\n\nexport type FilterFn<TGenerics extends TableGenerics> = {\n (rows: Row<TGenerics>[], columnIds: string[], filterValue: any): any\n autoRemove?: ColumnFilterAutoRemoveTestFn<TGenerics>\n}\n\nexport type ColumnFilterAutoRemoveTestFn<TGenerics extends TableGenerics> = (\n value: unknown,\n column?: Column<TGenerics>\n) => boolean\n\nexport type CustomFilterFns<TGenerics extends TableGenerics> = Record<\n string,\n FilterFn<TGenerics>\n>\n\nexport type FilterFnOption<TGenerics extends TableGenerics> =\n | 'auto'\n | BuiltInFilterFn\n | keyof TGenerics['FilterFns']\n | FilterFn<TGenerics>\n\nexport type FiltersColumnDef<TGenerics extends TableGenerics> = {\n filterFn?: FilterFnOption<Overwrite<TGenerics, { Value: any }>>\n enableAllFilters?: boolean\n enableColumnFilter?: boolean\n enableGlobalFilter?: boolean\n defaultCanFilter?: boolean\n defaultCanColumnFilter?: boolean\n defaultCanGlobalFilter?: boolean\n}\n\nexport type FiltersColumn<TGenerics extends TableGenerics> = {\n filterFn: FilterFnOption<Overwrite<TGenerics, { Value: any }>>\n getCanColumnFilter: () => boolean\n getCanGlobalFilter: () => boolean\n getColumnFilterIndex: () => number\n getColumnIsFiltered: () => boolean\n getColumnFilterValue: () => unknown\n setColumnFilterValue: (updater: Updater<any>) => void\n getPreFilteredRows: () => Row<TGenerics>[] | undefined\n getPreFilteredUniqueValues: () => Map<any, number>\n getPreFilteredMinMaxValues: () => [any, any]\n}\n\nexport type FiltersOptions<TGenerics extends TableGenerics> = {\n filterFromLeafRows?: boolean\n filterFns?: TGenerics['FilterFns']\n enableFilters?: boolean\n // Column\n onColumnFiltersChange?: OnChangeFn<ColumnFiltersState>\n autoResetColumnFilters?: boolean\n enableColumnFilters?: boolean\n getColumnFilteredRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n // Global\n globalFilterFn?: FilterFnOption<TGenerics>\n onGlobalFilterChange?: OnChangeFn<any>\n autoResetGlobalFilter?: boolean\n enableGlobalFilter?: boolean\n getGlobalFilteredRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n getColumnCanGlobalFilterFn?: (column: Column<TGenerics>) => boolean\n}\n\nexport type FiltersInstance<TGenerics extends TableGenerics> = {\n queueResetFilters: () => void\n getColumnAutoFilterFn: (columnId: string) => FilterFn<TGenerics> | undefined\n\n getColumnFilterFn: (columnId: string) => FilterFn<TGenerics> | undefined\n\n setColumnFilters: (updater: Updater<ColumnFiltersState>) => void\n setColumnFilterValue: (columnId: string, updater: Updater<any>) => void\n resetColumnFilters: () => void\n getColumnCanColumnFilter: (columnId: string) => boolean\n\n getColumnIsFiltered: (columnId: string) => boolean\n getColumnFilterValue: (columnId: string) => unknown\n getColumnFilterIndex: (columnId: string) => number\n\n // Column Filters\n getPreColumnFilteredRowModel: () => RowModel<TGenerics>\n getColumnFilteredRowModel: () => RowModel<TGenerics>\n _getColumnFilteredRowModel?: () => RowModel<TGenerics>\n\n // Global Filters\n setGlobalFilter: (updater: Updater<any>) => void\n resetGlobalFilter: () => void\n getGlobalAutoFilterFn: () => FilterFn<TGenerics> | undefined\n getGlobalFilterFn: () => FilterFn<TGenerics> | undefined\n getColumnCanGlobalFilter: (columnId: string) => boolean\n getPreGlobalFilteredRowModel: () => RowModel<TGenerics>\n getGlobalFilteredRowModel: () => RowModel<TGenerics>\n _getGlobalFilteredRowModel?: () => RowModel<TGenerics>\n}\n\n//\n\nexport const Filters = {\n getDefaultColumn: <\n TGenerics extends TableGenerics\n >(): FiltersColumnDef<TGenerics> => {\n return {\n filterFn: 'auto',\n }\n },\n\n getInitialState: (): FiltersTableState => {\n return {\n columnFilters: [],\n globalFilter: undefined,\n columnFiltersProgress: 1,\n globalFilterProgress: 1,\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): FiltersOptions<TGenerics> => {\n return {\n onColumnFiltersChange: makeStateUpdater('columnFilters', instance),\n onGlobalFilterChange: makeStateUpdater('globalFilter', instance),\n autoResetColumnFilters: true,\n filterFromLeafRows: true,\n autoResetGlobalFilter: true,\n globalFilterFn: 'auto',\n getColumnCanGlobalFilterFn: column => {\n const value = instance\n .getCoreRowModel()\n .flatRows[0]?.getAllCellsByColumnId()[column.id]?.value\n\n return typeof value === 'string'\n },\n }\n },\n\n createColumn: <TGenerics extends TableGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): FiltersColumn<TGenerics> => {\n const getFacetInfo = memo(\n () => [column.getPreFilteredRows()],\n (rows = []) => {\n let preFilteredUniqueValues = new Map<any, number>()\n\n let preFilteredMinMaxValues: [any, any] = [\n rows[0]?.values[column.id] ?? null,\n rows[0]?.values[column.id] ?? null,\n ]\n\n for (let i = 0; i < rows.length; i++) {\n const value = rows[i]?.values[column.id]\n\n if (preFilteredUniqueValues.has(value)) {\n preFilteredUniqueValues.set(\n value,\n (preFilteredUniqueValues.get(value) ?? 0) + 1\n )\n } else {\n preFilteredUniqueValues.set(value, 1)\n }\n\n if (value < preFilteredMinMaxValues[0]) {\n preFilteredMinMaxValues[0] = value\n } else if (value > preFilteredMinMaxValues[1]) {\n preFilteredMinMaxValues[1] = value\n }\n }\n\n return {\n preFilteredUniqueValues,\n preFilteredMinMaxValues,\n }\n },\n {\n key: 'column.getFacetInfo',\n debug: () => instance.options.debugAll ?? instance.options.debugColumns,\n }\n )\n\n return {\n filterFn: column.filterFn,\n getCanColumnFilter: () => instance.getColumnCanColumnFilter(column.id),\n getCanGlobalFilter: () => instance.getColumnCanGlobalFilter(column.id),\n getColumnFilterIndex: () => instance.getColumnFilterIndex(column.id),\n getColumnIsFiltered: () => instance.getColumnIsFiltered(column.id),\n getColumnFilterValue: () => instance.getColumnFilterValue(column.id),\n setColumnFilterValue: val =>\n instance.setColumnFilterValue(column.id, val),\n getPreFilteredUniqueValues: () => getFacetInfo().preFilteredUniqueValues,\n getPreFilteredMinMaxValues: () => getFacetInfo().preFilteredMinMaxValues,\n getPreFilteredRows: () => undefined,\n }\n },\n\n getInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): FiltersInstance<TGenerics> => {\n let registered = false\n\n return {\n queueResetFilters: () => {\n instance.queueResetSorting()\n\n if (!registered) {\n registered = true\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetColumnFilters\n ) {\n instance.resetColumnFilters()\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetGlobalFilter\n ) {\n instance.resetGlobalFilter()\n }\n },\n getColumnAutoFilterFn: columnId => {\n const firstRow = instance.getCoreRowModel().flatRows[0]\n\n const value = firstRow?.values[columnId]\n\n if (typeof value === 'string') {\n return filterFns.includesString\n }\n\n if (typeof value === 'number') {\n return filterFns.betweenNumberRange\n }\n\n if (value !== null && typeof value === 'object') {\n return filterFns.equals\n }\n\n if (Array.isArray(value)) {\n return filterFns.arrIncludes\n }\n\n return filterFns.weakEquals\n },\n getGlobalAutoFilterFn: () => {\n return filterFns.includesString\n },\n getColumnFilterFn: columnId => {\n const column = instance.getColumn(columnId)\n const userFilterFns = instance.options.filterFns\n\n if (!column) {\n throw new Error()\n }\n\n return isFunction(column.filterFn)\n ? column.filterFn\n : column.filterFn === 'auto'\n ? instance.getColumnAutoFilterFn(columnId)\n : (userFilterFns as Record<string, any>)?.[\n column.filterFn as string\n ] ??\n (filterFns[\n column.filterFn as BuiltInFilterFn\n ] as FilterFn<TGenerics>)\n },\n\n getGlobalFilterFn: () => {\n const { filterFns: userFilterFns, globalFilterFn: globalFilterFn } =\n instance.options\n\n return isFunction(globalFilterFn)\n ? globalFilterFn\n : globalFilterFn === 'auto'\n ? instance.getGlobalAutoFilterFn()\n : (userFilterFns as Record<string, any>)?.[\n globalFilterFn as string\n ] ??\n (filterFns[\n globalFilterFn as BuiltInFilterFn\n ] as FilterFn<TGenerics>)\n },\n\n setColumnFilters: (updater: Updater<ColumnFiltersState>) => {\n const leafColumns = instance.getAllLeafColumns()\n\n const updateFn = (old: ColumnFiltersState) => {\n return functionalUpdate(updater, old)?.filter(filter => {\n const column = leafColumns.find(d => d.id === filter.id)\n\n if (column) {\n const filterFn = instance.getColumnFilterFn(column.id)\n\n if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {\n return false\n }\n }\n\n return true\n })\n }\n\n instance.options.onColumnFiltersChange?.(updateFn)\n },\n\n setGlobalFilter: updater => {\n instance.options.onGlobalFilterChange?.(updater)\n },\n\n resetGlobalFilter: () => {\n instance.setGlobalFilter(instance.initialState.globalFilter)\n },\n\n getColumnCanColumnFilter: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n column.enableAllFilters ??\n column.enableColumnFilter ??\n instance.options.enableFilters ??\n instance.options.enableColumnFilters ??\n column.defaultCanColumnFilter ??\n column.defaultCanFilter ??\n !!column.accessorFn\n )\n },\n\n getColumnCanGlobalFilter: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n ((instance.options.enableFilters ??\n instance.options.enableGlobalFilter ??\n column.enableAllFilters ??\n column.enableGlobalFilter ??\n column.defaultCanGlobalFilter ??\n column.defaultCanFilter ??\n !!column.accessorFn) &&\n instance.options.getColumnCanGlobalFilterFn?.(column)) ??\n true\n )\n },\n\n getColumnIsFiltered: columnId =>\n instance.getColumnFilterIndex(columnId) > -1,\n\n getColumnFilterValue: columnId =>\n instance.getState().columnFilters?.find(d => d.id === columnId)?.value,\n\n getColumnFilterIndex: columnId =>\n instance.getState().columnFilters?.findIndex(d => d.id === columnId) ??\n -1,\n\n setColumnFilterValue: (columnId, value) => {\n if (!columnId) return\n\n instance.setColumnFilters(old => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Table: Could not find a column with id: ${columnId}`\n )\n }\n throw new Error()\n }\n\n const filterFn = instance.getColumnFilterFn(column.id)\n const previousfilter = old?.find(d => d.id === columnId)\n\n const newFilter = functionalUpdate(\n value,\n previousfilter ? previousfilter.value : undefined\n )\n\n //\n if (\n shouldAutoRemoveFilter(\n filterFn as FilterFn<TGenerics>,\n newFilter,\n column\n )\n ) {\n return old?.filter(d => d.id !== columnId) ?? []\n }\n\n const newFilterObj = { id: columnId, value: newFilter }\n\n if (previousfilter) {\n return (\n old?.map(d => {\n if (d.id === columnId) {\n return newFilterObj\n }\n return d\n }) ?? []\n )\n }\n\n if (old?.length) {\n return [...old, newFilterObj]\n }\n\n return [newFilterObj]\n })\n },\n\n resetColumnFilters: () => {\n instance.setColumnFilters(instance.initialState?.columnFilters ?? [])\n },\n\n getPreColumnFilteredRowModel: () => instance.getCoreRowModel(),\n getColumnFilteredRowModel: () => {\n if (\n !instance._getColumnFilteredRowModel &&\n instance.options.getColumnFilteredRowModel\n ) {\n instance._getColumnFilteredRowModel =\n instance.options.getColumnFilteredRowModel(instance)\n }\n\n if (!instance._getColumnFilteredRowModel) {\n return instance.getPreColumnFilteredRowModel()\n }\n\n return instance._getColumnFilteredRowModel()\n },\n getPreGlobalFilteredRowModel: () => instance.getColumnFilteredRowModel(),\n getGlobalFilteredRowModel: () => {\n if (\n !instance._getGlobalFilteredRowModel &&\n instance.options.getGlobalFilteredRowModel\n ) {\n instance._getGlobalFilteredRowModel =\n instance.options.getGlobalFilteredRowModel(instance)\n }\n\n if (!instance._getGlobalFilteredRowModel) {\n return instance.getPreGlobalFilteredRowModel()\n }\n\n return instance._getGlobalFilteredRowModel()\n },\n }\n },\n}\n\nexport function shouldAutoRemoveFilter<TGenerics extends TableGenerics>(\n filterFn?: FilterFn<TGenerics>,\n value?: any,\n column?: Column<TGenerics>\n) {\n return (\n (filterFn && filterFn.autoRemove\n ? filterFn.autoRemove(value, column)\n : false) ||\n typeof value === 'undefined' ||\n (typeof value === 'string' && !value)\n )\n}\n"],"names":["Filters","getDefaultColumn","filterFn","getInitialState","columnFilters","globalFilter","undefined","columnFiltersProgress","globalFilterProgress","getDefaultOptions","instance","onColumnFiltersChange","makeStateUpdater","onGlobalFilterChange","autoResetColumnFilters","filterFromLeafRows","autoResetGlobalFilter","globalFilterFn","getColumnCanGlobalFilterFn","column","value","getCoreRowModel","flatRows","getAllCellsByColumnId","id","createColumn","getFacetInfo","memo","getPreFilteredRows","rows","preFilteredUniqueValues","Map","preFilteredMinMaxValues","values","i","length","has","set","get","key","debug","options","debugAll","debugColumns","getCanColumnFilter","getColumnCanColumnFilter","getCanGlobalFilter","getColumnCanGlobalFilter","getColumnFilterIndex","getColumnIsFiltered","getColumnFilterValue","setColumnFilterValue","val","getPreFilteredUniqueValues","getPreFilteredMinMaxValues","getInstance","registered","queueResetFilters","queueResetSorting","autoResetAll","resetColumnFilters","resetGlobalFilter","getColumnAutoFilterFn","columnId","firstRow","filterFns","includesString","betweenNumberRange","equals","Array","isArray","arrIncludes","weakEquals","getGlobalAutoFilterFn","getColumnFilterFn","getColumn","userFilterFns","Error","isFunction","getGlobalFilterFn","setColumnFilters","updater","leafColumns","getAllLeafColumns","updateFn","old","functionalUpdate","filter","find","d","shouldAutoRemoveFilter","setGlobalFilter","initialState","enableAllFilters","enableColumnFilter","enableFilters","enableColumnFilters","defaultCanColumnFilter","defaultCanFilter","accessorFn","enableGlobalFilter","defaultCanGlobalFilter","getState","findIndex","process","env","NODE_ENV","console","warn","previousfilter","newFilter","newFilterObj","map","getPreColumnFilteredRowModel","getColumnFilteredRowModel","_getColumnFilteredRowModel","getPreGlobalFilteredRowModel","getGlobalFilteredRowModel","_getGlobalFilteredRowModel","autoRemove"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Filters.js","sources":["../../../src/features/Filters.ts"],"sourcesContent":["import { RowModel } from '..'\nimport { BuiltInFilterFn, filterFns } from '../filterFns'\nimport {\n Column,\n OnChangeFn,\n TableGenerics,\n TableInstance,\n Row,\n Updater,\n} from '../types'\nimport {\n functionalUpdate,\n isFunction,\n makeStateUpdater,\n memo,\n Overwrite,\n} from '../utils'\n\nexport type FiltersTableState = {\n columnFilters: ColumnFiltersState\n globalFilter: any\n columnFiltersProgress: number\n globalFilterProgress: number\n}\n\nexport type ColumnFiltersState = ColumnFilter[]\n\nexport type ColumnFilter = {\n id: string\n value: unknown\n}\n\n/*\nA filter function is any function that takes an array of rows and returns an array of rows. Because filter functions can be used for both column and global filters, they are passed an array of columnIds to filter on. \n*/\n\nexport type FilterFn<TGenerics extends TableGenerics> = {\n (rows: Row<TGenerics>[], columnIds: string[], filterValue: any): any\n autoRemove?: ColumnFilterAutoRemoveTestFn<TGenerics>\n}\n\nexport type ColumnFilterAutoRemoveTestFn<TGenerics extends TableGenerics> = (\n value: unknown,\n column?: Column<TGenerics>\n) => boolean\n\nexport type CustomFilterFns<TGenerics extends TableGenerics> = Record<\n string,\n FilterFn<TGenerics>\n>\n\nexport type FilterFnOption<TGenerics extends TableGenerics> =\n | 'auto'\n | BuiltInFilterFn\n | keyof TGenerics['FilterFns']\n | FilterFn<TGenerics>\n\nexport type FiltersColumnDef<TGenerics extends TableGenerics> = {\n filterFn?: FilterFnOption<Overwrite<TGenerics, { Value: any }>>\n enableAllFilters?: boolean\n enableColumnFilter?: boolean\n enableGlobalFilter?: boolean\n defaultCanFilter?: boolean\n defaultCanColumnFilter?: boolean\n defaultCanGlobalFilter?: boolean\n}\n\nexport type FiltersColumn<TGenerics extends TableGenerics> = {\n filterFn: FilterFnOption<Overwrite<TGenerics, { Value: any }>>\n getCanColumnFilter: () => boolean\n getCanGlobalFilter: () => boolean\n getColumnFilterIndex: () => number\n getColumnIsFiltered: () => boolean\n getColumnFilterValue: () => unknown\n setColumnFilterValue: (updater: Updater<any>) => void\n getPreFilteredRows: () => Row<TGenerics>[] | undefined\n getPreFilteredUniqueValues: () => Map<any, number>\n getPreFilteredMinMaxValues: () => [any, any]\n}\n\nexport type FiltersOptions<TGenerics extends TableGenerics> = {\n filterFromLeafRows?: boolean\n filterFns?: TGenerics['FilterFns']\n enableFilters?: boolean\n // Column\n manualColumnFiltering?: boolean\n onColumnFiltersChange?: OnChangeFn<ColumnFiltersState>\n autoResetColumnFilters?: boolean\n enableColumnFilters?: boolean\n getColumnFilteredRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n // Global\n manualGlobalFiltering?: boolean\n globalFilterFn?: FilterFnOption<TGenerics>\n onGlobalFilterChange?: OnChangeFn<any>\n autoResetGlobalFilter?: boolean\n enableGlobalFilter?: boolean\n getGlobalFilteredRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n getColumnCanGlobalFilterFn?: (column: Column<TGenerics>) => boolean\n}\n\nexport type FiltersInstance<TGenerics extends TableGenerics> = {\n queueResetFilters: () => void\n getColumnAutoFilterFn: (columnId: string) => FilterFn<TGenerics> | undefined\n\n getColumnFilterFn: (columnId: string) => FilterFn<TGenerics> | undefined\n\n setColumnFilters: (updater: Updater<ColumnFiltersState>) => void\n setColumnFilterValue: (columnId: string, updater: Updater<any>) => void\n resetColumnFilters: () => void\n getColumnCanColumnFilter: (columnId: string) => boolean\n\n getColumnIsFiltered: (columnId: string) => boolean\n getColumnFilterValue: (columnId: string) => unknown\n getColumnFilterIndex: (columnId: string) => number\n\n // Column Filters\n getPreColumnFilteredRowModel: () => RowModel<TGenerics>\n getColumnFilteredRowModel: () => RowModel<TGenerics>\n _getColumnFilteredRowModel?: () => RowModel<TGenerics>\n\n // Global Filters\n setGlobalFilter: (updater: Updater<any>) => void\n resetGlobalFilter: () => void\n getGlobalAutoFilterFn: () => FilterFn<TGenerics> | undefined\n getGlobalFilterFn: () => FilterFn<TGenerics> | undefined\n getColumnCanGlobalFilter: (columnId: string) => boolean\n getPreGlobalFilteredRowModel: () => RowModel<TGenerics>\n getGlobalFilteredRowModel: () => RowModel<TGenerics>\n _getGlobalFilteredRowModel?: () => RowModel<TGenerics>\n}\n\n//\n\nexport const Filters = {\n getDefaultColumn: <\n TGenerics extends TableGenerics\n >(): FiltersColumnDef<TGenerics> => {\n return {\n filterFn: 'auto',\n }\n },\n\n getInitialState: (): FiltersTableState => {\n return {\n columnFilters: [],\n globalFilter: undefined,\n columnFiltersProgress: 1,\n globalFilterProgress: 1,\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): FiltersOptions<TGenerics> => {\n return {\n onColumnFiltersChange: makeStateUpdater('columnFilters', instance),\n onGlobalFilterChange: makeStateUpdater('globalFilter', instance),\n autoResetColumnFilters: true,\n filterFromLeafRows: true,\n autoResetGlobalFilter: true,\n globalFilterFn: 'auto',\n getColumnCanGlobalFilterFn: column => {\n const value = instance\n .getCoreRowModel()\n .flatRows[0]?.getAllCellsByColumnId()[column.id]?.value\n\n return typeof value === 'string'\n },\n }\n },\n\n createColumn: <TGenerics extends TableGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): FiltersColumn<TGenerics> => {\n const getFacetInfo = memo(\n () => [column.getPreFilteredRows()],\n (rows = []) => {\n let preFilteredUniqueValues = new Map<any, number>()\n\n let preFilteredMinMaxValues: [any, any] = [\n rows[0]?.values[column.id] ?? null,\n rows[0]?.values[column.id] ?? null,\n ]\n\n for (let i = 0; i < rows.length; i++) {\n const value = rows[i]?.values[column.id]\n\n if (preFilteredUniqueValues.has(value)) {\n preFilteredUniqueValues.set(\n value,\n (preFilteredUniqueValues.get(value) ?? 0) + 1\n )\n } else {\n preFilteredUniqueValues.set(value, 1)\n }\n\n if (value < preFilteredMinMaxValues[0]) {\n preFilteredMinMaxValues[0] = value\n } else if (value > preFilteredMinMaxValues[1]) {\n preFilteredMinMaxValues[1] = value\n }\n }\n\n return {\n preFilteredUniqueValues,\n preFilteredMinMaxValues,\n }\n },\n {\n key: 'column.getFacetInfo',\n debug: () => instance.options.debugAll ?? instance.options.debugColumns,\n }\n )\n\n return {\n filterFn: column.filterFn,\n getCanColumnFilter: () => instance.getColumnCanColumnFilter(column.id),\n getCanGlobalFilter: () => instance.getColumnCanGlobalFilter(column.id),\n getColumnFilterIndex: () => instance.getColumnFilterIndex(column.id),\n getColumnIsFiltered: () => instance.getColumnIsFiltered(column.id),\n getColumnFilterValue: () => instance.getColumnFilterValue(column.id),\n setColumnFilterValue: val =>\n instance.setColumnFilterValue(column.id, val),\n getPreFilteredUniqueValues: () => getFacetInfo().preFilteredUniqueValues,\n getPreFilteredMinMaxValues: () => getFacetInfo().preFilteredMinMaxValues,\n getPreFilteredRows: () => undefined,\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): FiltersInstance<TGenerics> => {\n let registered = false\n\n return {\n queueResetFilters: () => {\n instance.queueResetSorting()\n\n if (!registered) {\n registered = true\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetColumnFilters\n ) {\n instance.resetColumnFilters()\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetGlobalFilter\n ) {\n instance.resetGlobalFilter()\n }\n },\n getColumnAutoFilterFn: columnId => {\n const firstRow = instance.getCoreRowModel().flatRows[0]\n\n const value = firstRow?.values[columnId]\n\n if (typeof value === 'string') {\n return filterFns.includesString\n }\n\n if (typeof value === 'number') {\n return filterFns.betweenNumberRange\n }\n\n if (value !== null && typeof value === 'object') {\n return filterFns.equals\n }\n\n if (Array.isArray(value)) {\n return filterFns.arrIncludes\n }\n\n return filterFns.weakEquals\n },\n getGlobalAutoFilterFn: () => {\n return filterFns.includesString\n },\n getColumnFilterFn: columnId => {\n const column = instance.getColumn(columnId)\n const userFilterFns = instance.options.filterFns\n\n if (!column) {\n throw new Error()\n }\n\n return isFunction(column.filterFn)\n ? column.filterFn\n : column.filterFn === 'auto'\n ? instance.getColumnAutoFilterFn(columnId)\n : (userFilterFns as Record<string, any>)?.[\n column.filterFn as string\n ] ??\n (filterFns[\n column.filterFn as BuiltInFilterFn\n ] as FilterFn<TGenerics>)\n },\n\n getGlobalFilterFn: () => {\n const { filterFns: userFilterFns, globalFilterFn: globalFilterFn } =\n instance.options\n\n return isFunction(globalFilterFn)\n ? globalFilterFn\n : globalFilterFn === 'auto'\n ? instance.getGlobalAutoFilterFn()\n : (userFilterFns as Record<string, any>)?.[\n globalFilterFn as string\n ] ??\n (filterFns[\n globalFilterFn as BuiltInFilterFn\n ] as FilterFn<TGenerics>)\n },\n\n setColumnFilters: (updater: Updater<ColumnFiltersState>) => {\n const leafColumns = instance.getAllLeafColumns()\n\n const updateFn = (old: ColumnFiltersState) => {\n return functionalUpdate(updater, old)?.filter(filter => {\n const column = leafColumns.find(d => d.id === filter.id)\n\n if (column) {\n const filterFn = instance.getColumnFilterFn(column.id)\n\n if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {\n return false\n }\n }\n\n return true\n })\n }\n\n instance.options.onColumnFiltersChange?.(updateFn)\n },\n\n setGlobalFilter: updater => {\n instance.options.onGlobalFilterChange?.(updater)\n },\n\n resetGlobalFilter: () => {\n instance.setGlobalFilter(instance.initialState.globalFilter)\n },\n\n getColumnCanColumnFilter: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n column.enableAllFilters ??\n column.enableColumnFilter ??\n instance.options.enableFilters ??\n instance.options.enableColumnFilters ??\n column.defaultCanColumnFilter ??\n column.defaultCanFilter ??\n !!column.accessorFn\n )\n },\n\n getColumnCanGlobalFilter: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n ((instance.options.enableFilters ??\n instance.options.enableGlobalFilter ??\n column.enableAllFilters ??\n column.enableGlobalFilter ??\n column.defaultCanGlobalFilter ??\n column.defaultCanFilter ??\n !!column.accessorFn) &&\n instance.options.getColumnCanGlobalFilterFn?.(column)) ??\n true\n )\n },\n\n getColumnIsFiltered: columnId =>\n instance.getColumnFilterIndex(columnId) > -1,\n\n getColumnFilterValue: columnId =>\n instance.getState().columnFilters?.find(d => d.id === columnId)?.value,\n\n getColumnFilterIndex: columnId =>\n instance.getState().columnFilters?.findIndex(d => d.id === columnId) ??\n -1,\n\n setColumnFilterValue: (columnId, value) => {\n if (!columnId) return\n\n instance.setColumnFilters(old => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Table: Could not find a column with id: ${columnId}`\n )\n }\n throw new Error()\n }\n\n const filterFn = instance.getColumnFilterFn(column.id)\n const previousfilter = old?.find(d => d.id === columnId)\n\n const newFilter = functionalUpdate(\n value,\n previousfilter ? previousfilter.value : undefined\n )\n\n //\n if (\n shouldAutoRemoveFilter(\n filterFn as FilterFn<TGenerics>,\n newFilter,\n column\n )\n ) {\n return old?.filter(d => d.id !== columnId) ?? []\n }\n\n const newFilterObj = { id: columnId, value: newFilter }\n\n if (previousfilter) {\n return (\n old?.map(d => {\n if (d.id === columnId) {\n return newFilterObj\n }\n return d\n }) ?? []\n )\n }\n\n if (old?.length) {\n return [...old, newFilterObj]\n }\n\n return [newFilterObj]\n })\n },\n\n resetColumnFilters: () => {\n instance.setColumnFilters(instance.initialState?.columnFilters ?? [])\n },\n\n getPreColumnFilteredRowModel: () => instance.getCoreRowModel(),\n getColumnFilteredRowModel: () => {\n if (\n !instance._getColumnFilteredRowModel &&\n instance.options.getColumnFilteredRowModel\n ) {\n instance._getColumnFilteredRowModel =\n instance.options.getColumnFilteredRowModel(instance)\n }\n\n if (\n instance.options.manualColumnFiltering ||\n !instance._getColumnFilteredRowModel\n ) {\n return instance.getPreColumnFilteredRowModel()\n }\n\n return instance._getColumnFilteredRowModel()\n },\n getPreGlobalFilteredRowModel: () => instance.getColumnFilteredRowModel(),\n getGlobalFilteredRowModel: () => {\n if (\n !instance._getGlobalFilteredRowModel &&\n instance.options.getGlobalFilteredRowModel\n ) {\n instance._getGlobalFilteredRowModel =\n instance.options.getGlobalFilteredRowModel(instance)\n }\n\n if (\n instance.options.manualGlobalFiltering ||\n !instance._getGlobalFilteredRowModel\n ) {\n return instance.getPreGlobalFilteredRowModel()\n }\n\n return instance._getGlobalFilteredRowModel()\n },\n }\n },\n}\n\nexport function shouldAutoRemoveFilter<TGenerics extends TableGenerics>(\n filterFn?: FilterFn<TGenerics>,\n value?: any,\n column?: Column<TGenerics>\n) {\n return (\n (filterFn && filterFn.autoRemove\n ? filterFn.autoRemove(value, column)\n : false) ||\n typeof value === 'undefined' ||\n (typeof value === 'string' && !value)\n )\n}\n"],"names":["Filters","getDefaultColumn","filterFn","getInitialState","columnFilters","globalFilter","undefined","columnFiltersProgress","globalFilterProgress","getDefaultOptions","instance","onColumnFiltersChange","makeStateUpdater","onGlobalFilterChange","autoResetColumnFilters","filterFromLeafRows","autoResetGlobalFilter","globalFilterFn","getColumnCanGlobalFilterFn","column","value","getCoreRowModel","flatRows","getAllCellsByColumnId","id","createColumn","getFacetInfo","memo","getPreFilteredRows","rows","preFilteredUniqueValues","Map","preFilteredMinMaxValues","values","i","length","has","set","get","key","debug","options","debugAll","debugColumns","getCanColumnFilter","getColumnCanColumnFilter","getCanGlobalFilter","getColumnCanGlobalFilter","getColumnFilterIndex","getColumnIsFiltered","getColumnFilterValue","setColumnFilterValue","val","getPreFilteredUniqueValues","getPreFilteredMinMaxValues","createInstance","registered","queueResetFilters","queueResetSorting","autoResetAll","resetColumnFilters","resetGlobalFilter","getColumnAutoFilterFn","columnId","firstRow","filterFns","includesString","betweenNumberRange","equals","Array","isArray","arrIncludes","weakEquals","getGlobalAutoFilterFn","getColumnFilterFn","getColumn","userFilterFns","Error","isFunction","getGlobalFilterFn","setColumnFilters","updater","leafColumns","getAllLeafColumns","updateFn","old","functionalUpdate","filter","find","d","shouldAutoRemoveFilter","setGlobalFilter","initialState","enableAllFilters","enableColumnFilter","enableFilters","enableColumnFilters","defaultCanColumnFilter","defaultCanFilter","accessorFn","enableGlobalFilter","defaultCanGlobalFilter","getState","findIndex","process","env","NODE_ENV","console","warn","previousfilter","newFilter","newFilterObj","map","getPreColumnFilteredRowModel","getColumnFilteredRowModel","_getColumnFilteredRowModel","manualColumnFiltering","getPreGlobalFilteredRowModel","getGlobalFilteredRowModel","_getGlobalFilteredRowModel","manualGlobalFiltering","autoRemove"],"mappings":"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"}
|
|
@@ -54,7 +54,7 @@ var Grouping = {
|
|
|
54
54
|
}
|
|
55
55
|
};
|
|
56
56
|
},
|
|
57
|
-
|
|
57
|
+
createInstance: function createInstance(instance) {
|
|
58
58
|
var registered = false;
|
|
59
59
|
return {
|
|
60
60
|
queueResetGrouping: function queueResetGrouping() {
|
|
@@ -164,7 +164,7 @@ var Grouping = {
|
|
|
164
164
|
instance._getGroupedRowModel = instance.options.getGroupedRowModel(instance);
|
|
165
165
|
}
|
|
166
166
|
|
|
167
|
-
if (!instance._getGroupedRowModel) {
|
|
167
|
+
if (instance.options.manualGrouping || !instance._getGroupedRowModel) {
|
|
168
168
|
return instance.getPreGroupedRowModel();
|
|
169
169
|
}
|
|
170
170
|
|