@tanstack/table-core 8.0.0-alpha.55 → 8.0.0-alpha.59
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 +18 -404
- package/build/cjs/core.js.map +1 -1
- package/build/cjs/createTable.js +3 -3
- package/build/cjs/createTable.js.map +1 -1
- package/build/cjs/features/Cells.js +107 -0
- package/build/cjs/features/Cells.js.map +1 -0
- package/build/cjs/features/ColumnSizing.js +96 -54
- 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 +13 -21
- package/build/cjs/features/Expanding.js.map +1 -1
- package/build/cjs/features/Filters.js +3 -3
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Grouping.js +8 -11
- package/build/cjs/features/Grouping.js.map +1 -1
- package/build/cjs/features/Headers.js +79 -220
- 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 +5 -5
- 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 +16 -48
- package/build/cjs/features/RowSelection.js.map +1 -1
- package/build/cjs/features/Rows.js +84 -0
- package/build/cjs/features/Rows.js.map +1 -0
- package/build/cjs/features/Sorting.js +9 -12
- package/build/cjs/features/Sorting.js.map +1 -1
- package/build/cjs/features/Visibility.js +59 -38
- package/build/cjs/features/Visibility.js.map +1 -1
- package/build/cjs/filterFns.js +16 -0
- package/build/cjs/filterFns.js.map +1 -1
- package/build/cjs/index.js +0 -1
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/utils.js +0 -16
- package/build/cjs/utils.js.map +1 -1
- package/build/esm/index.js +866 -856
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +424 -322
- package/build/types/core.d.ts +9 -88
- package/build/types/createTable.d.ts +10 -11
- package/build/types/features/Cells.d.ts +13 -0
- package/build/types/features/ColumnSizing.d.ts +24 -30
- package/build/types/features/Columns.d.ts +54 -0
- package/build/types/features/Expanding.d.ts +6 -9
- package/build/types/features/Filters.d.ts +3 -1
- package/build/types/features/Grouping.d.ts +6 -9
- package/build/types/features/Headers.d.ts +3 -15
- package/build/types/features/Ordering.d.ts +1 -1
- package/build/types/features/Pagination.d.ts +6 -6
- package/build/types/features/Pinning.d.ts +18 -4
- package/build/types/features/RowSelection.d.ts +6 -13
- package/build/types/features/Rows.d.ts +27 -0
- package/build/types/features/Sorting.d.ts +5 -8
- package/build/types/features/Visibility.d.ts +9 -7
- package/build/types/filterFns.d.ts +5 -0
- package/build/types/types.d.ts +27 -69
- package/build/types/utils.d.ts +1 -5
- package/build/umd/index.development.js +844 -835
- 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 +55 -601
- package/src/createTable.ts +13 -17
- package/src/features/Cells.ts +130 -0
- package/src/features/ColumnSizing.ts +111 -89
- package/src/features/Columns.ts +288 -0
- package/src/features/Expanding.ts +20 -42
- package/src/features/Filters.ts +11 -3
- package/src/features/Grouping.ts +13 -39
- package/src/features/Headers.ts +49 -233
- package/src/features/Ordering.ts +1 -1
- package/src/features/Pagination.ts +14 -4
- package/src/features/Pinning.ts +194 -3
- package/src/features/RowSelection.ts +26 -88
- package/src/features/Rows.ts +123 -0
- package/src/features/Sorting.ts +20 -43
- package/src/features/Visibility.ts +82 -63
- package/src/filterFns.ts +20 -0
- package/src/types.ts +59 -133
- package/src/utils/getColumnFilteredRowModelAsync.ts +1 -5
- package/src/utils/getGlobalFilteredRowModelAsync.ts +2 -6
- package/src/utils/getSortedRowModelAsync.ts +0 -1
- package/src/utils.ts +2 -31
|
@@ -49,12 +49,12 @@ var Grouping = {
|
|
|
49
49
|
toggleGrouping: function toggleGrouping() {
|
|
50
50
|
return instance.toggleColumnGrouping(column.id);
|
|
51
51
|
},
|
|
52
|
-
|
|
53
|
-
return instance.
|
|
52
|
+
getToggleGroupingHandler: function getToggleGroupingHandler() {
|
|
53
|
+
return instance.getToggleGroupingHandler(column.id);
|
|
54
54
|
}
|
|
55
55
|
};
|
|
56
56
|
},
|
|
57
|
-
|
|
57
|
+
createInstance: function createInstance(instance) {
|
|
58
58
|
var registered = false;
|
|
59
59
|
return {
|
|
60
60
|
queueResetGrouping: function queueResetGrouping() {
|
|
@@ -140,16 +140,13 @@ var Grouping = {
|
|
|
140
140
|
|
|
141
141
|
instance.setGrouping((_instance$initialStat = (_instance$initialStat2 = instance.initialState) == null ? void 0 : _instance$initialStat2.grouping) != null ? _instance$initialStat : []);
|
|
142
142
|
},
|
|
143
|
-
|
|
143
|
+
getToggleGroupingHandler: function getToggleGroupingHandler(columnId) {
|
|
144
144
|
var column = instance.getColumn(columnId);
|
|
145
145
|
var canGroup = column.getCanGroup();
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
column.toggleGrouping == null ? void 0 : column.toggleGrouping();
|
|
150
|
-
} : undefined
|
|
146
|
+
return function () {
|
|
147
|
+
if (!canGroup) return;
|
|
148
|
+
column.toggleGrouping == null ? void 0 : column.toggleGrouping();
|
|
151
149
|
};
|
|
152
|
-
return utils.propGetter(initialProps, userProps);
|
|
153
150
|
},
|
|
154
151
|
getRowIsGrouped: function getRowIsGrouped(rowId) {
|
|
155
152
|
var _instance$getRow;
|
|
@@ -164,7 +161,7 @@ var Grouping = {
|
|
|
164
161
|
instance._getGroupedRowModel = instance.options.getGroupedRowModel(instance);
|
|
165
162
|
}
|
|
166
163
|
|
|
167
|
-
if (!instance._getGroupedRowModel) {
|
|
164
|
+
if (instance.options.manualGrouping || !instance._getGroupedRowModel) {
|
|
168
165
|
return instance.getPreGroupedRowModel();
|
|
169
166
|
}
|
|
170
167
|
|
|
@@ -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 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 autoResetGrouping: boolean\n enableGrouping: boolean\n}\n\nexport type GroupingOptions<TGenerics extends TableGenerics> = {\n manualGrouping?: boolean\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 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 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 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 getToggleGroupingHandler: () =>\n instance.getToggleGroupingHandler(column.id)!,\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 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","autoResetGrouping","groupedColumnMode","createColumn","column","getCanGroup","getColumnCanGroup","id","getGroupedIndex","getColumnGroupedIndex","getIsGrouped","getColumnIsGrouped","toggleGrouping","toggleColumnGrouping","getToggleGroupingHandler","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","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":"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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
|
|
|
@@ -145,12 +71,6 @@ var Headers = {
|
|
|
145
71
|
recurseHeader(header);
|
|
146
72
|
return leafHeaders;
|
|
147
73
|
},
|
|
148
|
-
getHeaderProps: function getHeaderProps(userProps) {
|
|
149
|
-
return instance.getHeaderProps(header.id, userProps);
|
|
150
|
-
},
|
|
151
|
-
getFooterProps: function getFooterProps(userProps) {
|
|
152
|
-
return instance.getFooterProps(header.id, userProps);
|
|
153
|
-
},
|
|
154
74
|
renderHeader: function renderHeader() {
|
|
155
75
|
return column.header ? instance.render(column.header, {
|
|
156
76
|
instance: instance,
|
|
@@ -165,9 +85,13 @@ var Headers = {
|
|
|
165
85
|
column: column
|
|
166
86
|
}) : null;
|
|
167
87
|
}
|
|
168
|
-
};
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
instance._features.forEach(function (feature) {
|
|
91
|
+
Object.assign(header, feature.createHeader == null ? void 0 : feature.createHeader(header, instance));
|
|
92
|
+
});
|
|
169
93
|
|
|
170
|
-
return
|
|
94
|
+
return header;
|
|
171
95
|
},
|
|
172
96
|
// Header Groups
|
|
173
97
|
getHeaderGroups: utils.memo(function () {
|
|
@@ -187,9 +111,9 @@ var Headers = {
|
|
|
187
111
|
}, {
|
|
188
112
|
key: 'getHeaderGroups',
|
|
189
113
|
debug: function debug() {
|
|
190
|
-
var _instance$options$
|
|
114
|
+
var _instance$options$deb;
|
|
191
115
|
|
|
192
|
-
return (_instance$options$
|
|
116
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugHeaders;
|
|
193
117
|
}
|
|
194
118
|
}),
|
|
195
119
|
getCenterHeaderGroups: utils.memo(function () {
|
|
@@ -202,9 +126,9 @@ var Headers = {
|
|
|
202
126
|
}, {
|
|
203
127
|
key: 'getCenterHeaderGroups',
|
|
204
128
|
debug: function debug() {
|
|
205
|
-
var _instance$options$
|
|
129
|
+
var _instance$options$deb2;
|
|
206
130
|
|
|
207
|
-
return (_instance$options$
|
|
131
|
+
return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugHeaders;
|
|
208
132
|
}
|
|
209
133
|
}),
|
|
210
134
|
getLeftHeaderGroups: utils.memo(function () {
|
|
@@ -217,9 +141,9 @@ var Headers = {
|
|
|
217
141
|
}, {
|
|
218
142
|
key: 'getLeftHeaderGroups',
|
|
219
143
|
debug: function debug() {
|
|
220
|
-
var _instance$options$
|
|
144
|
+
var _instance$options$deb3;
|
|
221
145
|
|
|
222
|
-
return (_instance$options$
|
|
146
|
+
return (_instance$options$deb3 = instance.options.debugAll) != null ? _instance$options$deb3 : instance.options.debugHeaders;
|
|
223
147
|
}
|
|
224
148
|
}),
|
|
225
149
|
getRightHeaderGroups: utils.memo(function () {
|
|
@@ -232,9 +156,9 @@ var Headers = {
|
|
|
232
156
|
}, {
|
|
233
157
|
key: 'getRightHeaderGroups',
|
|
234
158
|
debug: function debug() {
|
|
235
|
-
var _instance$options$
|
|
159
|
+
var _instance$options$deb4;
|
|
236
160
|
|
|
237
|
-
return (_instance$options$
|
|
161
|
+
return (_instance$options$deb4 = instance.options.debugAll) != null ? _instance$options$deb4 : instance.options.debugHeaders;
|
|
238
162
|
}
|
|
239
163
|
}),
|
|
240
164
|
// Footer Groups
|
|
@@ -245,9 +169,9 @@ var Headers = {
|
|
|
245
169
|
}, {
|
|
246
170
|
key: 'getFooterGroups',
|
|
247
171
|
debug: function debug() {
|
|
248
|
-
var _instance$options$
|
|
172
|
+
var _instance$options$deb5;
|
|
249
173
|
|
|
250
|
-
return (_instance$options$
|
|
174
|
+
return (_instance$options$deb5 = instance.options.debugAll) != null ? _instance$options$deb5 : instance.options.debugHeaders;
|
|
251
175
|
}
|
|
252
176
|
}),
|
|
253
177
|
getLeftFooterGroups: utils.memo(function () {
|
|
@@ -257,9 +181,9 @@ var Headers = {
|
|
|
257
181
|
}, {
|
|
258
182
|
key: 'getLeftFooterGroups',
|
|
259
183
|
debug: function debug() {
|
|
260
|
-
var _instance$options$
|
|
184
|
+
var _instance$options$deb6;
|
|
261
185
|
|
|
262
|
-
return (_instance$options$
|
|
186
|
+
return (_instance$options$deb6 = instance.options.debugAll) != null ? _instance$options$deb6 : instance.options.debugHeaders;
|
|
263
187
|
}
|
|
264
188
|
}),
|
|
265
189
|
getCenterFooterGroups: utils.memo(function () {
|
|
@@ -269,9 +193,9 @@ var Headers = {
|
|
|
269
193
|
}, {
|
|
270
194
|
key: 'getCenterFooterGroups',
|
|
271
195
|
debug: function debug() {
|
|
272
|
-
var _instance$options$
|
|
196
|
+
var _instance$options$deb7;
|
|
273
197
|
|
|
274
|
-
return (_instance$options$
|
|
198
|
+
return (_instance$options$deb7 = instance.options.debugAll) != null ? _instance$options$deb7 : instance.options.debugHeaders;
|
|
275
199
|
}
|
|
276
200
|
}),
|
|
277
201
|
getRightFooterGroups: utils.memo(function () {
|
|
@@ -281,9 +205,9 @@ var Headers = {
|
|
|
281
205
|
}, {
|
|
282
206
|
key: 'getRightFooterGroups',
|
|
283
207
|
debug: function debug() {
|
|
284
|
-
var _instance$options$
|
|
208
|
+
var _instance$options$deb8;
|
|
285
209
|
|
|
286
|
-
return (_instance$options$
|
|
210
|
+
return (_instance$options$deb8 = instance.options.debugAll) != null ? _instance$options$deb8 : instance.options.debugHeaders;
|
|
287
211
|
}
|
|
288
212
|
}),
|
|
289
213
|
// Flat Headers
|
|
@@ -296,9 +220,9 @@ var Headers = {
|
|
|
296
220
|
}, {
|
|
297
221
|
key: 'getFlatHeaders',
|
|
298
222
|
debug: function debug() {
|
|
299
|
-
var _instance$options$
|
|
223
|
+
var _instance$options$deb9;
|
|
300
224
|
|
|
301
|
-
return (_instance$options$
|
|
225
|
+
return (_instance$options$deb9 = instance.options.debugAll) != null ? _instance$options$deb9 : instance.options.debugHeaders;
|
|
302
226
|
}
|
|
303
227
|
}),
|
|
304
228
|
getLeftFlatHeaders: utils.memo(function () {
|
|
@@ -310,9 +234,9 @@ var Headers = {
|
|
|
310
234
|
}, {
|
|
311
235
|
key: 'getLeftFlatHeaders',
|
|
312
236
|
debug: function debug() {
|
|
313
|
-
var _instance$options$
|
|
237
|
+
var _instance$options$deb10;
|
|
314
238
|
|
|
315
|
-
return (_instance$options$
|
|
239
|
+
return (_instance$options$deb10 = instance.options.debugAll) != null ? _instance$options$deb10 : instance.options.debugHeaders;
|
|
316
240
|
}
|
|
317
241
|
}),
|
|
318
242
|
getCenterFlatHeaders: utils.memo(function () {
|
|
@@ -324,9 +248,9 @@ var Headers = {
|
|
|
324
248
|
}, {
|
|
325
249
|
key: 'getCenterFlatHeaders',
|
|
326
250
|
debug: function debug() {
|
|
327
|
-
var _instance$options$
|
|
251
|
+
var _instance$options$deb11;
|
|
328
252
|
|
|
329
|
-
return (_instance$options$
|
|
253
|
+
return (_instance$options$deb11 = instance.options.debugAll) != null ? _instance$options$deb11 : instance.options.debugHeaders;
|
|
330
254
|
}
|
|
331
255
|
}),
|
|
332
256
|
getRightFlatHeaders: utils.memo(function () {
|
|
@@ -338,9 +262,9 @@ var Headers = {
|
|
|
338
262
|
}, {
|
|
339
263
|
key: 'getRightFlatHeaders',
|
|
340
264
|
debug: function debug() {
|
|
341
|
-
var _instance$options$
|
|
265
|
+
var _instance$options$deb12;
|
|
342
266
|
|
|
343
|
-
return (_instance$options$
|
|
267
|
+
return (_instance$options$deb12 = instance.options.debugAll) != null ? _instance$options$deb12 : instance.options.debugHeaders;
|
|
344
268
|
}
|
|
345
269
|
}),
|
|
346
270
|
// Leaf Headers
|
|
@@ -355,9 +279,9 @@ var Headers = {
|
|
|
355
279
|
}, {
|
|
356
280
|
key: 'getCenterLeafHeaders',
|
|
357
281
|
debug: function debug() {
|
|
358
|
-
var _instance$options$
|
|
282
|
+
var _instance$options$deb13;
|
|
359
283
|
|
|
360
|
-
return (_instance$options$
|
|
284
|
+
return (_instance$options$deb13 = instance.options.debugAll) != null ? _instance$options$deb13 : instance.options.debugHeaders;
|
|
361
285
|
}
|
|
362
286
|
}),
|
|
363
287
|
getLeftLeafHeaders: utils.memo(function () {
|
|
@@ -371,9 +295,9 @@ var Headers = {
|
|
|
371
295
|
}, {
|
|
372
296
|
key: 'getLeftLeafHeaders',
|
|
373
297
|
debug: function debug() {
|
|
374
|
-
var _instance$options$
|
|
298
|
+
var _instance$options$deb14;
|
|
375
299
|
|
|
376
|
-
return (_instance$options$
|
|
300
|
+
return (_instance$options$deb14 = instance.options.debugAll) != null ? _instance$options$deb14 : instance.options.debugHeaders;
|
|
377
301
|
}
|
|
378
302
|
}),
|
|
379
303
|
getRightLeafHeaders: utils.memo(function () {
|
|
@@ -387,9 +311,9 @@ var Headers = {
|
|
|
387
311
|
}, {
|
|
388
312
|
key: 'getRightLeafHeaders',
|
|
389
313
|
debug: function debug() {
|
|
390
|
-
var _instance$options$
|
|
314
|
+
var _instance$options$deb15;
|
|
391
315
|
|
|
392
|
-
return (_instance$options$
|
|
316
|
+
return (_instance$options$deb15 = instance.options.debugAll) != null ? _instance$options$deb15 : instance.options.debugHeaders;
|
|
393
317
|
}
|
|
394
318
|
}),
|
|
395
319
|
getLeafHeaders: utils.memo(function () {
|
|
@@ -403,9 +327,9 @@ var Headers = {
|
|
|
403
327
|
}, {
|
|
404
328
|
key: 'getLeafHeaders',
|
|
405
329
|
debug: function debug() {
|
|
406
|
-
var _instance$options$
|
|
330
|
+
var _instance$options$deb16;
|
|
407
331
|
|
|
408
|
-
return (_instance$options$
|
|
332
|
+
return (_instance$options$deb16 = instance.options.debugAll) != null ? _instance$options$deb16 : instance.options.debugHeaders;
|
|
409
333
|
}
|
|
410
334
|
}),
|
|
411
335
|
getHeader: function getHeader(id) {
|
|
@@ -422,69 +346,6 @@ var Headers = {
|
|
|
422
346
|
}
|
|
423
347
|
|
|
424
348
|
return header;
|
|
425
|
-
},
|
|
426
|
-
getHeaderGroupProps: function getHeaderGroupProps(id, userProps) {
|
|
427
|
-
var headerGroup = instance.getHeaderGroups().find(function (d) {
|
|
428
|
-
return d.id === id;
|
|
429
|
-
});
|
|
430
|
-
|
|
431
|
-
if (!headerGroup) {
|
|
432
|
-
return;
|
|
433
|
-
}
|
|
434
|
-
|
|
435
|
-
return utils.propGetter({
|
|
436
|
-
key: headerGroup.id,
|
|
437
|
-
role: 'row'
|
|
438
|
-
}, userProps);
|
|
439
|
-
},
|
|
440
|
-
getFooterGroupProps: function getFooterGroupProps(id, userProps) {
|
|
441
|
-
var headerGroup = instance.getFooterGroups().find(function (d) {
|
|
442
|
-
return d.id === id;
|
|
443
|
-
});
|
|
444
|
-
|
|
445
|
-
if (!headerGroup) {
|
|
446
|
-
return;
|
|
447
|
-
}
|
|
448
|
-
|
|
449
|
-
var initialProps = {
|
|
450
|
-
key: headerGroup.id,
|
|
451
|
-
role: 'row'
|
|
452
|
-
};
|
|
453
|
-
return utils.propGetter(initialProps, userProps);
|
|
454
|
-
},
|
|
455
|
-
getHeaderProps: function getHeaderProps(id, userProps) {
|
|
456
|
-
var header = instance.getHeader(id);
|
|
457
|
-
|
|
458
|
-
if (!header) {
|
|
459
|
-
throw new Error();
|
|
460
|
-
}
|
|
461
|
-
|
|
462
|
-
var initialProps = {
|
|
463
|
-
key: header.id,
|
|
464
|
-
role: 'columnheader',
|
|
465
|
-
colSpan: header.colSpan,
|
|
466
|
-
rowSpan: header.rowSpan
|
|
467
|
-
};
|
|
468
|
-
return utils.propGetter(initialProps, userProps);
|
|
469
|
-
},
|
|
470
|
-
getFooterProps: function getFooterProps(id, userProps) {
|
|
471
|
-
var header = instance.getHeader(id);
|
|
472
|
-
var initialProps = {
|
|
473
|
-
key: header.id,
|
|
474
|
-
role: 'columnfooter',
|
|
475
|
-
colSpan: header.colSpan,
|
|
476
|
-
rowSpan: header.rowSpan
|
|
477
|
-
};
|
|
478
|
-
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
349
|
}
|
|
489
350
|
};
|
|
490
351
|
}
|
|
@@ -524,20 +385,14 @@ function buildHeaderGroups(allColumns, columnsToGroup, instance, headerFamily) {
|
|
|
524
385
|
var headerGroup = {
|
|
525
386
|
depth: depth,
|
|
526
387
|
id: [headerFamily, "" + depth].filter(Boolean).join('_'),
|
|
527
|
-
headers: []
|
|
528
|
-
getHeaderGroupProps: function getHeaderGroupProps(getterValue) {
|
|
529
|
-
return instance.getHeaderGroupProps("" + depth, getterValue);
|
|
530
|
-
},
|
|
531
|
-
getFooterGroupProps: function getFooterGroupProps(getterValue) {
|
|
532
|
-
return instance.getFooterGroupProps("" + depth, getterValue);
|
|
533
|
-
}
|
|
388
|
+
headers: []
|
|
534
389
|
}; // The parent columns we're going to scan next
|
|
535
390
|
|
|
536
|
-
var
|
|
391
|
+
var pendingParentHeaders = []; // Scan each column for parents
|
|
537
392
|
|
|
538
393
|
headersToGroup.forEach(function (headerToGroup) {
|
|
539
394
|
// What is the latest (last) parent column?
|
|
540
|
-
var
|
|
395
|
+
var latestPendingParentHeader = [].concat(pendingParentHeaders).reverse()[0];
|
|
541
396
|
var isLeafHeader = headerToGroup.column.depth === headerGroup.depth;
|
|
542
397
|
var column;
|
|
543
398
|
var isPlaceholder = false;
|
|
@@ -551,37 +406,41 @@ function buildHeaderGroups(allColumns, columnsToGroup, instance, headerFamily) {
|
|
|
551
406
|
isPlaceholder = true;
|
|
552
407
|
}
|
|
553
408
|
|
|
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);
|
|
409
|
+
if ((latestPendingParentHeader == null ? void 0 : latestPendingParentHeader.column) === column) {
|
|
410
|
+
// This column is repeated. Add it as a sub header to the next batch
|
|
411
|
+
latestPendingParentHeader.subHeaders.push(headerToGroup);
|
|
566
412
|
} else {
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
413
|
+
// This is a new header. Let's create it
|
|
414
|
+
var header = instance.createHeader(column, {
|
|
415
|
+
id: [headerFamily, depth, column.id, headerToGroup == null ? void 0 : headerToGroup.id].filter(Boolean).join('_'),
|
|
416
|
+
isPlaceholder: isPlaceholder,
|
|
417
|
+
placeholderId: isPlaceholder ? "" + pendingParentHeaders.filter(function (d) {
|
|
418
|
+
return d.column === column;
|
|
419
|
+
}).length : undefined,
|
|
420
|
+
depth: depth,
|
|
421
|
+
index: pendingParentHeaders.length
|
|
422
|
+
}); // Add the headerToGroup as a subHeader of the new header
|
|
423
|
+
|
|
424
|
+
header.subHeaders.push(headerToGroup); // Add the new header to the pendingParentHeaders to get grouped
|
|
425
|
+
// in the next batch
|
|
426
|
+
|
|
427
|
+
pendingParentHeaders.push(header);
|
|
428
|
+
}
|
|
572
429
|
|
|
573
430
|
headerGroup.headers.push(headerToGroup);
|
|
431
|
+
headerToGroup.headerGroup = headerGroup;
|
|
574
432
|
});
|
|
575
433
|
headerGroups.push(headerGroup);
|
|
576
434
|
|
|
577
435
|
if (depth > 0) {
|
|
578
|
-
createHeaderGroup(
|
|
436
|
+
createHeaderGroup(pendingParentHeaders, depth - 1);
|
|
579
437
|
}
|
|
580
438
|
};
|
|
581
439
|
|
|
582
|
-
var bottomHeaders = columnsToGroup.map(function (column) {
|
|
440
|
+
var bottomHeaders = columnsToGroup.map(function (column, index) {
|
|
583
441
|
return instance.createHeader(column, {
|
|
584
|
-
depth: maxDepth
|
|
442
|
+
depth: maxDepth,
|
|
443
|
+
index: index
|
|
585
444
|
});
|
|
586
445
|
});
|
|
587
446
|
createHeaderGroup(bottomHeaders, maxDepth - 1);
|