@tanstack/table-core 8.0.0-alpha.67 → 8.0.0-alpha.68

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 (126) hide show
  1. package/build/cjs/aggregationFns.js +25 -37
  2. package/build/cjs/aggregationFns.js.map +1 -1
  3. package/build/cjs/core.js +167 -46
  4. package/build/cjs/core.js.map +1 -1
  5. package/build/cjs/createTable.js +24 -40
  6. package/build/cjs/createTable.js.map +1 -1
  7. package/build/cjs/features/Cells.js +28 -34
  8. package/build/cjs/features/Cells.js.map +1 -1
  9. package/build/cjs/features/ColumnSizing.js +90 -107
  10. package/build/cjs/features/ColumnSizing.js.map +1 -1
  11. package/build/cjs/features/Columns.js +52 -79
  12. package/build/cjs/features/Columns.js.map +1 -1
  13. package/build/cjs/features/Expanding.js +48 -57
  14. package/build/cjs/features/Expanding.js.map +1 -1
  15. package/build/cjs/features/Filters.js +96 -191
  16. package/build/cjs/features/Filters.js.map +1 -1
  17. package/build/cjs/features/Grouping.js +52 -70
  18. package/build/cjs/features/Grouping.js.map +1 -1
  19. package/build/cjs/features/Headers.js +109 -165
  20. package/build/cjs/features/Headers.js.map +1 -1
  21. package/build/cjs/features/Ordering.js +30 -42
  22. package/build/cjs/features/Ordering.js.map +1 -1
  23. package/build/cjs/features/Pagination.js +63 -71
  24. package/build/cjs/features/Pagination.js.map +1 -1
  25. package/build/cjs/features/Pinning.js +65 -121
  26. package/build/cjs/features/Pinning.js.map +1 -1
  27. package/build/cjs/features/RowSelection.js +92 -111
  28. package/build/cjs/features/RowSelection.js.map +1 -1
  29. package/build/cjs/features/Rows.js +32 -22
  30. package/build/cjs/features/Rows.js.map +1 -1
  31. package/build/cjs/features/Sorting.js +49 -68
  32. package/build/cjs/features/Sorting.js.map +1 -1
  33. package/build/cjs/features/Visibility.js +43 -87
  34. package/build/cjs/features/Visibility.js.map +1 -1
  35. package/build/cjs/filterFns.js +48 -72
  36. package/build/cjs/filterFns.js.map +1 -1
  37. package/build/cjs/index.js +13 -13
  38. package/build/cjs/sortingFns.js +21 -21
  39. package/build/cjs/sortingFns.js.map +1 -1
  40. package/build/cjs/utils/filterRowsUtils.js +49 -55
  41. package/build/cjs/utils/filterRowsUtils.js.map +1 -1
  42. package/build/cjs/utils/getCoreRowModel.js +98 -0
  43. package/build/cjs/utils/getCoreRowModel.js.map +1 -0
  44. package/build/cjs/utils/getExpandedRowModel.js +17 -21
  45. package/build/cjs/utils/getExpandedRowModel.js.map +1 -1
  46. package/build/cjs/utils/getFacetedMinMaxValues.js +48 -0
  47. package/build/cjs/utils/getFacetedMinMaxValues.js.map +1 -0
  48. package/build/cjs/utils/getFacetedRowModel.js +50 -0
  49. package/build/cjs/utils/getFacetedRowModel.js.map +1 -0
  50. package/build/cjs/utils/getFacetedUniqueValues.js +48 -0
  51. package/build/cjs/utils/getFacetedUniqueValues.js.map +1 -0
  52. package/build/cjs/utils/getFilteredRowModel.js +130 -0
  53. package/build/cjs/utils/getFilteredRowModel.js.map +1 -0
  54. package/build/cjs/utils/getGroupedRowModel.js +126 -136
  55. package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
  56. package/build/cjs/utils/getPaginationRowModel.js +39 -39
  57. package/build/cjs/utils/getPaginationRowModel.js.map +1 -1
  58. package/build/cjs/utils/getSortedRowModel.js +112 -0
  59. package/build/cjs/utils/getSortedRowModel.js.map +1 -0
  60. package/build/cjs/utils.js +36 -207
  61. package/build/cjs/utils.js.map +1 -1
  62. package/build/esm/index.js +1729 -2313
  63. package/build/esm/index.js.map +1 -1
  64. package/build/stats-html.html +1 -1
  65. package/build/stats-react.json +421 -481
  66. package/build/types/core.d.ts +3 -5
  67. package/build/types/features/Cells.d.ts +1 -1
  68. package/build/types/features/Columns.d.ts +1 -1
  69. package/build/types/features/Filters.d.ts +10 -5
  70. package/build/types/features/Grouping.d.ts +4 -3
  71. package/build/types/features/Rows.d.ts +4 -3
  72. package/build/types/index.d.ts +6 -4
  73. package/build/types/types.d.ts +3 -13
  74. package/build/types/utils/filterRowsUtils.d.ts +3 -3
  75. package/build/types/utils/getCoreRowModel.d.ts +2 -0
  76. package/build/types/utils/getFacetedMinMaxValues.d.ts +2 -0
  77. package/build/types/utils/getFacetedRowModel.d.ts +2 -0
  78. package/build/types/utils/getFacetedUniqueValues.d.ts +2 -0
  79. package/build/types/utils/{getCoreRowModelSync.d.ts → getFilteredRowModel.d.ts} +1 -1
  80. package/build/types/utils/getGroupedRowModel.d.ts +1 -1
  81. package/build/types/utils/getSortedRowModel.d.ts +2 -0
  82. package/build/types/utils.d.ts +1 -17
  83. package/build/umd/index.development.js +1730 -2316
  84. package/build/umd/index.development.js.map +1 -1
  85. package/build/umd/index.production.js +1 -1
  86. package/build/umd/index.production.js.map +1 -1
  87. package/package.json +1 -1
  88. package/src/core.ts +197 -45
  89. package/src/features/Cells.ts +7 -11
  90. package/src/features/ColumnSizing.ts +6 -5
  91. package/src/features/Columns.ts +4 -8
  92. package/src/features/Filters.ts +95 -156
  93. package/src/features/Grouping.ts +16 -20
  94. package/src/features/Rows.ts +21 -6
  95. package/src/features/Sorting.ts +2 -2
  96. package/src/filterFns.ts +9 -9
  97. package/src/index.ts +12 -4
  98. package/src/sortingFns.ts +11 -11
  99. package/src/types.ts +3 -16
  100. package/src/utils/filterRowsUtils.ts +47 -68
  101. package/src/utils/{getCoreRowModelSync.ts → getCoreRowModel.ts} +2 -8
  102. package/src/utils/getFacetedMinMaxValues.ts +37 -0
  103. package/src/utils/getFacetedRowModel.ts +50 -0
  104. package/src/utils/getFacetedUniqueValues.ts +37 -0
  105. package/src/utils/{getFilteredRowModelSync.ts → getFilteredRowModel.ts} +29 -20
  106. package/src/utils/getGroupedRowModel.ts +52 -61
  107. package/src/utils/{getSortedRowModelSync.ts → getSortedRowModel.ts} +3 -3
  108. package/src/utils.ts +28 -236
  109. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -112
  110. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
  111. package/build/cjs/utils/getCoreRowModelAsync.js +0 -125
  112. package/build/cjs/utils/getCoreRowModelAsync.js.map +0 -1
  113. package/build/cjs/utils/getCoreRowModelSync.js +0 -102
  114. package/build/cjs/utils/getCoreRowModelSync.js.map +0 -1
  115. package/build/cjs/utils/getFilteredRowModelSync.js +0 -125
  116. package/build/cjs/utils/getFilteredRowModelSync.js.map +0 -1
  117. package/build/cjs/utils/getSortedRowModelSync.js +0 -118
  118. package/build/cjs/utils/getSortedRowModelSync.js.map +0 -1
  119. package/build/types/utils/getCoreRowModelAsync.d.ts +0 -4
  120. package/build/types/utils/getFilteredRowModelAsync.d.ts +0 -4
  121. package/build/types/utils/getFilteredRowModelSync.d.ts +0 -2
  122. package/build/types/utils/getSortedRowModelAsync.d.ts +0 -13
  123. package/build/types/utils/getSortedRowModelSync.d.ts +0 -2
  124. package/src/utils/getCoreRowModelAsync.ts +0 -104
  125. package/src/utils/getFilteredRowModelAsync.ts +0 -157
  126. package/src/utils/getSortedRowModelAsync.ts +0 -200
@@ -1 +1 @@
1
- {"version":3,"file":"filterRowsUtils.js","sources":["../../../src/utils/filterRowsUtils.ts"],"sourcesContent":["import { TableGenerics, Row, RowModel, TableInstance } from '../types'\n\nexport function filterRows<TGenerics extends TableGenerics>(\n rows: Row<TGenerics>[],\n columnIds: string[],\n instance: TableInstance<TGenerics>\n) {\n const filterRowImpl = (rowsToFilter: Row<TGenerics>[]) => {\n // Horizontally filter rows through each column\n return rowsToFilter.filter(row => {\n for (let i = 0; i < columnIds.length; i++) {\n if (row.columnFilterMap[columnIds[i]] === false) {\n return false\n }\n }\n return true\n })\n }\n\n if (instance.options.filterFromLeafRows) {\n return filterRowModelFromLeafs(rows, filterRowImpl, instance)\n }\n\n return filterRowModelFromRoot(rows, filterRowImpl, instance)\n}\n\nexport function filterRowModelFromLeafs<TGenerics extends TableGenerics>(\n rowsToFilter: Row<TGenerics>[],\n filterRows: (\n rowsToFilter: Row<TGenerics>[],\n depth: number\n ) => Row<TGenerics>[],\n instance: TableInstance<TGenerics>\n): RowModel<TGenerics> {\n const newFilteredFlatRows: Row<TGenerics>[] = []\n const newFilteredRowsById: Record<string, Row<TGenerics>> = {}\n\n const recurseFilterRows = (rowsToFilter: Row<TGenerics>[], depth = 0) => {\n rowsToFilter = rowsToFilter.slice()\n\n // Filter from children up first\n for (let i = 0; i < rowsToFilter.length; i++) {\n const row = rowsToFilter[i]\n\n if (!row.subRows?.length) {\n continue\n }\n\n rowsToFilter[i] = instance.createRow(\n row.id,\n row.original,\n row.index,\n row.depth,\n row.values\n )\n\n rowsToFilter[i].subRows = recurseFilterRows(row.subRows, depth + 1)\n\n if (!rowsToFilter[i].subRows.length) {\n rowsToFilter.splice(i, 1)\n i--\n }\n }\n\n rowsToFilter = filterRows(rowsToFilter, depth)\n\n // Apply the filter to any subRows\n rowsToFilter.forEach(row => {\n newFilteredFlatRows.push(row)\n newFilteredRowsById[row.id] = row\n })\n\n return rowsToFilter\n }\n\n return {\n rows: recurseFilterRows(rowsToFilter),\n flatRows: newFilteredFlatRows,\n rowsById: newFilteredRowsById,\n }\n}\n\nexport function filterRowModelFromRoot<TGenerics extends TableGenerics>(\n rowsToFilter: Row<TGenerics>[],\n filterRows: (\n rowsToFilter: Row<TGenerics>[],\n depth: number\n ) => Row<TGenerics>[],\n instance: TableInstance<TGenerics>\n): RowModel<TGenerics> {\n const newFilteredFlatRows: Row<TGenerics>[] = []\n const newFilteredRowsById: Record<string, Row<TGenerics>> = {}\n\n // Filters top level and nested rows\n const recurseFilterRows = (rowsToFilter: Row<TGenerics>[], depth = 0) => {\n // Filter from parents downward first\n rowsToFilter = filterRows(rowsToFilter, depth)\n\n // Apply the filter to any subRows\n for (let i = 0; i < rowsToFilter.length; i++) {\n const row = rowsToFilter[i]\n\n newFilteredFlatRows.push(row)\n newFilteredRowsById[row.id] = row\n\n if (!row.subRows?.length) {\n rowsToFilter.splice(i, 1)\n i--\n continue\n }\n\n rowsToFilter[i] = instance.createRow(\n row.id,\n row.original,\n row.index,\n row.depth,\n row.values\n )\n\n rowsToFilter[i].subRows = recurseFilterRows(row.subRows, depth + 1)\n }\n\n return rowsToFilter\n }\n\n return {\n rows: recurseFilterRows(rowsToFilter),\n flatRows: newFilteredFlatRows,\n rowsById: newFilteredRowsById,\n }\n}\n"],"names":["filterRows","rows","columnIds","instance","filterRowImpl","rowsToFilter","filter","row","i","length","columnFilterMap","options","filterFromLeafRows","filterRowModelFromLeafs","filterRowModelFromRoot","newFilteredFlatRows","newFilteredRowsById","recurseFilterRows","depth","slice","subRows","createRow","id","original","index","values","splice","forEach","push","flatRows","rowsById"],"mappings":"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"}
1
+ {"version":3,"file":"filterRowsUtils.js","sources":["../../../src/utils/filterRowsUtils.ts"],"sourcesContent":["import { TableGenerics, Row, RowModel, TableInstance } from '../types'\n\nexport function filterRows<TGenerics extends TableGenerics>(\n rows: Row<TGenerics>[],\n filterRowImpl: (row: Row<TGenerics>) => any,\n instance: TableInstance<TGenerics>\n) {\n if (instance.options.filterFromLeafRows) {\n return filterRowModelFromLeafs(rows, filterRowImpl, instance)\n }\n\n return filterRowModelFromRoot(rows, filterRowImpl, instance)\n}\n\nexport function filterRowModelFromLeafs<TGenerics extends TableGenerics>(\n rowsToFilter: Row<TGenerics>[],\n filterRow: (row: Row<TGenerics>) => Row<TGenerics>[],\n instance: TableInstance<TGenerics>\n): RowModel<TGenerics> {\n const newFilteredFlatRows: Row<TGenerics>[] = []\n const newFilteredRowsById: Record<string, Row<TGenerics>> = {}\n\n let row\n let newRow\n\n const recurseFilterRows = (rowsToFilter: Row<TGenerics>[], depth = 0) => {\n const rows: Row<TGenerics>[] = []\n\n // Filter from children up first\n for (let i = 0; i < rowsToFilter.length; i++) {\n row = rowsToFilter[i]!\n\n if (row.subRows?.length) {\n newRow = instance.createRow(row.id, row.original, row.index, row.depth)\n newRow.columnFilterMap = row.columnFilterMap\n newRow.subRows = recurseFilterRows(row.subRows, depth + 1)\n if (!newRow.subRows.length) {\n continue\n }\n row = newRow\n }\n\n if (filterRow(row)) {\n rows.push(row)\n newFilteredRowsById[row.id] = row\n newFilteredRowsById[i] = row\n }\n }\n\n return rows\n }\n\n return {\n rows: recurseFilterRows(rowsToFilter),\n flatRows: newFilteredFlatRows,\n rowsById: newFilteredRowsById,\n }\n}\n\nexport function filterRowModelFromRoot<TGenerics extends TableGenerics>(\n rowsToFilter: Row<TGenerics>[],\n filterRow: (row: Row<TGenerics>) => any,\n instance: TableInstance<TGenerics>\n): RowModel<TGenerics> {\n const newFilteredFlatRows: Row<TGenerics>[] = []\n const newFilteredRowsById: Record<string, Row<TGenerics>> = {}\n\n let rows\n let row\n let newRow\n\n // Filters top level and nested rows\n const recurseFilterRows = (rowsToFilter: Row<TGenerics>[], depth = 0) => {\n // Filter from parents downward first\n\n rows = []\n\n // Apply the filter to any subRows\n for (let i = 0; i < rowsToFilter.length; i++) {\n row = rowsToFilter[i]!\n\n const pass = filterRow(row)\n\n if (pass) {\n if (row.subRows?.length) {\n newRow = instance.createRow(\n row.id,\n row.original,\n row.index,\n row.depth\n )\n newRow.subRows = recurseFilterRows(row.subRows, depth + 1)\n row = newRow\n }\n\n rows.push(row)\n newFilteredFlatRows.push(row)\n newFilteredRowsById[row.id] = row\n }\n }\n\n return rows\n }\n\n return {\n rows: recurseFilterRows(rowsToFilter),\n flatRows: newFilteredFlatRows,\n rowsById: newFilteredRowsById,\n }\n}\n"],"names":["filterRows","rows","filterRowImpl","instance","options","filterFromLeafRows","filterRowModelFromLeafs","filterRowModelFromRoot","rowsToFilter","filterRow","newFilteredFlatRows","newFilteredRowsById","row","newRow","recurseFilterRows","depth","i","length","subRows","createRow","id","original","index","columnFilterMap","push","flatRows","rowsById","pass"],"mappings":"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"}
@@ -0,0 +1,98 @@
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 utils = require('../utils.js');
16
+
17
+ function getCoreRowModel() {
18
+ return instance => utils.memo(() => [instance.options.data], data => {
19
+ // Access the row model using initial columns
20
+ const rows = [];
21
+ const flatRows = [];
22
+ const rowsById = {};
23
+ const leafColumns = instance.getAllLeafColumns();
24
+
25
+ const accessRow = function (originalRow, rowIndex, depth, parentRows, parent) {
26
+ if (depth === void 0) {
27
+ depth = 0;
28
+ }
29
+
30
+ const id = instance.getRowId(originalRow, rowIndex, parent);
31
+
32
+ if (!id) {
33
+ if (process.env.NODE_ENV !== 'production') {
34
+ throw new Error("getRowId expected an ID, but got " + id);
35
+ }
36
+ }
37
+
38
+ const values = {};
39
+
40
+ for (let i = 0; i < leafColumns.length; i++) {
41
+ const column = leafColumns[i];
42
+
43
+ if (column && column.accessorFn) {
44
+ values[column.id] = column.accessorFn(originalRow, rowIndex);
45
+ }
46
+ } // Make the row
47
+
48
+
49
+ const row = instance.createRow(id, originalRow, rowIndex, depth); // Push instance row into the parentRows array
50
+
51
+ parentRows.push(row); // Keep track of every row in a flat array
52
+
53
+ flatRows.push(row); // Also keep track of every row by its ID
54
+
55
+ rowsById[id] = row; // Get the original subrows
56
+
57
+ if (instance.options.getSubRows) {
58
+ const originalSubRows = instance.options.getSubRows(originalRow, rowIndex); // Then recursively access them
59
+
60
+ if (originalSubRows != null && originalSubRows.length) {
61
+ row.originalSubRows = originalSubRows;
62
+ const subRows = [];
63
+
64
+ for (let i = 0; i < row.originalSubRows.length; i++) {
65
+ accessRow(row.originalSubRows[i], i, depth + 1, subRows, row);
66
+ }
67
+
68
+ row.subRows = subRows;
69
+ }
70
+ }
71
+ };
72
+
73
+ for (let i = 0; i < data.length; i++) {
74
+ accessRow(data[i], i, 0, rows);
75
+ }
76
+
77
+ return {
78
+ rows,
79
+ flatRows,
80
+ rowsById
81
+ };
82
+ }, {
83
+ key: process.env.NODE_ENV === 'development' && 'getRowModel',
84
+ debug: () => {
85
+ var _instance$options$deb;
86
+
87
+ return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
88
+ },
89
+ onChange: () => {
90
+ instance.queue(() => {
91
+ instance._autoResetPageIndex();
92
+ });
93
+ }
94
+ });
95
+ }
96
+
97
+ exports.getCoreRowModel = getCoreRowModel;
98
+ //# sourceMappingURL=getCoreRowModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCoreRowModel.js","sources":["../../../src/utils/getCoreRowModel.ts"],"sourcesContent":["import { TableInstance, Row, RowModel, TableGenerics } from '../types'\nimport { memo } from '../utils'\n\nexport function getCoreRowModel<TGenerics extends TableGenerics>(): (\n instance: TableInstance<TGenerics>\n) => () => RowModel<TGenerics> {\n return instance =>\n memo(\n () => [instance.options.data],\n (\n data\n ): {\n rows: Row<TGenerics>[]\n flatRows: Row<TGenerics>[]\n rowsById: Record<string, Row<TGenerics>>\n } => {\n // Access the row model using initial columns\n const rows: Row<TGenerics>[] = []\n const flatRows: Row<TGenerics>[] = []\n const rowsById: Record<string, Row<TGenerics>> = {}\n\n const leafColumns = instance.getAllLeafColumns()\n\n const accessRow = (\n originalRow: TGenerics['Row'],\n rowIndex: number,\n depth = 0,\n parentRows: Row<TGenerics>[],\n parent?: Row<TGenerics>\n ) => {\n const id = instance.getRowId(originalRow, rowIndex, parent)\n\n if (!id) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`getRowId expected an ID, but got ${id}`)\n }\n }\n\n const values: Record<string, any> = {}\n\n for (let i = 0; i < leafColumns.length; i++) {\n const column = leafColumns[i]\n if (column && column.accessorFn) {\n values[column.id] = column.accessorFn(originalRow, rowIndex)\n }\n }\n\n // Make the row\n const row = instance.createRow(id, originalRow, rowIndex, depth)\n\n // Push instance row into the parentRows array\n parentRows.push(row)\n // Keep track of every row in a flat array\n flatRows.push(row)\n // Also keep track of every row by its ID\n rowsById[id] = row\n\n // Get the original subrows\n if (instance.options.getSubRows) {\n const originalSubRows = instance.options.getSubRows(\n originalRow,\n rowIndex\n )\n\n // Then recursively access them\n if (originalSubRows?.length) {\n row.originalSubRows = originalSubRows\n const subRows: Row<TGenerics>[] = []\n\n for (let i = 0; i < row.originalSubRows.length; i++) {\n accessRow(\n row.originalSubRows[i] as TGenerics['Row'],\n i,\n depth + 1,\n subRows,\n row\n )\n }\n row.subRows = subRows\n }\n }\n }\n\n for (let i = 0; i < data.length; i++) {\n accessRow(data[i] as TGenerics['Row'], i, 0, rows)\n }\n\n return { rows, flatRows, rowsById }\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {\n instance.queue(() => {\n instance._autoResetPageIndex()\n })\n },\n }\n )\n}\n"],"names":["getCoreRowModel","instance","memo","options","data","rows","flatRows","rowsById","leafColumns","getAllLeafColumns","accessRow","originalRow","rowIndex","depth","parentRows","parent","id","getRowId","process","env","NODE_ENV","Error","values","i","length","column","accessorFn","row","createRow","push","getSubRows","originalSubRows","subRows","key","debug","debugAll","debugTable","onChange","queue","_autoResetPageIndex"],"mappings":"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"}
@@ -15,30 +15,26 @@ Object.defineProperty(exports, '__esModule', { value: true });
15
15
  var utils = require('../utils.js');
16
16
 
17
17
  function getExpandedRowModel() {
18
- return function (instance) {
19
- return utils.memo(function () {
20
- return [instance.getState().expanded, instance.getPreExpandedRowModel(), instance.options.paginateExpandedRows];
21
- }, function (expanded, rowModel, paginateExpandedRows) {
22
- if (!rowModel.rows.length || // Do not expand if rows are not included in pagination
23
- !paginateExpandedRows || expanded !== true && !Object.keys(expanded != null ? expanded : {}).length) {
24
- return rowModel;
25
- }
26
-
27
- return expandRows(rowModel, instance);
28
- }, {
29
- key: process.env.NODE_ENV === 'development' && 'getExpandedRowModel',
30
- debug: function debug() {
31
- var _instance$options$deb;
32
-
33
- return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
34
- }
35
- });
36
- };
18
+ return instance => utils.memo(() => [instance.getState().expanded, instance.getPreExpandedRowModel(), instance.options.paginateExpandedRows], (expanded, rowModel, paginateExpandedRows) => {
19
+ if (!rowModel.rows.length || // Do not expand if rows are not included in pagination
20
+ !paginateExpandedRows || expanded !== true && !Object.keys(expanded != null ? expanded : {}).length) {
21
+ return rowModel;
22
+ }
23
+
24
+ return expandRows(rowModel, instance);
25
+ }, {
26
+ key: process.env.NODE_ENV === 'development' && 'getExpandedRowModel',
27
+ debug: () => {
28
+ var _instance$options$deb;
29
+
30
+ return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
31
+ }
32
+ });
37
33
  }
38
34
  function expandRows(rowModel, instance) {
39
- var expandedRows = [];
35
+ const expandedRows = [];
40
36
 
41
- var handleRow = function handleRow(row) {
37
+ const handleRow = row => {
42
38
  var _row$subRows;
43
39
 
44
40
  expandedRows.push(row);
@@ -1 +1 @@
1
- {"version":3,"file":"getExpandedRowModel.js","sources":["../../../src/utils/getExpandedRowModel.ts"],"sourcesContent":["import { TableInstance, Row, RowModel, TableGenerics } from '../types'\nimport { memo } from '../utils'\n\nexport function getExpandedRowModel<TGenerics extends TableGenerics>(): (\n instance: TableInstance<TGenerics>\n) => () => RowModel<TGenerics> {\n return instance =>\n memo(\n () => [\n instance.getState().expanded,\n instance.getPreExpandedRowModel(),\n instance.options.paginateExpandedRows,\n ],\n (expanded, rowModel, paginateExpandedRows) => {\n if (\n !rowModel.rows.length ||\n // Do not expand if rows are not included in pagination\n !paginateExpandedRows ||\n (expanded !== true && !Object.keys(expanded ?? {}).length)\n ) {\n return rowModel\n }\n\n return expandRows(rowModel, instance)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getExpandedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n }\n )\n}\n\nexport function expandRows<TGenerics extends TableGenerics>(\n rowModel: RowModel<TGenerics>,\n instance: TableInstance<TGenerics>\n) {\n const expandedRows: Row<TGenerics>[] = []\n\n const handleRow = (row: Row<TGenerics>) => {\n expandedRows.push(row)\n\n if (\n instance.options.expandSubRows &&\n row.subRows?.length &&\n row.getIsExpanded()\n ) {\n row.subRows.forEach(handleRow)\n }\n }\n\n rowModel.rows.forEach(handleRow)\n\n return {\n rows: expandedRows,\n flatRows: rowModel.flatRows,\n rowsById: rowModel.rowsById,\n }\n}\n"],"names":["getExpandedRowModel","instance","memo","getState","expanded","getPreExpandedRowModel","options","paginateExpandedRows","rowModel","rows","length","Object","keys","expandRows","key","process","env","NODE_ENV","debug","debugAll","debugTable","expandedRows","handleRow","row","push","expandSubRows","subRows","getIsExpanded","forEach","flatRows","rowsById"],"mappings":";;;;;;;;;;;;;;;;AAGO,SAASA,mBAAT,GAEwB;AAC7B,EAAA,OAAO,UAAAC,QAAQ,EAAA;AAAA,IAAA,OACbC,UAAI,CACF,YAAA;AAAA,MAAA,OAAM,CACJD,QAAQ,CAACE,QAAT,EAAA,CAAoBC,QADhB,EAEJH,QAAQ,CAACI,sBAAT,EAFI,EAGJJ,QAAQ,CAACK,OAAT,CAAiBC,oBAHb,CAAN,CAAA;AAAA,KADE,EAMF,UAACH,QAAD,EAAWI,QAAX,EAAqBD,oBAArB,EAA8C;AAC5C,MAAA,IACE,CAACC,QAAQ,CAACC,IAAT,CAAcC,MAAf;AAEA,MAAA,CAACH,oBAFD,IAGCH,QAAQ,KAAK,IAAb,IAAqB,CAACO,MAAM,CAACC,IAAP,CAAYR,QAAZ,IAAYA,IAAAA,GAAAA,QAAZ,GAAwB,EAAxB,CAAA,CAA4BM,MAJrD,EAKE;AACA,QAAA,OAAOF,QAAP,CAAA;AACD,OAAA;;AAED,MAAA,OAAOK,UAAU,CAACL,QAAD,EAAWP,QAAX,CAAjB,CAAA;AACD,KAjBC,EAkBF;AACEa,MAAAA,GAAG,EAAEC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzB,IAA0C,qBADjD;AAEEC,MAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,QAAA,IAAA,qBAAA,CAAA;;AAAA,QAAMjB,OAAAA,CAAAA,qBAAAA,GAAAA,QAAQ,CAACK,OAAT,CAAiBa,QAAvB,oCAAmClB,QAAQ,CAACK,OAAT,CAAiBc,UAApD,CAAA;AAAA,OAAA;AAFT,KAlBE,CADS,CAAA;AAAA,GAAf,CAAA;AAwBD,CAAA;AAEM,SAASP,UAAT,CACLL,QADK,EAELP,QAFK,EAGL;AACA,EAAMoB,IAAAA,YAA8B,GAAG,EAAvC,CAAA;;AAEA,EAAA,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAACC,GAAD,EAAyB;AAAA,IAAA,IAAA,YAAA,CAAA;;AACzCF,IAAAA,YAAY,CAACG,IAAb,CAAkBD,GAAlB,CAAA,CAAA;;AAEA,IAAA,IACEtB,QAAQ,CAACK,OAAT,CAAiBmB,aAAjB,oBACAF,GAAG,CAACG,OADJ,KAAA,IAAA,IACA,aAAahB,MADb,IAEAa,GAAG,CAACI,aAAJ,EAHF,EAIE;AACAJ,MAAAA,GAAG,CAACG,OAAJ,CAAYE,OAAZ,CAAoBN,SAApB,CAAA,CAAA;AACD,KAAA;AACF,GAVD,CAAA;;AAYAd,EAAAA,QAAQ,CAACC,IAAT,CAAcmB,OAAd,CAAsBN,SAAtB,CAAA,CAAA;AAEA,EAAO,OAAA;AACLb,IAAAA,IAAI,EAAEY,YADD;AAELQ,IAAAA,QAAQ,EAAErB,QAAQ,CAACqB,QAFd;AAGLC,IAAAA,QAAQ,EAAEtB,QAAQ,CAACsB,QAAAA;AAHd,GAAP,CAAA;AAKD;;;;;"}
1
+ {"version":3,"file":"getExpandedRowModel.js","sources":["../../../src/utils/getExpandedRowModel.ts"],"sourcesContent":["import { TableInstance, Row, RowModel, TableGenerics } from '../types'\nimport { memo } from '../utils'\n\nexport function getExpandedRowModel<TGenerics extends TableGenerics>(): (\n instance: TableInstance<TGenerics>\n) => () => RowModel<TGenerics> {\n return instance =>\n memo(\n () => [\n instance.getState().expanded,\n instance.getPreExpandedRowModel(),\n instance.options.paginateExpandedRows,\n ],\n (expanded, rowModel, paginateExpandedRows) => {\n if (\n !rowModel.rows.length ||\n // Do not expand if rows are not included in pagination\n !paginateExpandedRows ||\n (expanded !== true && !Object.keys(expanded ?? {}).length)\n ) {\n return rowModel\n }\n\n return expandRows(rowModel, instance)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getExpandedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n }\n )\n}\n\nexport function expandRows<TGenerics extends TableGenerics>(\n rowModel: RowModel<TGenerics>,\n instance: TableInstance<TGenerics>\n) {\n const expandedRows: Row<TGenerics>[] = []\n\n const handleRow = (row: Row<TGenerics>) => {\n expandedRows.push(row)\n\n if (\n instance.options.expandSubRows &&\n row.subRows?.length &&\n row.getIsExpanded()\n ) {\n row.subRows.forEach(handleRow)\n }\n }\n\n rowModel.rows.forEach(handleRow)\n\n return {\n rows: expandedRows,\n flatRows: rowModel.flatRows,\n rowsById: rowModel.rowsById,\n }\n}\n"],"names":["getExpandedRowModel","instance","memo","getState","expanded","getPreExpandedRowModel","options","paginateExpandedRows","rowModel","rows","length","Object","keys","expandRows","key","process","env","NODE_ENV","debug","debugAll","debugTable","expandedRows","handleRow","row","push","expandSubRows","subRows","getIsExpanded","forEach","flatRows","rowsById"],"mappings":";;;;;;;;;;;;;;;;AAGO,SAASA,mBAAT,GAEwB;AAC7B,EAAA,OAAOC,QAAQ,IACbC,UAAI,CACF,MAAM,CACJD,QAAQ,CAACE,QAAT,EAAA,CAAoBC,QADhB,EAEJH,QAAQ,CAACI,sBAAT,EAFI,EAGJJ,QAAQ,CAACK,OAAT,CAAiBC,oBAHb,CADJ,EAMF,CAACH,QAAD,EAAWI,QAAX,EAAqBD,oBAArB,KAA8C;AAC5C,IAAA,IACE,CAACC,QAAQ,CAACC,IAAT,CAAcC,MAAf;AAEA,IAAA,CAACH,oBAFD,IAGCH,QAAQ,KAAK,IAAb,IAAqB,CAACO,MAAM,CAACC,IAAP,CAAYR,QAAZ,IAAYA,IAAAA,GAAAA,QAAZ,GAAwB,EAAxB,CAAA,CAA4BM,MAJrD,EAKE;AACA,MAAA,OAAOF,QAAP,CAAA;AACD,KAAA;;AAED,IAAA,OAAOK,UAAU,CAACL,QAAD,EAAWP,QAAX,CAAjB,CAAA;AACD,GAjBC,EAkBF;AACEa,IAAAA,GAAG,EAAEC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzB,IAA0C,qBADjD;AAEEC,IAAAA,KAAK,EAAE,MAAA;AAAA,MAAA,IAAA,qBAAA,CAAA;;AAAA,MAAMjB,OAAAA,CAAAA,qBAAAA,GAAAA,QAAQ,CAACK,OAAT,CAAiBa,QAAvB,oCAAmClB,QAAQ,CAACK,OAAT,CAAiBc,UAApD,CAAA;AAAA,KAAA;AAFT,GAlBE,CADN,CAAA;AAwBD,CAAA;AAEM,SAASP,UAAT,CACLL,QADK,EAELP,QAFK,EAGL;AACA,EAAMoB,MAAAA,YAA8B,GAAG,EAAvC,CAAA;;AAEA,EAAMC,MAAAA,SAAS,GAAIC,GAAD,IAAyB;AAAA,IAAA,IAAA,YAAA,CAAA;;AACzCF,IAAAA,YAAY,CAACG,IAAb,CAAkBD,GAAlB,CAAA,CAAA;;AAEA,IAAA,IACEtB,QAAQ,CAACK,OAAT,CAAiBmB,aAAjB,oBACAF,GAAG,CAACG,OADJ,KAAA,IAAA,IACA,aAAahB,MADb,IAEAa,GAAG,CAACI,aAAJ,EAHF,EAIE;AACAJ,MAAAA,GAAG,CAACG,OAAJ,CAAYE,OAAZ,CAAoBN,SAApB,CAAA,CAAA;AACD,KAAA;AACF,GAVD,CAAA;;AAYAd,EAAAA,QAAQ,CAACC,IAAT,CAAcmB,OAAd,CAAsBN,SAAtB,CAAA,CAAA;AAEA,EAAO,OAAA;AACLb,IAAAA,IAAI,EAAEY,YADD;AAELQ,IAAAA,QAAQ,EAAErB,QAAQ,CAACqB,QAFd;AAGLC,IAAAA,QAAQ,EAAEtB,QAAQ,CAACsB,QAAAA;AAHd,GAAP,CAAA;AAKD;;;;;"}
@@ -0,0 +1,48 @@
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 utils = require('../utils.js');
16
+
17
+ function getFacetedMinMaxValues() {
18
+ return (instance, columnId) => utils.memo(() => [instance.getColumn(columnId).getFacetedRowModel()], facetedRowModel => {
19
+ var _facetedRowModel$flat, _facetedRowModel$flat2, _facetedRowModel$flat3, _facetedRowModel$flat4;
20
+
21
+ let facetedMinMaxValues = [(_facetedRowModel$flat = (_facetedRowModel$flat2 = facetedRowModel.flatRows[0]) == null ? void 0 : _facetedRowModel$flat2.getValue(columnId)) != null ? _facetedRowModel$flat : null, (_facetedRowModel$flat3 = (_facetedRowModel$flat4 = facetedRowModel.flatRows[0]) == null ? void 0 : _facetedRowModel$flat4.getValue(columnId)) != null ? _facetedRowModel$flat3 : null];
22
+
23
+ for (let i = 0; i < facetedRowModel.flatRows.length; i++) {
24
+ var _facetedRowModel$flat5;
25
+
26
+ const value = (_facetedRowModel$flat5 = facetedRowModel.flatRows[i]) == null ? void 0 : _facetedRowModel$flat5.getValue(columnId);
27
+
28
+ if (value < facetedMinMaxValues[0]) {
29
+ facetedMinMaxValues[0] = value;
30
+ } else if (value > facetedMinMaxValues[1]) {
31
+ facetedMinMaxValues[1] = value;
32
+ }
33
+ }
34
+
35
+ return facetedMinMaxValues;
36
+ }, {
37
+ key: process.env.NODE_ENV === 'development' && 'getFacetedMinMaxValues_' + columnId,
38
+ debug: () => {
39
+ var _instance$options$deb;
40
+
41
+ return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
42
+ },
43
+ onChange: () => {}
44
+ });
45
+ }
46
+
47
+ exports.getFacetedMinMaxValues = getFacetedMinMaxValues;
48
+ //# sourceMappingURL=getFacetedMinMaxValues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFacetedMinMaxValues.js","sources":["../../../src/utils/getFacetedMinMaxValues.ts"],"sourcesContent":["import { TableInstance, TableGenerics } from '../types'\nimport { memo } from '../utils'\n\nexport function getFacetedMinMaxValues<TGenerics extends TableGenerics>(): (\n instance: TableInstance<TGenerics>,\n columnId: string\n) => () => [number, number] {\n return (instance, columnId) =>\n memo(\n () => [instance.getColumn(columnId).getFacetedRowModel()],\n facetedRowModel => {\n let facetedMinMaxValues: [any, any] = [\n facetedRowModel.flatRows[0]?.getValue(columnId) ?? null,\n facetedRowModel.flatRows[0]?.getValue(columnId) ?? null,\n ]\n\n for (let i = 0; i < facetedRowModel.flatRows.length; i++) {\n const value = facetedRowModel.flatRows[i]?.getValue(columnId)\n\n if (value < facetedMinMaxValues[0]) {\n facetedMinMaxValues[0] = value\n } else if (value > facetedMinMaxValues[1]) {\n facetedMinMaxValues[1] = value\n }\n }\n\n return facetedMinMaxValues\n },\n {\n key:\n process.env.NODE_ENV === 'development' &&\n 'getFacetedMinMaxValues_' + columnId,\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {},\n }\n )\n}\n"],"names":["getFacetedMinMaxValues","instance","columnId","memo","getColumn","getFacetedRowModel","facetedRowModel","facetedMinMaxValues","flatRows","getValue","i","length","value","key","process","env","NODE_ENV","debug","options","debugAll","debugTable","onChange"],"mappings":";;;;;;;;;;;;;;;;AAGO,SAASA,sBAAT,GAGqB;AAC1B,EAAO,OAAA,CAACC,QAAD,EAAWC,QAAX,KACLC,UAAI,CACF,MAAM,CAACF,QAAQ,CAACG,SAAT,CAAmBF,QAAnB,CAA6BG,CAAAA,kBAA7B,EAAD,CADJ,EAEFC,eAAe,IAAI;AAAA,IAAA,IAAA,qBAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,sBAAA,CAAA;;AACjB,IAAA,IAAIC,mBAA+B,GAAG,CACpCD,CAAAA,qBAAAA,GAAAA,CAAAA,sBAAAA,GAAAA,eAAe,CAACE,QAAhB,CAAyB,CAAzB,CADoC,KACpC,IAAA,GAAA,KAAA,CAAA,GAAA,sBAAA,CAA6BC,QAA7B,CAAsCP,QAAtC,CADoC,KAAA,IAAA,GAAA,qBAAA,GACe,IADf,EAAA,CAAA,sBAAA,GAAA,CAAA,sBAAA,GAEpCI,eAAe,CAACE,QAAhB,CAAyB,CAAzB,CAFoC,KAAA,IAAA,GAAA,KAAA,CAAA,GAEpC,sBAA6BC,CAAAA,QAA7B,CAAsCP,QAAtC,CAFoC,KAAA,IAAA,GAAA,sBAAA,GAEe,IAFf,CAAtC,CAAA;;AAKA,IAAA,KAAK,IAAIQ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGJ,eAAe,CAACE,QAAhB,CAAyBG,MAA7C,EAAqDD,CAAC,EAAtD,EAA0D;AAAA,MAAA,IAAA,sBAAA,CAAA;;AACxD,MAAA,MAAME,KAAK,GAAA,CAAA,sBAAA,GAAGN,eAAe,CAACE,QAAhB,CAAyBE,CAAzB,CAAH,KAAG,IAAA,GAAA,KAAA,CAAA,GAAA,sBAAA,CAA6BD,QAA7B,CAAsCP,QAAtC,CAAd,CAAA;;AAEA,MAAA,IAAIU,KAAK,GAAGL,mBAAmB,CAAC,CAAD,CAA/B,EAAoC;AAClCA,QAAAA,mBAAmB,CAAC,CAAD,CAAnB,GAAyBK,KAAzB,CAAA;AACD,OAFD,MAEO,IAAIA,KAAK,GAAGL,mBAAmB,CAAC,CAAD,CAA/B,EAAoC;AACzCA,QAAAA,mBAAmB,CAAC,CAAD,CAAnB,GAAyBK,KAAzB,CAAA;AACD,OAAA;AACF,KAAA;;AAED,IAAA,OAAOL,mBAAP,CAAA;AACD,GAnBC,EAoBF;AACEM,IAAAA,GAAG,EACDC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzB,IACA,yBAAA,GAA4Bd,QAHhC;AAIEe,IAAAA,KAAK,EAAE,MAAA;AAAA,MAAA,IAAA,qBAAA,CAAA;;AAAA,MAAMhB,OAAAA,CAAAA,qBAAAA,GAAAA,QAAQ,CAACiB,OAAT,CAAiBC,QAAvB,oCAAmClB,QAAQ,CAACiB,OAAT,CAAiBE,UAApD,CAAA;AAAA,KAJT;AAKEC,IAAAA,QAAQ,EAAE,MAAM,EAAE;AALpB,GApBE,CADN,CAAA;AA6BD;;;;"}
@@ -0,0 +1,50 @@
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 utils = require('../utils.js');
16
+ var filterRowsUtils = require('./filterRowsUtils.js');
17
+
18
+ function getFacetedRowModel() {
19
+ return (instance, columnId) => utils.memo(() => [instance.getPreFilteredRowModel(), instance.getState().columnFilters, instance.getState().globalFilter, instance.getFilteredRowModel()], (preRowModel, columnFilters, globalFilter) => {
20
+ if (!preRowModel.rows.length || !(columnFilters != null && columnFilters.length) && !globalFilter) {
21
+ return preRowModel;
22
+ }
23
+
24
+ const filterableIds = [...columnFilters.map(d => d.id).filter(d => d !== columnId), globalFilter ? '__global__' : undefined].filter(Boolean);
25
+
26
+ const filterRowsImpl = row => {
27
+ // Horizontally filter rows through each column
28
+ for (let i = 0; i < filterableIds.length; i++) {
29
+ if (row.columnFilterMap[filterableIds[i]] === false) {
30
+ return false;
31
+ }
32
+ }
33
+
34
+ return true;
35
+ };
36
+
37
+ return filterRowsUtils.filterRows(preRowModel.rows, filterRowsImpl, instance);
38
+ }, {
39
+ key: process.env.NODE_ENV === 'development' && 'getFacetedRowModel_' + columnId,
40
+ debug: () => {
41
+ var _instance$options$deb;
42
+
43
+ return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
44
+ },
45
+ onChange: () => {}
46
+ });
47
+ }
48
+
49
+ exports.getFacetedRowModel = getFacetedRowModel;
50
+ //# sourceMappingURL=getFacetedRowModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFacetedRowModel.js","sources":["../../../src/utils/getFacetedRowModel.ts"],"sourcesContent":["import { TableInstance, RowModel, TableGenerics, Row } from '../types'\nimport { memo } from '../utils'\nimport { filterRows } from './filterRowsUtils'\n\nexport function getFacetedRowModel<TGenerics extends TableGenerics>(): (\n instance: TableInstance<TGenerics>,\n columnId: string\n) => () => RowModel<TGenerics> {\n return (instance, columnId) =>\n memo(\n () => [\n instance.getPreFilteredRowModel(),\n instance.getState().columnFilters,\n instance.getState().globalFilter,\n instance.getFilteredRowModel(),\n ],\n (preRowModel, columnFilters, globalFilter) => {\n if (\n !preRowModel.rows.length ||\n (!columnFilters?.length && !globalFilter)\n ) {\n return preRowModel\n }\n\n const filterableIds = [\n ...columnFilters.map(d => d.id).filter(d => d !== columnId),\n globalFilter ? '__global__' : undefined,\n ].filter(Boolean) as string[]\n\n const filterRowsImpl = (row: Row<TGenerics>) => {\n // Horizontally filter rows through each column\n for (let i = 0; i < filterableIds.length; i++) {\n if (row.columnFilterMap[filterableIds[i]!] === false) {\n return false\n }\n }\n return true\n }\n\n return filterRows(preRowModel.rows, filterRowsImpl, instance)\n },\n {\n key:\n process.env.NODE_ENV === 'development' &&\n 'getFacetedRowModel_' + columnId,\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {},\n }\n )\n}\n"],"names":["getFacetedRowModel","instance","columnId","memo","getPreFilteredRowModel","getState","columnFilters","globalFilter","getFilteredRowModel","preRowModel","rows","length","filterableIds","map","d","id","filter","undefined","Boolean","filterRowsImpl","row","i","columnFilterMap","filterRows","key","process","env","NODE_ENV","debug","options","debugAll","debugTable","onChange"],"mappings":";;;;;;;;;;;;;;;;;AAIO,SAASA,kBAAT,GAGwB;AAC7B,EAAA,OAAO,CAACC,QAAD,EAAWC,QAAX,KACLC,UAAI,CACF,MAAM,CACJF,QAAQ,CAACG,sBAAT,EADI,EAEJH,QAAQ,CAACI,QAAT,EAAoBC,CAAAA,aAFhB,EAGJL,QAAQ,CAACI,QAAT,EAAA,CAAoBE,YAHhB,EAIJN,QAAQ,CAACO,mBAAT,EAJI,CADJ,EAOF,CAACC,WAAD,EAAcH,aAAd,EAA6BC,YAA7B,KAA8C;AAC5C,IAAA,IACE,CAACE,WAAW,CAACC,IAAZ,CAAiBC,MAAlB,IACC,EAACL,aAAD,IAAA,IAAA,IAACA,aAAa,CAAEK,MAAhB,CAA0B,IAAA,CAACJ,YAF9B,EAGE;AACA,MAAA,OAAOE,WAAP,CAAA;AACD,KAAA;;AAED,IAAA,MAAMG,aAAa,GAAG,CACpB,GAAGN,aAAa,CAACO,GAAd,CAAkBC,CAAC,IAAIA,CAAC,CAACC,EAAzB,EAA6BC,MAA7B,CAAoCF,CAAC,IAAIA,CAAC,KAAKZ,QAA/C,CADiB,EAEpBK,YAAY,GAAG,YAAH,GAAkBU,SAFV,CAAA,CAGpBD,MAHoB,CAGbE,OAHa,CAAtB,CAAA;;AAKA,IAAMC,MAAAA,cAAc,GAAIC,GAAD,IAAyB;AAC9C;AACA,MAAA,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGT,aAAa,CAACD,MAAlC,EAA0CU,CAAC,EAA3C,EAA+C;AAC7C,QAAID,IAAAA,GAAG,CAACE,eAAJ,CAAoBV,aAAa,CAACS,CAAD,CAAjC,CAA2C,KAAA,KAA/C,EAAsD;AACpD,UAAA,OAAO,KAAP,CAAA;AACD,SAAA;AACF,OAAA;;AACD,MAAA,OAAO,IAAP,CAAA;AACD,KARD,CAAA;;AAUA,IAAOE,OAAAA,0BAAU,CAACd,WAAW,CAACC,IAAb,EAAmBS,cAAnB,EAAmClB,QAAnC,CAAjB,CAAA;AACD,GA/BC,EAgCF;AACEuB,IAAAA,GAAG,EACDC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzB,IACA,qBAAA,GAAwBzB,QAH5B;AAIE0B,IAAAA,KAAK,EAAE,MAAA;AAAA,MAAA,IAAA,qBAAA,CAAA;;AAAA,MAAM3B,OAAAA,CAAAA,qBAAAA,GAAAA,QAAQ,CAAC4B,OAAT,CAAiBC,QAAvB,oCAAmC7B,QAAQ,CAAC4B,OAAT,CAAiBE,UAApD,CAAA;AAAA,KAJT;AAKEC,IAAAA,QAAQ,EAAE,MAAM,EAAE;AALpB,GAhCE,CADN,CAAA;AAyCD;;;;"}
@@ -0,0 +1,48 @@
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 utils = require('../utils.js');
16
+
17
+ function getFacetedUniqueValues() {
18
+ return (instance, columnId) => utils.memo(() => [instance.getColumn(columnId).getFacetedRowModel()], facetedRowModel => {
19
+ let facetedUniqueValues = new Map();
20
+
21
+ for (let i = 0; i < facetedRowModel.flatRows.length; i++) {
22
+ var _facetedRowModel$flat;
23
+
24
+ const value = (_facetedRowModel$flat = facetedRowModel.flatRows[i]) == null ? void 0 : _facetedRowModel$flat.getValue(columnId);
25
+
26
+ if (facetedUniqueValues.has(value)) {
27
+ var _facetedUniqueValues$;
28
+
29
+ facetedUniqueValues.set(value, ((_facetedUniqueValues$ = facetedUniqueValues.get(value)) != null ? _facetedUniqueValues$ : 0) + 1);
30
+ } else {
31
+ facetedUniqueValues.set(value, 1);
32
+ }
33
+ }
34
+
35
+ return facetedUniqueValues;
36
+ }, {
37
+ key: process.env.NODE_ENV === 'development' && 'getFacetedUniqueValues_' + columnId,
38
+ debug: () => {
39
+ var _instance$options$deb;
40
+
41
+ return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
42
+ },
43
+ onChange: () => {}
44
+ });
45
+ }
46
+
47
+ exports.getFacetedUniqueValues = getFacetedUniqueValues;
48
+ //# sourceMappingURL=getFacetedUniqueValues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFacetedUniqueValues.js","sources":["../../../src/utils/getFacetedUniqueValues.ts"],"sourcesContent":["import { TableInstance, TableGenerics } from '../types'\nimport { memo } from '../utils'\n\nexport function getFacetedUniqueValues<TGenerics extends TableGenerics>(): (\n instance: TableInstance<TGenerics>,\n columnId: string\n) => () => Map<any, number> {\n return (instance, columnId) =>\n memo(\n () => [instance.getColumn(columnId).getFacetedRowModel()],\n facetedRowModel => {\n let facetedUniqueValues = new Map<any, number>()\n\n for (let i = 0; i < facetedRowModel.flatRows.length; i++) {\n const value = facetedRowModel.flatRows[i]?.getValue(columnId)\n\n if (facetedUniqueValues.has(value)) {\n facetedUniqueValues.set(\n value,\n (facetedUniqueValues.get(value) ?? 0) + 1\n )\n } else {\n facetedUniqueValues.set(value, 1)\n }\n }\n\n return facetedUniqueValues\n },\n {\n key:\n process.env.NODE_ENV === 'development' &&\n 'getFacetedUniqueValues_' + columnId,\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {},\n }\n )\n}\n"],"names":["getFacetedUniqueValues","instance","columnId","memo","getColumn","getFacetedRowModel","facetedRowModel","facetedUniqueValues","Map","i","flatRows","length","value","getValue","has","set","get","key","process","env","NODE_ENV","debug","options","debugAll","debugTable","onChange"],"mappings":";;;;;;;;;;;;;;;;AAGO,SAASA,sBAAT,GAGqB;AAC1B,EAAO,OAAA,CAACC,QAAD,EAAWC,QAAX,KACLC,UAAI,CACF,MAAM,CAACF,QAAQ,CAACG,SAAT,CAAmBF,QAAnB,CAA6BG,CAAAA,kBAA7B,EAAD,CADJ,EAEFC,eAAe,IAAI;AACjB,IAAA,IAAIC,mBAAmB,GAAG,IAAIC,GAAJ,EAA1B,CAAA;;AAEA,IAAA,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,eAAe,CAACI,QAAhB,CAAyBC,MAA7C,EAAqDF,CAAC,EAAtD,EAA0D;AAAA,MAAA,IAAA,qBAAA,CAAA;;AACxD,MAAA,MAAMG,KAAK,GAAA,CAAA,qBAAA,GAAGN,eAAe,CAACI,QAAhB,CAAyBD,CAAzB,CAAH,KAAG,IAAA,GAAA,KAAA,CAAA,GAAA,qBAAA,CAA6BI,QAA7B,CAAsCX,QAAtC,CAAd,CAAA;;AAEA,MAAA,IAAIK,mBAAmB,CAACO,GAApB,CAAwBF,KAAxB,CAAJ,EAAoC;AAAA,QAAA,IAAA,qBAAA,CAAA;;AAClCL,QAAAA,mBAAmB,CAACQ,GAApB,CACEH,KADF,EAEE,CAACL,CAAAA,qBAAAA,GAAAA,mBAAmB,CAACS,GAApB,CAAwBJ,KAAxB,CAAD,KAAmC,IAAA,GAAA,qBAAA,GAAA,CAAnC,IAAwC,CAF1C,CAAA,CAAA;AAID,OALD,MAKO;AACLL,QAAAA,mBAAmB,CAACQ,GAApB,CAAwBH,KAAxB,EAA+B,CAA/B,CAAA,CAAA;AACD,OAAA;AACF,KAAA;;AAED,IAAA,OAAOL,mBAAP,CAAA;AACD,GAnBC,EAoBF;AACEU,IAAAA,GAAG,EACDC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzB,IACA,yBAAA,GAA4BlB,QAHhC;AAIEmB,IAAAA,KAAK,EAAE,MAAA;AAAA,MAAA,IAAA,qBAAA,CAAA;;AAAA,MAAMpB,OAAAA,CAAAA,qBAAAA,GAAAA,QAAQ,CAACqB,OAAT,CAAiBC,QAAvB,oCAAmCtB,QAAQ,CAACqB,OAAT,CAAiBE,UAApD,CAAA;AAAA,KAJT;AAKEC,IAAAA,QAAQ,EAAE,MAAM,EAAE;AALpB,GApBE,CADN,CAAA;AA6BD;;;;"}
@@ -0,0 +1,130 @@
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 utils = require('../utils.js');
16
+ var filterRowsUtils = require('./filterRowsUtils.js');
17
+
18
+ function getFilteredRowModel() {
19
+ return instance => utils.memo(() => [instance.getPreFilteredRowModel(), instance.getState().columnFilters, instance.getState().globalFilter], (rowModel, columnFilters, globalFilter) => {
20
+ if (!rowModel.rows.length || !(columnFilters != null && columnFilters.length) && !globalFilter) {
21
+ return rowModel;
22
+ }
23
+
24
+ const resolvedColumnFilters = [];
25
+ const resolvedGlobalFilters = [];
26
+ (columnFilters != null ? columnFilters : []).forEach(d => {
27
+ var _filterFn$resolveFilt;
28
+
29
+ const column = instance.getColumn(d.id);
30
+
31
+ if (!column) {
32
+ if (process.env.NODE_ENV !== 'production') {
33
+ console.warn("Table: Could not find a column to filter with columnId: " + d.id);
34
+ }
35
+ }
36
+
37
+ const filterFn = column.getFilterFn();
38
+
39
+ if (!filterFn) {
40
+ if (process.env.NODE_ENV !== 'production') {
41
+ console.warn("Could not find a valid 'column.filterFn' for column with the ID: " + column.id + ".");
42
+ }
43
+
44
+ return;
45
+ }
46
+
47
+ resolvedColumnFilters.push({
48
+ id: d.id,
49
+ filterFn,
50
+ resolvedValue: (_filterFn$resolveFilt = filterFn.resolveFilterValue == null ? void 0 : filterFn.resolveFilterValue(d.value)) != null ? _filterFn$resolveFilt : d.value
51
+ });
52
+ });
53
+ const filterableIds = columnFilters.map(d => d.id);
54
+ const globalFilterFn = instance.getGlobalFilterFn();
55
+ const globallyFilterableColumns = instance.getAllLeafColumns().filter(column => column.getCanGlobalFilter());
56
+
57
+ if (globalFilter && globalFilterFn && globallyFilterableColumns.length) {
58
+ filterableIds.push('__global__');
59
+ globallyFilterableColumns.forEach(column => {
60
+ var _globalFilterFn$resol;
61
+
62
+ resolvedGlobalFilters.push({
63
+ id: column.id,
64
+ filterFn: globalFilterFn,
65
+ resolvedValue: (_globalFilterFn$resol = globalFilterFn.resolveFilterValue == null ? void 0 : globalFilterFn.resolveFilterValue(globalFilter)) != null ? _globalFilterFn$resol : globalFilter
66
+ });
67
+ });
68
+ }
69
+
70
+ let currentColumnFilter;
71
+ let currentGlobalFilter; // Flag the prefiltered row model with each filter state
72
+
73
+ for (let j = 0; j < rowModel.flatRows.length; j++) {
74
+ const row = rowModel.flatRows[j];
75
+ row.columnFilterMap = {};
76
+
77
+ if (resolvedColumnFilters.length) {
78
+ for (let i = 0; i < resolvedColumnFilters.length; i++) {
79
+ currentColumnFilter = resolvedColumnFilters[i]; // Tag the row with the column filter state
80
+
81
+ row.columnFilterMap[currentColumnFilter.id] = currentColumnFilter.filterFn(row, currentColumnFilter.id, currentColumnFilter.resolvedValue);
82
+ }
83
+ }
84
+
85
+ if (resolvedGlobalFilters.length) {
86
+ for (let i = 0; i < resolvedGlobalFilters.length; i++) {
87
+ currentGlobalFilter = resolvedGlobalFilters[i]; // Tag the row with the first truthy global filter state
88
+
89
+ if (currentGlobalFilter.filterFn(row, currentGlobalFilter.id, currentGlobalFilter.resolvedValue)) {
90
+ row.columnFilterMap.__global__ = true;
91
+ break;
92
+ }
93
+ }
94
+
95
+ if (row.columnFilterMap.__global__ !== true) {
96
+ row.columnFilterMap.__global__ = false;
97
+ }
98
+ }
99
+ }
100
+
101
+ const filterRowsImpl = row => {
102
+ // Horizontally filter rows through each column
103
+ for (let i = 0; i < filterableIds.length; i++) {
104
+ if (row.columnFilterMap[filterableIds[i]] === false) {
105
+ return false;
106
+ }
107
+ }
108
+
109
+ return true;
110
+ }; // Filter final rows using all of the active filters
111
+
112
+
113
+ return filterRowsUtils.filterRows(rowModel.rows, filterRowsImpl, instance);
114
+ }, {
115
+ key: process.env.NODE_ENV === 'development' && 'getFilteredRowModel',
116
+ debug: () => {
117
+ var _instance$options$deb;
118
+
119
+ return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
120
+ },
121
+ onChange: () => {
122
+ instance.queue(() => {
123
+ instance._autoResetPageIndex();
124
+ });
125
+ }
126
+ });
127
+ }
128
+
129
+ exports.getFilteredRowModel = getFilteredRowModel;
130
+ //# sourceMappingURL=getFilteredRowModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFilteredRowModel.js","sources":["../../../src/utils/getFilteredRowModel.ts"],"sourcesContent":["import { ResolvedColumnFilter } from '../features/Filters'\nimport { TableInstance, RowModel, TableGenerics, Row } from '../types'\nimport { memo } from '../utils'\nimport { filterRows } from './filterRowsUtils'\n\nexport function getFilteredRowModel<TGenerics extends TableGenerics>(): (\n instance: TableInstance<TGenerics>\n) => () => RowModel<TGenerics> {\n return instance =>\n memo(\n () => [\n instance.getPreFilteredRowModel(),\n instance.getState().columnFilters,\n instance.getState().globalFilter,\n ],\n (rowModel, columnFilters, globalFilter) => {\n if (\n !rowModel.rows.length ||\n (!columnFilters?.length && !globalFilter)\n ) {\n return rowModel\n }\n\n const resolvedColumnFilters: ResolvedColumnFilter<TGenerics>[] = []\n const resolvedGlobalFilters: ResolvedColumnFilter<TGenerics>[] = []\n\n ;(columnFilters ?? []).forEach(d => {\n const column = instance.getColumn(d.id)\n\n if (!column) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Table: Could not find a column to filter with columnId: ${d.id}`\n )\n }\n }\n\n const filterFn = column.getFilterFn()\n\n if (!filterFn) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Could not find a valid 'column.filterFn' for column with the ID: ${column.id}.`\n )\n }\n return\n }\n\n resolvedColumnFilters.push({\n id: d.id,\n filterFn,\n resolvedValue: filterFn.resolveFilterValue?.(d.value) ?? d.value,\n })\n })\n\n const filterableIds = columnFilters.map(d => d.id)\n\n const globalFilterFn = instance.getGlobalFilterFn()\n\n const globallyFilterableColumns = instance\n .getAllLeafColumns()\n .filter(column => column.getCanGlobalFilter())\n\n if (\n globalFilter &&\n globalFilterFn &&\n globallyFilterableColumns.length\n ) {\n filterableIds.push('__global__')\n\n globallyFilterableColumns.forEach(column => {\n resolvedGlobalFilters.push({\n id: column.id,\n filterFn: globalFilterFn,\n resolvedValue:\n globalFilterFn.resolveFilterValue?.(globalFilter) ??\n globalFilter,\n })\n })\n }\n\n let currentColumnFilter\n let currentGlobalFilter\n\n // Flag the prefiltered row model with each filter state\n for (let j = 0; j < rowModel.flatRows.length; j++) {\n const row = rowModel.flatRows[j]!\n\n row.columnFilterMap = {}\n\n if (resolvedColumnFilters.length) {\n for (let i = 0; i < resolvedColumnFilters.length; i++) {\n currentColumnFilter = resolvedColumnFilters[i]!\n\n // Tag the row with the column filter state\n row.columnFilterMap[currentColumnFilter.id] =\n currentColumnFilter.filterFn(\n row,\n currentColumnFilter.id,\n currentColumnFilter.resolvedValue\n )\n }\n }\n\n if (resolvedGlobalFilters.length) {\n for (let i = 0; i < resolvedGlobalFilters.length; i++) {\n currentGlobalFilter = resolvedGlobalFilters[i]!\n // Tag the row with the first truthy global filter state\n if (\n currentGlobalFilter.filterFn(\n row,\n currentGlobalFilter.id,\n currentGlobalFilter.resolvedValue\n )\n ) {\n row.columnFilterMap.__global__ = true\n break\n }\n }\n\n if (row.columnFilterMap.__global__ !== true) {\n row.columnFilterMap.__global__ = false\n }\n }\n }\n\n const filterRowsImpl = (row: Row<TGenerics>) => {\n // Horizontally filter rows through each column\n for (let i = 0; i < filterableIds.length; i++) {\n if (row.columnFilterMap[filterableIds[i]!] === false) {\n return false\n }\n }\n return true\n }\n\n // Filter final rows using all of the active filters\n return filterRows(rowModel.rows, filterRowsImpl, instance)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getFilteredRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {\n instance.queue(() => {\n instance._autoResetPageIndex()\n })\n },\n }\n )\n}\n"],"names":["getFilteredRowModel","instance","memo","getPreFilteredRowModel","getState","columnFilters","globalFilter","rowModel","rows","length","resolvedColumnFilters","resolvedGlobalFilters","forEach","d","column","getColumn","id","process","env","NODE_ENV","console","warn","filterFn","getFilterFn","push","resolvedValue","resolveFilterValue","value","filterableIds","map","globalFilterFn","getGlobalFilterFn","globallyFilterableColumns","getAllLeafColumns","filter","getCanGlobalFilter","currentColumnFilter","currentGlobalFilter","j","flatRows","row","columnFilterMap","i","__global__","filterRowsImpl","filterRows","key","debug","options","debugAll","debugTable","onChange","queue","_autoResetPageIndex"],"mappings":"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"}