@tanstack/table-core 8.0.0-alpha.55 → 8.0.0-alpha.57
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/core.js +9 -384
- package/build/cjs/core.js.map +1 -1
- package/build/cjs/features/Cells.js +122 -0
- package/build/cjs/features/Cells.js.map +1 -0
- package/build/cjs/features/ColumnSizing.js +90 -37
- package/build/cjs/features/ColumnSizing.js.map +1 -1
- package/build/cjs/features/Columns.js +216 -0
- package/build/cjs/features/Columns.js.map +1 -0
- package/build/cjs/features/Expanding.js +1 -1
- package/build/cjs/features/Expanding.js.map +1 -1
- package/build/cjs/features/Filters.js +1 -1
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Grouping.js +1 -1
- package/build/cjs/features/Grouping.js.map +1 -1
- package/build/cjs/features/Headers.js +78 -153
- package/build/cjs/features/Headers.js.map +1 -1
- package/build/cjs/features/Ordering.js +1 -1
- package/build/cjs/features/Ordering.js.map +1 -1
- package/build/cjs/features/Pagination.js +1 -1
- package/build/cjs/features/Pagination.js.map +1 -1
- package/build/cjs/features/Pinning.js +172 -2
- package/build/cjs/features/Pinning.js.map +1 -1
- package/build/cjs/features/RowSelection.js +1 -1
- package/build/cjs/features/RowSelection.js.map +1 -1
- package/build/cjs/features/Rows.js +99 -0
- package/build/cjs/features/Rows.js.map +1 -0
- package/build/cjs/features/Sorting.js +1 -1
- package/build/cjs/features/Sorting.js.map +1 -1
- package/build/cjs/features/Visibility.js +51 -17
- package/build/cjs/features/Visibility.js.map +1 -1
- package/build/cjs/utils.js.map +1 -1
- package/build/esm/index.js +876 -690
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +418 -316
- package/build/types/core.d.ts +2 -79
- package/build/types/features/Cells.d.ts +14 -0
- package/build/types/features/ColumnSizing.d.ts +23 -15
- package/build/types/features/Columns.d.ts +54 -0
- package/build/types/features/Expanding.d.ts +1 -1
- package/build/types/features/Filters.d.ts +1 -1
- package/build/types/features/Grouping.d.ts +1 -1
- package/build/types/features/Headers.d.ts +3 -11
- package/build/types/features/Ordering.d.ts +1 -1
- package/build/types/features/Pagination.d.ts +1 -1
- package/build/types/features/Pinning.d.ts +18 -4
- package/build/types/features/RowSelection.d.ts +1 -1
- package/build/types/features/Rows.d.ts +29 -0
- package/build/types/features/Sorting.d.ts +1 -1
- package/build/types/features/Visibility.d.ts +7 -2
- package/build/types/types.d.ts +18 -10
- package/build/types/utils.d.ts +0 -1
- package/build/umd/index.development.js +854 -668
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +1 -1
- package/build/umd/index.production.js.map +1 -1
- package/package.json +1 -1
- package/src/core.ts +28 -550
- package/src/features/Cells.ts +156 -0
- package/src/features/ColumnSizing.ts +99 -47
- package/src/features/Columns.ts +290 -0
- package/src/features/Expanding.ts +1 -1
- package/src/features/Filters.ts +1 -1
- package/src/features/Grouping.ts +1 -1
- package/src/features/Headers.ts +48 -138
- package/src/features/Ordering.ts +1 -1
- package/src/features/Pagination.ts +1 -1
- package/src/features/Pinning.ts +194 -3
- package/src/features/RowSelection.ts +1 -1
- package/src/features/Rows.ts +151 -0
- package/src/features/Sorting.ts +1 -1
- package/src/features/Visibility.ts +67 -20
- package/src/types.ts +25 -37
- package/src/utils.ts +1 -3
|
@@ -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 Getter,\n OnChangeFn,\n PropGetterValue,\n TableInstance,\n Row,\n Updater,\n Renderable,\n UseRenderer,\n TableGenerics,\n} from '../types'\nimport {\n functionalUpdate,\n isFunction,\n makeStateUpdater,\n memo,\n Overwrite,\n propGetter,\n} 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 getToggleGroupingProps: <TGetter extends Getter<ToggleGroupingProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleGroupingProps, TGetter>\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 | ReturnType<UseRenderer<TGenerics>>\n}\n\nexport type ColumnDefaultOptions = {\n // Column\n onGroupingChange: OnChangeFn<GroupingState>\n autoResetGrouping: boolean\n enableGrouping: boolean\n}\n\nexport type GroupingOptions<TGenerics extends TableGenerics> = {\n aggregationFns?: TGenerics['AggregationFns']\n onGroupingChange?: OnChangeFn<GroupingState>\n autoResetGrouping?: boolean\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 ToggleGroupingProps = {\n title?: string\n onClick?: (event: unknown) => void\n}\n\nexport type GroupingInstance<TGenerics extends TableGenerics> = {\n queueResetGrouping: () => void\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 getToggleGroupingProps: <TGetter extends Getter<ToggleGroupingProps>>(\n columnId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleGroupingProps, TGetter>\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 autoResetGrouping: true,\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 getToggleGroupingProps: userProps =>\n instance.getToggleGroupingProps(column.id, userProps),\n }\n },\n\n getInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): GroupingInstance<TGenerics> => {\n let registered = false\n\n return {\n queueResetGrouping: () => {\n instance.queueResetExpanded()\n\n if (!registered) {\n registered = true\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetGrouping\n ) {\n instance.resetGrouping()\n }\n },\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 getToggleGroupingProps: (columnId, userProps) => {\n const column = instance.getColumn(columnId)\n\n const canGroup = column.getCanGroup()\n\n const initialProps: ToggleGroupingProps = {\n title: canGroup ? 'Toggle Grouping' : undefined,\n onClick: canGroup\n ? (e: unknown) => {\n column.toggleGrouping?.()\n }\n : undefined,\n }\n\n return propGetter(initialProps, userProps)\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._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","autoResetGrouping","groupedColumnMode","createColumn","column","getCanGroup","getColumnCanGroup","id","getGroupedIndex","getColumnGroupedIndex","getIsGrouped","getColumnIsGrouped","toggleGrouping","toggleColumnGrouping","getToggleGroupingProps","userProps","getInstance","registered","queueResetGrouping","queueResetExpanded","options","autoResetAll","resetGrouping","getColumnAutoAggregationFn","columnId","firstRow","getCoreRowModel","flatRows","value","values","aggregationFns","sum","Object","prototype","toString","call","extent","count","getColumnAggregationFn","getColumn","userAggregationFns","Error","isFunction","setGrouping","updater","old","includes","filter","d","enableGrouping","defaultCanGroup","accessorFn","getState","indexOf","initialState","canGroup","initialProps","title","undefined","onClick","e","propGetter","getRowIsGrouped","rowId","getRow","groupingColumnId","getPreGroupedRowModel","getSortedRowModel","getGroupedRowModel","_getGroupedRowModel","createRow","row","createCell","cell","getIsPlaceholder","getIsAggregated","subRows","length","renderAggregatedCell","template","aggregatedCell","render","orderColumns","leafColumns","nonGroupingColumns","col","groupingColumns","map","g","find","Boolean"],"mappings":"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"}
|
|
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 Getter,\n OnChangeFn,\n PropGetterValue,\n TableInstance,\n Row,\n Updater,\n Renderable,\n UseRenderer,\n TableGenerics,\n} from '../types'\nimport {\n functionalUpdate,\n isFunction,\n makeStateUpdater,\n memo,\n Overwrite,\n propGetter,\n} 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 getToggleGroupingProps: <TGetter extends Getter<ToggleGroupingProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleGroupingProps, TGetter>\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 | ReturnType<UseRenderer<TGenerics>>\n}\n\nexport type ColumnDefaultOptions = {\n // Column\n onGroupingChange: OnChangeFn<GroupingState>\n autoResetGrouping: boolean\n enableGrouping: boolean\n}\n\nexport type GroupingOptions<TGenerics extends TableGenerics> = {\n aggregationFns?: TGenerics['AggregationFns']\n onGroupingChange?: OnChangeFn<GroupingState>\n autoResetGrouping?: boolean\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 ToggleGroupingProps = {\n title?: string\n onClick?: (event: unknown) => void\n}\n\nexport type GroupingInstance<TGenerics extends TableGenerics> = {\n queueResetGrouping: () => void\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 getToggleGroupingProps: <TGetter extends Getter<ToggleGroupingProps>>(\n columnId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleGroupingProps, TGetter>\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 autoResetGrouping: true,\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 getToggleGroupingProps: userProps =>\n instance.getToggleGroupingProps(column.id, userProps),\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): GroupingInstance<TGenerics> => {\n let registered = false\n\n return {\n queueResetGrouping: () => {\n instance.queueResetExpanded()\n\n if (!registered) {\n registered = true\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetGrouping\n ) {\n instance.resetGrouping()\n }\n },\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 getToggleGroupingProps: (columnId, userProps) => {\n const column = instance.getColumn(columnId)\n\n const canGroup = column.getCanGroup()\n\n const initialProps: ToggleGroupingProps = {\n title: canGroup ? 'Toggle Grouping' : undefined,\n onClick: canGroup\n ? (e: unknown) => {\n column.toggleGrouping?.()\n }\n : undefined,\n }\n\n return propGetter(initialProps, userProps)\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._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","autoResetGrouping","groupedColumnMode","createColumn","column","getCanGroup","getColumnCanGroup","id","getGroupedIndex","getColumnGroupedIndex","getIsGrouped","getColumnIsGrouped","toggleGrouping","toggleColumnGrouping","getToggleGroupingProps","userProps","createInstance","registered","queueResetGrouping","queueResetExpanded","options","autoResetAll","resetGrouping","getColumnAutoAggregationFn","columnId","firstRow","getCoreRowModel","flatRows","value","values","aggregationFns","sum","Object","prototype","toString","call","extent","count","getColumnAggregationFn","getColumn","userAggregationFns","Error","isFunction","setGrouping","updater","old","includes","filter","d","enableGrouping","defaultCanGroup","accessorFn","getState","indexOf","initialState","canGroup","initialProps","title","undefined","onClick","e","propGetter","getRowIsGrouped","rowId","getRow","groupingColumnId","getPreGroupedRowModel","getSortedRowModel","getGroupedRowModel","_getGroupedRowModel","createRow","row","createCell","cell","getIsPlaceholder","getIsAggregated","subRows","length","renderAggregatedCell","template","aggregatedCell","render","orderColumns","leafColumns","nonGroupingColumns","col","groupingColumns","map","g","find","Boolean"],"mappings":"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"}
|
|
@@ -13,94 +13,10 @@
|
|
|
13
13
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
14
|
|
|
15
15
|
var utils = require('../utils.js');
|
|
16
|
-
var ColumnSizing = require('./ColumnSizing.js');
|
|
17
16
|
|
|
18
17
|
//
|
|
19
18
|
var Headers = {
|
|
20
|
-
|
|
21
|
-
return {
|
|
22
|
-
_getAllVisibleCells: utils.memo(function () {
|
|
23
|
-
return [row.getAllCells().filter(function (cell) {
|
|
24
|
-
return cell.column.getIsVisible();
|
|
25
|
-
}).map(function (d) {
|
|
26
|
-
return d.id;
|
|
27
|
-
}).join('_')];
|
|
28
|
-
}, function (_) {
|
|
29
|
-
return row.getAllCells().filter(function (cell) {
|
|
30
|
-
return cell.column.getIsVisible();
|
|
31
|
-
});
|
|
32
|
-
}, {
|
|
33
|
-
key: 'row._getAllVisibleCells',
|
|
34
|
-
debug: function debug() {
|
|
35
|
-
var _instance$options$deb;
|
|
36
|
-
|
|
37
|
-
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugRows;
|
|
38
|
-
}
|
|
39
|
-
}),
|
|
40
|
-
getVisibleCells: utils.memo(function () {
|
|
41
|
-
return [row.getLeftVisibleCells(), row.getCenterVisibleCells(), row.getRightVisibleCells()];
|
|
42
|
-
}, function (left, center, right) {
|
|
43
|
-
return [].concat(left, center, right);
|
|
44
|
-
}, {
|
|
45
|
-
key: 'row.getVisibleCells',
|
|
46
|
-
debug: function debug() {
|
|
47
|
-
var _instance$options$deb2;
|
|
48
|
-
|
|
49
|
-
return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugRows;
|
|
50
|
-
}
|
|
51
|
-
}),
|
|
52
|
-
getCenterVisibleCells: utils.memo(function () {
|
|
53
|
-
return [row._getAllVisibleCells(), instance.getState().columnPinning.left, instance.getState().columnPinning.right];
|
|
54
|
-
}, function (allCells, left, right) {
|
|
55
|
-
var leftAndRight = [].concat(left != null ? left : [], right != null ? right : []);
|
|
56
|
-
return allCells.filter(function (d) {
|
|
57
|
-
return !leftAndRight.includes(d.columnId);
|
|
58
|
-
});
|
|
59
|
-
}, {
|
|
60
|
-
key: 'row.getCenterVisibleCells',
|
|
61
|
-
debug: function debug() {
|
|
62
|
-
var _instance$options$deb3;
|
|
63
|
-
|
|
64
|
-
return (_instance$options$deb3 = instance.options.debugAll) != null ? _instance$options$deb3 : instance.options.debugRows;
|
|
65
|
-
}
|
|
66
|
-
}),
|
|
67
|
-
getLeftVisibleCells: utils.memo(function () {
|
|
68
|
-
return [row._getAllVisibleCells(), instance.getState().columnPinning.left,,];
|
|
69
|
-
}, function (allCells, left) {
|
|
70
|
-
var cells = (left != null ? left : []).map(function (columnId) {
|
|
71
|
-
return allCells.find(function (cell) {
|
|
72
|
-
return cell.columnId === columnId;
|
|
73
|
-
});
|
|
74
|
-
}).filter(Boolean);
|
|
75
|
-
return cells;
|
|
76
|
-
}, {
|
|
77
|
-
key: 'row.getLeftVisibleCells',
|
|
78
|
-
debug: function debug() {
|
|
79
|
-
var _instance$options$deb4;
|
|
80
|
-
|
|
81
|
-
return (_instance$options$deb4 = instance.options.debugAll) != null ? _instance$options$deb4 : instance.options.debugRows;
|
|
82
|
-
}
|
|
83
|
-
}),
|
|
84
|
-
getRightVisibleCells: utils.memo(function () {
|
|
85
|
-
return [row._getAllVisibleCells(), instance.getState().columnPinning.right];
|
|
86
|
-
}, function (allCells, right) {
|
|
87
|
-
var cells = (right != null ? right : []).map(function (columnId) {
|
|
88
|
-
return allCells.find(function (cell) {
|
|
89
|
-
return cell.columnId === columnId;
|
|
90
|
-
});
|
|
91
|
-
}).filter(Boolean);
|
|
92
|
-
return cells;
|
|
93
|
-
}, {
|
|
94
|
-
key: 'row.getRightVisibleCells',
|
|
95
|
-
debug: function debug() {
|
|
96
|
-
var _instance$options$deb5;
|
|
97
|
-
|
|
98
|
-
return (_instance$options$deb5 = instance.options.debugAll) != null ? _instance$options$deb5 : instance.options.debugRows;
|
|
99
|
-
}
|
|
100
|
-
})
|
|
101
|
-
};
|
|
102
|
-
},
|
|
103
|
-
getInstance: function getInstance(instance) {
|
|
19
|
+
createInstance: function createInstance(instance) {
|
|
104
20
|
return {
|
|
105
21
|
createHeader: function createHeader(column, options) {
|
|
106
22
|
var _options$id;
|
|
@@ -109,28 +25,38 @@ var Headers = {
|
|
|
109
25
|
var header = {
|
|
110
26
|
id: id,
|
|
111
27
|
column: column,
|
|
28
|
+
index: options.index,
|
|
112
29
|
isPlaceholder: options.isPlaceholder,
|
|
113
30
|
placeholderId: options.placeholderId,
|
|
114
31
|
depth: options.depth,
|
|
115
32
|
subHeaders: [],
|
|
116
33
|
colSpan: 0,
|
|
117
34
|
rowSpan: 0,
|
|
118
|
-
|
|
35
|
+
headerGroup: null,
|
|
36
|
+
getSize: function getSize() {
|
|
119
37
|
var sum = 0;
|
|
120
38
|
|
|
121
39
|
var recurse = function recurse(header) {
|
|
122
40
|
if (header.subHeaders.length) {
|
|
123
41
|
header.subHeaders.forEach(recurse);
|
|
124
42
|
} else {
|
|
125
|
-
var _header$column$
|
|
43
|
+
var _header$column$getSiz;
|
|
126
44
|
|
|
127
|
-
sum += (_header$column$
|
|
45
|
+
sum += (_header$column$getSiz = header.column.getSize()) != null ? _header$column$getSiz : 0;
|
|
128
46
|
}
|
|
129
47
|
};
|
|
130
48
|
|
|
131
49
|
recurse(header);
|
|
132
50
|
return sum;
|
|
133
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
|
+
},
|
|
134
60
|
getLeafHeaders: function getLeafHeaders() {
|
|
135
61
|
var leafHeaders = [];
|
|
136
62
|
|
|
@@ -165,9 +91,13 @@ var Headers = {
|
|
|
165
91
|
column: column
|
|
166
92
|
}) : null;
|
|
167
93
|
}
|
|
168
|
-
};
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
instance._features.forEach(function (feature) {
|
|
97
|
+
Object.assign(header, feature.createHeader == null ? void 0 : feature.createHeader(header, instance));
|
|
98
|
+
});
|
|
169
99
|
|
|
170
|
-
return
|
|
100
|
+
return header;
|
|
171
101
|
},
|
|
172
102
|
// Header Groups
|
|
173
103
|
getHeaderGroups: utils.memo(function () {
|
|
@@ -187,9 +117,9 @@ var Headers = {
|
|
|
187
117
|
}, {
|
|
188
118
|
key: 'getHeaderGroups',
|
|
189
119
|
debug: function debug() {
|
|
190
|
-
var _instance$options$
|
|
120
|
+
var _instance$options$deb;
|
|
191
121
|
|
|
192
|
-
return (_instance$options$
|
|
122
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugHeaders;
|
|
193
123
|
}
|
|
194
124
|
}),
|
|
195
125
|
getCenterHeaderGroups: utils.memo(function () {
|
|
@@ -202,9 +132,9 @@ var Headers = {
|
|
|
202
132
|
}, {
|
|
203
133
|
key: 'getCenterHeaderGroups',
|
|
204
134
|
debug: function debug() {
|
|
205
|
-
var _instance$options$
|
|
135
|
+
var _instance$options$deb2;
|
|
206
136
|
|
|
207
|
-
return (_instance$options$
|
|
137
|
+
return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugHeaders;
|
|
208
138
|
}
|
|
209
139
|
}),
|
|
210
140
|
getLeftHeaderGroups: utils.memo(function () {
|
|
@@ -217,9 +147,9 @@ var Headers = {
|
|
|
217
147
|
}, {
|
|
218
148
|
key: 'getLeftHeaderGroups',
|
|
219
149
|
debug: function debug() {
|
|
220
|
-
var _instance$options$
|
|
150
|
+
var _instance$options$deb3;
|
|
221
151
|
|
|
222
|
-
return (_instance$options$
|
|
152
|
+
return (_instance$options$deb3 = instance.options.debugAll) != null ? _instance$options$deb3 : instance.options.debugHeaders;
|
|
223
153
|
}
|
|
224
154
|
}),
|
|
225
155
|
getRightHeaderGroups: utils.memo(function () {
|
|
@@ -232,9 +162,9 @@ var Headers = {
|
|
|
232
162
|
}, {
|
|
233
163
|
key: 'getRightHeaderGroups',
|
|
234
164
|
debug: function debug() {
|
|
235
|
-
var _instance$options$
|
|
165
|
+
var _instance$options$deb4;
|
|
236
166
|
|
|
237
|
-
return (_instance$options$
|
|
167
|
+
return (_instance$options$deb4 = instance.options.debugAll) != null ? _instance$options$deb4 : instance.options.debugHeaders;
|
|
238
168
|
}
|
|
239
169
|
}),
|
|
240
170
|
// Footer Groups
|
|
@@ -245,9 +175,9 @@ var Headers = {
|
|
|
245
175
|
}, {
|
|
246
176
|
key: 'getFooterGroups',
|
|
247
177
|
debug: function debug() {
|
|
248
|
-
var _instance$options$
|
|
178
|
+
var _instance$options$deb5;
|
|
249
179
|
|
|
250
|
-
return (_instance$options$
|
|
180
|
+
return (_instance$options$deb5 = instance.options.debugAll) != null ? _instance$options$deb5 : instance.options.debugHeaders;
|
|
251
181
|
}
|
|
252
182
|
}),
|
|
253
183
|
getLeftFooterGroups: utils.memo(function () {
|
|
@@ -257,9 +187,9 @@ var Headers = {
|
|
|
257
187
|
}, {
|
|
258
188
|
key: 'getLeftFooterGroups',
|
|
259
189
|
debug: function debug() {
|
|
260
|
-
var _instance$options$
|
|
190
|
+
var _instance$options$deb6;
|
|
261
191
|
|
|
262
|
-
return (_instance$options$
|
|
192
|
+
return (_instance$options$deb6 = instance.options.debugAll) != null ? _instance$options$deb6 : instance.options.debugHeaders;
|
|
263
193
|
}
|
|
264
194
|
}),
|
|
265
195
|
getCenterFooterGroups: utils.memo(function () {
|
|
@@ -269,9 +199,9 @@ var Headers = {
|
|
|
269
199
|
}, {
|
|
270
200
|
key: 'getCenterFooterGroups',
|
|
271
201
|
debug: function debug() {
|
|
272
|
-
var _instance$options$
|
|
202
|
+
var _instance$options$deb7;
|
|
273
203
|
|
|
274
|
-
return (_instance$options$
|
|
204
|
+
return (_instance$options$deb7 = instance.options.debugAll) != null ? _instance$options$deb7 : instance.options.debugHeaders;
|
|
275
205
|
}
|
|
276
206
|
}),
|
|
277
207
|
getRightFooterGroups: utils.memo(function () {
|
|
@@ -281,9 +211,9 @@ var Headers = {
|
|
|
281
211
|
}, {
|
|
282
212
|
key: 'getRightFooterGroups',
|
|
283
213
|
debug: function debug() {
|
|
284
|
-
var _instance$options$
|
|
214
|
+
var _instance$options$deb8;
|
|
285
215
|
|
|
286
|
-
return (_instance$options$
|
|
216
|
+
return (_instance$options$deb8 = instance.options.debugAll) != null ? _instance$options$deb8 : instance.options.debugHeaders;
|
|
287
217
|
}
|
|
288
218
|
}),
|
|
289
219
|
// Flat Headers
|
|
@@ -296,9 +226,9 @@ var Headers = {
|
|
|
296
226
|
}, {
|
|
297
227
|
key: 'getFlatHeaders',
|
|
298
228
|
debug: function debug() {
|
|
299
|
-
var _instance$options$
|
|
229
|
+
var _instance$options$deb9;
|
|
300
230
|
|
|
301
|
-
return (_instance$options$
|
|
231
|
+
return (_instance$options$deb9 = instance.options.debugAll) != null ? _instance$options$deb9 : instance.options.debugHeaders;
|
|
302
232
|
}
|
|
303
233
|
}),
|
|
304
234
|
getLeftFlatHeaders: utils.memo(function () {
|
|
@@ -310,9 +240,9 @@ var Headers = {
|
|
|
310
240
|
}, {
|
|
311
241
|
key: 'getLeftFlatHeaders',
|
|
312
242
|
debug: function debug() {
|
|
313
|
-
var _instance$options$
|
|
243
|
+
var _instance$options$deb10;
|
|
314
244
|
|
|
315
|
-
return (_instance$options$
|
|
245
|
+
return (_instance$options$deb10 = instance.options.debugAll) != null ? _instance$options$deb10 : instance.options.debugHeaders;
|
|
316
246
|
}
|
|
317
247
|
}),
|
|
318
248
|
getCenterFlatHeaders: utils.memo(function () {
|
|
@@ -324,9 +254,9 @@ var Headers = {
|
|
|
324
254
|
}, {
|
|
325
255
|
key: 'getCenterFlatHeaders',
|
|
326
256
|
debug: function debug() {
|
|
327
|
-
var _instance$options$
|
|
257
|
+
var _instance$options$deb11;
|
|
328
258
|
|
|
329
|
-
return (_instance$options$
|
|
259
|
+
return (_instance$options$deb11 = instance.options.debugAll) != null ? _instance$options$deb11 : instance.options.debugHeaders;
|
|
330
260
|
}
|
|
331
261
|
}),
|
|
332
262
|
getRightFlatHeaders: utils.memo(function () {
|
|
@@ -338,9 +268,9 @@ var Headers = {
|
|
|
338
268
|
}, {
|
|
339
269
|
key: 'getRightFlatHeaders',
|
|
340
270
|
debug: function debug() {
|
|
341
|
-
var _instance$options$
|
|
271
|
+
var _instance$options$deb12;
|
|
342
272
|
|
|
343
|
-
return (_instance$options$
|
|
273
|
+
return (_instance$options$deb12 = instance.options.debugAll) != null ? _instance$options$deb12 : instance.options.debugHeaders;
|
|
344
274
|
}
|
|
345
275
|
}),
|
|
346
276
|
// Leaf Headers
|
|
@@ -355,9 +285,9 @@ var Headers = {
|
|
|
355
285
|
}, {
|
|
356
286
|
key: 'getCenterLeafHeaders',
|
|
357
287
|
debug: function debug() {
|
|
358
|
-
var _instance$options$
|
|
288
|
+
var _instance$options$deb13;
|
|
359
289
|
|
|
360
|
-
return (_instance$options$
|
|
290
|
+
return (_instance$options$deb13 = instance.options.debugAll) != null ? _instance$options$deb13 : instance.options.debugHeaders;
|
|
361
291
|
}
|
|
362
292
|
}),
|
|
363
293
|
getLeftLeafHeaders: utils.memo(function () {
|
|
@@ -371,9 +301,9 @@ var Headers = {
|
|
|
371
301
|
}, {
|
|
372
302
|
key: 'getLeftLeafHeaders',
|
|
373
303
|
debug: function debug() {
|
|
374
|
-
var _instance$options$
|
|
304
|
+
var _instance$options$deb14;
|
|
375
305
|
|
|
376
|
-
return (_instance$options$
|
|
306
|
+
return (_instance$options$deb14 = instance.options.debugAll) != null ? _instance$options$deb14 : instance.options.debugHeaders;
|
|
377
307
|
}
|
|
378
308
|
}),
|
|
379
309
|
getRightLeafHeaders: utils.memo(function () {
|
|
@@ -387,9 +317,9 @@ var Headers = {
|
|
|
387
317
|
}, {
|
|
388
318
|
key: 'getRightLeafHeaders',
|
|
389
319
|
debug: function debug() {
|
|
390
|
-
var _instance$options$
|
|
320
|
+
var _instance$options$deb15;
|
|
391
321
|
|
|
392
|
-
return (_instance$options$
|
|
322
|
+
return (_instance$options$deb15 = instance.options.debugAll) != null ? _instance$options$deb15 : instance.options.debugHeaders;
|
|
393
323
|
}
|
|
394
324
|
}),
|
|
395
325
|
getLeafHeaders: utils.memo(function () {
|
|
@@ -403,9 +333,9 @@ var Headers = {
|
|
|
403
333
|
}, {
|
|
404
334
|
key: 'getLeafHeaders',
|
|
405
335
|
debug: function debug() {
|
|
406
|
-
var _instance$options$
|
|
336
|
+
var _instance$options$deb16;
|
|
407
337
|
|
|
408
|
-
return (_instance$options$
|
|
338
|
+
return (_instance$options$deb16 = instance.options.debugAll) != null ? _instance$options$deb16 : instance.options.debugHeaders;
|
|
409
339
|
}
|
|
410
340
|
}),
|
|
411
341
|
getHeader: function getHeader(id) {
|
|
@@ -476,15 +406,6 @@ var Headers = {
|
|
|
476
406
|
rowSpan: header.rowSpan
|
|
477
407
|
};
|
|
478
408
|
return utils.propGetter(initialProps, userProps);
|
|
479
|
-
},
|
|
480
|
-
getTotalWidth: function getTotalWidth() {
|
|
481
|
-
var width = 0;
|
|
482
|
-
instance.getVisibleLeafColumns().forEach(function (column) {
|
|
483
|
-
var _column$getWidth;
|
|
484
|
-
|
|
485
|
-
width += (_column$getWidth = column.getWidth()) != null ? _column$getWidth : 0;
|
|
486
|
-
});
|
|
487
|
-
return width;
|
|
488
409
|
}
|
|
489
410
|
};
|
|
490
411
|
}
|
|
@@ -533,11 +454,11 @@ function buildHeaderGroups(allColumns, columnsToGroup, instance, headerFamily) {
|
|
|
533
454
|
}
|
|
534
455
|
}; // The parent columns we're going to scan next
|
|
535
456
|
|
|
536
|
-
var
|
|
457
|
+
var pendingParentHeaders = []; // Scan each column for parents
|
|
537
458
|
|
|
538
459
|
headersToGroup.forEach(function (headerToGroup) {
|
|
539
460
|
// What is the latest (last) parent column?
|
|
540
|
-
var
|
|
461
|
+
var latestPendingParentHeader = [].concat(pendingParentHeaders).reverse()[0];
|
|
541
462
|
var isLeafHeader = headerToGroup.column.depth === headerGroup.depth;
|
|
542
463
|
var column;
|
|
543
464
|
var isPlaceholder = false;
|
|
@@ -551,37 +472,41 @@ function buildHeaderGroups(allColumns, columnsToGroup, instance, headerFamily) {
|
|
|
551
472
|
isPlaceholder = true;
|
|
552
473
|
}
|
|
553
474
|
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
placeholderId: isPlaceholder ? "" + parentHeaders.filter(function (d) {
|
|
558
|
-
return d.column === column;
|
|
559
|
-
}).length : undefined,
|
|
560
|
-
depth: depth
|
|
561
|
-
});
|
|
562
|
-
|
|
563
|
-
if (!latestParentHeader || latestParentHeader.column !== header.column) {
|
|
564
|
-
header.subHeaders.push(headerToGroup);
|
|
565
|
-
parentHeaders.push(header);
|
|
475
|
+
if ((latestPendingParentHeader == null ? void 0 : latestPendingParentHeader.column) === column) {
|
|
476
|
+
// This column is repeated. Add it as a sub header to the next batch
|
|
477
|
+
latestPendingParentHeader.subHeaders.push(headerToGroup);
|
|
566
478
|
} else {
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
479
|
+
// This is a new header. Let's create it
|
|
480
|
+
var header = instance.createHeader(column, {
|
|
481
|
+
id: [headerFamily, depth, column.id, headerToGroup == null ? void 0 : headerToGroup.id].filter(Boolean).join('_'),
|
|
482
|
+
isPlaceholder: isPlaceholder,
|
|
483
|
+
placeholderId: isPlaceholder ? "" + pendingParentHeaders.filter(function (d) {
|
|
484
|
+
return d.column === column;
|
|
485
|
+
}).length : undefined,
|
|
486
|
+
depth: depth,
|
|
487
|
+
index: pendingParentHeaders.length
|
|
488
|
+
}); // Add the headerToGroup as a subHeader of the new header
|
|
489
|
+
|
|
490
|
+
header.subHeaders.push(headerToGroup); // Add the new header to the pendingParentHeaders to get grouped
|
|
491
|
+
// in the next batch
|
|
492
|
+
|
|
493
|
+
pendingParentHeaders.push(header);
|
|
494
|
+
}
|
|
572
495
|
|
|
573
496
|
headerGroup.headers.push(headerToGroup);
|
|
497
|
+
headerToGroup.headerGroup = headerGroup;
|
|
574
498
|
});
|
|
575
499
|
headerGroups.push(headerGroup);
|
|
576
500
|
|
|
577
501
|
if (depth > 0) {
|
|
578
|
-
createHeaderGroup(
|
|
502
|
+
createHeaderGroup(pendingParentHeaders, depth - 1);
|
|
579
503
|
}
|
|
580
504
|
};
|
|
581
505
|
|
|
582
|
-
var bottomHeaders = columnsToGroup.map(function (column) {
|
|
506
|
+
var bottomHeaders = columnsToGroup.map(function (column, index) {
|
|
583
507
|
return instance.createHeader(column, {
|
|
584
|
-
depth: maxDepth
|
|
508
|
+
depth: maxDepth,
|
|
509
|
+
index: index
|
|
585
510
|
});
|
|
586
511
|
});
|
|
587
512
|
createHeaderGroup(bottomHeaders, maxDepth - 1);
|