@tanstack/table-core 8.5.17 → 8.5.18
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/row.js +16 -0
- package/build/cjs/core/row.js.map +1 -1
- package/build/cjs/utils/getFacetedMinMaxValues.js +9 -6
- package/build/cjs/utils/getFacetedMinMaxValues.js.map +1 -1
- package/build/cjs/utils/getFacetedUniqueValues.js +8 -6
- package/build/cjs/utils/getFacetedUniqueValues.js.map +1 -1
- package/build/esm/index.js +33 -12
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +316 -316
- package/build/types/index.d.ts +3 -0
- package/build/umd/index.development.js +33 -12
- 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/row.ts +26 -0
- package/src/types.ts +1 -0
- package/src/utils/getFacetedMinMaxValues.ts +12 -6
- package/src/utils/getFacetedUniqueValues.ts +13 -8
package/build/cjs/core/row.js
CHANGED
|
@@ -22,6 +22,7 @@ const createRow = (table, id, original, rowIndex, depth, subRows) => {
|
|
|
22
22
|
original,
|
|
23
23
|
depth,
|
|
24
24
|
_valuesCache: {},
|
|
25
|
+
_uniqueValuesCache: {},
|
|
25
26
|
getValue: columnId => {
|
|
26
27
|
if (row._valuesCache.hasOwnProperty(columnId)) {
|
|
27
28
|
return row._valuesCache[columnId];
|
|
@@ -33,6 +34,21 @@ const createRow = (table, id, original, rowIndex, depth, subRows) => {
|
|
|
33
34
|
row._valuesCache[columnId] = column.accessorFn(row.original, rowIndex);
|
|
34
35
|
return row._valuesCache[columnId];
|
|
35
36
|
},
|
|
37
|
+
getUniqueValues: columnId => {
|
|
38
|
+
if (row._uniqueValuesCache.hasOwnProperty(columnId)) {
|
|
39
|
+
return row._uniqueValuesCache[columnId];
|
|
40
|
+
}
|
|
41
|
+
const column = table.getColumn(columnId);
|
|
42
|
+
if (!column.accessorFn) {
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
if (!column.columnDef.getUniqueValues) {
|
|
46
|
+
row._uniqueValuesCache[columnId] = [row.getValue(columnId)];
|
|
47
|
+
return row._uniqueValuesCache[columnId];
|
|
48
|
+
}
|
|
49
|
+
row._uniqueValuesCache[columnId] = column.columnDef.getUniqueValues(row.original, rowIndex);
|
|
50
|
+
return row._uniqueValuesCache[columnId];
|
|
51
|
+
},
|
|
36
52
|
renderValue: columnId => row.getValue(columnId) ?? table.options.renderFallbackValue,
|
|
37
53
|
subRows: subRows ?? [],
|
|
38
54
|
getLeafRows: () => utils.flattenBy(row.subRows, d => d.subRows),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"row.js","sources":["../../../src/core/row.ts"],"sourcesContent":["import { RowData, Cell, Row, Table } from '../types'\nimport { flattenBy, memo } from '../utils'\nimport { createCell } from './cell'\n\nexport type CoreRow<TData extends RowData> = {\n id: string\n index: number\n original: TData\n depth: number\n _valuesCache: Record<string, unknown>\n getValue: <TValue>(columnId: string) => TValue\n renderValue: <TValue>(columnId: string) => TValue\n subRows: Row<TData>[]\n getLeafRows: () => Row<TData>[]\n originalSubRows?: TData[]\n getAllCells: () => Cell<TData, unknown>[]\n _getAllCellsByColumnId: () => Record<string, Cell<TData, unknown>>\n}\n\nexport const createRow = <TData extends RowData>(\n table: Table<TData>,\n id: string,\n original: TData,\n rowIndex: number,\n depth: number,\n subRows?: Row<TData>[]\n): Row<TData> => {\n let row: CoreRow<TData> = {\n id,\n index: rowIndex,\n original,\n depth,\n _valuesCache: {},\n getValue: columnId => {\n if (row._valuesCache.hasOwnProperty(columnId)) {\n return row._valuesCache[columnId]\n }\n\n const column = table.getColumn(columnId)\n\n if (!column.accessorFn) {\n return undefined\n }\n\n row._valuesCache[columnId] = column.accessorFn(\n row.original as TData,\n rowIndex\n )\n\n return row._valuesCache[columnId] as any\n },\n renderValue: columnId =>\n row.getValue(columnId) ?? table.options.renderFallbackValue,\n subRows: subRows ?? [],\n getLeafRows: () => flattenBy(row.subRows, d => d.subRows),\n getAllCells: memo(\n () => [table.getAllLeafColumns()],\n leafColumns => {\n return leafColumns.map(column => {\n return createCell(table, row as Row<TData>, column, column.id)\n })\n },\n {\n key: process.env.NODE_ENV === 'development' && 'row.getAllCells',\n debug: () => table.options.debugAll ?? table.options.debugRows,\n }\n ),\n\n _getAllCellsByColumnId: memo(\n () => [row.getAllCells()],\n allCells => {\n return allCells.reduce((acc, cell) => {\n acc[cell.column.id] = cell\n return acc\n }, {} as Record<string, Cell<TData, unknown>>)\n },\n {\n key:\n process.env.NODE_ENV === 'production' && 'row.getAllCellsByColumnId',\n debug: () => table.options.debugAll ?? table.options.debugRows,\n }\n ),\n }\n\n for (let i = 0; i < table._features.length; i++) {\n const feature = table._features[i]\n Object.assign(row, feature?.createRow?.(row, table))\n }\n\n return row as Row<TData>\n}\n"],"names":["createRow","table","id","original","rowIndex","depth","subRows","row","index","_valuesCache","getValue","columnId","hasOwnProperty","column","getColumn","accessorFn","undefined","renderValue","options","renderFallbackValue","getLeafRows","flattenBy","d","getAllCells","memo","getAllLeafColumns","leafColumns","map","createCell","key","process","env","NODE_ENV","debug","debugAll","debugRows","_getAllCellsByColumnId","allCells","reduce","acc","cell","i","_features","length","feature","Object","assign"],"mappings":";;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"row.js","sources":["../../../src/core/row.ts"],"sourcesContent":["import { RowData, Cell, Row, Table } from '../types'\nimport { flattenBy, memo } from '../utils'\nimport { createCell } from './cell'\n\nexport type CoreRow<TData extends RowData> = {\n id: string\n index: number\n original: TData\n depth: number\n _valuesCache: Record<string, unknown>\n _uniqueValuesCache: Record<string, unknown>\n getValue: <TValue>(columnId: string) => TValue\n getUniqueValues: <TValue>(columnId: string) => TValue[]\n renderValue: <TValue>(columnId: string) => TValue\n subRows: Row<TData>[]\n getLeafRows: () => Row<TData>[]\n originalSubRows?: TData[]\n getAllCells: () => Cell<TData, unknown>[]\n _getAllCellsByColumnId: () => Record<string, Cell<TData, unknown>>\n}\n\nexport const createRow = <TData extends RowData>(\n table: Table<TData>,\n id: string,\n original: TData,\n rowIndex: number,\n depth: number,\n subRows?: Row<TData>[]\n): Row<TData> => {\n let row: CoreRow<TData> = {\n id,\n index: rowIndex,\n original,\n depth,\n _valuesCache: {},\n _uniqueValuesCache: {},\n getValue: columnId => {\n if (row._valuesCache.hasOwnProperty(columnId)) {\n return row._valuesCache[columnId]\n }\n\n const column = table.getColumn(columnId)\n\n if (!column.accessorFn) {\n return undefined\n }\n\n row._valuesCache[columnId] = column.accessorFn(\n row.original as TData,\n rowIndex\n )\n\n return row._valuesCache[columnId] as any\n },\n getUniqueValues: columnId => {\n if (row._uniqueValuesCache.hasOwnProperty(columnId)) {\n return row._uniqueValuesCache[columnId]\n }\n\n const column = table.getColumn(columnId)\n\n if (!column.accessorFn) {\n return undefined\n }\n\n if (!column.columnDef.getUniqueValues) {\n row._uniqueValuesCache[columnId] = [row.getValue(columnId)]\n return row._uniqueValuesCache[columnId]\n }\n\n row._uniqueValuesCache[columnId] = column.columnDef.getUniqueValues(\n row.original as TData,\n rowIndex\n )\n\n return row._uniqueValuesCache[columnId] as any\n },\n renderValue: columnId =>\n row.getValue(columnId) ?? table.options.renderFallbackValue,\n subRows: subRows ?? [],\n getLeafRows: () => flattenBy(row.subRows, d => d.subRows),\n getAllCells: memo(\n () => [table.getAllLeafColumns()],\n leafColumns => {\n return leafColumns.map(column => {\n return createCell(table, row as Row<TData>, column, column.id)\n })\n },\n {\n key: process.env.NODE_ENV === 'development' && 'row.getAllCells',\n debug: () => table.options.debugAll ?? table.options.debugRows,\n }\n ),\n\n _getAllCellsByColumnId: memo(\n () => [row.getAllCells()],\n allCells => {\n return allCells.reduce((acc, cell) => {\n acc[cell.column.id] = cell\n return acc\n }, {} as Record<string, Cell<TData, unknown>>)\n },\n {\n key:\n process.env.NODE_ENV === 'production' && 'row.getAllCellsByColumnId',\n debug: () => table.options.debugAll ?? table.options.debugRows,\n }\n ),\n }\n\n for (let i = 0; i < table._features.length; i++) {\n const feature = table._features[i]\n Object.assign(row, feature?.createRow?.(row, table))\n }\n\n return row as Row<TData>\n}\n"],"names":["createRow","table","id","original","rowIndex","depth","subRows","row","index","_valuesCache","_uniqueValuesCache","getValue","columnId","hasOwnProperty","column","getColumn","accessorFn","undefined","getUniqueValues","columnDef","renderValue","options","renderFallbackValue","getLeafRows","flattenBy","d","getAllCells","memo","getAllLeafColumns","leafColumns","map","createCell","key","process","env","NODE_ENV","debug","debugAll","debugRows","_getAllCellsByColumnId","allCells","reduce","acc","cell","i","_features","length","feature","Object","assign"],"mappings":"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"}
|
|
@@ -17,17 +17,20 @@ var utils = require('../utils.js');
|
|
|
17
17
|
function getFacetedMinMaxValues() {
|
|
18
18
|
return (table, columnId) => utils.memo(() => [table.getColumn(columnId).getFacetedRowModel()], facetedRowModel => {
|
|
19
19
|
var _facetedRowModel$flat;
|
|
20
|
-
const firstValue = (_facetedRowModel$flat = facetedRowModel.flatRows[0]) == null ? void 0 : _facetedRowModel$flat.
|
|
20
|
+
const firstValue = (_facetedRowModel$flat = facetedRowModel.flatRows[0]) == null ? void 0 : _facetedRowModel$flat.getUniqueValues(columnId);
|
|
21
21
|
if (typeof firstValue === 'undefined') {
|
|
22
22
|
return undefined;
|
|
23
23
|
}
|
|
24
24
|
let facetedMinMaxValues = [firstValue, firstValue];
|
|
25
25
|
for (let i = 0; i < facetedRowModel.flatRows.length; i++) {
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
const values = facetedRowModel.flatRows[i].getUniqueValues(columnId);
|
|
27
|
+
for (let j = 0; j < values.length; j++) {
|
|
28
|
+
const value = values[j];
|
|
29
|
+
if (value < facetedMinMaxValues[0]) {
|
|
30
|
+
facetedMinMaxValues[0] = value;
|
|
31
|
+
} else if (value > facetedMinMaxValues[1]) {
|
|
32
|
+
facetedMinMaxValues[1] = value;
|
|
33
|
+
}
|
|
31
34
|
}
|
|
32
35
|
}
|
|
33
36
|
return facetedMinMaxValues;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFacetedMinMaxValues.js","sources":["../../../src/utils/getFacetedMinMaxValues.ts"],"sourcesContent":["import { Table, RowData } from '../types'\nimport { memo } from '../utils'\n\nexport function getFacetedMinMaxValues<TData extends RowData>(): (\n table: Table<TData>,\n columnId: string\n) => () => undefined | [number, number] {\n return (table, columnId) =>\n memo(\n () => [table.getColumn(columnId).getFacetedRowModel()],\n facetedRowModel => {\n const firstValue
|
|
1
|
+
{"version":3,"file":"getFacetedMinMaxValues.js","sources":["../../../src/utils/getFacetedMinMaxValues.ts"],"sourcesContent":["import { Table, RowData } from '../types'\nimport { memo } from '../utils'\n\nexport function getFacetedMinMaxValues<TData extends RowData>(): (\n table: Table<TData>,\n columnId: string\n) => () => undefined | [number, number] {\n return (table, columnId) =>\n memo(\n () => [table.getColumn(columnId).getFacetedRowModel()],\n facetedRowModel => {\n const firstValue =\n facetedRowModel.flatRows[0]?.getUniqueValues(columnId)\n\n if (typeof firstValue === 'undefined') {\n return undefined\n }\n\n let facetedMinMaxValues: [any, any] = [firstValue, firstValue]\n\n for (let i = 0; i < facetedRowModel.flatRows.length; i++) {\n const values =\n facetedRowModel.flatRows[i]!.getUniqueValues<number>(columnId)\n\n for (let j = 0; j < values.length; j++) {\n const value = values[j]!\n\n if (value < facetedMinMaxValues[0]) {\n facetedMinMaxValues[0] = value\n } else if (value > facetedMinMaxValues[1]) {\n facetedMinMaxValues[1] = value\n }\n }\n }\n\n return facetedMinMaxValues\n },\n {\n key:\n process.env.NODE_ENV === 'development' &&\n 'getFacetedMinMaxValues_' + columnId,\n debug: () => table.options.debugAll ?? table.options.debugTable,\n onChange: () => {},\n }\n )\n}\n"],"names":["getFacetedMinMaxValues","table","columnId","memo","getColumn","getFacetedRowModel","facetedRowModel","firstValue","flatRows","getUniqueValues","undefined","facetedMinMaxValues","i","length","values","j","value","key","process","env","NODE_ENV","debug","options","debugAll","debugTable","onChange"],"mappings":";;;;;;;;;;;;;;;;AAGO,SAASA,sBAAsB,GAGE;EACtC,OAAO,CAACC,KAAK,EAAEC,QAAQ,KACrBC,UAAI,CACF,MAAM,CAACF,KAAK,CAACG,SAAS,CAACF,QAAQ,CAAC,CAACG,kBAAkB,EAAE,CAAC,EACtDC,eAAe,IAAI;AAAA,IAAA,IAAA,qBAAA,CAAA;AACjB,IAAA,MAAMC,UAAU,GAAA,CAAA,qBAAA,GACdD,eAAe,CAACE,QAAQ,CAAC,CAAC,CAAC,KAA3B,IAAA,GAAA,KAAA,CAAA,GAAA,qBAAA,CAA6BC,eAAe,CAACP,QAAQ,CAAC,CAAA;AAExD,IAAA,IAAI,OAAOK,UAAU,KAAK,WAAW,EAAE;AACrC,MAAA,OAAOG,SAAS,CAAA;AAClB,KAAA;AAEA,IAAA,IAAIC,mBAA+B,GAAG,CAACJ,UAAU,EAAEA,UAAU,CAAC,CAAA;AAE9D,IAAA,KAAK,IAAIK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGN,eAAe,CAACE,QAAQ,CAACK,MAAM,EAAED,CAAC,EAAE,EAAE;AACxD,MAAA,MAAME,MAAM,GACVR,eAAe,CAACE,QAAQ,CAACI,CAAC,CAAC,CAAEH,eAAe,CAASP,QAAQ,CAAC,CAAA;AAEhE,MAAA,KAAK,IAAIa,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,MAAM,CAACD,MAAM,EAAEE,CAAC,EAAE,EAAE;AACtC,QAAA,MAAMC,KAAK,GAAGF,MAAM,CAACC,CAAC,CAAE,CAAA;AAExB,QAAA,IAAIC,KAAK,GAAGL,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAClCA,UAAAA,mBAAmB,CAAC,CAAC,CAAC,GAAGK,KAAK,CAAA;SAC/B,MAAM,IAAIA,KAAK,GAAGL,mBAAmB,CAAC,CAAC,CAAC,EAAE;AACzCA,UAAAA,mBAAmB,CAAC,CAAC,CAAC,GAAGK,KAAK,CAAA;AAChC,SAAA;AACF,OAAA;AACF,KAAA;AAEA,IAAA,OAAOL,mBAAmB,CAAA;AAC5B,GAAC,EACD;IACEM,GAAG,EACDC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IACtC,yBAAyB,GAAGlB,QAAQ;AACtCmB,IAAAA,KAAK,EAAE,MAAMpB,KAAK,CAACqB,OAAO,CAACC,QAAQ,IAAItB,KAAK,CAACqB,OAAO,CAACE,UAAU;IAC/DC,QAAQ,EAAE,MAAM,EAAC;AACnB,GAAC,CACF,CAAA;AACL;;;;"}
|
|
@@ -18,12 +18,14 @@ function getFacetedUniqueValues() {
|
|
|
18
18
|
return (table, columnId) => utils.memo(() => [table.getColumn(columnId).getFacetedRowModel()], facetedRowModel => {
|
|
19
19
|
let facetedUniqueValues = new Map();
|
|
20
20
|
for (let i = 0; i < facetedRowModel.flatRows.length; i++) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
const values = facetedRowModel.flatRows[i].getUniqueValues(columnId);
|
|
22
|
+
for (let j = 0; j < values.length; j++) {
|
|
23
|
+
const value = values[j];
|
|
24
|
+
if (facetedUniqueValues.has(value)) {
|
|
25
|
+
facetedUniqueValues.set(value, (facetedUniqueValues.get(value) ?? 0) + 1);
|
|
26
|
+
} else {
|
|
27
|
+
facetedUniqueValues.set(value, 1);
|
|
28
|
+
}
|
|
27
29
|
}
|
|
28
30
|
}
|
|
29
31
|
return facetedUniqueValues;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFacetedUniqueValues.js","sources":["../../../src/utils/getFacetedUniqueValues.ts"],"sourcesContent":["import { Table, RowData } from '../types'\nimport { memo } from '../utils'\n\nexport function getFacetedUniqueValues<TData extends RowData>(): (\n table: Table<TData>,\n columnId: string\n) => () => Map<any, number> {\n return (table, columnId) =>\n memo(\n () => [table.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
|
|
1
|
+
{"version":3,"file":"getFacetedUniqueValues.js","sources":["../../../src/utils/getFacetedUniqueValues.ts"],"sourcesContent":["import { Table, RowData } from '../types'\nimport { memo } from '../utils'\n\nexport function getFacetedUniqueValues<TData extends RowData>(): (\n table: Table<TData>,\n columnId: string\n) => () => Map<any, number> {\n return (table, columnId) =>\n memo(\n () => [table.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 values =\n facetedRowModel.flatRows[i]!.getUniqueValues<number>(columnId)\n\n for (let j = 0; j < values.length; j++) {\n const value = values[j]!\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\n return facetedUniqueValues\n },\n {\n key:\n process.env.NODE_ENV === 'development' &&\n 'getFacetedUniqueValues_' + columnId,\n debug: () => table.options.debugAll ?? table.options.debugTable,\n onChange: () => {},\n }\n )\n}\n"],"names":["getFacetedUniqueValues","table","columnId","memo","getColumn","getFacetedRowModel","facetedRowModel","facetedUniqueValues","Map","i","flatRows","length","values","getUniqueValues","j","value","has","set","get","key","process","env","NODE_ENV","debug","options","debugAll","debugTable","onChange"],"mappings":";;;;;;;;;;;;;;;;AAGO,SAASA,sBAAsB,GAGV;EAC1B,OAAO,CAACC,KAAK,EAAEC,QAAQ,KACrBC,UAAI,CACF,MAAM,CAACF,KAAK,CAACG,SAAS,CAACF,QAAQ,CAAC,CAACG,kBAAkB,EAAE,CAAC,EACtDC,eAAe,IAAI;AACjB,IAAA,IAAIC,mBAAmB,GAAG,IAAIC,GAAG,EAAe,CAAA;AAEhD,IAAA,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,eAAe,CAACI,QAAQ,CAACC,MAAM,EAAEF,CAAC,EAAE,EAAE;AACxD,MAAA,MAAMG,MAAM,GACVN,eAAe,CAACI,QAAQ,CAACD,CAAC,CAAC,CAAEI,eAAe,CAASX,QAAQ,CAAC,CAAA;AAEhE,MAAA,KAAK,IAAIY,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,MAAM,CAACD,MAAM,EAAEG,CAAC,EAAE,EAAE;AACtC,QAAA,MAAMC,KAAK,GAAGH,MAAM,CAACE,CAAC,CAAE,CAAA;AAExB,QAAA,IAAIP,mBAAmB,CAACS,GAAG,CAACD,KAAK,CAAC,EAAE;AAClCR,UAAAA,mBAAmB,CAACU,GAAG,CACrBF,KAAK,EACL,CAACR,mBAAmB,CAACW,GAAG,CAACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAC1C,CAAA;AACH,SAAC,MAAM;AACLR,UAAAA,mBAAmB,CAACU,GAAG,CAACF,KAAK,EAAE,CAAC,CAAC,CAAA;AACnC,SAAA;AACF,OAAA;AACF,KAAA;AAEA,IAAA,OAAOR,mBAAmB,CAAA;AAC5B,GAAC,EACD;IACEY,GAAG,EACDC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IACtC,yBAAyB,GAAGpB,QAAQ;AACtCqB,IAAAA,KAAK,EAAE,MAAMtB,KAAK,CAACuB,OAAO,CAACC,QAAQ,IAAIxB,KAAK,CAACuB,OAAO,CAACE,UAAU;IAC/DC,QAAQ,EAAE,MAAM,EAAC;AACnB,GAAC,CACF,CAAA;AACL;;;;"}
|
package/build/esm/index.js
CHANGED
|
@@ -2660,6 +2660,7 @@ const createRow = (table, id, original, rowIndex, depth, subRows) => {
|
|
|
2660
2660
|
original,
|
|
2661
2661
|
depth,
|
|
2662
2662
|
_valuesCache: {},
|
|
2663
|
+
_uniqueValuesCache: {},
|
|
2663
2664
|
getValue: columnId => {
|
|
2664
2665
|
if (row._valuesCache.hasOwnProperty(columnId)) {
|
|
2665
2666
|
return row._valuesCache[columnId];
|
|
@@ -2671,6 +2672,21 @@ const createRow = (table, id, original, rowIndex, depth, subRows) => {
|
|
|
2671
2672
|
row._valuesCache[columnId] = column.accessorFn(row.original, rowIndex);
|
|
2672
2673
|
return row._valuesCache[columnId];
|
|
2673
2674
|
},
|
|
2675
|
+
getUniqueValues: columnId => {
|
|
2676
|
+
if (row._uniqueValuesCache.hasOwnProperty(columnId)) {
|
|
2677
|
+
return row._uniqueValuesCache[columnId];
|
|
2678
|
+
}
|
|
2679
|
+
const column = table.getColumn(columnId);
|
|
2680
|
+
if (!column.accessorFn) {
|
|
2681
|
+
return undefined;
|
|
2682
|
+
}
|
|
2683
|
+
if (!column.columnDef.getUniqueValues) {
|
|
2684
|
+
row._uniqueValuesCache[columnId] = [row.getValue(columnId)];
|
|
2685
|
+
return row._uniqueValuesCache[columnId];
|
|
2686
|
+
}
|
|
2687
|
+
row._uniqueValuesCache[columnId] = column.columnDef.getUniqueValues(row.original, rowIndex);
|
|
2688
|
+
return row._uniqueValuesCache[columnId];
|
|
2689
|
+
},
|
|
2674
2690
|
renderValue: columnId => row.getValue(columnId) ?? table.options.renderFallbackValue,
|
|
2675
2691
|
subRows: subRows ?? [],
|
|
2676
2692
|
getLeafRows: () => flattenBy(row.subRows, d => d.subRows),
|
|
@@ -3011,12 +3027,14 @@ function getFacetedUniqueValues() {
|
|
|
3011
3027
|
return (table, columnId) => memo(() => [table.getColumn(columnId).getFacetedRowModel()], facetedRowModel => {
|
|
3012
3028
|
let facetedUniqueValues = new Map();
|
|
3013
3029
|
for (let i = 0; i < facetedRowModel.flatRows.length; i++) {
|
|
3014
|
-
|
|
3015
|
-
|
|
3016
|
-
|
|
3017
|
-
|
|
3018
|
-
|
|
3019
|
-
|
|
3030
|
+
const values = facetedRowModel.flatRows[i].getUniqueValues(columnId);
|
|
3031
|
+
for (let j = 0; j < values.length; j++) {
|
|
3032
|
+
const value = values[j];
|
|
3033
|
+
if (facetedUniqueValues.has(value)) {
|
|
3034
|
+
facetedUniqueValues.set(value, (facetedUniqueValues.get(value) ?? 0) + 1);
|
|
3035
|
+
} else {
|
|
3036
|
+
facetedUniqueValues.set(value, 1);
|
|
3037
|
+
}
|
|
3020
3038
|
}
|
|
3021
3039
|
}
|
|
3022
3040
|
return facetedUniqueValues;
|
|
@@ -3030,17 +3048,20 @@ function getFacetedUniqueValues() {
|
|
|
3030
3048
|
function getFacetedMinMaxValues() {
|
|
3031
3049
|
return (table, columnId) => memo(() => [table.getColumn(columnId).getFacetedRowModel()], facetedRowModel => {
|
|
3032
3050
|
var _facetedRowModel$flat;
|
|
3033
|
-
const firstValue = (_facetedRowModel$flat = facetedRowModel.flatRows[0]) == null ? void 0 : _facetedRowModel$flat.
|
|
3051
|
+
const firstValue = (_facetedRowModel$flat = facetedRowModel.flatRows[0]) == null ? void 0 : _facetedRowModel$flat.getUniqueValues(columnId);
|
|
3034
3052
|
if (typeof firstValue === 'undefined') {
|
|
3035
3053
|
return undefined;
|
|
3036
3054
|
}
|
|
3037
3055
|
let facetedMinMaxValues = [firstValue, firstValue];
|
|
3038
3056
|
for (let i = 0; i < facetedRowModel.flatRows.length; i++) {
|
|
3039
|
-
const
|
|
3040
|
-
|
|
3041
|
-
|
|
3042
|
-
|
|
3043
|
-
|
|
3057
|
+
const values = facetedRowModel.flatRows[i].getUniqueValues(columnId);
|
|
3058
|
+
for (let j = 0; j < values.length; j++) {
|
|
3059
|
+
const value = values[j];
|
|
3060
|
+
if (value < facetedMinMaxValues[0]) {
|
|
3061
|
+
facetedMinMaxValues[0] = value;
|
|
3062
|
+
} else if (value > facetedMinMaxValues[1]) {
|
|
3063
|
+
facetedMinMaxValues[1] = value;
|
|
3064
|
+
}
|
|
3044
3065
|
}
|
|
3045
3066
|
}
|
|
3046
3067
|
return facetedMinMaxValues;
|