@tanstack/table-core 8.1.4 → 8.2.2
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/aggregationFns.js.map +1 -1
- package/build/cjs/core/cell.js.map +1 -1
- package/build/cjs/core/column.js.map +1 -1
- package/build/cjs/core/headers.js.map +1 -1
- package/build/cjs/core/row.js.map +1 -1
- package/build/cjs/core/table.js +2 -2
- package/build/cjs/core/table.js.map +1 -1
- package/build/cjs/features/ColumnSizing.js.map +1 -1
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Grouping.js.map +1 -1
- package/build/cjs/features/Ordering.js.map +1 -1
- package/build/cjs/features/Pinning.js.map +1 -1
- package/build/cjs/features/Sorting.js +33 -26
- package/build/cjs/features/Sorting.js.map +1 -1
- package/build/cjs/features/Visibility.js.map +1 -1
- package/build/cjs/filterFns.js.map +1 -1
- package/build/cjs/sortingFns.js +6 -1
- package/build/cjs/sortingFns.js.map +1 -1
- package/build/cjs/utils/getCoreRowModel.js.map +1 -1
- package/build/cjs/utils/getFacetedMinMaxValues.js +1 -3
- package/build/cjs/utils/getFacetedMinMaxValues.js.map +1 -1
- package/build/cjs/utils/getGroupedRowModel.js +1 -1
- package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
- package/build/esm/index.js +43 -33
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +310 -310
- package/build/types/index.d.ts +94 -90
- package/build/umd/index.development.js +43 -33
- 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/aggregationFns.ts +8 -11
- package/src/core/cell.ts +14 -14
- package/src/core/column.ts +58 -47
- package/src/core/headers.ts +32 -32
- package/src/core/row.ts +9 -9
- package/src/core/table.ts +11 -10
- package/src/features/ColumnSizing.ts +5 -5
- package/src/features/Filters.ts +9 -14
- package/src/features/Grouping.ts +15 -10
- package/src/features/Ordering.ts +4 -2
- package/src/features/Pinning.ts +10 -10
- package/src/features/Sorting.ts +40 -29
- package/src/features/Visibility.ts +11 -11
- package/src/filterFns.ts +13 -7
- package/src/sortingFns.ts +7 -4
- package/src/types.ts +16 -12
- package/src/utils/getCoreRowModel.ts +1 -1
- package/src/utils/getFacetedMinMaxValues.ts +1 -1
- package/src/utils/getGroupedRowModel.ts +7 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Visibility.js","sources":["../../../src/features/Visibility.ts"],"sourcesContent":["import { TableFeature } from '../core/table'\nimport {\n Cell,\n Column,\n OnChangeFn,\n TableGenerics,\n Table,\n Updater,\n Row,\n RowData,\n} from '../types'\nimport { makeStateUpdater, memo } from '../utils'\n\nexport type VisibilityState = Record<string, boolean>\n\nexport type VisibilityTableState = {\n columnVisibility: VisibilityState\n}\n\nexport type VisibilityOptions = {\n onColumnVisibilityChange?: OnChangeFn<VisibilityState>\n enableHiding?: boolean\n}\n\nexport type VisibilityDefaultOptions = {\n onColumnVisibilityChange: OnChangeFn<VisibilityState>\n}\n\nexport type VisibilityInstance<TData extends RowData> = {\n getVisibleFlatColumns: () => Column<TData>[]\n getVisibleLeafColumns: () => Column<TData>[]\n getLeftVisibleLeafColumns: () => Column<TData>[]\n getRightVisibleLeafColumns: () => Column<TData>[]\n getCenterVisibleLeafColumns: () => Column<TData>[]\n setColumnVisibility: (updater: Updater<VisibilityState>) => void\n resetColumnVisibility: (defaultState?: boolean) => void\n toggleAllColumnsVisible: (value?: boolean) => void\n getIsAllColumnsVisible: () => boolean\n getIsSomeColumnsVisible: () => boolean\n getToggleAllColumnsVisibilityHandler: () => (event: unknown) => void\n}\n\nexport type VisibilityColumnDef = {\n enableHiding?: boolean\n}\n\nexport type VisibilityRow<TData extends RowData> = {\n _getAllVisibleCells: () => Cell<TData>[]\n getVisibleCells: () => Cell<TData>[]\n}\n\nexport type VisibilityColumn = {\n getCanHide: () => boolean\n getIsVisible: () => boolean\n toggleVisibility: (value?: boolean) => void\n getToggleVisibilityHandler: () => (event: unknown) => void\n}\n\n//\n\nexport const Visibility: TableFeature = {\n getInitialState: (state): VisibilityTableState => {\n return {\n columnVisibility: {},\n ...state,\n }\n },\n\n getDefaultOptions: <TData extends RowData>(\n table: Table<TData>\n ): VisibilityDefaultOptions => {\n return {\n onColumnVisibilityChange: makeStateUpdater('columnVisibility', table),\n }\n },\n\n createColumn: <TData extends RowData>(\n column: Column<TData>,\n table: Table<TData>\n ): VisibilityColumn => {\n return {\n toggleVisibility: value => {\n if (column.getCanHide()) {\n table.setColumnVisibility(old => ({\n ...old,\n [column.id]: value ?? !column.getIsVisible(),\n }))\n }\n },\n getIsVisible: () => {\n return table.getState().columnVisibility?.[column.id] ?? true\n },\n\n getCanHide: () => {\n return (\n (column.columnDef.enableHiding ?? true) &&\n (table.options.enableHiding ?? true)\n )\n },\n getToggleVisibilityHandler: () => {\n return (e: unknown) => {\n column.toggleVisibility?.(\n ((e as MouseEvent).target as HTMLInputElement).checked\n )\n }\n },\n }\n },\n\n createRow: <TData extends RowData>(\n row: Row<TData>,\n table: Table<TData>\n ): VisibilityRow<TData> => {\n return {\n _getAllVisibleCells: memo(\n () => [row.getAllCells(), table.getState().columnVisibility],\n cells => {\n return cells.filter(cell => cell.column.getIsVisible())\n },\n {\n key:\n process.env.NODE_ENV === 'production' && 'row._getAllVisibleCells',\n debug: () => table.options.debugAll ?? table.options.debugRows,\n }\n ),\n getVisibleCells: memo(\n () => [\n row.getLeftVisibleCells(),\n row.getCenterVisibleCells(),\n row.getRightVisibleCells(),\n ],\n (left, center, right) => [...left, ...center, ...right],\n {\n key: process.env.NODE_ENV === 'development' && 'row.getVisibleCells',\n debug: () => table.options.debugAll ?? table.options.debugRows,\n }\n ),\n }\n },\n\n createTable: <TData extends RowData>(\n table: Table<TData>\n ): VisibilityInstance<TData> => {\n const makeVisibleColumnsMethod = (\n key: string,\n getColumns: () => Column<TData>[]\n ): (() => Column<TData>[]) => {\n return memo(\n () => [\n getColumns(),\n getColumns()\n .filter(d => d.getIsVisible())\n .map(d => d.id)\n .join('_'),\n ],\n columns => {\n return columns.filter(d => d.getIsVisible?.())\n },\n {\n key,\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n )\n }\n\n return {\n getVisibleFlatColumns: makeVisibleColumnsMethod(\n 'getVisibleFlatColumns',\n () => table.getAllFlatColumns()\n ),\n getVisibleLeafColumns: makeVisibleColumnsMethod(\n 'getVisibleLeafColumns',\n () => table.getAllLeafColumns()\n ),\n getLeftVisibleLeafColumns: makeVisibleColumnsMethod(\n 'getLeftVisibleLeafColumns',\n () => table.getLeftLeafColumns()\n ),\n getRightVisibleLeafColumns: makeVisibleColumnsMethod(\n 'getRightVisibleLeafColumns',\n () => table.getRightLeafColumns()\n ),\n getCenterVisibleLeafColumns: makeVisibleColumnsMethod(\n 'getCenterVisibleLeafColumns',\n () => table.getCenterLeafColumns()\n ),\n\n setColumnVisibility: updater =>\n table.options.onColumnVisibilityChange?.(updater),\n\n resetColumnVisibility: defaultState => {\n table.setColumnVisibility(\n defaultState ? {} : table.initialState.columnVisibility ?? {}\n )\n },\n\n toggleAllColumnsVisible: value => {\n value = value ?? !table.getIsAllColumnsVisible()\n\n table.setColumnVisibility(\n table.getAllLeafColumns().reduce(\n (obj, column) => ({\n ...obj,\n [column.id]: !value ? !column.getCanHide?.() : value,\n }),\n {}\n )\n )\n },\n\n getIsAllColumnsVisible: () =>\n !table.getAllLeafColumns().some(column => !column.getIsVisible?.()),\n\n getIsSomeColumnsVisible: () =>\n table.getAllLeafColumns().some(column => column.getIsVisible?.()),\n\n getToggleAllColumnsVisibilityHandler: () => {\n return (e: unknown) => {\n table.toggleAllColumnsVisible(\n ((e as MouseEvent).target as HTMLInputElement)?.checked\n )\n }\n },\n }\n },\n}\n"],"names":["Visibility","getInitialState","state","columnVisibility","getDefaultOptions","table","onColumnVisibilityChange","makeStateUpdater","createColumn","column","toggleVisibility","value","getCanHide","setColumnVisibility","old","id","getIsVisible","getState","columnDef","enableHiding","options","getToggleVisibilityHandler","e","target","checked","createRow","row","_getAllVisibleCells","memo","getAllCells","cells","filter","cell","key","process","env","NODE_ENV","debug","debugAll","debugRows","getVisibleCells","getLeftVisibleCells","getCenterVisibleCells","getRightVisibleCells","left","center","right","createTable","makeVisibleColumnsMethod","getColumns","d","map","join","columns","debugColumns","getVisibleFlatColumns","getAllFlatColumns","getVisibleLeafColumns","getAllLeafColumns","getLeftVisibleLeafColumns","getLeftLeafColumns","getRightVisibleLeafColumns","getRightLeafColumns","getCenterVisibleLeafColumns","getCenterLeafColumns","updater","resetColumnVisibility","defaultState","initialState","toggleAllColumnsVisible","getIsAllColumnsVisible","reduce","obj","some","getIsSomeColumnsVisible","getToggleAllColumnsVisibilityHandler"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Visibility.js","sources":["../../../src/features/Visibility.ts"],"sourcesContent":["import { TableFeature } from '../core/table'\nimport {\n Cell,\n Column,\n OnChangeFn,\n TableGenerics,\n Table,\n Updater,\n Row,\n RowData,\n} from '../types'\nimport { makeStateUpdater, memo } from '../utils'\n\nexport type VisibilityState = Record<string, boolean>\n\nexport type VisibilityTableState = {\n columnVisibility: VisibilityState\n}\n\nexport type VisibilityOptions = {\n onColumnVisibilityChange?: OnChangeFn<VisibilityState>\n enableHiding?: boolean\n}\n\nexport type VisibilityDefaultOptions = {\n onColumnVisibilityChange: OnChangeFn<VisibilityState>\n}\n\nexport type VisibilityInstance<TData extends RowData> = {\n getVisibleFlatColumns: () => Column<TData, unknown>[]\n getVisibleLeafColumns: () => Column<TData, unknown>[]\n getLeftVisibleLeafColumns: () => Column<TData, unknown>[]\n getRightVisibleLeafColumns: () => Column<TData, unknown>[]\n getCenterVisibleLeafColumns: () => Column<TData, unknown>[]\n setColumnVisibility: (updater: Updater<VisibilityState>) => void\n resetColumnVisibility: (defaultState?: boolean) => void\n toggleAllColumnsVisible: (value?: boolean) => void\n getIsAllColumnsVisible: () => boolean\n getIsSomeColumnsVisible: () => boolean\n getToggleAllColumnsVisibilityHandler: () => (event: unknown) => void\n}\n\nexport type VisibilityColumnDef = {\n enableHiding?: boolean\n}\n\nexport type VisibilityRow<TData extends RowData> = {\n _getAllVisibleCells: () => Cell<TData, unknown>[]\n getVisibleCells: () => Cell<TData, unknown>[]\n}\n\nexport type VisibilityColumn = {\n getCanHide: () => boolean\n getIsVisible: () => boolean\n toggleVisibility: (value?: boolean) => void\n getToggleVisibilityHandler: () => (event: unknown) => void\n}\n\n//\n\nexport const Visibility: TableFeature = {\n getInitialState: (state): VisibilityTableState => {\n return {\n columnVisibility: {},\n ...state,\n }\n },\n\n getDefaultOptions: <TData extends RowData>(\n table: Table<TData>\n ): VisibilityDefaultOptions => {\n return {\n onColumnVisibilityChange: makeStateUpdater('columnVisibility', table),\n }\n },\n\n createColumn: <TData extends RowData, TValue>(\n column: Column<TData, TValue>,\n table: Table<TData>\n ): VisibilityColumn => {\n return {\n toggleVisibility: value => {\n if (column.getCanHide()) {\n table.setColumnVisibility(old => ({\n ...old,\n [column.id]: value ?? !column.getIsVisible(),\n }))\n }\n },\n getIsVisible: () => {\n return table.getState().columnVisibility?.[column.id] ?? true\n },\n\n getCanHide: () => {\n return (\n (column.columnDef.enableHiding ?? true) &&\n (table.options.enableHiding ?? true)\n )\n },\n getToggleVisibilityHandler: () => {\n return (e: unknown) => {\n column.toggleVisibility?.(\n ((e as MouseEvent).target as HTMLInputElement).checked\n )\n }\n },\n }\n },\n\n createRow: <TData extends RowData>(\n row: Row<TData>,\n table: Table<TData>\n ): VisibilityRow<TData> => {\n return {\n _getAllVisibleCells: memo(\n () => [row.getAllCells(), table.getState().columnVisibility],\n cells => {\n return cells.filter(cell => cell.column.getIsVisible())\n },\n {\n key:\n process.env.NODE_ENV === 'production' && 'row._getAllVisibleCells',\n debug: () => table.options.debugAll ?? table.options.debugRows,\n }\n ),\n getVisibleCells: memo(\n () => [\n row.getLeftVisibleCells(),\n row.getCenterVisibleCells(),\n row.getRightVisibleCells(),\n ],\n (left, center, right) => [...left, ...center, ...right],\n {\n key: process.env.NODE_ENV === 'development' && 'row.getVisibleCells',\n debug: () => table.options.debugAll ?? table.options.debugRows,\n }\n ),\n }\n },\n\n createTable: <TData extends RowData>(\n table: Table<TData>\n ): VisibilityInstance<TData> => {\n const makeVisibleColumnsMethod = (\n key: string,\n getColumns: () => Column<TData, unknown>[]\n ): (() => Column<TData, unknown>[]) => {\n return memo(\n () => [\n getColumns(),\n getColumns()\n .filter(d => d.getIsVisible())\n .map(d => d.id)\n .join('_'),\n ],\n columns => {\n return columns.filter(d => d.getIsVisible?.())\n },\n {\n key,\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n )\n }\n\n return {\n getVisibleFlatColumns: makeVisibleColumnsMethod(\n 'getVisibleFlatColumns',\n () => table.getAllFlatColumns()\n ),\n getVisibleLeafColumns: makeVisibleColumnsMethod(\n 'getVisibleLeafColumns',\n () => table.getAllLeafColumns()\n ),\n getLeftVisibleLeafColumns: makeVisibleColumnsMethod(\n 'getLeftVisibleLeafColumns',\n () => table.getLeftLeafColumns()\n ),\n getRightVisibleLeafColumns: makeVisibleColumnsMethod(\n 'getRightVisibleLeafColumns',\n () => table.getRightLeafColumns()\n ),\n getCenterVisibleLeafColumns: makeVisibleColumnsMethod(\n 'getCenterVisibleLeafColumns',\n () => table.getCenterLeafColumns()\n ),\n\n setColumnVisibility: updater =>\n table.options.onColumnVisibilityChange?.(updater),\n\n resetColumnVisibility: defaultState => {\n table.setColumnVisibility(\n defaultState ? {} : table.initialState.columnVisibility ?? {}\n )\n },\n\n toggleAllColumnsVisible: value => {\n value = value ?? !table.getIsAllColumnsVisible()\n\n table.setColumnVisibility(\n table.getAllLeafColumns().reduce(\n (obj, column) => ({\n ...obj,\n [column.id]: !value ? !column.getCanHide?.() : value,\n }),\n {}\n )\n )\n },\n\n getIsAllColumnsVisible: () =>\n !table.getAllLeafColumns().some(column => !column.getIsVisible?.()),\n\n getIsSomeColumnsVisible: () =>\n table.getAllLeafColumns().some(column => column.getIsVisible?.()),\n\n getToggleAllColumnsVisibilityHandler: () => {\n return (e: unknown) => {\n table.toggleAllColumnsVisible(\n ((e as MouseEvent).target as HTMLInputElement)?.checked\n )\n }\n },\n }\n },\n}\n"],"names":["Visibility","getInitialState","state","columnVisibility","getDefaultOptions","table","onColumnVisibilityChange","makeStateUpdater","createColumn","column","toggleVisibility","value","getCanHide","setColumnVisibility","old","id","getIsVisible","getState","columnDef","enableHiding","options","getToggleVisibilityHandler","e","target","checked","createRow","row","_getAllVisibleCells","memo","getAllCells","cells","filter","cell","key","process","env","NODE_ENV","debug","debugAll","debugRows","getVisibleCells","getLeftVisibleCells","getCenterVisibleCells","getRightVisibleCells","left","center","right","createTable","makeVisibleColumnsMethod","getColumns","d","map","join","columns","debugColumns","getVisibleFlatColumns","getAllFlatColumns","getVisibleLeafColumns","getAllLeafColumns","getLeftVisibleLeafColumns","getLeftLeafColumns","getRightVisibleLeafColumns","getRightLeafColumns","getCenterVisibleLeafColumns","getCenterLeafColumns","updater","resetColumnVisibility","defaultState","initialState","toggleAllColumnsVisible","getIsAllColumnsVisible","reduce","obj","some","getIsSomeColumnsVisible","getToggleAllColumnsVisibilityHandler"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterFns.js","sources":["../../src/filterFns.ts"],"sourcesContent":["import { FilterFn } from './features/Filters'\n\nconst includesString: FilterFn<any> = (\n row,\n columnId: string,\n filterValue: string\n) => {\n const search = filterValue.toLowerCase()\n return row.getValue(columnId)?.toLowerCase().includes(search)\n}\n\nincludesString.autoRemove = (val: any) => testFalsey(val)\n\nconst includesStringSensitive: FilterFn<any> = (\n row,\n columnId: string,\n filterValue: string\n) => {\n return row.getValue(columnId)?.includes(filterValue)\n}\n\nincludesStringSensitive.autoRemove = (val: any) => testFalsey(val)\n\nconst equalsString: FilterFn<any> = (\n row,\n columnId: string,\n filterValue: string\n) => {\n return row.getValue(columnId)?.toLowerCase() === filterValue.toLowerCase()\n}\n\nequalsString.autoRemove = (val: any) => testFalsey(val)\n\nconst arrIncludes: FilterFn<any> = (\n row,\n columnId: string,\n filterValue: unknown\n) => {\n return row.getValue(columnId)?.includes(filterValue)\n}\n\narrIncludes.autoRemove = (val: any) => testFalsey(val) || !val?.length\n\nconst arrIncludesAll: FilterFn<any> = (\n row,\n columnId: string,\n filterValue: unknown[]\n) => {\n return !filterValue.some(val => !row.getValue(columnId)?.includes(val))\n}\n\narrIncludesAll.autoRemove = (val: any) => testFalsey(val) || !val?.length\n\nconst arrIncludesSome: FilterFn<any> = (\n row,\n columnId: string,\n filterValue: unknown[]\n) => {\n return filterValue.some(val
|
|
1
|
+
{"version":3,"file":"filterFns.js","sources":["../../src/filterFns.ts"],"sourcesContent":["import { FilterFn } from './features/Filters'\n\nconst includesString: FilterFn<any> = (\n row,\n columnId: string,\n filterValue: string\n) => {\n const search = filterValue.toLowerCase()\n return row.getValue<string>(columnId)?.toLowerCase().includes(search)\n}\n\nincludesString.autoRemove = (val: any) => testFalsey(val)\n\nconst includesStringSensitive: FilterFn<any> = (\n row,\n columnId: string,\n filterValue: string\n) => {\n return row.getValue<string>(columnId)?.includes(filterValue)\n}\n\nincludesStringSensitive.autoRemove = (val: any) => testFalsey(val)\n\nconst equalsString: FilterFn<any> = (\n row,\n columnId: string,\n filterValue: string\n) => {\n return (\n row.getValue<string>(columnId)?.toLowerCase() === filterValue.toLowerCase()\n )\n}\n\nequalsString.autoRemove = (val: any) => testFalsey(val)\n\nconst arrIncludes: FilterFn<any> = (\n row,\n columnId: string,\n filterValue: unknown\n) => {\n return row.getValue<unknown[]>(columnId)?.includes(filterValue)\n}\n\narrIncludes.autoRemove = (val: any) => testFalsey(val) || !val?.length\n\nconst arrIncludesAll: FilterFn<any> = (\n row,\n columnId: string,\n filterValue: unknown[]\n) => {\n return !filterValue.some(\n val => !row.getValue<unknown[]>(columnId)?.includes(val)\n )\n}\n\narrIncludesAll.autoRemove = (val: any) => testFalsey(val) || !val?.length\n\nconst arrIncludesSome: FilterFn<any> = (\n row,\n columnId: string,\n filterValue: unknown[]\n) => {\n return filterValue.some(val =>\n row.getValue<unknown[]>(columnId)?.includes(val)\n )\n}\n\narrIncludesSome.autoRemove = (val: any) => testFalsey(val) || !val?.length\n\nconst equals: FilterFn<any> = (row, columnId: string, filterValue: unknown) => {\n return row.getValue(columnId) === filterValue\n}\n\nequals.autoRemove = (val: any) => testFalsey(val)\n\nconst weakEquals: FilterFn<any> = (\n row,\n columnId: string,\n filterValue: unknown\n) => {\n return row.getValue(columnId) == filterValue\n}\n\nweakEquals.autoRemove = (val: any) => testFalsey(val)\n\nconst inNumberRange: FilterFn<any> = (\n row,\n columnId: string,\n filterValue: [number, number]\n) => {\n let [min, max] = filterValue\n\n const rowValue = row.getValue<number>(columnId)\n return rowValue >= min && rowValue <= max\n}\n\ninNumberRange.resolveFilterValue = (val: [any, any]) => {\n let [unsafeMin, unsafeMax] = val\n\n let parsedMin =\n typeof unsafeMin !== 'number' ? parseFloat(unsafeMin as string) : unsafeMin\n let parsedMax =\n typeof unsafeMax !== 'number' ? parseFloat(unsafeMax as string) : unsafeMax\n\n let min =\n unsafeMin === null || Number.isNaN(parsedMin) ? -Infinity : parsedMin\n let max = unsafeMax === null || Number.isNaN(parsedMax) ? Infinity : parsedMax\n\n if (min > max) {\n const temp = min\n min = max\n max = temp\n }\n\n return [min, max] as const\n}\n\ninNumberRange.autoRemove = (val: any) =>\n testFalsey(val) || (testFalsey(val[0]) && testFalsey(val[1]))\n\n// Export\n\nexport const filterFns = {\n includesString,\n includesStringSensitive,\n equalsString,\n arrIncludes,\n arrIncludesAll,\n arrIncludesSome,\n equals,\n weakEquals,\n inNumberRange,\n}\n\nexport type BuiltInFilterFn = keyof typeof filterFns\n\n// Utils\n\nfunction testFalsey(val: any) {\n return val === undefined || val === null || val === ''\n}\n"],"names":["includesString","row","columnId","filterValue","search","toLowerCase","getValue","includes","autoRemove","val","testFalsey","includesStringSensitive","equalsString","arrIncludes","length","arrIncludesAll","some","arrIncludesSome","equals","weakEquals","inNumberRange","min","max","rowValue","resolveFilterValue","unsafeMin","unsafeMax","parsedMin","parseFloat","parsedMax","Number","isNaN","Infinity","temp","filterFns","undefined"],"mappings":"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"}
|
package/build/cjs/sortingFns.js
CHANGED
|
@@ -35,7 +35,12 @@ const textCaseSensitive = (rowA, rowB, columnId) => {
|
|
|
35
35
|
};
|
|
36
36
|
|
|
37
37
|
const datetime = (rowA, rowB, columnId) => {
|
|
38
|
-
|
|
38
|
+
const a = rowA.getValue(columnId);
|
|
39
|
+
const b = rowB.getValue(columnId); // Can handle nullish values
|
|
40
|
+
// Use > and < because == (and ===) doesn't work with
|
|
41
|
+
// Date objects (would require calling getTime()).
|
|
42
|
+
|
|
43
|
+
return a > b ? 1 : a < b ? -1 : 0;
|
|
39
44
|
};
|
|
40
45
|
|
|
41
46
|
const basic = (rowA, rowB, columnId) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sortingFns.js","sources":["../../src/sortingFns.ts"],"sourcesContent":["import { SortingFn } from './features/Sorting'\n\nexport const reSplitAlphaNumeric = /([0-9]+)/gm\n\nconst alphanumeric: SortingFn<any> = (rowA, rowB, columnId) => {\n return compareAlphanumeric(\n toString(rowA.getValue(columnId)).toLowerCase(),\n toString(rowB.getValue(columnId)).toLowerCase()\n )\n}\n\nconst alphanumericCaseSensitive: SortingFn<any> = (rowA, rowB, columnId) => {\n return compareAlphanumeric(\n toString(rowA.getValue(columnId)),\n toString(rowB.getValue(columnId))\n )\n}\n\n// The text filter is more basic (less numeric support)\n// but is much faster\nconst text: SortingFn<any> = (rowA, rowB, columnId) => {\n return compareBasic(\n toString(rowA.getValue(columnId)).toLowerCase(),\n toString(rowB.getValue(columnId)).toLowerCase()\n )\n}\n\n// The text filter is more basic (less numeric support)\n// but is much faster\nconst textCaseSensitive: SortingFn<any> = (rowA, rowB, columnId) => {\n return compareBasic(\n toString(rowA.getValue(columnId)),\n toString(rowB.getValue(columnId))\n )\n}\n\nconst datetime: SortingFn<any> = (rowA, rowB, columnId) => {\n
|
|
1
|
+
{"version":3,"file":"sortingFns.js","sources":["../../src/sortingFns.ts"],"sourcesContent":["import { SortingFn } from './features/Sorting'\n\nexport const reSplitAlphaNumeric = /([0-9]+)/gm\n\nconst alphanumeric: SortingFn<any> = (rowA, rowB, columnId) => {\n return compareAlphanumeric(\n toString(rowA.getValue(columnId)).toLowerCase(),\n toString(rowB.getValue(columnId)).toLowerCase()\n )\n}\n\nconst alphanumericCaseSensitive: SortingFn<any> = (rowA, rowB, columnId) => {\n return compareAlphanumeric(\n toString(rowA.getValue(columnId)),\n toString(rowB.getValue(columnId))\n )\n}\n\n// The text filter is more basic (less numeric support)\n// but is much faster\nconst text: SortingFn<any> = (rowA, rowB, columnId) => {\n return compareBasic(\n toString(rowA.getValue(columnId)).toLowerCase(),\n toString(rowB.getValue(columnId)).toLowerCase()\n )\n}\n\n// The text filter is more basic (less numeric support)\n// but is much faster\nconst textCaseSensitive: SortingFn<any> = (rowA, rowB, columnId) => {\n return compareBasic(\n toString(rowA.getValue(columnId)),\n toString(rowB.getValue(columnId))\n )\n}\n\nconst datetime: SortingFn<any> = (rowA, rowB, columnId) => {\n const a = rowA.getValue<Date>(columnId)\n const b = rowB.getValue<Date>(columnId)\n\n // Can handle nullish values\n // Use > and < because == (and ===) doesn't work with\n // Date objects (would require calling getTime()).\n return a > b ? 1 : a < b ? -1 : 0\n}\n\nconst basic: SortingFn<any> = (rowA, rowB, columnId) => {\n return compareBasic(rowA.getValue(columnId), rowB.getValue(columnId))\n}\n\n// Utils\n\nfunction compareBasic(a: any, b: any) {\n return a === b ? 0 : a > b ? 1 : -1\n}\n\nfunction toString(a: any) {\n if (typeof a === 'number') {\n if (isNaN(a) || a === Infinity || a === -Infinity) {\n return ''\n }\n return String(a)\n }\n if (typeof a === 'string') {\n return a\n }\n return ''\n}\n\n// Mixed sorting is slow, but very inclusive of many edge cases.\n// It handles numbers, mixed alphanumeric combinations, and even\n// null, undefined, and Infinity\nfunction compareAlphanumeric(aStr: string, bStr: string) {\n // Split on number groups, but keep the delimiter\n // Then remove falsey split values\n const a = aStr.split(reSplitAlphaNumeric).filter(Boolean)\n const b = bStr.split(reSplitAlphaNumeric).filter(Boolean)\n\n // While\n while (a.length && b.length) {\n const aa = a.shift()!\n const bb = b.shift()!\n\n const an = parseInt(aa, 10)\n const bn = parseInt(bb, 10)\n\n const combo = [an, bn].sort()\n\n // Both are string\n if (isNaN(combo[0]!)) {\n if (aa > bb) {\n return 1\n }\n if (bb > aa) {\n return -1\n }\n continue\n }\n\n // One is a string, one is a number\n if (isNaN(combo[1]!)) {\n return isNaN(an) ? -1 : 1\n }\n\n // Both are numbers\n if (an > bn) {\n return 1\n }\n if (bn > an) {\n return -1\n }\n }\n\n return a.length - b.length\n}\n\n// Exports\n\nexport const sortingFns = {\n alphanumeric,\n alphanumericCaseSensitive,\n text,\n textCaseSensitive,\n datetime,\n basic,\n}\n\nexport type BuiltInSortingFn = keyof typeof sortingFns\n"],"names":["reSplitAlphaNumeric","alphanumeric","rowA","rowB","columnId","compareAlphanumeric","toString","getValue","toLowerCase","alphanumericCaseSensitive","text","compareBasic","textCaseSensitive","datetime","a","b","basic","isNaN","Infinity","String","aStr","bStr","split","filter","Boolean","length","aa","shift","bb","an","parseInt","bn","combo","sort","sortingFns"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCoreRowModel.js","sources":["../../../src/utils/getCoreRowModel.ts"],"sourcesContent":["import { createRow } from '../core/row'\nimport { Table, Row, RowModel, TableGenerics, RowData } from '../types'\nimport { memo } from '../utils'\n\nexport function getCoreRowModel<TData extends RowData>(): (\n table: Table<TData>\n) => () => RowModel<TData> {\n return table =>\n memo(\n () => [table.options.data],\n (\n data\n ): {\n rows: Row<TData>[]\n flatRows: Row<TData>[]\n rowsById: Record<string, Row<TData>>\n } => {\n const rowModel: RowModel<TData> = {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n\n const accessRows = (\n originalRows: TData[],\n depth = 0,\n parent?: Row<TData>\n ): Row<TData>[] => {\n const rows = [] as Row<TData>[]\n\n for (let i = 0; i < originalRows.length; i++) {\n // This could be an expensive check at scale, so we should move it somewhere else, but where?\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 // Make the row\n const row = createRow(\n table,\n table._getRowId(originalRows[i]!, i, parent),\n originalRows[i]
|
|
1
|
+
{"version":3,"file":"getCoreRowModel.js","sources":["../../../src/utils/getCoreRowModel.ts"],"sourcesContent":["import { createRow } from '../core/row'\nimport { Table, Row, RowModel, TableGenerics, RowData } from '../types'\nimport { memo } from '../utils'\n\nexport function getCoreRowModel<TData extends RowData>(): (\n table: Table<TData>\n) => () => RowModel<TData> {\n return table =>\n memo(\n () => [table.options.data],\n (\n data\n ): {\n rows: Row<TData>[]\n flatRows: Row<TData>[]\n rowsById: Record<string, Row<TData>>\n } => {\n const rowModel: RowModel<TData> = {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n\n const accessRows = (\n originalRows: TData[],\n depth = 0,\n parent?: Row<TData>\n ): Row<TData>[] => {\n const rows = [] as Row<TData>[]\n\n for (let i = 0; i < originalRows.length; i++) {\n // This could be an expensive check at scale, so we should move it somewhere else, but where?\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 // Make the row\n const row = createRow(\n table,\n table._getRowId(originalRows[i]!, i, parent),\n originalRows[i]!,\n i,\n depth\n )\n\n // Keep track of every row in a flat array\n rowModel.flatRows.push(row)\n // Also keep track of every row by its ID\n rowModel.rowsById[row.id] = row\n // Push table row into parent\n rows.push(row)\n\n // Get the original subrows\n if (table.options.getSubRows) {\n row.originalSubRows = table.options.getSubRows(\n originalRows[i]!,\n i\n )\n\n // Then recursively access them\n if (row.originalSubRows?.length) {\n row.subRows = accessRows(row.originalSubRows, depth + 1, row)\n }\n }\n }\n\n return rows\n }\n\n rowModel.rows = accessRows(data)\n\n return rowModel\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRowModel',\n debug: () => table.options.debugAll ?? table.options.debugTable,\n onChange: () => {\n table._autoResetPageIndex()\n },\n }\n )\n}\n"],"names":["getCoreRowModel","table","memo","options","data","rowModel","rows","flatRows","rowsById","accessRows","originalRows","depth","parent","i","length","row","createRow","_getRowId","push","id","getSubRows","originalSubRows","subRows","key","process","env","NODE_ENV","debug","debugAll","debugTable","onChange","_autoResetPageIndex"],"mappings":";;;;;;;;;;;;;;;;;AAIO,SAASA,eAAT,GAEoB;AACzB,EAAA,OAAOC,KAAK,IACVC,UAAI,CACF,MAAM,CAACD,KAAK,CAACE,OAAN,CAAcC,IAAf,CADJ,EAGAA,IADF,IAMK;AACH,IAAA,MAAMC,QAAyB,GAAG;AAChCC,MAAAA,IAAI,EAAE,EAD0B;AAEhCC,MAAAA,QAAQ,EAAE,EAFsB;AAGhCC,MAAAA,QAAQ,EAAE,EAAA;KAHZ,CAAA;;IAMA,MAAMC,UAAU,GAAG,UACjBC,YADiB,EAEjBC,KAFiB,EAGjBC,MAHiB,EAIA;AAAA,MAAA,IAFjBD,KAEiB,KAAA,KAAA,CAAA,EAAA;AAFjBA,QAAAA,KAEiB,GAFT,CAES,CAAA;AAAA,OAAA;;MACjB,MAAML,IAAI,GAAG,EAAb,CAAA;;AAEA,MAAA,KAAK,IAAIO,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,YAAY,CAACI,MAAjC,EAAyCD,CAAC,EAA1C,EAA8C;AAC5C;AACA;AACA;AACA;AACA;AACA;AAEA;AACA,QAAA,MAAME,KAAG,GAAGC,aAAS,CACnBf,KADmB,EAEnBA,KAAK,CAACgB,SAAN,CAAgBP,YAAY,CAACG,CAAD,CAA5B,EAAkCA,CAAlC,EAAqCD,MAArC,CAFmB,EAGnBF,YAAY,CAACG,CAAD,CAHO,EAInBA,CAJmB,EAKnBF,KALmB,CAArB,CAT4C;;AAkB5CN,QAAAA,QAAQ,CAACE,QAAT,CAAkBW,IAAlB,CAAuBH,KAAvB,EAlB4C;;QAoB5CV,QAAQ,CAACG,QAAT,CAAkBO,KAAG,CAACI,EAAtB,CAAA,GAA4BJ,KAA5B,CApB4C;;AAsB5CT,QAAAA,IAAI,CAACY,IAAL,CAAUH,KAAV,EAtB4C;;AAyB5C,QAAA,IAAId,KAAK,CAACE,OAAN,CAAciB,UAAlB,EAA8B;AAAA,UAAA,IAAA,oBAAA,CAAA;;AAC5BL,UAAAA,KAAG,CAACM,eAAJ,GAAsBpB,KAAK,CAACE,OAAN,CAAciB,UAAd,CACpBV,YAAY,CAACG,CAAD,CADQ,EAEpBA,CAFoB,CAAtB,CAD4B;;AAO5B,UAAA,IAAA,CAAA,oBAAA,GAAIE,KAAG,CAACM,eAAR,KAAI,IAAA,IAAA,oBAAA,CAAqBP,MAAzB,EAAiC;AAC/BC,YAAAA,KAAG,CAACO,OAAJ,GAAcb,UAAU,CAACM,KAAG,CAACM,eAAL,EAAsBV,KAAK,GAAG,CAA9B,EAAiCI,KAAjC,CAAxB,CAAA;AACD,WAAA;AACF,SAAA;AACF,OAAA;;AAED,MAAA,OAAOT,IAAP,CAAA;KA7CF,CAAA;;AAgDAD,IAAAA,QAAQ,CAACC,IAAT,GAAgBG,UAAU,CAACL,IAAD,CAA1B,CAAA;AAEA,IAAA,OAAOC,QAAP,CAAA;AACD,GAlEC,EAmEF;IACEkB,GAAG,EAAEC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzB,IAA0C,aADjD;AAEEC,IAAAA,KAAK,EAAE,MAAA;AAAA,MAAA,IAAA,qBAAA,CAAA;;MAAA,OAAM1B,CAAAA,qBAAAA,GAAAA,KAAK,CAACE,OAAN,CAAcyB,QAApB,oCAAgC3B,KAAK,CAACE,OAAN,CAAc0B,UAA9C,CAAA;KAFT;AAGEC,IAAAA,QAAQ,EAAE,MAAM;AACd7B,MAAAA,KAAK,CAAC8B,mBAAN,EAAA,CAAA;AACD,KAAA;AALH,GAnEE,CADN,CAAA;AA4ED;;;;"}
|
|
@@ -27,9 +27,7 @@ function getFacetedMinMaxValues() {
|
|
|
27
27
|
let facetedMinMaxValues = [firstValue, firstValue];
|
|
28
28
|
|
|
29
29
|
for (let i = 0; i < facetedRowModel.flatRows.length; i++) {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
const value = (_facetedRowModel$flat2 = facetedRowModel.flatRows[i]) == null ? void 0 : _facetedRowModel$flat2.getValue(columnId);
|
|
30
|
+
const value = facetedRowModel.flatRows[i].getValue(columnId);
|
|
33
31
|
|
|
34
32
|
if (value < facetedMinMaxValues[0]) {
|
|
35
33
|
facetedMinMaxValues[0] = value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFacetedMinMaxValues.js","sources":["../../../src/utils/getFacetedMinMaxValues.ts"],"sourcesContent":["import { Table, TableGenerics, 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 = facetedRowModel.flatRows[0]?.getValue(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 value = facetedRowModel.flatRows[i]
|
|
1
|
+
{"version":3,"file":"getFacetedMinMaxValues.js","sources":["../../../src/utils/getFacetedMinMaxValues.ts"],"sourcesContent":["import { Table, TableGenerics, 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 = facetedRowModel.flatRows[0]?.getValue(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 value = facetedRowModel.flatRows[i]!.getValue<number>(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: () => table.options.debugAll ?? table.options.debugTable,\n onChange: () => {},\n }\n )\n}\n"],"names":["getFacetedMinMaxValues","table","columnId","memo","getColumn","getFacetedRowModel","facetedRowModel","firstValue","flatRows","getValue","undefined","facetedMinMaxValues","i","length","value","key","process","env","NODE_ENV","debug","options","debugAll","debugTable","onChange"],"mappings":";;;;;;;;;;;;;;;;AAGO,SAASA,sBAAT,GAGiC;EACtC,OAAO,CAACC,KAAD,EAAQC,QAAR,KACLC,UAAI,CACF,MAAM,CAACF,KAAK,CAACG,SAAN,CAAgBF,QAAhB,CAA0BG,CAAAA,kBAA1B,EAAD,CADJ,EAEFC,eAAe,IAAI;AAAA,IAAA,IAAA,qBAAA,CAAA;;AACjB,IAAA,MAAMC,UAAU,GAAA,CAAA,qBAAA,GAAGD,eAAe,CAACE,QAAhB,CAAyB,CAAzB,CAAH,KAAG,IAAA,GAAA,KAAA,CAAA,GAAA,qBAAA,CAA6BC,QAA7B,CAAsCP,QAAtC,CAAnB,CAAA;;AAEA,IAAA,IAAI,OAAOK,UAAP,KAAsB,WAA1B,EAAuC;AACrC,MAAA,OAAOG,SAAP,CAAA;AACD,KAAA;;AAED,IAAA,IAAIC,mBAA+B,GAAG,CAACJ,UAAD,EAAaA,UAAb,CAAtC,CAAA;;AAEA,IAAA,KAAK,IAAIK,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGN,eAAe,CAACE,QAAhB,CAAyBK,MAA7C,EAAqDD,CAAC,EAAtD,EAA0D;MACxD,MAAME,KAAK,GAAGR,eAAe,CAACE,QAAhB,CAAyBI,CAAzB,CAA6BH,CAAAA,QAA7B,CAA8CP,QAA9C,CAAd,CAAA;;AAEA,MAAA,IAAIY,KAAK,GAAGH,mBAAmB,CAAC,CAAD,CAA/B,EAAoC;AAClCA,QAAAA,mBAAmB,CAAC,CAAD,CAAnB,GAAyBG,KAAzB,CAAA;OADF,MAEO,IAAIA,KAAK,GAAGH,mBAAmB,CAAC,CAAD,CAA/B,EAAoC;AACzCA,QAAAA,mBAAmB,CAAC,CAAD,CAAnB,GAAyBG,KAAzB,CAAA;AACD,OAAA;AACF,KAAA;;AAED,IAAA,OAAOH,mBAAP,CAAA;AACD,GAtBC,EAuBF;IACEI,GAAG,EACDC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzB,IACA,yBAAA,GAA4BhB,QAHhC;AAIEiB,IAAAA,KAAK,EAAE,MAAA;AAAA,MAAA,IAAA,qBAAA,CAAA;;MAAA,OAAMlB,CAAAA,qBAAAA,GAAAA,KAAK,CAACmB,OAAN,CAAcC,QAApB,oCAAgCpB,KAAK,CAACmB,OAAN,CAAcE,UAA9C,CAAA;KAJT;IAKEC,QAAQ,EAAE,MAAM,EAAE;AALpB,GAvBE,CADN,CAAA;AAgCD;;;;"}
|
|
@@ -52,7 +52,7 @@ function getGroupedRowModel() {
|
|
|
52
52
|
const subRows = groupUpRecursively(groupedRows, depth + 1, id); // Flatten the leaf rows of the rows in this group
|
|
53
53
|
|
|
54
54
|
const leafRows = depth ? utils.flattenBy(groupedRows, row => row.subRows) : groupedRows;
|
|
55
|
-
const row$1 = row.createRow(table, id,
|
|
55
|
+
const row$1 = row.createRow(table, id, leafRows[0].original, index, depth);
|
|
56
56
|
Object.assign(row$1, {
|
|
57
57
|
groupingColumnId: columnId,
|
|
58
58
|
groupingValue,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getGroupedRowModel.js","sources":["../../../src/utils/getGroupedRowModel.ts"],"sourcesContent":["import { createRow } from '../core/row'\nimport { Table, Row, RowModel, TableGenerics, RowData } from '../types'\nimport { flattenBy, memo } from '../utils'\n\nexport function getGroupedRowModel<TData extends RowData>(): (\n table: Table<TData>\n) => () => RowModel<TData> {\n return table =>\n memo(\n () => [table.getState().grouping, table.getPreGroupedRowModel()],\n (grouping, rowModel) => {\n if (!rowModel.rows.length || !grouping.length) {\n return rowModel\n }\n\n // Filter the grouping list down to columns that exist\n const existingGrouping = grouping.filter(columnId =>\n table.getColumn(columnId)\n )\n\n const groupedFlatRows: Row<TData>[] = []\n const groupedRowsById: Record<string, Row<TData>> = {}\n // const onlyGroupedFlatRows: Row[] = [];\n // const onlyGroupedRowsById: Record<RowId, Row> = {};\n // const nonGroupedFlatRows: Row[] = [];\n // const nonGroupedRowsById: Record<RowId, Row> = {};\n\n // Recursively group the data\n const groupUpRecursively = (\n rows: Row<TData>[],\n depth = 0,\n parentId: string\n ) => {\n // This is the last level, just return the rows\n if (depth === existingGrouping.length) {\n return rows\n }\n\n const columnId = existingGrouping[depth]!\n\n // Group the rows together for this level\n const rowGroupsMap = groupBy(rows, columnId)\n\n // Peform aggregations for each group\n const aggregatedGroupedRows = Array.from(rowGroupsMap.entries()).map(\n ([groupingValue, groupedRows], index) => {\n let id = `${columnId}:${groupingValue}`\n id = parentId ? `${parentId}>${id}` : id\n\n // First, Recurse to group sub rows before aggregation\n const subRows = groupUpRecursively(groupedRows, depth + 1, id)\n\n // Flatten the leaf rows of the rows in this group\n const leafRows = depth\n ? flattenBy(groupedRows, row => row.subRows)\n : groupedRows\n\n const row = createRow(table, id, undefined, index, depth)\n\n Object.assign(row, {\n groupingColumnId: columnId,\n groupingValue,\n subRows,\n leafRows,\n getValue: (columnId: string) => {\n // Don't aggregate columns that are in the grouping\n if (existingGrouping.includes(columnId)) {\n if (row._valuesCache.hasOwnProperty(columnId)) {\n return row._valuesCache[columnId]\n }\n\n if (groupedRows[0]) {\n row._valuesCache[columnId] =\n groupedRows[0].getValue(columnId) ?? undefined\n }\n\n return row._valuesCache[columnId]\n }\n\n if (row._groupingValuesCache.hasOwnProperty(columnId)) {\n return row._groupingValuesCache[columnId]\n }\n\n // Aggregate the values\n const column = table.getColumn(columnId)\n const aggregateFn = column.getAggregationFn()\n\n if (aggregateFn) {\n row._groupingValuesCache[columnId] = aggregateFn(\n columnId,\n leafRows,\n groupedRows\n )\n\n return row._groupingValuesCache[columnId]\n }\n },\n })\n\n subRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n // if (subRow.getIsGrouped?.()) {\n // onlyGroupedFlatRows.push(subRow);\n // onlyGroupedRowsById[subRow.id] = subRow;\n // } else {\n // nonGroupedFlatRows.push(subRow);\n // nonGroupedRowsById[subRow.id] = subRow;\n // }\n })\n\n return row\n }\n )\n\n return aggregatedGroupedRows\n }\n\n const groupedRows = groupUpRecursively(rowModel.rows, 0, '')\n\n groupedRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n // if (subRow.getIsGrouped?.()) {\n // onlyGroupedFlatRows.push(subRow);\n // onlyGroupedRowsById[subRow.id] = subRow;\n // } else {\n // nonGroupedFlatRows.push(subRow);\n // nonGroupedRowsById[subRow.id] = subRow;\n // }\n })\n\n return {\n rows: groupedRows,\n flatRows: groupedFlatRows,\n rowsById: groupedRowsById,\n }\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getGroupedRowModel',\n debug: () => table.options.debugAll ?? table.options.debugTable,\n onChange: () => {\n table._queue(() => {\n table._autoResetExpanded()\n table._autoResetPageIndex()\n })\n },\n }\n )\n}\n\nfunction groupBy<TData extends RowData>(rows: Row<TData>[], columnId: string) {\n const groupMap = new Map<any, Row<TData>[]>()\n\n return rows.reduce((map, row) => {\n const resKey = `${row.getValue(columnId)}`\n const previous = map.get(resKey)\n if (!previous) {\n map.set(resKey, [row])\n } else {\n map.set(resKey, [...previous, row])\n }\n return map\n }, groupMap)\n}\n"],"names":["getGroupedRowModel","table","memo","getState","grouping","getPreGroupedRowModel","rowModel","rows","length","existingGrouping","filter","columnId","getColumn","groupedFlatRows","groupedRowsById","groupUpRecursively","depth","parentId","rowGroupsMap","groupBy","aggregatedGroupedRows","Array","from","entries","map","index","groupingValue","groupedRows","id","subRows","leafRows","flattenBy","row","createRow","undefined","Object","assign","groupingColumnId","getValue","includes","_valuesCache","hasOwnProperty","_groupingValuesCache","column","aggregateFn","getAggregationFn","forEach","subRow","push","flatRows","rowsById","key","process","env","NODE_ENV","debug","options","debugAll","debugTable","onChange","_queue","_autoResetExpanded","_autoResetPageIndex","groupMap","Map","reduce","resKey","previous","get","set"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getGroupedRowModel.js","sources":["../../../src/utils/getGroupedRowModel.ts"],"sourcesContent":["import { createRow } from '../core/row'\nimport { Table, Row, RowModel, TableGenerics, RowData } from '../types'\nimport { flattenBy, memo } from '../utils'\n\nexport function getGroupedRowModel<TData extends RowData>(): (\n table: Table<TData>\n) => () => RowModel<TData> {\n return table =>\n memo(\n () => [table.getState().grouping, table.getPreGroupedRowModel()],\n (grouping, rowModel) => {\n if (!rowModel.rows.length || !grouping.length) {\n return rowModel\n }\n\n // Filter the grouping list down to columns that exist\n const existingGrouping = grouping.filter(columnId =>\n table.getColumn(columnId)\n )\n\n const groupedFlatRows: Row<TData>[] = []\n const groupedRowsById: Record<string, Row<TData>> = {}\n // const onlyGroupedFlatRows: Row[] = [];\n // const onlyGroupedRowsById: Record<RowId, Row> = {};\n // const nonGroupedFlatRows: Row[] = [];\n // const nonGroupedRowsById: Record<RowId, Row> = {};\n\n // Recursively group the data\n const groupUpRecursively = (\n rows: Row<TData>[],\n depth = 0,\n parentId: string\n ) => {\n // This is the last level, just return the rows\n if (depth === existingGrouping.length) {\n return rows\n }\n\n const columnId = existingGrouping[depth]!\n\n // Group the rows together for this level\n const rowGroupsMap = groupBy(rows, columnId)\n\n // Peform aggregations for each group\n const aggregatedGroupedRows = Array.from(rowGroupsMap.entries()).map(\n ([groupingValue, groupedRows], index) => {\n let id = `${columnId}:${groupingValue}`\n id = parentId ? `${parentId}>${id}` : id\n\n // First, Recurse to group sub rows before aggregation\n const subRows = groupUpRecursively(groupedRows, depth + 1, id)\n\n // Flatten the leaf rows of the rows in this group\n const leafRows = depth\n ? flattenBy(groupedRows, row => row.subRows)\n : groupedRows\n\n const row = createRow(\n table,\n id,\n leafRows[0]!.original,\n index,\n depth\n )\n\n Object.assign(row, {\n groupingColumnId: columnId,\n groupingValue,\n subRows,\n leafRows,\n getValue: (columnId: string) => {\n // Don't aggregate columns that are in the grouping\n if (existingGrouping.includes(columnId)) {\n if (row._valuesCache.hasOwnProperty(columnId)) {\n return row._valuesCache[columnId]\n }\n\n if (groupedRows[0]) {\n row._valuesCache[columnId] =\n groupedRows[0].getValue(columnId) ?? undefined\n }\n\n return row._valuesCache[columnId]\n }\n\n if (row._groupingValuesCache.hasOwnProperty(columnId)) {\n return row._groupingValuesCache[columnId]\n }\n\n // Aggregate the values\n const column = table.getColumn(columnId)\n const aggregateFn = column.getAggregationFn()\n\n if (aggregateFn) {\n row._groupingValuesCache[columnId] = aggregateFn(\n columnId,\n leafRows,\n groupedRows\n )\n\n return row._groupingValuesCache[columnId]\n }\n },\n })\n\n subRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n // if (subRow.getIsGrouped?.()) {\n // onlyGroupedFlatRows.push(subRow);\n // onlyGroupedRowsById[subRow.id] = subRow;\n // } else {\n // nonGroupedFlatRows.push(subRow);\n // nonGroupedRowsById[subRow.id] = subRow;\n // }\n })\n\n return row\n }\n )\n\n return aggregatedGroupedRows\n }\n\n const groupedRows = groupUpRecursively(rowModel.rows, 0, '')\n\n groupedRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n // if (subRow.getIsGrouped?.()) {\n // onlyGroupedFlatRows.push(subRow);\n // onlyGroupedRowsById[subRow.id] = subRow;\n // } else {\n // nonGroupedFlatRows.push(subRow);\n // nonGroupedRowsById[subRow.id] = subRow;\n // }\n })\n\n return {\n rows: groupedRows,\n flatRows: groupedFlatRows,\n rowsById: groupedRowsById,\n }\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getGroupedRowModel',\n debug: () => table.options.debugAll ?? table.options.debugTable,\n onChange: () => {\n table._queue(() => {\n table._autoResetExpanded()\n table._autoResetPageIndex()\n })\n },\n }\n )\n}\n\nfunction groupBy<TData extends RowData>(rows: Row<TData>[], columnId: string) {\n const groupMap = new Map<any, Row<TData>[]>()\n\n return rows.reduce((map, row) => {\n const resKey = `${row.getValue(columnId)}`\n const previous = map.get(resKey)\n if (!previous) {\n map.set(resKey, [row])\n } else {\n map.set(resKey, [...previous, row])\n }\n return map\n }, groupMap)\n}\n"],"names":["getGroupedRowModel","table","memo","getState","grouping","getPreGroupedRowModel","rowModel","rows","length","existingGrouping","filter","columnId","getColumn","groupedFlatRows","groupedRowsById","groupUpRecursively","depth","parentId","rowGroupsMap","groupBy","aggregatedGroupedRows","Array","from","entries","map","index","groupingValue","groupedRows","id","subRows","leafRows","flattenBy","row","createRow","original","Object","assign","groupingColumnId","getValue","includes","_valuesCache","hasOwnProperty","undefined","_groupingValuesCache","column","aggregateFn","getAggregationFn","forEach","subRow","push","flatRows","rowsById","key","process","env","NODE_ENV","debug","options","debugAll","debugTable","onChange","_queue","_autoResetExpanded","_autoResetPageIndex","groupMap","Map","reduce","resKey","previous","get","set"],"mappings":"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"}
|
package/build/esm/index.js
CHANGED
|
@@ -2349,7 +2349,12 @@ const textCaseSensitive = (rowA, rowB, columnId) => {
|
|
|
2349
2349
|
};
|
|
2350
2350
|
|
|
2351
2351
|
const datetime = (rowA, rowB, columnId) => {
|
|
2352
|
-
|
|
2352
|
+
const a = rowA.getValue(columnId);
|
|
2353
|
+
const b = rowB.getValue(columnId); // Can handle nullish values
|
|
2354
|
+
// Use > and < because == (and ===) doesn't work with
|
|
2355
|
+
// Date objects (would require calling getTime()).
|
|
2356
|
+
|
|
2357
|
+
return a > b ? 1 : a < b ? -1 : 0;
|
|
2353
2358
|
};
|
|
2354
2359
|
|
|
2355
2360
|
const basic = (rowA, rowB, columnId) => {
|
|
@@ -2510,18 +2515,17 @@ const Sorting = {
|
|
|
2510
2515
|
// }
|
|
2511
2516
|
// this needs to be outside of table.setSorting to be in sync with rerender
|
|
2512
2517
|
const nextSortingOrder = column.getNextSortingOrder();
|
|
2518
|
+
const hasManualValue = typeof desc !== 'undefined' && desc !== null;
|
|
2513
2519
|
table.setSorting(old => {
|
|
2514
|
-
var _table$options$enable, _table$options$enable2;
|
|
2515
|
-
|
|
2516
2520
|
// Find any existing sorting for this column
|
|
2517
2521
|
const existingSorting = old == null ? void 0 : old.find(d => d.id === column.id);
|
|
2518
2522
|
const existingIndex = old == null ? void 0 : old.findIndex(d => d.id === column.id);
|
|
2519
|
-
const hasDescDefined = typeof desc !== 'undefined' && desc !== null;
|
|
2520
2523
|
let newSorting = []; // What should we do with this sort action?
|
|
2521
2524
|
|
|
2522
2525
|
let sortAction;
|
|
2526
|
+
let nextDesc = hasManualValue ? desc : nextSortingOrder === 'desc'; // Multi-mode
|
|
2523
2527
|
|
|
2524
|
-
if (column.getCanMultiSort() && multi) {
|
|
2528
|
+
if (old != null && old.length && column.getCanMultiSort() && multi) {
|
|
2525
2529
|
if (existingSorting) {
|
|
2526
2530
|
sortAction = 'toggle';
|
|
2527
2531
|
} else {
|
|
@@ -2539,63 +2543,71 @@ const Sorting = {
|
|
|
2539
2543
|
} // Handle toggle states that will remove the sorting
|
|
2540
2544
|
|
|
2541
2545
|
|
|
2542
|
-
if (sortAction === 'toggle'
|
|
2543
|
-
|
|
2544
|
-
|
|
2545
|
-
|
|
2546
|
-
|
|
2547
|
-
|
|
2548
|
-
|
|
2546
|
+
if (sortAction === 'toggle') {
|
|
2547
|
+
// If we are "actually" toggling (not a manual set value), should we remove the sorting?
|
|
2548
|
+
if (!hasManualValue) {
|
|
2549
|
+
// Is our intention to remove?
|
|
2550
|
+
if (!nextSortingOrder) {
|
|
2551
|
+
sortAction = 'remove';
|
|
2552
|
+
}
|
|
2553
|
+
}
|
|
2549
2554
|
}
|
|
2550
2555
|
|
|
2551
|
-
if (sortAction === '
|
|
2552
|
-
newSorting = [{
|
|
2553
|
-
id: column.id,
|
|
2554
|
-
desc: hasDescDefined ? desc : nextSortingOrder === 'desc'
|
|
2555
|
-
}];
|
|
2556
|
-
} else if (sortAction === 'add' && old != null && old.length) {
|
|
2556
|
+
if (sortAction === 'add') {
|
|
2557
2557
|
var _table$options$maxMul;
|
|
2558
2558
|
|
|
2559
2559
|
newSorting = [...old, {
|
|
2560
2560
|
id: column.id,
|
|
2561
|
-
desc:
|
|
2561
|
+
desc: nextDesc
|
|
2562
2562
|
}]; // Take latest n columns
|
|
2563
2563
|
|
|
2564
2564
|
newSorting.splice(0, newSorting.length - ((_table$options$maxMul = table.options.maxMultiSortColCount) != null ? _table$options$maxMul : Number.MAX_SAFE_INTEGER));
|
|
2565
|
-
} else if (sortAction === 'toggle'
|
|
2565
|
+
} else if (sortAction === 'toggle') {
|
|
2566
2566
|
// This flips (or sets) the
|
|
2567
2567
|
newSorting = old.map(d => {
|
|
2568
2568
|
if (d.id === column.id) {
|
|
2569
2569
|
return { ...d,
|
|
2570
|
-
desc:
|
|
2570
|
+
desc: nextDesc
|
|
2571
2571
|
};
|
|
2572
2572
|
}
|
|
2573
2573
|
|
|
2574
2574
|
return d;
|
|
2575
2575
|
});
|
|
2576
|
-
} else if (sortAction === 'remove'
|
|
2576
|
+
} else if (sortAction === 'remove') {
|
|
2577
2577
|
newSorting = old.filter(d => d.id !== column.id);
|
|
2578
|
+
} else {
|
|
2579
|
+
newSorting = [{
|
|
2580
|
+
id: column.id,
|
|
2581
|
+
desc: nextDesc
|
|
2582
|
+
}];
|
|
2578
2583
|
}
|
|
2579
2584
|
|
|
2580
2585
|
return newSorting;
|
|
2581
2586
|
});
|
|
2582
2587
|
},
|
|
2583
|
-
|
|
2588
|
+
getFirstSortDir: () => {
|
|
2584
2589
|
var _ref, _column$columnDef$sor;
|
|
2585
2590
|
|
|
2586
2591
|
const sortDescFirst = (_ref = (_column$columnDef$sor = column.columnDef.sortDescFirst) != null ? _column$columnDef$sor : table.options.sortDescFirst) != null ? _ref : column.getAutoSortDir() === 'desc';
|
|
2587
|
-
|
|
2592
|
+
return sortDescFirst ? 'desc' : 'asc';
|
|
2593
|
+
},
|
|
2594
|
+
getNextSortingOrder: multi => {
|
|
2595
|
+
var _table$options$enable, _table$options$enable2;
|
|
2596
|
+
|
|
2597
|
+
const firstSortDirection = column.getFirstSortDir();
|
|
2588
2598
|
const isSorted = column.getIsSorted();
|
|
2589
2599
|
|
|
2590
2600
|
if (!isSorted) {
|
|
2591
2601
|
return firstSortDirection;
|
|
2592
2602
|
}
|
|
2593
2603
|
|
|
2594
|
-
if (isSorted
|
|
2595
|
-
|
|
2596
|
-
|
|
2604
|
+
if (isSorted !== firstSortDirection && ((_table$options$enable = table.options.enableSortingRemoval) != null ? _table$options$enable : true) && ( // If enableSortRemove, enable in general
|
|
2605
|
+
multi ? (_table$options$enable2 = table.options.enableMultiRemove) != null ? _table$options$enable2 : true : true) // If multi, don't allow if enableMultiRemove))
|
|
2606
|
+
) {
|
|
2597
2607
|
return false;
|
|
2598
2608
|
}
|
|
2609
|
+
|
|
2610
|
+
return isSorted === 'desc' ? 'asc' : 'desc';
|
|
2599
2611
|
},
|
|
2600
2612
|
getCanSort: () => {
|
|
2601
2613
|
var _column$columnDef$ena, _table$options$enable3;
|
|
@@ -2879,9 +2891,9 @@ function createTable(options) {
|
|
|
2879
2891
|
header: props => props.header.column.id,
|
|
2880
2892
|
footer: props => props.header.column.id,
|
|
2881
2893
|
cell: props => {
|
|
2882
|
-
var
|
|
2894
|
+
var _props$renderValue$to, _props$renderValue;
|
|
2883
2895
|
|
|
2884
|
-
return (
|
|
2896
|
+
return (_props$renderValue$to = (_props$renderValue = props.renderValue()) == null ? void 0 : _props$renderValue.toString == null ? void 0 : _props$renderValue.toString()) != null ? _props$renderValue$to : null;
|
|
2885
2897
|
},
|
|
2886
2898
|
...table._features.reduce((obj, feature) => {
|
|
2887
2899
|
return Object.assign(obj, feature.getDefaultColumnDef == null ? void 0 : feature.getDefaultColumnDef());
|
|
@@ -3411,9 +3423,7 @@ function getFacetedMinMaxValues() {
|
|
|
3411
3423
|
let facetedMinMaxValues = [firstValue, firstValue];
|
|
3412
3424
|
|
|
3413
3425
|
for (let i = 0; i < facetedRowModel.flatRows.length; i++) {
|
|
3414
|
-
|
|
3415
|
-
|
|
3416
|
-
const value = (_facetedRowModel$flat2 = facetedRowModel.flatRows[i]) == null ? void 0 : _facetedRowModel$flat2.getValue(columnId);
|
|
3426
|
+
const value = facetedRowModel.flatRows[i].getValue(columnId);
|
|
3417
3427
|
|
|
3418
3428
|
if (value < facetedMinMaxValues[0]) {
|
|
3419
3429
|
facetedMinMaxValues[0] = value;
|
|
@@ -3563,7 +3573,7 @@ function getGroupedRowModel() {
|
|
|
3563
3573
|
const subRows = groupUpRecursively(groupedRows, depth + 1, id); // Flatten the leaf rows of the rows in this group
|
|
3564
3574
|
|
|
3565
3575
|
const leafRows = depth ? flattenBy(groupedRows, row => row.subRows) : groupedRows;
|
|
3566
|
-
const row = createRow(table, id,
|
|
3576
|
+
const row = createRow(table, id, leafRows[0].original, index, depth);
|
|
3567
3577
|
Object.assign(row, {
|
|
3568
3578
|
groupingColumnId: columnId,
|
|
3569
3579
|
groupingValue,
|