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

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 (114) hide show
  1. package/build/cjs/core.js +7 -4
  2. package/build/cjs/core.js.map +1 -1
  3. package/build/cjs/features/Cells.js +2 -2
  4. package/build/cjs/features/Cells.js.map +1 -1
  5. package/build/cjs/features/ColumnSizing.js +68 -143
  6. package/build/cjs/features/ColumnSizing.js.map +1 -1
  7. package/build/cjs/features/Columns.js +7 -7
  8. package/build/cjs/features/Columns.js.map +1 -1
  9. package/build/cjs/features/Expanding.js +52 -90
  10. package/build/cjs/features/Expanding.js.map +1 -1
  11. package/build/cjs/features/Filters.js +213 -191
  12. package/build/cjs/features/Filters.js.map +1 -1
  13. package/build/cjs/features/Grouping.js +54 -80
  14. package/build/cjs/features/Grouping.js.map +1 -1
  15. package/build/cjs/features/Headers.js +16 -40
  16. package/build/cjs/features/Headers.js.map +1 -1
  17. package/build/cjs/features/Ordering.js +6 -5
  18. package/build/cjs/features/Ordering.js.map +1 -1
  19. package/build/cjs/features/Pagination.js +5 -5
  20. package/build/cjs/features/Pagination.js.map +1 -1
  21. package/build/cjs/features/Pinning.js +82 -168
  22. package/build/cjs/features/Pinning.js.map +1 -1
  23. package/build/cjs/features/RowSelection.js +67 -119
  24. package/build/cjs/features/RowSelection.js.map +1 -1
  25. package/build/cjs/features/Sorting.js +41 -91
  26. package/build/cjs/features/Sorting.js.map +1 -1
  27. package/build/cjs/features/Visibility.js +20 -43
  28. package/build/cjs/features/Visibility.js.map +1 -1
  29. package/build/cjs/filterFns.js +51 -108
  30. package/build/cjs/filterFns.js.map +1 -1
  31. package/build/cjs/index.js +5 -4
  32. package/build/cjs/index.js.map +1 -1
  33. package/build/cjs/utils/filterRowsUtils.js +21 -0
  34. package/build/cjs/utils/filterRowsUtils.js.map +1 -1
  35. package/build/cjs/utils/getCoreRowModelAsync.js +1 -1
  36. package/build/cjs/utils/getCoreRowModelAsync.js.map +1 -1
  37. package/build/cjs/utils/getCoreRowModelSync.js +1 -1
  38. package/build/cjs/utils/getCoreRowModelSync.js.map +1 -1
  39. package/build/cjs/utils/getExpandedRowModel.js +2 -2
  40. package/build/cjs/utils/getExpandedRowModel.js.map +1 -1
  41. package/build/cjs/utils/getFilteredRowModelSync.js +125 -0
  42. package/build/cjs/utils/getFilteredRowModelSync.js.map +1 -0
  43. package/build/cjs/utils/getGroupedRowModel.js +1 -1
  44. package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
  45. package/build/cjs/utils/getPaginationRowModel.js +1 -1
  46. package/build/cjs/utils/getPaginationRowModel.js.map +1 -1
  47. package/build/cjs/utils/getSortedRowModelSync.js +3 -3
  48. package/build/cjs/utils/getSortedRowModelSync.js.map +1 -1
  49. package/build/cjs/utils.js +2 -6
  50. package/build/cjs/utils.js.map +1 -1
  51. package/build/esm/index.js +899 -1357
  52. package/build/esm/index.js.map +1 -1
  53. package/build/stats-html.html +1 -1
  54. package/build/stats-react.json +404 -418
  55. package/build/types/features/ColumnSizing.d.ts +2 -13
  56. package/build/types/features/Expanding.d.ts +3 -13
  57. package/build/types/features/Filters.d.ts +38 -42
  58. package/build/types/features/Grouping.d.ts +3 -18
  59. package/build/types/features/Ordering.d.ts +2 -6
  60. package/build/types/features/Pinning.d.ts +2 -19
  61. package/build/types/features/RowSelection.d.ts +4 -15
  62. package/build/types/features/Sorting.d.ts +5 -22
  63. package/build/types/features/Visibility.d.ts +2 -15
  64. package/build/types/filterFns.d.ts +10 -52
  65. package/build/types/index.d.ts +1 -2
  66. package/build/types/types.d.ts +2 -4
  67. package/build/types/utils/filterRowsUtils.d.ts +1 -0
  68. package/build/types/utils/{getColumnFilteredRowModelAsync.d.ts → getFilteredRowModelAsync.d.ts} +1 -1
  69. package/build/types/utils/getFilteredRowModelSync.d.ts +2 -0
  70. package/build/types/utils.d.ts +2 -2
  71. package/build/umd/index.development.js +867 -1323
  72. package/build/umd/index.development.js.map +1 -1
  73. package/build/umd/index.production.js +1 -1
  74. package/build/umd/index.production.js.map +1 -1
  75. package/package.json +2 -1
  76. package/src/core.ts +5 -5
  77. package/src/features/Cells.ts +4 -2
  78. package/src/features/ColumnSizing.ts +69 -126
  79. package/src/features/Columns.ts +12 -7
  80. package/src/features/Expanding.ts +62 -107
  81. package/src/features/Filters.ts +293 -243
  82. package/src/features/Grouping.ts +59 -81
  83. package/src/features/Headers.ts +18 -40
  84. package/src/features/Ordering.ts +7 -9
  85. package/src/features/Pagination.ts +4 -3
  86. package/src/features/Pinning.ts +77 -164
  87. package/src/features/RowSelection.ts +76 -123
  88. package/src/features/Sorting.ts +48 -106
  89. package/src/features/Visibility.ts +25 -52
  90. package/src/filterFns.ts +74 -147
  91. package/src/index.ts +1 -2
  92. package/src/types.ts +2 -2
  93. package/src/utils/filterRowsUtils.ts +24 -0
  94. package/src/utils/getCoreRowModelAsync.ts +1 -1
  95. package/src/utils/getCoreRowModelSync.ts +1 -1
  96. package/src/utils/getExpandedRowModel.ts +2 -2
  97. package/src/utils/getFilteredRowModelAsync.ts +157 -0
  98. package/src/utils/getFilteredRowModelSync.ts +141 -0
  99. package/src/utils/getGroupedRowModel.ts +1 -1
  100. package/src/utils/getPaginationRowModel.ts +1 -1
  101. package/src/utils/getSortedRowModelAsync.ts +1 -1
  102. package/src/utils/getSortedRowModelSync.ts +4 -4
  103. package/src/utils.ts +2 -4
  104. package/build/cjs/utils/getColumnFilteredRowModelSync.js +0 -115
  105. package/build/cjs/utils/getColumnFilteredRowModelSync.js.map +0 -1
  106. package/build/cjs/utils/getGlobalFilteredRowModelSync.js +0 -91
  107. package/build/cjs/utils/getGlobalFilteredRowModelSync.js.map +0 -1
  108. package/build/types/utils/getColumnFilteredRowModelSync.d.ts +0 -2
  109. package/build/types/utils/getGlobalFilteredRowModelAsync.d.ts +0 -4
  110. package/build/types/utils/getGlobalFilteredRowModelSync.d.ts +0 -2
  111. package/src/utils/getColumnFilteredRowModelAsync.ts +0 -118
  112. package/src/utils/getColumnFilteredRowModelSync.ts +0 -102
  113. package/src/utils/getGlobalFilteredRowModelAsync.ts +0 -96
  114. package/src/utils/getGlobalFilteredRowModelSync.ts +0 -79
@@ -1 +1 @@
1
- {"version":3,"file":"Filters.js","sources":["../../../src/features/Filters.ts"],"sourcesContent":["import { RowModel } from '..'\nimport { BuiltInFilterFn, filterFns } from '../filterFns'\nimport {\n Column,\n OnChangeFn,\n TableGenerics,\n TableInstance,\n Row,\n Updater,\n} from '../types'\nimport {\n functionalUpdate,\n isFunction,\n makeStateUpdater,\n memo,\n Overwrite,\n} from '../utils'\n\nexport type FiltersTableState = {\n columnFilters: ColumnFiltersState\n globalFilter: any\n columnFiltersProgress: number\n globalFilterProgress: number\n}\n\nexport type ColumnFiltersState = ColumnFilter[]\n\nexport type ColumnFilter = {\n id: string\n value: unknown\n}\n\n/*\nA filter function is any function that takes an array of rows and returns an array of rows. Because filter functions can be used for both column and global filters, they are passed an array of columnIds to filter on. \n*/\n\nexport type FilterFn<TGenerics extends TableGenerics> = {\n (rows: Row<TGenerics>[], columnIds: string[], filterValue: any): any\n autoRemove?: ColumnFilterAutoRemoveTestFn<TGenerics>\n}\n\nexport type ColumnFilterAutoRemoveTestFn<TGenerics extends TableGenerics> = (\n value: unknown,\n column?: Column<TGenerics>\n) => boolean\n\nexport type CustomFilterFns<TGenerics extends TableGenerics> = Record<\n string,\n FilterFn<TGenerics>\n>\n\nexport type FilterFnOption<TGenerics extends TableGenerics> =\n | 'auto'\n | BuiltInFilterFn\n | keyof TGenerics['FilterFns']\n | FilterFn<TGenerics>\n\nexport type FiltersColumnDef<TGenerics extends TableGenerics> = {\n filterFn?: FilterFnOption<Overwrite<TGenerics, { Value: any }>>\n enableAllFilters?: boolean\n enableColumnFilter?: boolean\n enableGlobalFilter?: boolean\n defaultCanFilter?: boolean\n defaultCanColumnFilter?: boolean\n defaultCanGlobalFilter?: boolean\n}\n\nexport type FiltersColumn<TGenerics extends TableGenerics> = {\n filterFn: FilterFnOption<Overwrite<TGenerics, { Value: any }>>\n getCanColumnFilter: () => boolean\n getCanGlobalFilter: () => boolean\n getColumnFilterIndex: () => number\n getColumnIsFiltered: () => boolean\n getColumnFilterValue: () => unknown\n setColumnFilterValue: (updater: Updater<any>) => void\n getPreFilteredRows: () => Row<TGenerics>[] | undefined\n getPreFilteredUniqueValues: () => Map<any, number>\n getPreFilteredMinMaxValues: () => [any, any]\n}\n\nexport type FiltersOptions<TGenerics extends TableGenerics> = {\n filterFromLeafRows?: boolean\n filterFns?: TGenerics['FilterFns']\n enableFilters?: boolean\n // Column\n manualColumnFiltering?: boolean\n onColumnFiltersChange?: OnChangeFn<ColumnFiltersState>\n enableColumnFilters?: boolean\n getColumnFilteredRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n // Global\n manualGlobalFiltering?: boolean\n globalFilterFn?: FilterFnOption<TGenerics>\n onGlobalFilterChange?: OnChangeFn<any>\n enableGlobalFilter?: boolean\n getGlobalFilteredRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n getColumnCanGlobalFilterFn?: (column: Column<TGenerics>) => boolean\n}\n\nexport type FiltersInstance<TGenerics extends TableGenerics> = {\n getColumnAutoFilterFn: (columnId: string) => FilterFn<TGenerics> | undefined\n\n getColumnFilterFn: (columnId: string) => FilterFn<TGenerics> | undefined\n\n setColumnFilters: (updater: Updater<ColumnFiltersState>) => void\n setColumnFilterValue: (columnId: string, updater: Updater<any>) => void\n resetColumnFilters: () => void\n getColumnCanColumnFilter: (columnId: string) => boolean\n\n getColumnIsFiltered: (columnId: string) => boolean\n getColumnFilterValue: (columnId: string) => unknown\n getColumnFilterIndex: (columnId: string) => number\n\n // Column Filters\n getPreColumnFilteredRowModel: () => RowModel<TGenerics>\n getColumnFilteredRowModel: () => RowModel<TGenerics>\n _getColumnFilteredRowModel?: () => RowModel<TGenerics>\n\n // Global Filters\n setGlobalFilter: (updater: Updater<any>) => void\n resetGlobalFilter: () => void\n getGlobalAutoFilterFn: () => FilterFn<TGenerics> | undefined\n getGlobalFilterFn: () => FilterFn<TGenerics> | undefined\n getColumnCanGlobalFilter: (columnId: string) => boolean\n getPreGlobalFilteredRowModel: () => RowModel<TGenerics>\n getGlobalFilteredRowModel: () => RowModel<TGenerics>\n _getGlobalFilteredRowModel?: () => RowModel<TGenerics>\n}\n\n//\n\nexport const Filters = {\n getDefaultColumn: <\n TGenerics extends TableGenerics\n >(): FiltersColumnDef<TGenerics> => {\n return {\n filterFn: 'auto',\n }\n },\n\n getInitialState: (): FiltersTableState => {\n return {\n columnFilters: [],\n globalFilter: undefined,\n columnFiltersProgress: 1,\n globalFilterProgress: 1,\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): FiltersOptions<TGenerics> => {\n return {\n onColumnFiltersChange: makeStateUpdater('columnFilters', instance),\n onGlobalFilterChange: makeStateUpdater('globalFilter', instance),\n filterFromLeafRows: true,\n globalFilterFn: 'auto',\n getColumnCanGlobalFilterFn: column => {\n const value = instance\n .getCoreRowModel()\n .flatRows[0]?.getAllCellsByColumnId()[column.id]?.value\n\n return typeof value === 'string'\n },\n }\n },\n\n createColumn: <TGenerics extends TableGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): FiltersColumn<TGenerics> => {\n const getFacetInfo = memo(\n () => [column.getPreFilteredRows()],\n (rows = []) => {\n let preFilteredUniqueValues = new Map<any, number>()\n\n let preFilteredMinMaxValues: [any, any] = [\n rows[0]?.values[column.id] ?? null,\n rows[0]?.values[column.id] ?? null,\n ]\n\n for (let i = 0; i < rows.length; i++) {\n const value = rows[i]?.values[column.id]\n\n if (preFilteredUniqueValues.has(value)) {\n preFilteredUniqueValues.set(\n value,\n (preFilteredUniqueValues.get(value) ?? 0) + 1\n )\n } else {\n preFilteredUniqueValues.set(value, 1)\n }\n\n if (value < preFilteredMinMaxValues[0]) {\n preFilteredMinMaxValues[0] = value\n } else if (value > preFilteredMinMaxValues[1]) {\n preFilteredMinMaxValues[1] = value\n }\n }\n\n return {\n preFilteredUniqueValues,\n preFilteredMinMaxValues,\n }\n },\n {\n key: 'column.getFacetInfo',\n debug: () => instance.options.debugAll ?? instance.options.debugColumns,\n }\n )\n\n return {\n filterFn: column.filterFn,\n getCanColumnFilter: () => instance.getColumnCanColumnFilter(column.id),\n getCanGlobalFilter: () => instance.getColumnCanGlobalFilter(column.id),\n getColumnFilterIndex: () => instance.getColumnFilterIndex(column.id),\n getColumnIsFiltered: () => instance.getColumnIsFiltered(column.id),\n getColumnFilterValue: () => instance.getColumnFilterValue(column.id),\n setColumnFilterValue: val =>\n instance.setColumnFilterValue(column.id, val),\n getPreFilteredUniqueValues: () => getFacetInfo().preFilteredUniqueValues,\n getPreFilteredMinMaxValues: () => getFacetInfo().preFilteredMinMaxValues,\n getPreFilteredRows: () => undefined,\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): FiltersInstance<TGenerics> => {\n return {\n getColumnAutoFilterFn: columnId => {\n const firstRow = instance.getCoreRowModel().flatRows[0]\n\n const value = firstRow?.values[columnId]\n\n if (typeof value === 'string') {\n return filterFns.includesString\n }\n\n if (typeof value === 'number') {\n return filterFns.betweenNumberRange\n }\n\n if (value !== null && typeof value === 'object') {\n return filterFns.equals\n }\n\n if (Array.isArray(value)) {\n return filterFns.arrIncludes\n }\n\n return filterFns.weakEquals\n },\n getGlobalAutoFilterFn: () => {\n return filterFns.includesString\n },\n getColumnFilterFn: columnId => {\n const column = instance.getColumn(columnId)\n const userFilterFns = instance.options.filterFns\n\n if (!column) {\n throw new Error()\n }\n\n return isFunction(column.filterFn)\n ? column.filterFn\n : column.filterFn === 'auto'\n ? instance.getColumnAutoFilterFn(columnId)\n : (userFilterFns as Record<string, any>)?.[\n column.filterFn as string\n ] ??\n (filterFns[\n column.filterFn as BuiltInFilterFn\n ] as FilterFn<TGenerics>)\n },\n\n getGlobalFilterFn: () => {\n const { filterFns: userFilterFns, globalFilterFn: globalFilterFn } =\n instance.options\n\n return isFunction(globalFilterFn)\n ? globalFilterFn\n : globalFilterFn === 'auto'\n ? instance.getGlobalAutoFilterFn()\n : (userFilterFns as Record<string, any>)?.[\n globalFilterFn as string\n ] ??\n (filterFns[\n globalFilterFn as BuiltInFilterFn\n ] as FilterFn<TGenerics>)\n },\n\n setColumnFilters: (updater: Updater<ColumnFiltersState>) => {\n const leafColumns = instance.getAllLeafColumns()\n\n const updateFn = (old: ColumnFiltersState) => {\n return functionalUpdate(updater, old)?.filter(filter => {\n const column = leafColumns.find(d => d.id === filter.id)\n\n if (column) {\n const filterFn = instance.getColumnFilterFn(column.id)\n\n if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {\n return false\n }\n }\n\n return true\n })\n }\n\n instance.options.onColumnFiltersChange?.(updateFn)\n },\n\n setGlobalFilter: updater => {\n instance.options.onGlobalFilterChange?.(updater)\n },\n\n resetGlobalFilter: () => {\n instance.setGlobalFilter(instance.initialState.globalFilter)\n },\n\n getColumnCanColumnFilter: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n column.enableAllFilters ??\n column.enableColumnFilter ??\n instance.options.enableFilters ??\n instance.options.enableColumnFilters ??\n column.defaultCanColumnFilter ??\n column.defaultCanFilter ??\n !!column.accessorFn\n )\n },\n\n getColumnCanGlobalFilter: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n ((instance.options.enableFilters ??\n instance.options.enableGlobalFilter ??\n column.enableAllFilters ??\n column.enableGlobalFilter ??\n column.defaultCanGlobalFilter ??\n column.defaultCanFilter ??\n !!column.accessorFn) &&\n instance.options.getColumnCanGlobalFilterFn?.(column)) ??\n true\n )\n },\n\n getColumnIsFiltered: columnId =>\n instance.getColumnFilterIndex(columnId) > -1,\n\n getColumnFilterValue: columnId =>\n instance.getState().columnFilters?.find(d => d.id === columnId)?.value,\n\n getColumnFilterIndex: columnId =>\n instance.getState().columnFilters?.findIndex(d => d.id === columnId) ??\n -1,\n\n setColumnFilterValue: (columnId, value) => {\n if (!columnId) return\n\n instance.setColumnFilters(old => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Table: Could not find a column with id: ${columnId}`\n )\n }\n throw new Error()\n }\n\n const filterFn = instance.getColumnFilterFn(column.id)\n const previousfilter = old?.find(d => d.id === columnId)\n\n const newFilter = functionalUpdate(\n value,\n previousfilter ? previousfilter.value : undefined\n )\n\n //\n if (\n shouldAutoRemoveFilter(\n filterFn as FilterFn<TGenerics>,\n newFilter,\n column\n )\n ) {\n return old?.filter(d => d.id !== columnId) ?? []\n }\n\n const newFilterObj = { id: columnId, value: newFilter }\n\n if (previousfilter) {\n return (\n old?.map(d => {\n if (d.id === columnId) {\n return newFilterObj\n }\n return d\n }) ?? []\n )\n }\n\n if (old?.length) {\n return [...old, newFilterObj]\n }\n\n return [newFilterObj]\n })\n },\n\n resetColumnFilters: () => {\n instance.setColumnFilters(instance.initialState?.columnFilters ?? [])\n },\n\n getPreColumnFilteredRowModel: () => instance.getCoreRowModel(),\n getColumnFilteredRowModel: () => {\n if (\n !instance._getColumnFilteredRowModel &&\n instance.options.getColumnFilteredRowModel\n ) {\n instance._getColumnFilteredRowModel =\n instance.options.getColumnFilteredRowModel(instance)\n }\n\n if (\n instance.options.manualColumnFiltering ||\n !instance._getColumnFilteredRowModel\n ) {\n return instance.getPreColumnFilteredRowModel()\n }\n\n return instance._getColumnFilteredRowModel()\n },\n getPreGlobalFilteredRowModel: () => instance.getColumnFilteredRowModel(),\n getGlobalFilteredRowModel: () => {\n if (\n !instance._getGlobalFilteredRowModel &&\n instance.options.getGlobalFilteredRowModel\n ) {\n instance._getGlobalFilteredRowModel =\n instance.options.getGlobalFilteredRowModel(instance)\n }\n\n if (\n instance.options.manualGlobalFiltering ||\n !instance._getGlobalFilteredRowModel\n ) {\n return instance.getPreGlobalFilteredRowModel()\n }\n\n return instance._getGlobalFilteredRowModel()\n },\n }\n },\n}\n\nexport function shouldAutoRemoveFilter<TGenerics extends TableGenerics>(\n filterFn?: FilterFn<TGenerics>,\n value?: any,\n column?: Column<TGenerics>\n) {\n return (\n (filterFn && filterFn.autoRemove\n ? filterFn.autoRemove(value, column)\n : false) ||\n typeof value === 'undefined' ||\n (typeof value === 'string' && !value)\n )\n}\n"],"names":["Filters","getDefaultColumn","filterFn","getInitialState","columnFilters","globalFilter","undefined","columnFiltersProgress","globalFilterProgress","getDefaultOptions","instance","onColumnFiltersChange","makeStateUpdater","onGlobalFilterChange","filterFromLeafRows","globalFilterFn","getColumnCanGlobalFilterFn","column","value","getCoreRowModel","flatRows","getAllCellsByColumnId","id","createColumn","getFacetInfo","memo","getPreFilteredRows","rows","preFilteredUniqueValues","Map","preFilteredMinMaxValues","values","i","length","has","set","get","key","debug","options","debugAll","debugColumns","getCanColumnFilter","getColumnCanColumnFilter","getCanGlobalFilter","getColumnCanGlobalFilter","getColumnFilterIndex","getColumnIsFiltered","getColumnFilterValue","setColumnFilterValue","val","getPreFilteredUniqueValues","getPreFilteredMinMaxValues","createInstance","getColumnAutoFilterFn","columnId","firstRow","filterFns","includesString","betweenNumberRange","equals","Array","isArray","arrIncludes","weakEquals","getGlobalAutoFilterFn","getColumnFilterFn","getColumn","userFilterFns","Error","isFunction","getGlobalFilterFn","setColumnFilters","updater","leafColumns","getAllLeafColumns","updateFn","old","functionalUpdate","filter","find","d","shouldAutoRemoveFilter","setGlobalFilter","resetGlobalFilter","initialState","enableAllFilters","enableColumnFilter","enableFilters","enableColumnFilters","defaultCanColumnFilter","defaultCanFilter","accessorFn","enableGlobalFilter","defaultCanGlobalFilter","getState","findIndex","process","env","NODE_ENV","console","warn","previousfilter","newFilter","newFilterObj","map","resetColumnFilters","getPreColumnFilteredRowModel","getColumnFilteredRowModel","_getColumnFilteredRowModel","manualColumnFiltering","getPreGlobalFilteredRowModel","getGlobalFilteredRowModel","_getGlobalFilteredRowModel","manualGlobalFiltering","autoRemove"],"mappings":"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"}
1
+ {"version":3,"file":"Filters.js","sources":["../../../src/features/Filters.ts"],"sourcesContent":["import { RowModel } from '..'\nimport { BuiltInFilterFn, filterFns } from '../filterFns'\nimport {\n Column,\n OnChangeFn,\n TableGenerics,\n TableInstance,\n Row,\n Updater,\n TableFeature,\n} from '../types'\nimport {\n functionalUpdate,\n isFunction,\n makeStateUpdater,\n memo,\n Overwrite,\n} from '../utils'\nimport { filterRows } from '../utils/filterRowsUtils'\n\nexport type FiltersTableState = {\n columnFilters: ColumnFiltersState\n globalFilter: any\n columnFiltersProgress: number\n globalFilterProgress: number\n}\n\nexport type ColumnFiltersState = ColumnFilter[]\n\nexport type ColumnFilter = {\n id: string\n value: unknown\n}\n\nexport type ResolvedColumnFilter<TGenerics extends TableGenerics> = {\n id: string\n resolvedValue: unknown\n filterFn: FilterFn<TGenerics>\n}\n\nexport type FilterFn<TGenerics extends TableGenerics> = {\n (row: Row<TGenerics>, columnId: string, filterValue: any): boolean\n resolveFilterValue?: TransformFilterValueFn<TGenerics>\n autoRemove?: ColumnFilterAutoRemoveTestFn<TGenerics>\n}\n\nexport type TransformFilterValueFn<TGenerics extends TableGenerics> = (\n value: any,\n column?: Column<TGenerics>\n) => unknown\n\nexport type ColumnFilterAutoRemoveTestFn<TGenerics extends TableGenerics> = (\n value: any,\n column?: Column<TGenerics>\n) => boolean\n\nexport type CustomFilterFns<TGenerics extends TableGenerics> = Record<\n string,\n FilterFn<TGenerics>\n>\n\nexport type FilterFnOption<TGenerics extends TableGenerics> =\n | 'auto'\n | BuiltInFilterFn\n | keyof TGenerics['FilterFns']\n | FilterFn<TGenerics>\n\nexport type FiltersColumnDef<TGenerics extends TableGenerics> = {\n filterFn?: FilterFnOption<Overwrite<TGenerics, { Value: any }>>\n enableColumnFilter?: boolean\n enableGlobalFilter?: boolean\n enableFaceting?: boolean\n}\n\nexport type FiltersColumn<TGenerics extends TableGenerics> = {\n filterFn: FilterFnOption<Overwrite<TGenerics, { Value: any }>>\n getAutoFilterFn: () => FilterFn<TGenerics> | undefined\n getFilterFn: () => FilterFn<TGenerics> | undefined\n setFilterValue: (updater: Updater<any>) => void\n getCanFilter: () => boolean\n getCanGlobalFilter: () => boolean\n getFacetedRowModel: () => RowModel<TGenerics>\n getIsFiltered: () => boolean\n getFilterValue: () => unknown\n getFilterIndex: () => number\n getFacetedUniqueValues: () => Map<any, number>\n getFacetedMinMaxValues: () => [any, any]\n}\n\nexport type FiltersRow<TGenerics extends TableGenerics> = {\n columnFilterMap: Record<string, boolean>\n subRowsByFacetId: Record<string, Row<TGenerics>[]>\n}\n\nexport type FiltersOptions<TGenerics extends TableGenerics> = {\n enableFilters?: boolean\n manualFiltering?: boolean\n filterFromLeafRows?: boolean\n filterFns?: TGenerics['FilterFns']\n\n // Column\n onColumnFiltersChange?: OnChangeFn<ColumnFiltersState>\n enableColumnFilters?: boolean\n getFilteredRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n\n // Global\n globalFilterFn?: FilterFnOption<TGenerics>\n onGlobalFilterChange?: OnChangeFn<any>\n enableGlobalFilter?: boolean\n getColumnCanGlobalFilter?: (column: Column<TGenerics>) => boolean\n}\n\nexport type FiltersInstance<TGenerics extends TableGenerics> = {\n setColumnFilters: (updater: Updater<ColumnFiltersState>) => void\n\n resetColumnFilters: () => void\n\n // Column Filters\n getPreFilteredRowModel: () => RowModel<TGenerics>\n getFilteredRowModel: () => RowModel<TGenerics>\n _getFilteredRowModel?: () => RowModel<TGenerics>\n\n // Global Filters\n setGlobalFilter: (updater: Updater<any>) => void\n resetGlobalFilter: () => void\n getGlobalAutoFilterFn: () => FilterFn<TGenerics> | undefined\n getGlobalFilterFn: () => FilterFn<TGenerics> | undefined\n\n getGlobalFacetedRowModel: () => RowModel<TGenerics>\n getGlobalFacetedUniqueValues: () => Map<any, number>\n getGlobalFacetedMinMaxValues: () => [number, number]\n}\n\n//\n\nexport const Filters: TableFeature = {\n getDefaultColumn: <\n TGenerics extends TableGenerics\n >(): FiltersColumnDef<TGenerics> => {\n return {\n filterFn: 'auto',\n }\n },\n\n getInitialState: (state): FiltersTableState => {\n return {\n columnFilters: [],\n globalFilter: undefined,\n columnFiltersProgress: 1,\n globalFilterProgress: 1,\n ...state,\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): FiltersOptions<TGenerics> => {\n return {\n onColumnFiltersChange: makeStateUpdater('columnFilters', instance),\n onGlobalFilterChange: makeStateUpdater('globalFilter', instance),\n filterFromLeafRows: true,\n globalFilterFn: 'auto',\n getColumnCanGlobalFilter: column => {\n const value = instance\n .getCoreRowModel()\n .flatRows[0]?.getAllCellsByColumnId()[column.id]?.value\n\n return typeof value === 'string'\n },\n }\n },\n\n createColumn: <TGenerics extends TableGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): FiltersColumn<TGenerics> => {\n return {\n filterFn: column.filterFn,\n getAutoFilterFn: () => {\n const firstRow = instance.getCoreRowModel().flatRows[0]\n\n const value = firstRow?.values[column.id]\n\n if (typeof value === 'string') {\n return filterFns.includesString\n }\n\n if (typeof value === 'number') {\n return filterFns.inNumberRange\n }\n\n if (value !== null && typeof value === 'object') {\n return filterFns.equals\n }\n\n if (Array.isArray(value)) {\n return filterFns.arrIncludes\n }\n\n return filterFns.weakEquals\n },\n getFilterFn: () => {\n const userFilterFns = instance.options.filterFns\n\n return isFunction(column.filterFn)\n ? column.filterFn\n : column.filterFn === 'auto'\n ? column.getAutoFilterFn()\n : (userFilterFns as Record<string, any>)?.[\n column.filterFn as string\n ] ??\n (filterFns[\n column.filterFn as BuiltInFilterFn\n ] as FilterFn<TGenerics>)\n },\n getCanFilter: () => {\n return (\n (column.enableColumnFilter ?? true) &&\n (instance.options.enableColumnFilters ?? true) &&\n (instance.options.enableFilters ?? true) &&\n !!column.accessorFn\n )\n },\n\n getCanGlobalFilter: () => {\n return (\n (column.enableGlobalFilter ?? true) &&\n (instance.options.enableGlobalFilter ?? true) &&\n (instance.options.enableFilters ?? true) &&\n (instance.options.getColumnCanGlobalFilter?.(column) ?? true) &&\n !!column.accessorFn\n )\n },\n\n getIsFiltered: () => column.getFilterIndex() > -1,\n\n getFilterValue: () =>\n instance.getState().columnFilters?.find(d => d.id === column.id)?.value,\n\n getFilterIndex: () =>\n instance.getState().columnFilters?.findIndex(d => d.id === column.id) ??\n -1,\n\n setFilterValue: value => {\n instance.setColumnFilters(old => {\n const filterFn = column.getFilterFn()\n const previousfilter = old?.find(d => d.id === column.id)\n\n const newFilter = functionalUpdate(\n value,\n previousfilter ? previousfilter.value : undefined\n )\n\n //\n if (\n shouldAutoRemoveFilter(\n filterFn as FilterFn<TGenerics>,\n newFilter,\n column\n )\n ) {\n return old?.filter(d => d.id !== column.id) ?? []\n }\n\n const newFilterObj = { id: column.id, value: newFilter }\n\n if (previousfilter) {\n return (\n old?.map(d => {\n if (d.id === column.id) {\n return newFilterObj\n }\n return d\n }) ?? []\n )\n }\n\n if (old?.length) {\n return [...old, newFilterObj]\n }\n\n return [newFilterObj]\n })\n },\n getFacetedRowModel: memo(\n () => [\n instance.getPreFilteredRowModel(),\n instance.getState().columnFilters,\n instance.getState().globalFilter,\n // Include this to force the filtered facet info to be calculated\n instance.getFilteredRowModel(),\n ],\n (rowModel, columnFilters, globalFilter, _) => {\n if (!columnFilters?.length && !globalFilter) {\n return rowModel\n }\n\n return filterRows(\n rowModel.rows,\n [\n ...columnFilters.map(d => d.id).filter(d => d !== column.id),\n globalFilter ? '__global__' : undefined,\n ].filter(Boolean) as string[],\n instance\n )\n },\n {\n key:\n process.env.NODE_ENV === 'production' &&\n 'getFacetedRowModel_' + column.id,\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n getFacetedUniqueValues: memo(\n () => [column.getFacetedRowModel()],\n facetedRowModel => getRowModelUniqueValues(facetedRowModel, column.id),\n {\n key:\n process.env.NODE_ENV === 'production' &&\n 'column.getFacetedUniqueValues',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n getFacetedMinMaxValues: memo(\n () => [column.getFacetedRowModel()],\n facetedRowModel => getRowModelMinMaxValues(facetedRowModel, column.id),\n {\n key:\n process.env.NODE_ENV === 'production' &&\n 'column.getFacetedMinMaxValues',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n }\n },\n\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): FiltersRow<TGenerics> => {\n return {\n columnFilterMap: {},\n subRowsByFacetId: {},\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): FiltersInstance<TGenerics> => {\n return {\n getGlobalAutoFilterFn: () => {\n return filterFns.includesString\n },\n\n getGlobalFilterFn: () => {\n const { filterFns: userFilterFns, globalFilterFn: globalFilterFn } =\n instance.options\n\n return isFunction(globalFilterFn)\n ? globalFilterFn\n : globalFilterFn === 'auto'\n ? instance.getGlobalAutoFilterFn()\n : (userFilterFns as Record<string, any>)?.[\n globalFilterFn as string\n ] ??\n (filterFns[\n globalFilterFn as BuiltInFilterFn\n ] as FilterFn<TGenerics>)\n },\n\n setColumnFilters: (updater: Updater<ColumnFiltersState>) => {\n const leafColumns = instance.getAllLeafColumns()\n\n const updateFn = (old: ColumnFiltersState) => {\n return functionalUpdate(updater, old)?.filter(filter => {\n const column = leafColumns.find(d => d.id === filter.id)\n\n if (column) {\n const filterFn = column.getFilterFn()\n\n if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {\n return false\n }\n }\n\n return true\n })\n }\n\n instance.options.onColumnFiltersChange?.(updateFn)\n },\n\n setGlobalFilter: updater => {\n instance.options.onGlobalFilterChange?.(updater)\n },\n\n resetGlobalFilter: () => {\n instance.setGlobalFilter(instance.initialState.globalFilter)\n },\n\n resetColumnFilters: () => {\n instance.setColumnFilters(instance.initialState?.columnFilters ?? [])\n },\n\n getPreFilteredRowModel: () => instance.getCoreRowModel(),\n getFilteredRowModel: () => {\n if (\n !instance._getFilteredRowModel &&\n instance.options.getFilteredRowModel\n ) {\n instance._getFilteredRowModel =\n instance.options.getFilteredRowModel(instance)\n }\n\n if (\n instance.options.manualFiltering ||\n !instance._getFilteredRowModel\n ) {\n return instance.getPreFilteredRowModel()\n }\n\n return instance._getFilteredRowModel()\n },\n\n getGlobalFacetedRowModel: memo(\n () => [\n instance.getPreFilteredRowModel(),\n instance.getState().columnFilters,\n instance.getState().globalFilter,\n // Include this to force the filtered facet info to be calculated\n instance.getFilteredRowModel(),\n ],\n (rowModel, columnFilters, globalFilter, _) => {\n if (!columnFilters?.length && !globalFilter) {\n return rowModel\n }\n\n return filterRows(\n rowModel.rows,\n columnFilters.map(d => d.id),\n instance\n )\n },\n {\n key:\n process.env.NODE_ENV === 'production' && 'getGlobalFacetedRowModel',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n getGlobalFacetedUniqueValues: memo(\n () => [instance.getGlobalFacetedRowModel()],\n facetedRowModel =>\n getRowModelUniqueValues(facetedRowModel, '__global__'),\n {\n key:\n process.env.NODE_ENV === 'production' &&\n 'getGlobalFacetedUniqueValues',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n getGlobalFacetedMinMaxValues: memo(\n () => [instance.getGlobalFacetedRowModel()],\n facetedRowModel =>\n getRowModelMinMaxValues(facetedRowModel, '__global__'),\n {\n key:\n process.env.NODE_ENV === 'production' &&\n 'getGlobalFacetedMinMaxValues',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n }\n },\n}\n\nexport function shouldAutoRemoveFilter<TGenerics extends TableGenerics>(\n filterFn?: FilterFn<TGenerics>,\n value?: any,\n column?: Column<TGenerics>\n) {\n return (\n (filterFn && filterFn.autoRemove\n ? filterFn.autoRemove(value, column)\n : false) ||\n typeof value === 'undefined' ||\n (typeof value === 'string' && !value)\n )\n}\n\nexport function getRowModelMinMaxValues<TGenerics extends TableGenerics>(\n rowModel: RowModel<TGenerics>,\n columnId: string\n) {\n let facetedMinMaxValues: [any, any] = [\n rowModel.flatRows[0]?.values[columnId] ?? null,\n rowModel.flatRows[0]?.values[columnId] ?? null,\n ]\n\n for (let i = 0; i < rowModel.flatRows.length; i++) {\n const value = rowModel.flatRows[i]?.values[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\nexport function getRowModelUniqueValues<TGenerics extends TableGenerics>(\n rowModel: RowModel<TGenerics>,\n columnId: string\n) {\n let facetedUniqueValues = new Map<any, number>()\n\n for (let i = 0; i < rowModel.flatRows.length; i++) {\n const value = rowModel.flatRows[i]?.values[columnId]\n\n if (facetedUniqueValues.has(value)) {\n facetedUniqueValues.set(value, (facetedUniqueValues.get(value) ?? 0) + 1)\n } else {\n facetedUniqueValues.set(value, 1)\n }\n }\n\n return facetedUniqueValues\n}\n"],"names":["Filters","getDefaultColumn","filterFn","getInitialState","state","_extends","columnFilters","globalFilter","undefined","columnFiltersProgress","globalFilterProgress","getDefaultOptions","instance","onColumnFiltersChange","makeStateUpdater","onGlobalFilterChange","filterFromLeafRows","globalFilterFn","getColumnCanGlobalFilter","column","value","getCoreRowModel","flatRows","getAllCellsByColumnId","id","createColumn","getAutoFilterFn","firstRow","values","filterFns","includesString","inNumberRange","equals","Array","isArray","arrIncludes","weakEquals","getFilterFn","userFilterFns","options","isFunction","getCanFilter","enableColumnFilter","enableColumnFilters","enableFilters","accessorFn","getCanGlobalFilter","enableGlobalFilter","getIsFiltered","getFilterIndex","getFilterValue","getState","find","d","findIndex","setFilterValue","setColumnFilters","old","previousfilter","newFilter","functionalUpdate","shouldAutoRemoveFilter","filter","newFilterObj","map","length","getFacetedRowModel","memo","getPreFilteredRowModel","getFilteredRowModel","rowModel","_","filterRows","rows","Boolean","key","process","env","NODE_ENV","debug","debugAll","debugColumns","getFacetedUniqueValues","facetedRowModel","getRowModelUniqueValues","getFacetedMinMaxValues","getRowModelMinMaxValues","createRow","row","columnFilterMap","subRowsByFacetId","createInstance","getGlobalAutoFilterFn","getGlobalFilterFn","updater","leafColumns","getAllLeafColumns","updateFn","setGlobalFilter","resetGlobalFilter","initialState","resetColumnFilters","_getFilteredRowModel","manualFiltering","getGlobalFacetedRowModel","getGlobalFacetedUniqueValues","getGlobalFacetedMinMaxValues","autoRemove","columnId","facetedMinMaxValues","i","facetedUniqueValues","Map","has","set","get"],"mappings":"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"}
@@ -12,6 +12,7 @@
12
12
 
13
13
  Object.defineProperty(exports, '__esModule', { value: true });
14
14
 
15
+ var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.js');
15
16
  var aggregationFns = require('../aggregationFns.js');
16
17
  var utils = require('../utils.js');
17
18
 
@@ -22,10 +23,10 @@ var Grouping = {
22
23
  aggregationFn: 'auto'
23
24
  };
24
25
  },
25
- getInitialState: function getInitialState() {
26
- return {
26
+ getInitialState: function getInitialState(state) {
27
+ return _rollupPluginBabelHelpers["extends"]({
27
28
  grouping: []
28
- };
29
+ }, state);
29
30
  },
30
31
  getDefaultOptions: function getDefaultOptions(instance) {
31
32
  return {
@@ -35,21 +36,39 @@ var Grouping = {
35
36
  },
36
37
  createColumn: function createColumn(column, instance) {
37
38
  return {
38
- aggregationFn: column.aggregationFn,
39
- getCanGroup: function getCanGroup() {
40
- return instance.getColumnCanGroup(column.id);
39
+ toggleGrouping: function toggleGrouping() {
40
+ instance.setGrouping(function (old) {
41
+ // Find any existing grouping for this column
42
+ if (old != null && old.includes(column.id)) {
43
+ return old.filter(function (d) {
44
+ return d !== column.id;
45
+ });
46
+ }
47
+
48
+ return [].concat(old != null ? old : [], [column.id]);
49
+ });
41
50
  },
42
- getGroupedIndex: function getGroupedIndex() {
43
- return instance.getColumnGroupedIndex(column.id);
51
+ getCanGroup: function getCanGroup() {
52
+ var _ref, _ref2, _ref3, _column$enableGroupin;
53
+
54
+ return (_ref = (_ref2 = (_ref3 = (_column$enableGroupin = column.enableGrouping) != null ? _column$enableGroupin : true) != null ? _ref3 : instance.options.enableGrouping) != null ? _ref2 : true) != null ? _ref : !!column.accessorFn;
44
55
  },
45
56
  getIsGrouped: function getIsGrouped() {
46
- return instance.getColumnIsGrouped(column.id);
57
+ var _instance$getState$gr;
58
+
59
+ return (_instance$getState$gr = instance.getState().grouping) == null ? void 0 : _instance$getState$gr.includes(column.id);
47
60
  },
48
- toggleGrouping: function toggleGrouping() {
49
- return instance.toggleColumnGrouping(column.id);
61
+ getGroupedIndex: function getGroupedIndex() {
62
+ var _instance$getState$gr2;
63
+
64
+ return (_instance$getState$gr2 = instance.getState().grouping) == null ? void 0 : _instance$getState$gr2.indexOf(column.id);
50
65
  },
51
66
  getToggleGroupingHandler: function getToggleGroupingHandler() {
52
- return instance.getToggleGroupingHandler(column.id);
67
+ var canGroup = column.getCanGroup();
68
+ return function () {
69
+ if (!canGroup) return;
70
+ column.toggleGrouping();
71
+ };
53
72
  }
54
73
  };
55
74
  },
@@ -70,7 +89,7 @@ var Grouping = {
70
89
  return aggregationFns.aggregationFns.count;
71
90
  },
72
91
  getColumnAggregationFn: function getColumnAggregationFn(columnId) {
73
- var _ref;
92
+ var _ref4;
74
93
 
75
94
  var column = instance.getColumn(columnId);
76
95
  var userAggregationFns = instance.options.aggregationFns;
@@ -79,62 +98,16 @@ var Grouping = {
79
98
  throw new Error();
80
99
  }
81
100
 
82
- return utils.isFunction(column.aggregationFn) ? column.aggregationFn : column.aggregationFn === 'auto' ? instance.getColumnAutoAggregationFn(columnId) : (_ref = userAggregationFns == null ? void 0 : userAggregationFns[column.aggregationFn]) != null ? _ref : aggregationFns.aggregationFns[column.aggregationFn];
101
+ return utils.isFunction(column.aggregationFn) ? column.aggregationFn : column.aggregationFn === 'auto' ? instance.getColumnAutoAggregationFn(columnId) : (_ref4 = userAggregationFns == null ? void 0 : userAggregationFns[column.aggregationFn]) != null ? _ref4 : aggregationFns.aggregationFns[column.aggregationFn];
83
102
  },
84
103
  setGrouping: function setGrouping(updater) {
85
104
  return instance.options.onGroupingChange == null ? void 0 : instance.options.onGroupingChange(updater);
86
105
  },
87
- toggleColumnGrouping: function toggleColumnGrouping(columnId) {
88
- instance.setGrouping(function (old) {
89
- // Find any existing grouping for this column
90
- if (old != null && old.includes(columnId)) {
91
- return old.filter(function (d) {
92
- return d !== columnId;
93
- });
94
- }
95
-
96
- return [].concat(old != null ? old : [], [columnId]);
97
- });
98
- },
99
- getColumnCanGroup: function getColumnCanGroup(columnId) {
100
- var _ref2, _ref3, _column$enableGroupin;
101
-
102
- var column = instance.getColumn(columnId);
103
-
104
- if (!column) {
105
- throw new Error();
106
- }
107
-
108
- return (_ref2 = (_ref3 = (_column$enableGroupin = column.enableGrouping) != null ? _column$enableGroupin : instance.options.enableGrouping) != null ? _ref3 : column.defaultCanGroup) != null ? _ref2 : !!column.accessorFn;
109
- },
110
- getColumnIsGrouped: function getColumnIsGrouped(columnId) {
111
- var _instance$getState$gr;
112
-
113
- return (_instance$getState$gr = instance.getState().grouping) == null ? void 0 : _instance$getState$gr.includes(columnId);
114
- },
115
- getColumnGroupedIndex: function getColumnGroupedIndex(columnId) {
116
- var _instance$getState$gr2;
117
-
118
- return (_instance$getState$gr2 = instance.getState().grouping) == null ? void 0 : _instance$getState$gr2.indexOf(columnId);
119
- },
120
106
  resetGrouping: function resetGrouping() {
121
107
  var _instance$initialStat, _instance$initialStat2;
122
108
 
123
109
  instance.setGrouping((_instance$initialStat = (_instance$initialStat2 = instance.initialState) == null ? void 0 : _instance$initialStat2.grouping) != null ? _instance$initialStat : []);
124
110
  },
125
- getToggleGroupingHandler: function getToggleGroupingHandler(columnId) {
126
- var column = instance.getColumn(columnId);
127
- var canGroup = column.getCanGroup();
128
- return function () {
129
- if (!canGroup) return;
130
- column.toggleGrouping == null ? void 0 : column.toggleGrouping();
131
- };
132
- },
133
- getRowIsGrouped: function getRowIsGrouped(rowId) {
134
- var _instance$getRow;
135
-
136
- return !!((_instance$getRow = instance.getRow(rowId)) != null && _instance$getRow.groupingColumnId);
137
- },
138
111
  getPreGroupedRowModel: function getPreGroupedRowModel() {
139
112
  return instance.getSortedRowModel();
140
113
  },
@@ -154,7 +127,7 @@ var Grouping = {
154
127
  createRow: function createRow(row, instance) {
155
128
  return {
156
129
  getIsGrouped: function getIsGrouped() {
157
- return instance.getRowIsGrouped(row.id);
130
+ return !!row.groupingColumnId;
158
131
  }
159
132
  };
160
133
  },
@@ -184,28 +157,29 @@ var Grouping = {
184
157
  }) : null;
185
158
  }
186
159
  };
187
- },
188
- orderColumns: function orderColumns(leafColumns, grouping, groupedColumnMode) {
189
- if (!(grouping != null && grouping.length) || !groupedColumnMode) {
190
- return leafColumns;
191
- }
192
-
193
- var nonGroupingColumns = leafColumns.filter(function (col) {
194
- return !grouping.includes(col.id);
195
- });
160
+ }
161
+ };
162
+ function orderColumns(leafColumns, grouping, groupedColumnMode) {
163
+ if (!(grouping != null && grouping.length) || !groupedColumnMode) {
164
+ return leafColumns;
165
+ }
196
166
 
197
- if (groupedColumnMode === 'remove') {
198
- return nonGroupingColumns;
199
- }
167
+ var nonGroupingColumns = leafColumns.filter(function (col) {
168
+ return !grouping.includes(col.id);
169
+ });
200
170
 
201
- var groupingColumns = grouping.map(function (g) {
202
- return leafColumns.find(function (col) {
203
- return col.id === g;
204
- });
205
- }).filter(Boolean);
206
- return [].concat(groupingColumns, nonGroupingColumns);
171
+ if (groupedColumnMode === 'remove') {
172
+ return nonGroupingColumns;
207
173
  }
208
- };
174
+
175
+ var groupingColumns = grouping.map(function (g) {
176
+ return leafColumns.find(function (col) {
177
+ return col.id === g;
178
+ });
179
+ }).filter(Boolean);
180
+ return [].concat(groupingColumns, nonGroupingColumns);
181
+ }
209
182
 
210
183
  exports.Grouping = Grouping;
184
+ exports.orderColumns = orderColumns;
211
185
  //# sourceMappingURL=Grouping.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Grouping.js","sources":["../../../src/features/Grouping.ts"],"sourcesContent":["import { RowModel } from '..'\nimport { BuiltInAggregationFn, aggregationFns } from '../aggregationFns'\nimport {\n Cell,\n Column,\n OnChangeFn,\n TableInstance,\n Row,\n Updater,\n Renderable,\n TableGenerics,\n} from '../types'\nimport { isFunction, makeStateUpdater, Overwrite } from '../utils'\n\nexport type GroupingState = string[]\n\nexport type AggregationFn<TGenerics extends TableGenerics> = (\n getLeafValues: () => TGenerics['Row'][],\n getChildValues: () => TGenerics['Row'][]\n) => any\n\nexport type CustomAggregationFns<TGenerics extends TableGenerics> = Record<\n string,\n AggregationFn<TGenerics>\n>\n\nexport type AggregationFnOption<TGenerics extends TableGenerics> =\n | 'auto'\n | BuiltInAggregationFn\n | keyof TGenerics['AggregationFns']\n | AggregationFn<TGenerics>\n\nexport type GroupingTableState = {\n grouping: GroupingState\n}\n\nexport type GroupingColumnDef<TGenerics extends TableGenerics> = {\n aggregationFn?: AggregationFnOption<Overwrite<TGenerics, { Value: any }>>\n aggregateValue?: (columnValue: unknown) => any\n aggregatedCell?: Renderable<\n TGenerics,\n {\n instance: TableInstance<TGenerics>\n row: Row<TGenerics>\n column: Column<TGenerics>\n cell: Cell<TGenerics>\n value: TGenerics['Value']\n }\n >\n enableGrouping?: boolean\n defaultCanGroup?: boolean\n}\n\nexport type GroupingColumn<TGenerics extends TableGenerics> = {\n aggregationFn?: AggregationFnOption<Overwrite<TGenerics, { Value: any }>>\n getCanGroup: () => boolean\n getIsGrouped: () => boolean\n getGroupedIndex: () => number\n toggleGrouping: () => void\n getToggleGroupingHandler: () => () => void\n}\n\nexport type GroupingRow = {\n groupingColumnId?: string\n groupingValue?: any\n getIsGrouped: () => boolean\n}\n\nexport type GroupingCell<TGenerics extends TableGenerics> = {\n getIsGrouped: () => boolean\n getIsPlaceholder: () => boolean\n getIsAggregated: () => boolean\n renderAggregatedCell: () => string | null | TGenerics['Rendered']\n}\n\nexport type ColumnDefaultOptions = {\n // Column\n onGroupingChange: OnChangeFn<GroupingState>\n enableGrouping: boolean\n}\n\nexport type GroupingOptions<TGenerics extends TableGenerics> = {\n manualGrouping?: boolean\n aggregationFns?: TGenerics['AggregationFns']\n onGroupingChange?: OnChangeFn<GroupingState>\n enableGrouping?: boolean\n enableGroupingRemoval?: boolean\n getGroupedRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n\n groupedColumnMode?: false | 'reorder' | 'remove'\n}\n\nexport type GroupingColumnMode = false | 'reorder' | 'remove'\n\nexport type GroupingInstance<TGenerics extends TableGenerics> = {\n getColumnAutoAggregationFn: (\n columnId: string\n ) => AggregationFn<TGenerics> | undefined\n getColumnAggregationFn: (\n columnId: string\n ) => AggregationFn<TGenerics> | undefined\n setGrouping: (updater: Updater<GroupingState>) => void\n resetGrouping: () => void\n toggleColumnGrouping: (columnId: string) => void\n getColumnCanGroup: (columnId: string) => boolean\n getColumnIsGrouped: (columnId: string) => boolean\n getColumnGroupedIndex: (columnId: string) => number\n getToggleGroupingHandler: (columnId: string) => undefined | (() => void)\n getRowIsGrouped: (rowId: string) => boolean\n getPreGroupedRowModel: () => RowModel<TGenerics>\n getGroupedRowModel: () => RowModel<TGenerics>\n _getGroupedRowModel?: () => RowModel<TGenerics>\n}\n\n//\n\nexport const Grouping = {\n getDefaultColumn: <\n TGenerics extends TableGenerics\n >(): GroupingColumnDef<TGenerics> => {\n return {\n aggregationFn: 'auto',\n }\n },\n\n getInitialState: (): GroupingTableState => {\n return {\n grouping: [],\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): GroupingOptions<TGenerics> => {\n return {\n onGroupingChange: makeStateUpdater('grouping', instance),\n groupedColumnMode: 'reorder',\n }\n },\n\n createColumn: <TGenerics extends TableGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingColumn<TGenerics> => {\n return {\n aggregationFn: column.aggregationFn,\n getCanGroup: () => instance.getColumnCanGroup(column.id),\n getGroupedIndex: () => instance.getColumnGroupedIndex(column.id),\n getIsGrouped: () => instance.getColumnIsGrouped(column.id),\n toggleGrouping: () => instance.toggleColumnGrouping(column.id),\n getToggleGroupingHandler: () =>\n instance.getToggleGroupingHandler(column.id)!,\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): GroupingInstance<TGenerics> => {\n return {\n getColumnAutoAggregationFn: columnId => {\n const firstRow = instance.getCoreRowModel().flatRows[0]\n\n const value = firstRow?.values[columnId]\n\n if (typeof value === 'number') {\n return aggregationFns.sum\n }\n\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return aggregationFns.extent\n }\n\n return aggregationFns.count\n },\n getColumnAggregationFn: columnId => {\n const column = instance.getColumn(columnId)\n const userAggregationFns = instance.options.aggregationFns\n\n if (!column) {\n throw new Error()\n }\n\n return isFunction(column.aggregationFn)\n ? column.aggregationFn\n : column.aggregationFn === 'auto'\n ? instance.getColumnAutoAggregationFn(columnId)\n : (userAggregationFns as Record<string, any>)?.[\n column.aggregationFn as string\n ] ??\n (aggregationFns[\n column.aggregationFn as BuiltInAggregationFn\n ] as AggregationFn<TGenerics>)\n },\n\n setGrouping: updater => instance.options.onGroupingChange?.(updater),\n\n toggleColumnGrouping: columnId => {\n instance.setGrouping(old => {\n // Find any existing grouping for this column\n if (old?.includes(columnId)) {\n return old.filter(d => d !== columnId)\n }\n\n return [...(old ?? []), columnId]\n })\n },\n\n getColumnCanGroup: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n column.enableGrouping ??\n instance.options.enableGrouping ??\n column.defaultCanGroup ??\n !!column.accessorFn\n )\n },\n\n getColumnIsGrouped: columnId => {\n return instance.getState().grouping?.includes(columnId)\n },\n\n getColumnGroupedIndex: columnId =>\n instance.getState().grouping?.indexOf(columnId),\n\n resetGrouping: () => {\n instance.setGrouping(instance.initialState?.grouping ?? [])\n },\n\n getToggleGroupingHandler: columnId => {\n const column = instance.getColumn(columnId)\n const canGroup = column.getCanGroup()\n\n return () => {\n if (!canGroup) return\n column.toggleGrouping?.()\n }\n },\n\n getRowIsGrouped: rowId => !!instance.getRow(rowId)?.groupingColumnId,\n\n getPreGroupedRowModel: () => instance.getSortedRowModel(),\n getGroupedRowModel: () => {\n if (\n !instance._getGroupedRowModel &&\n instance.options.getGroupedRowModel\n ) {\n instance._getGroupedRowModel =\n instance.options.getGroupedRowModel(instance)\n }\n\n if (instance.options.manualGrouping || !instance._getGroupedRowModel) {\n return instance.getPreGroupedRowModel()\n }\n\n return instance._getGroupedRowModel()\n },\n }\n },\n\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingRow => {\n return {\n getIsGrouped: () => instance.getRowIsGrouped(row.id),\n }\n },\n\n createCell: <TGenerics extends TableGenerics>(\n cell: Cell<TGenerics>,\n column: Column<TGenerics>,\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingCell<TGenerics> => {\n return {\n getIsGrouped: () =>\n column.getIsGrouped() && column.id === row.groupingColumnId,\n getIsPlaceholder: () => !cell.getIsGrouped() && column.getIsGrouped(),\n getIsAggregated: () =>\n !cell.getIsGrouped() &&\n !cell.getIsPlaceholder() &&\n row.subRows?.length > 1,\n renderAggregatedCell: () => {\n const template = column.aggregatedCell ?? column.cell\n\n return template\n ? instance.render(template, {\n instance,\n column,\n row,\n cell,\n value: cell.value,\n })\n : null\n },\n }\n },\n\n orderColumns: <TGenerics extends TableGenerics>(\n leafColumns: Column<TGenerics>[],\n grouping: string[],\n groupedColumnMode?: GroupingColumnMode\n ) => {\n if (!grouping?.length || !groupedColumnMode) {\n return leafColumns\n }\n\n const nonGroupingColumns = leafColumns.filter(\n col => !grouping.includes(col.id)\n )\n\n if (groupedColumnMode === 'remove') {\n return nonGroupingColumns\n }\n\n const groupingColumns = grouping\n .map(g => leafColumns.find(col => col.id === g)!)\n .filter(Boolean)\n\n return [...groupingColumns, ...nonGroupingColumns]\n },\n}\n"],"names":["Grouping","getDefaultColumn","aggregationFn","getInitialState","grouping","getDefaultOptions","instance","onGroupingChange","makeStateUpdater","groupedColumnMode","createColumn","column","getCanGroup","getColumnCanGroup","id","getGroupedIndex","getColumnGroupedIndex","getIsGrouped","getColumnIsGrouped","toggleGrouping","toggleColumnGrouping","getToggleGroupingHandler","createInstance","getColumnAutoAggregationFn","columnId","firstRow","getCoreRowModel","flatRows","value","values","aggregationFns","sum","Object","prototype","toString","call","extent","count","getColumnAggregationFn","getColumn","userAggregationFns","options","Error","isFunction","setGrouping","updater","old","includes","filter","d","enableGrouping","defaultCanGroup","accessorFn","getState","indexOf","resetGrouping","initialState","canGroup","getRowIsGrouped","rowId","getRow","groupingColumnId","getPreGroupedRowModel","getSortedRowModel","getGroupedRowModel","_getGroupedRowModel","manualGrouping","createRow","row","createCell","cell","getIsPlaceholder","getIsAggregated","subRows","length","renderAggregatedCell","template","aggregatedCell","render","orderColumns","leafColumns","nonGroupingColumns","col","groupingColumns","map","g","find","Boolean"],"mappings":";;;;;;;;;;;;;;;;;AAoHA;AAEO,IAAMA,QAAQ,GAAG;AACtBC,EAAAA,gBAAgB,EAAE,SAEmB,gBAAA,GAAA;AACnC,IAAO,OAAA;AACLC,MAAAA,aAAa,EAAE,MAAA;AADV,KAAP,CAAA;AAGD,GAPqB;AAStBC,EAAAA,eAAe,EAAE,SAA0B,eAAA,GAAA;AACzC,IAAO,OAAA;AACLC,MAAAA,QAAQ,EAAE,EAAA;AADL,KAAP,CAAA;AAGD,GAbqB;AAetBC,EAAAA,iBAAiB,EAAE,SACjBC,iBAAAA,CAAAA,QADiB,EAEc;AAC/B,IAAO,OAAA;AACLC,MAAAA,gBAAgB,EAAEC,sBAAgB,CAAC,UAAD,EAAaF,QAAb,CAD7B;AAELG,MAAAA,iBAAiB,EAAE,SAAA;AAFd,KAAP,CAAA;AAID,GAtBqB;AAwBtBC,EAAAA,YAAY,EAAE,SAAA,YAAA,CACZC,MADY,EAEZL,QAFY,EAGkB;AAC9B,IAAO,OAAA;AACLJ,MAAAA,aAAa,EAAES,MAAM,CAACT,aADjB;AAELU,MAAAA,WAAW,EAAE,SAAA,WAAA,GAAA;AAAA,QAAA,OAAMN,QAAQ,CAACO,iBAAT,CAA2BF,MAAM,CAACG,EAAlC,CAAN,CAAA;AAAA,OAFR;AAGLC,MAAAA,eAAe,EAAE,SAAA,eAAA,GAAA;AAAA,QAAA,OAAMT,QAAQ,CAACU,qBAAT,CAA+BL,MAAM,CAACG,EAAtC,CAAN,CAAA;AAAA,OAHZ;AAILG,MAAAA,YAAY,EAAE,SAAA,YAAA,GAAA;AAAA,QAAA,OAAMX,QAAQ,CAACY,kBAAT,CAA4BP,MAAM,CAACG,EAAnC,CAAN,CAAA;AAAA,OAJT;AAKLK,MAAAA,cAAc,EAAE,SAAA,cAAA,GAAA;AAAA,QAAA,OAAMb,QAAQ,CAACc,oBAAT,CAA8BT,MAAM,CAACG,EAArC,CAAN,CAAA;AAAA,OALX;AAMLO,MAAAA,wBAAwB,EAAE,SAAA,wBAAA,GAAA;AAAA,QAAA,OACxBf,QAAQ,CAACe,wBAAT,CAAkCV,MAAM,CAACG,EAAzC,CADwB,CAAA;AAAA,OAAA;AANrB,KAAP,CAAA;AASD,GArCqB;AAuCtBQ,EAAAA,cAAc,EAAE,SACdhB,cAAAA,CAAAA,QADc,EAEkB;AAChC,IAAO,OAAA;AACLiB,MAAAA,0BAA0B,EAAE,SAAAC,0BAAAA,CAAAA,QAAQ,EAAI;AACtC,QAAMC,IAAAA,QAAQ,GAAGnB,QAAQ,CAACoB,eAAT,EAA2BC,CAAAA,QAA3B,CAAoC,CAApC,CAAjB,CAAA;AAEA,QAAMC,IAAAA,KAAK,GAAGH,QAAH,IAAA,IAAA,GAAA,KAAA,CAAA,GAAGA,QAAQ,CAAEI,MAAV,CAAiBL,QAAjB,CAAd,CAAA;;AAEA,QAAA,IAAI,OAAOI,KAAP,KAAiB,QAArB,EAA+B;AAC7B,UAAOE,OAAAA,6BAAc,CAACC,GAAtB,CAAA;AACD,SAAA;;AAED,QAAIC,IAAAA,MAAM,CAACC,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAA+BP,KAA/B,CAA0C,KAAA,eAA9C,EAA+D;AAC7D,UAAOE,OAAAA,6BAAc,CAACM,MAAtB,CAAA;AACD,SAAA;;AAED,QAAON,OAAAA,6BAAc,CAACO,KAAtB,CAAA;AACD,OAfI;AAgBLC,MAAAA,sBAAsB,EAAE,SAAAd,sBAAAA,CAAAA,QAAQ,EAAI;AAAA,QAAA,IAAA,IAAA,CAAA;;AAClC,QAAA,IAAMb,MAAM,GAAGL,QAAQ,CAACiC,SAAT,CAAmBf,QAAnB,CAAf,CAAA;AACA,QAAA,IAAMgB,kBAAkB,GAAGlC,QAAQ,CAACmC,OAAT,CAAiBX,cAA5C,CAAA;;AAEA,QAAI,IAAA,CAACnB,MAAL,EAAa;AACX,UAAM,MAAA,IAAI+B,KAAJ,EAAN,CAAA;AACD,SAAA;;AAED,QAAA,OAAOC,gBAAU,CAAChC,MAAM,CAACT,aAAR,CAAV,GACHS,MAAM,CAACT,aADJ,GAEHS,MAAM,CAACT,aAAP,KAAyB,MAAzB,GACAI,QAAQ,CAACiB,0BAAT,CAAoCC,QAApC,CADA,GAAA,CAAA,IAAA,GAECgB,kBAFD,IAAA,IAAA,GAAA,KAAA,CAAA,GAECA,kBAAD,CACE7B,MAAM,CAACT,aADT,CAFA,KAKC4B,IAAAA,GAAAA,IAAAA,GAAAA,6BAAc,CACbnB,MAAM,CAACT,aADM,CAPnB,CAAA;AAUD,OAlCI;AAoCL0C,MAAAA,WAAW,EAAE,SAAA,WAAA,CAAAC,OAAO,EAAA;AAAA,QAAA,OAAIvC,QAAQ,CAACmC,OAAT,CAAiBlC,gBAArB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAID,QAAQ,CAACmC,OAAT,CAAiBlC,gBAAjB,CAAoCsC,OAApC,CAAJ,CAAA;AAAA,OApCf;AAsCLzB,MAAAA,oBAAoB,EAAE,SAAAI,oBAAAA,CAAAA,QAAQ,EAAI;AAChClB,QAAAA,QAAQ,CAACsC,WAAT,CAAqB,UAAAE,GAAG,EAAI;AAC1B;AACA,UAAIA,IAAAA,GAAJ,YAAIA,GAAG,CAAEC,QAAL,CAAcvB,QAAd,CAAJ,EAA6B;AAC3B,YAAA,OAAOsB,GAAG,CAACE,MAAJ,CAAW,UAAAC,CAAC,EAAA;AAAA,cAAIA,OAAAA,CAAC,KAAKzB,QAAV,CAAA;AAAA,aAAZ,CAAP,CAAA;AACD,WAAA;;AAED,UAAA,OAAA,EAAA,CAAA,MAAA,CAAYsB,GAAZ,IAAYA,IAAAA,GAAAA,GAAZ,GAAmB,EAAnB,GAAwBtB,QAAxB,CAAA,CAAA,CAAA;AACD,SAPD,CAAA,CAAA;AAQD,OA/CI;AAiDLX,MAAAA,iBAAiB,EAAE,SAAAW,iBAAAA,CAAAA,QAAQ,EAAI;AAAA,QAAA,IAAA,KAAA,EAAA,KAAA,EAAA,qBAAA,CAAA;;AAC7B,QAAA,IAAMb,MAAM,GAAGL,QAAQ,CAACiC,SAAT,CAAmBf,QAAnB,CAAf,CAAA;;AAEA,QAAI,IAAA,CAACb,MAAL,EAAa;AACX,UAAM,MAAA,IAAI+B,KAAJ,EAAN,CAAA;AACD,SAAA;;AAED,QAAA,OAAA,CAAA,KAAA,GAAA,CAAA,KAAA,GAAA,CAAA,qBAAA,GACE/B,MAAM,CAACuC,cADT,oCAEE5C,QAAQ,CAACmC,OAAT,CAAiBS,cAFnB,KAGEvC,IAAAA,GAAAA,KAAAA,GAAAA,MAAM,CAACwC,eAHT,KAAA,IAAA,GAAA,KAAA,GAIE,CAAC,CAACxC,MAAM,CAACyC,UAJX,CAAA;AAMD,OA9DI;AAgELlC,MAAAA,kBAAkB,EAAE,SAAAM,kBAAAA,CAAAA,QAAQ,EAAI;AAAA,QAAA,IAAA,qBAAA,CAAA;;AAC9B,QAAOlB,OAAAA,CAAAA,qBAAAA,GAAAA,QAAQ,CAAC+C,QAAT,EAAoBjD,CAAAA,QAA3B,qBAAO,qBAA8B2C,CAAAA,QAA9B,CAAuCvB,QAAvC,CAAP,CAAA;AACD,OAlEI;AAoELR,MAAAA,qBAAqB,EAAE,SAAA,qBAAA,CAAAQ,QAAQ,EAAA;AAAA,QAAA,IAAA,sBAAA,CAAA;;AAAA,QAC7BlB,OAAAA,CAAAA,sBAAAA,GAAAA,QAAQ,CAAC+C,QAAT,EAAoBjD,CAAAA,QADS,qBAC7B,sBAA8BkD,CAAAA,OAA9B,CAAsC9B,QAAtC,CAD6B,CAAA;AAAA,OApE1B;AAuEL+B,MAAAA,aAAa,EAAE,SAAM,aAAA,GAAA;AAAA,QAAA,IAAA,qBAAA,EAAA,sBAAA,CAAA;;AACnBjD,QAAAA,QAAQ,CAACsC,WAAT,CAAqBtC,CAAAA,qBAAAA,GAAAA,CAAAA,sBAAAA,GAAAA,QAAQ,CAACkD,YAA9B,KAAqB,IAAA,GAAA,KAAA,CAAA,GAAA,sBAAA,CAAuBpD,QAA5C,KAAA,IAAA,GAAA,qBAAA,GAAwD,EAAxD,CAAA,CAAA;AACD,OAzEI;AA2ELiB,MAAAA,wBAAwB,EAAE,SAAAG,wBAAAA,CAAAA,QAAQ,EAAI;AACpC,QAAA,IAAMb,MAAM,GAAGL,QAAQ,CAACiC,SAAT,CAAmBf,QAAnB,CAAf,CAAA;AACA,QAAA,IAAMiC,QAAQ,GAAG9C,MAAM,CAACC,WAAP,EAAjB,CAAA;AAEA,QAAA,OAAO,YAAM;AACX,UAAI,IAAA,CAAC6C,QAAL,EAAe,OAAA;AACf9C,UAAAA,MAAM,CAACQ,cAAP,IAAAR,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAACQ,cAAP,EAAA,CAAA;AACD,SAHD,CAAA;AAID,OAnFI;AAqFLuC,MAAAA,eAAe,EAAE,SAAA,eAAA,CAAAC,KAAK,EAAA;AAAA,QAAA,IAAA,gBAAA,CAAA;;AAAA,QAAI,OAAA,CAAC,EAACrD,CAAAA,gBAAAA,GAAAA,QAAQ,CAACsD,MAAT,CAAgBD,KAAhB,CAAD,KAAA,IAAA,IAAC,gBAAwBE,CAAAA,gBAAzB,CAAL,CAAA;AAAA,OArFjB;AAuFLC,MAAAA,qBAAqB,EAAE,SAAA,qBAAA,GAAA;AAAA,QAAMxD,OAAAA,QAAQ,CAACyD,iBAAT,EAAN,CAAA;AAAA,OAvFlB;AAwFLC,MAAAA,kBAAkB,EAAE,SAAM,kBAAA,GAAA;AACxB,QACE,IAAA,CAAC1D,QAAQ,CAAC2D,mBAAV,IACA3D,QAAQ,CAACmC,OAAT,CAAiBuB,kBAFnB,EAGE;AACA1D,UAAAA,QAAQ,CAAC2D,mBAAT,GACE3D,QAAQ,CAACmC,OAAT,CAAiBuB,kBAAjB,CAAoC1D,QAApC,CADF,CAAA;AAED,SAAA;;AAED,QAAIA,IAAAA,QAAQ,CAACmC,OAAT,CAAiByB,cAAjB,IAAmC,CAAC5D,QAAQ,CAAC2D,mBAAjD,EAAsE;AACpE,UAAO3D,OAAAA,QAAQ,CAACwD,qBAAT,EAAP,CAAA;AACD,SAAA;;AAED,QAAOxD,OAAAA,QAAQ,CAAC2D,mBAAT,EAAP,CAAA;AACD,OAAA;AAtGI,KAAP,CAAA;AAwGD,GAlJqB;AAoJtBE,EAAAA,SAAS,EAAE,SAAA,SAAA,CACTC,GADS,EAET9D,QAFS,EAGO;AAChB,IAAO,OAAA;AACLW,MAAAA,YAAY,EAAE,SAAA,YAAA,GAAA;AAAA,QAAA,OAAMX,QAAQ,CAACoD,eAAT,CAAyBU,GAAG,CAACtD,EAA7B,CAAN,CAAA;AAAA,OAAA;AADT,KAAP,CAAA;AAGD,GA3JqB;AA6JtBuD,EAAAA,UAAU,EAAE,SAAA,UAAA,CACVC,IADU,EAEV3D,MAFU,EAGVyD,GAHU,EAIV9D,QAJU,EAKkB;AAC5B,IAAO,OAAA;AACLW,MAAAA,YAAY,EAAE,SAAA,YAAA,GAAA;AAAA,QACZN,OAAAA,MAAM,CAACM,YAAP,EAAyBN,IAAAA,MAAM,CAACG,EAAP,KAAcsD,GAAG,CAACP,gBAD/B,CAAA;AAAA,OADT;AAGLU,MAAAA,gBAAgB,EAAE,SAAA,gBAAA,GAAA;AAAA,QAAM,OAAA,CAACD,IAAI,CAACrD,YAAL,EAAD,IAAwBN,MAAM,CAACM,YAAP,EAA9B,CAAA;AAAA,OAHb;AAILuD,MAAAA,eAAe,EAAE,SAAA,eAAA,GAAA;AAAA,QAAA,IAAA,YAAA,CAAA;;AAAA,QAAA,OACf,CAACF,IAAI,CAACrD,YAAL,EAAD,IACA,CAACqD,IAAI,CAACC,gBAAL,EADD,IAEA,iBAAAH,GAAG,CAACK,OAAJ,KAAaC,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAAA,CAAAA,MAAb,IAAsB,CAHP,CAAA;AAAA,OAJZ;AAQLC,MAAAA,oBAAoB,EAAE,SAAM,oBAAA,GAAA;AAAA,QAAA,IAAA,qBAAA,CAAA;;AAC1B,QAAMC,IAAAA,QAAQ,4BAAGjE,MAAM,CAACkE,cAAV,KAA4BlE,IAAAA,GAAAA,qBAAAA,GAAAA,MAAM,CAAC2D,IAAjD,CAAA;AAEA,QAAA,OAAOM,QAAQ,GACXtE,QAAQ,CAACwE,MAAT,CAAgBF,QAAhB,EAA0B;AACxBtE,UAAAA,QAAQ,EAARA,QADwB;AAExBK,UAAAA,MAAM,EAANA,MAFwB;AAGxByD,UAAAA,GAAG,EAAHA,GAHwB;AAIxBE,UAAAA,IAAI,EAAJA,IAJwB;AAKxB1C,UAAAA,KAAK,EAAE0C,IAAI,CAAC1C,KAAAA;AALY,SAA1B,CADW,GAQX,IARJ,CAAA;AASD,OAAA;AApBI,KAAP,CAAA;AAsBD,GAzLqB;AA2LtBmD,EAAAA,YAAY,EAAE,SACZC,YAAAA,CAAAA,WADY,EAEZ5E,QAFY,EAGZK,iBAHY,EAIT;AACH,IAAI,IAAA,EAACL,QAAD,IAACA,IAAAA,IAAAA,QAAQ,CAAEsE,MAAX,CAAA,IAAqB,CAACjE,iBAA1B,EAA6C;AAC3C,MAAA,OAAOuE,WAAP,CAAA;AACD,KAAA;;AAED,IAAA,IAAMC,kBAAkB,GAAGD,WAAW,CAAChC,MAAZ,CACzB,UAAAkC,GAAG,EAAA;AAAA,MAAI,OAAA,CAAC9E,QAAQ,CAAC2C,QAAT,CAAkBmC,GAAG,CAACpE,EAAtB,CAAL,CAAA;AAAA,KADsB,CAA3B,CAAA;;AAIA,IAAIL,IAAAA,iBAAiB,KAAK,QAA1B,EAAoC;AAClC,MAAA,OAAOwE,kBAAP,CAAA;AACD,KAAA;;AAED,IAAA,IAAME,eAAe,GAAG/E,QAAQ,CAC7BgF,GADqB,CACjB,UAAAC,CAAC,EAAA;AAAA,MAAA,OAAIL,WAAW,CAACM,IAAZ,CAAiB,UAAAJ,GAAG,EAAA;AAAA,QAAA,OAAIA,GAAG,CAACpE,EAAJ,KAAWuE,CAAf,CAAA;AAAA,OAApB,CAAJ,CAAA;AAAA,KADgB,CAErBrC,CAAAA,MAFqB,CAEduC,OAFc,CAAxB,CAAA;AAIA,IAAWJ,OAAAA,EAAAA,CAAAA,MAAAA,CAAAA,eAAX,EAA+BF,kBAA/B,CAAA,CAAA;AACD,GAAA;AAjNqB;;;;"}
1
+ {"version":3,"file":"Grouping.js","sources":["../../../src/features/Grouping.ts"],"sourcesContent":["import { RowModel } from '..'\nimport { BuiltInAggregationFn, aggregationFns } from '../aggregationFns'\nimport {\n Cell,\n Column,\n OnChangeFn,\n TableInstance,\n Row,\n Updater,\n Renderable,\n TableGenerics,\n TableFeature,\n} from '../types'\nimport { isFunction, makeStateUpdater, Overwrite } from '../utils'\n\nexport type GroupingState = string[]\n\nexport type AggregationFn<TGenerics extends TableGenerics> = (\n getLeafValues: () => TGenerics['Row'][],\n getChildValues: () => TGenerics['Row'][]\n) => any\n\nexport type CustomAggregationFns<TGenerics extends TableGenerics> = Record<\n string,\n AggregationFn<TGenerics>\n>\n\nexport type AggregationFnOption<TGenerics extends TableGenerics> =\n | 'auto'\n | BuiltInAggregationFn\n | keyof TGenerics['AggregationFns']\n | AggregationFn<TGenerics>\n\nexport type GroupingTableState = {\n grouping: GroupingState\n}\n\nexport type GroupingColumnDef<TGenerics extends TableGenerics> = {\n aggregationFn?: AggregationFnOption<Overwrite<TGenerics, { Value: any }>>\n aggregateValue?: (columnValue: unknown) => any\n aggregatedCell?: Renderable<\n TGenerics,\n {\n instance: TableInstance<TGenerics>\n row: Row<TGenerics>\n column: Column<TGenerics>\n cell: Cell<TGenerics>\n value: TGenerics['Value']\n }\n >\n enableGrouping?: boolean\n}\n\nexport type GroupingColumn<TGenerics extends TableGenerics> = {\n aggregationFn?: AggregationFnOption<Overwrite<TGenerics, { Value: any }>>\n getCanGroup: () => boolean\n getIsGrouped: () => boolean\n getGroupedIndex: () => number\n toggleGrouping: () => void\n getToggleGroupingHandler: () => () => void\n}\n\nexport type GroupingRow = {\n groupingColumnId?: string\n groupingValue?: any\n getIsGrouped: () => boolean\n}\n\nexport type GroupingCell<TGenerics extends TableGenerics> = {\n getIsGrouped: () => boolean\n getIsPlaceholder: () => boolean\n getIsAggregated: () => boolean\n renderAggregatedCell: () => string | null | TGenerics['Rendered']\n}\n\nexport type ColumnDefaultOptions = {\n // Column\n onGroupingChange: OnChangeFn<GroupingState>\n enableGrouping: boolean\n}\n\nexport type GroupingOptions<TGenerics extends TableGenerics> = {\n manualGrouping?: boolean\n aggregationFns?: TGenerics['AggregationFns']\n onGroupingChange?: OnChangeFn<GroupingState>\n enableGrouping?: boolean\n enableGroupingRemoval?: boolean\n getGroupedRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n\n groupedColumnMode?: false | 'reorder' | 'remove'\n}\n\nexport type GroupingColumnMode = false | 'reorder' | 'remove'\n\nexport type GroupingInstance<TGenerics extends TableGenerics> = {\n getColumnAutoAggregationFn: (\n columnId: string\n ) => AggregationFn<TGenerics> | undefined\n getColumnAggregationFn: (\n columnId: string\n ) => AggregationFn<TGenerics> | undefined\n setGrouping: (updater: Updater<GroupingState>) => void\n resetGrouping: () => void\n getPreGroupedRowModel: () => RowModel<TGenerics>\n getGroupedRowModel: () => RowModel<TGenerics>\n _getGroupedRowModel?: () => RowModel<TGenerics>\n}\n\n//\n\nexport const Grouping: TableFeature = {\n getDefaultColumn: <\n TGenerics extends TableGenerics\n >(): GroupingColumnDef<TGenerics> => {\n return {\n aggregationFn: 'auto',\n }\n },\n\n getInitialState: (state): GroupingTableState => {\n return {\n grouping: [],\n ...state,\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): GroupingOptions<TGenerics> => {\n return {\n onGroupingChange: makeStateUpdater('grouping', instance),\n groupedColumnMode: 'reorder',\n }\n },\n\n createColumn: <TGenerics extends TableGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingColumn<TGenerics> => {\n return {\n toggleGrouping: () => {\n instance.setGrouping(old => {\n // Find any existing grouping for this column\n if (old?.includes(column.id)) {\n return old.filter(d => d !== column.id)\n }\n\n return [...(old ?? []), column.id]\n })\n },\n\n getCanGroup: () => {\n return (\n column.enableGrouping ??\n true ??\n instance.options.enableGrouping ??\n true ??\n !!column.accessorFn\n )\n },\n\n getIsGrouped: () => {\n return instance.getState().grouping?.includes(column.id)\n },\n\n getGroupedIndex: () => instance.getState().grouping?.indexOf(column.id),\n\n getToggleGroupingHandler: () => {\n const canGroup = column.getCanGroup()\n\n return () => {\n if (!canGroup) return\n column.toggleGrouping()\n }\n },\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): GroupingInstance<TGenerics> => {\n return {\n getColumnAutoAggregationFn: columnId => {\n const firstRow = instance.getCoreRowModel().flatRows[0]\n\n const value = firstRow?.values[columnId]\n\n if (typeof value === 'number') {\n return aggregationFns.sum\n }\n\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return aggregationFns.extent\n }\n\n return aggregationFns.count\n },\n getColumnAggregationFn: columnId => {\n const column = instance.getColumn(columnId)\n const userAggregationFns = instance.options.aggregationFns\n\n if (!column) {\n throw new Error()\n }\n\n return isFunction(column.aggregationFn)\n ? column.aggregationFn\n : column.aggregationFn === 'auto'\n ? instance.getColumnAutoAggregationFn(columnId)\n : (userAggregationFns as Record<string, any>)?.[\n column.aggregationFn as string\n ] ??\n (aggregationFns[\n column.aggregationFn as BuiltInAggregationFn\n ] as AggregationFn<TGenerics>)\n },\n\n setGrouping: updater => instance.options.onGroupingChange?.(updater),\n\n resetGrouping: () => {\n instance.setGrouping(instance.initialState?.grouping ?? [])\n },\n\n getPreGroupedRowModel: () => instance.getSortedRowModel(),\n getGroupedRowModel: () => {\n if (\n !instance._getGroupedRowModel &&\n instance.options.getGroupedRowModel\n ) {\n instance._getGroupedRowModel =\n instance.options.getGroupedRowModel(instance)\n }\n\n if (instance.options.manualGrouping || !instance._getGroupedRowModel) {\n return instance.getPreGroupedRowModel()\n }\n\n return instance._getGroupedRowModel()\n },\n }\n },\n\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingRow => {\n return {\n getIsGrouped: () => !!row.groupingColumnId,\n }\n },\n\n createCell: <TGenerics extends TableGenerics>(\n cell: Cell<TGenerics>,\n column: Column<TGenerics>,\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingCell<TGenerics> => {\n return {\n getIsGrouped: () =>\n column.getIsGrouped() && column.id === row.groupingColumnId,\n getIsPlaceholder: () => !cell.getIsGrouped() && column.getIsGrouped(),\n getIsAggregated: () =>\n !cell.getIsGrouped() &&\n !cell.getIsPlaceholder() &&\n row.subRows?.length > 1,\n renderAggregatedCell: () => {\n const template = column.aggregatedCell ?? column.cell\n\n return template\n ? instance.render(template, {\n instance,\n column,\n row,\n cell,\n value: cell.value,\n })\n : null\n },\n }\n },\n}\n\nexport function orderColumns<TGenerics extends TableGenerics>(\n leafColumns: Column<TGenerics>[],\n grouping: string[],\n groupedColumnMode?: GroupingColumnMode\n) {\n if (!grouping?.length || !groupedColumnMode) {\n return leafColumns\n }\n\n const nonGroupingColumns = leafColumns.filter(\n col => !grouping.includes(col.id)\n )\n\n if (groupedColumnMode === 'remove') {\n return nonGroupingColumns\n }\n\n const groupingColumns = grouping\n .map(g => leafColumns.find(col => col.id === g)!)\n .filter(Boolean)\n\n return [...groupingColumns, ...nonGroupingColumns]\n}\n"],"names":["Grouping","getDefaultColumn","aggregationFn","getInitialState","state","_extends","grouping","getDefaultOptions","instance","onGroupingChange","makeStateUpdater","groupedColumnMode","createColumn","column","toggleGrouping","setGrouping","old","includes","id","filter","d","getCanGroup","enableGrouping","options","accessorFn","getIsGrouped","getState","getGroupedIndex","indexOf","getToggleGroupingHandler","canGroup","createInstance","getColumnAutoAggregationFn","columnId","firstRow","getCoreRowModel","flatRows","value","values","aggregationFns","sum","Object","prototype","toString","call","extent","count","getColumnAggregationFn","getColumn","userAggregationFns","Error","isFunction","updater","resetGrouping","initialState","getPreGroupedRowModel","getSortedRowModel","getGroupedRowModel","_getGroupedRowModel","manualGrouping","createRow","row","groupingColumnId","createCell","cell","getIsPlaceholder","getIsAggregated","subRows","length","renderAggregatedCell","template","aggregatedCell","render","orderColumns","leafColumns","nonGroupingColumns","col","groupingColumns","map","g","find","Boolean"],"mappings":"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"}
@@ -33,30 +33,6 @@ var Headers = {
33
33
  colSpan: 0,
34
34
  rowSpan: 0,
35
35
  headerGroup: null,
36
- getSize: function getSize() {
37
- var sum = 0;
38
-
39
- var recurse = function recurse(header) {
40
- if (header.subHeaders.length) {
41
- header.subHeaders.forEach(recurse);
42
- } else {
43
- var _header$column$getSiz;
44
-
45
- sum += (_header$column$getSiz = header.column.getSize()) != null ? _header$column$getSiz : 0;
46
- }
47
- };
48
-
49
- recurse(header);
50
- return sum;
51
- },
52
- getStart: function getStart() {
53
- if (header.index > 0) {
54
- var prevSiblingHeader = header.headerGroup.headers[header.index - 1];
55
- return prevSiblingHeader.getStart() + prevSiblingHeader.getSize();
56
- }
57
-
58
- return 0;
59
- },
60
36
  getLeafHeaders: function getLeafHeaders() {
61
37
  var leafHeaders = [];
62
38
 
@@ -109,7 +85,7 @@ var Headers = {
109
85
  var headerGroups = buildHeaderGroups(allColumns, [].concat(leftColumns, centerColumns, rightColumns), instance);
110
86
  return headerGroups;
111
87
  }, {
112
- key: 'getHeaderGroups',
88
+ key: process.env.NODE_ENV === 'development' && 'getHeaderGroups',
113
89
  debug: function debug() {
114
90
  var _instance$options$deb;
115
91
 
@@ -124,7 +100,7 @@ var Headers = {
124
100
  });
125
101
  return buildHeaderGroups(allColumns, leafColumns, instance, 'center');
126
102
  }, {
127
- key: 'getCenterHeaderGroups',
103
+ key: process.env.NODE_ENV === 'development' && 'getCenterHeaderGroups',
128
104
  debug: function debug() {
129
105
  var _instance$options$deb2;
130
106
 
@@ -139,7 +115,7 @@ var Headers = {
139
115
  });
140
116
  return buildHeaderGroups(allColumns, leafColumns, instance, 'left');
141
117
  }, {
142
- key: 'getLeftHeaderGroups',
118
+ key: process.env.NODE_ENV === 'development' && 'getLeftHeaderGroups',
143
119
  debug: function debug() {
144
120
  var _instance$options$deb3;
145
121
 
@@ -154,7 +130,7 @@ var Headers = {
154
130
  });
155
131
  return buildHeaderGroups(allColumns, leafColumns, instance, 'right');
156
132
  }, {
157
- key: 'getRightHeaderGroups',
133
+ key: process.env.NODE_ENV === 'development' && 'getRightHeaderGroups',
158
134
  debug: function debug() {
159
135
  var _instance$options$deb4;
160
136
 
@@ -167,7 +143,7 @@ var Headers = {
167
143
  }, function (headerGroups) {
168
144
  return [].concat(headerGroups).reverse();
169
145
  }, {
170
- key: 'getFooterGroups',
146
+ key: process.env.NODE_ENV === 'development' && 'getFooterGroups',
171
147
  debug: function debug() {
172
148
  var _instance$options$deb5;
173
149
 
@@ -179,7 +155,7 @@ var Headers = {
179
155
  }, function (headerGroups) {
180
156
  return [].concat(headerGroups).reverse();
181
157
  }, {
182
- key: 'getLeftFooterGroups',
158
+ key: process.env.NODE_ENV === 'development' && 'getLeftFooterGroups',
183
159
  debug: function debug() {
184
160
  var _instance$options$deb6;
185
161
 
@@ -191,7 +167,7 @@ var Headers = {
191
167
  }, function (headerGroups) {
192
168
  return [].concat(headerGroups).reverse();
193
169
  }, {
194
- key: 'getCenterFooterGroups',
170
+ key: process.env.NODE_ENV === 'development' && 'getCenterFooterGroups',
195
171
  debug: function debug() {
196
172
  var _instance$options$deb7;
197
173
 
@@ -203,7 +179,7 @@ var Headers = {
203
179
  }, function (headerGroups) {
204
180
  return [].concat(headerGroups).reverse();
205
181
  }, {
206
- key: 'getRightFooterGroups',
182
+ key: process.env.NODE_ENV === 'development' && 'getRightFooterGroups',
207
183
  debug: function debug() {
208
184
  var _instance$options$deb8;
209
185
 
@@ -218,7 +194,7 @@ var Headers = {
218
194
  return headerGroup.headers;
219
195
  }).flat();
220
196
  }, {
221
- key: 'getFlatHeaders',
197
+ key: process.env.NODE_ENV === 'development' && 'getFlatHeaders',
222
198
  debug: function debug() {
223
199
  var _instance$options$deb9;
224
200
 
@@ -232,7 +208,7 @@ var Headers = {
232
208
  return headerGroup.headers;
233
209
  }).flat();
234
210
  }, {
235
- key: 'getLeftFlatHeaders',
211
+ key: process.env.NODE_ENV === 'development' && 'getLeftFlatHeaders',
236
212
  debug: function debug() {
237
213
  var _instance$options$deb10;
238
214
 
@@ -246,7 +222,7 @@ var Headers = {
246
222
  return headerGroup.headers;
247
223
  }).flat();
248
224
  }, {
249
- key: 'getCenterFlatHeaders',
225
+ key: process.env.NODE_ENV === 'development' && 'getCenterFlatHeaders',
250
226
  debug: function debug() {
251
227
  var _instance$options$deb11;
252
228
 
@@ -260,7 +236,7 @@ var Headers = {
260
236
  return headerGroup.headers;
261
237
  }).flat();
262
238
  }, {
263
- key: 'getRightFlatHeaders',
239
+ key: process.env.NODE_ENV === 'development' && 'getRightFlatHeaders',
264
240
  debug: function debug() {
265
241
  var _instance$options$deb12;
266
242
 
@@ -277,7 +253,7 @@ var Headers = {
277
253
  return !((_header$subHeaders = header.subHeaders) != null && _header$subHeaders.length);
278
254
  });
279
255
  }, {
280
- key: 'getCenterLeafHeaders',
256
+ key: process.env.NODE_ENV === 'development' && 'getCenterLeafHeaders',
281
257
  debug: function debug() {
282
258
  var _instance$options$deb13;
283
259
 
@@ -293,7 +269,7 @@ var Headers = {
293
269
  return !((_header$subHeaders2 = header.subHeaders) != null && _header$subHeaders2.length);
294
270
  });
295
271
  }, {
296
- key: 'getLeftLeafHeaders',
272
+ key: process.env.NODE_ENV === 'development' && 'getLeftLeafHeaders',
297
273
  debug: function debug() {
298
274
  var _instance$options$deb14;
299
275
 
@@ -309,7 +285,7 @@ var Headers = {
309
285
  return !((_header$subHeaders3 = header.subHeaders) != null && _header$subHeaders3.length);
310
286
  });
311
287
  }, {
312
- key: 'getRightLeafHeaders',
288
+ key: process.env.NODE_ENV === 'development' && 'getRightLeafHeaders',
313
289
  debug: function debug() {
314
290
  var _instance$options$deb15;
315
291
 
@@ -325,7 +301,7 @@ var Headers = {
325
301
  return header.getLeafHeaders();
326
302
  }).flat();
327
303
  }, {
328
- key: 'getLeafHeaders',
304
+ key: process.env.NODE_ENV === 'development' && 'getLeafHeaders',
329
305
  debug: function debug() {
330
306
  var _instance$options$deb16;
331
307