Skip to content

Commit 9d54b2e

Browse files
vincerubinettiautofix-ci[bot]KevinVandy
authoredAug 3, 2024··
fix: getFacetedMinMaxValues default implementation sometimes returning array of arrays (#5676)
* fix getFacetedMinMaxValues returning array bug * rework for your consideration * ci: apply automated fixes * don't use array at --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Kevin Van Cott <kevinvandy656@gmail.com>
1 parent be8d0e7 commit 9d54b2e

File tree

1 file changed

+11
-20
lines changed

1 file changed

+11
-20
lines changed
 

‎packages/table-core/src/utils/getFacetedMinMaxValues.ts

+11-20
Original file line numberDiff line numberDiff line change
@@ -11,31 +11,22 @@ export function getFacetedMinMaxValues<TData extends RowData>(): (
1111
facetedRowModel => {
1212
if (!facetedRowModel) return undefined
1313

14-
const firstValue =
15-
facetedRowModel.flatRows[0]?.getUniqueValues(columnId)
14+
const uniqueValues = facetedRowModel.flatRows
15+
.flatMap(flatRow => flatRow.getUniqueValues(columnId) ?? [])
16+
.map(Number)
17+
.filter(value => !Number.isNaN(value))
1618

17-
if (typeof firstValue === 'undefined') {
18-
return undefined
19-
}
20-
21-
let facetedMinMaxValues: [any, any] = [firstValue, firstValue]
22-
23-
for (let i = 0; i < facetedRowModel.flatRows.length; i++) {
24-
const values =
25-
facetedRowModel.flatRows[i]!.getUniqueValues<number>(columnId)
19+
if (!uniqueValues.length) return
2620

27-
for (let j = 0; j < values.length; j++) {
28-
const value = values[j]!
21+
let facetedMinValue = uniqueValues[0]!
22+
let facetedMaxValue = uniqueValues[uniqueValues.length - 1]!
2923

30-
if (value < facetedMinMaxValues[0]) {
31-
facetedMinMaxValues[0] = value
32-
} else if (value > facetedMinMaxValues[1]) {
33-
facetedMinMaxValues[1] = value
34-
}
35-
}
24+
for (const value of uniqueValues) {
25+
if (value < facetedMinValue) facetedMinValue = value
26+
else if (value > facetedMaxValue) facetedMaxValue = value
3627
}
3728

38-
return facetedMinMaxValues
29+
return [facetedMinValue, facetedMaxValue]
3930
},
4031
getMemoOptions(table.options, 'debugTable', 'getFacetedMinMaxValues')
4132
)

0 commit comments

Comments
 (0)
Please sign in to comment.