@tanstack/table-core 8.0.0-alpha.63 → 8.0.0-alpha.64
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 +7 -3
- package/build/cjs/core.js.map +1 -1
- package/build/cjs/features/ColumnSizing.js +3 -3
- package/build/cjs/features/ColumnSizing.js.map +1 -1
- package/build/cjs/features/Expanding.js +3 -3
- package/build/cjs/features/Expanding.js.map +1 -1
- package/build/cjs/features/Filters.js +10 -8
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Grouping.js +24 -22
- package/build/cjs/features/Grouping.js.map +1 -1
- package/build/cjs/features/Ordering.js +5 -4
- package/build/cjs/features/Ordering.js.map +1 -1
- package/build/cjs/features/Pagination.js +4 -4
- package/build/cjs/features/Pagination.js.map +1 -1
- package/build/cjs/features/Pinning.js +11 -72
- package/build/cjs/features/Pinning.js.map +1 -1
- package/build/cjs/features/RowSelection.js +3 -3
- package/build/cjs/features/RowSelection.js.map +1 -1
- package/build/cjs/features/Sorting.js +5 -5
- package/build/cjs/features/Sorting.js.map +1 -1
- package/build/cjs/features/Visibility.js +3 -3
- package/build/cjs/features/Visibility.js.map +1 -1
- package/build/cjs/index.js +1 -0
- package/build/cjs/index.js.map +1 -1
- package/build/esm/index.js +75 -131
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +357 -339
- package/build/types/features/Expanding.d.ts +2 -7
- package/build/types/features/Filters.d.ts +3 -14
- package/build/types/features/Grouping.d.ts +3 -11
- package/build/types/features/Ordering.d.ts +2 -6
- package/build/types/features/Pinning.d.ts +2 -15
- package/build/types/features/RowSelection.d.ts +3 -8
- package/build/types/features/Sorting.d.ts +2 -8
- package/build/types/features/Visibility.d.ts +2 -11
- package/build/umd/index.development.js +75 -130
- 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 +5 -4
- package/src/features/ColumnSizing.ts +2 -1
- package/src/features/Expanding.ts +4 -2
- package/src/features/Filters.ts +16 -24
- package/src/features/Grouping.ts +23 -21
- package/src/features/Ordering.ts +6 -8
- package/src/features/Pagination.ts +3 -2
- package/src/features/Pinning.ts +6 -74
- package/src/features/RowSelection.ts +5 -3
- package/src/features/Sorting.ts +9 -7
- package/src/features/Visibility.ts +4 -2
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
14
|
|
|
15
|
+
var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.js');
|
|
15
16
|
var aggregationFns = require('../aggregationFns.js');
|
|
16
17
|
var utils = require('../utils.js');
|
|
17
18
|
|
|
@@ -22,10 +23,10 @@ var Grouping = {
|
|
|
22
23
|
aggregationFn: 'auto'
|
|
23
24
|
};
|
|
24
25
|
},
|
|
25
|
-
getInitialState: function getInitialState() {
|
|
26
|
-
return {
|
|
26
|
+
getInitialState: function getInitialState(state) {
|
|
27
|
+
return _rollupPluginBabelHelpers["extends"]({
|
|
27
28
|
grouping: []
|
|
28
|
-
};
|
|
29
|
+
}, state);
|
|
29
30
|
},
|
|
30
31
|
getDefaultOptions: function getDefaultOptions(instance) {
|
|
31
32
|
return {
|
|
@@ -184,28 +185,29 @@ var Grouping = {
|
|
|
184
185
|
}) : null;
|
|
185
186
|
}
|
|
186
187
|
};
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
var nonGroupingColumns = leafColumns.filter(function (col) {
|
|
194
|
-
return !grouping.includes(col.id);
|
|
195
|
-
});
|
|
188
|
+
}
|
|
189
|
+
};
|
|
190
|
+
function orderColumns(leafColumns, grouping, groupedColumnMode) {
|
|
191
|
+
if (!(grouping != null && grouping.length) || !groupedColumnMode) {
|
|
192
|
+
return leafColumns;
|
|
193
|
+
}
|
|
196
194
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
195
|
+
var nonGroupingColumns = leafColumns.filter(function (col) {
|
|
196
|
+
return !grouping.includes(col.id);
|
|
197
|
+
});
|
|
200
198
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
return col.id === g;
|
|
204
|
-
});
|
|
205
|
-
}).filter(Boolean);
|
|
206
|
-
return [].concat(groupingColumns, nonGroupingColumns);
|
|
199
|
+
if (groupedColumnMode === 'remove') {
|
|
200
|
+
return nonGroupingColumns;
|
|
207
201
|
}
|
|
208
|
-
|
|
202
|
+
|
|
203
|
+
var groupingColumns = grouping.map(function (g) {
|
|
204
|
+
return leafColumns.find(function (col) {
|
|
205
|
+
return col.id === g;
|
|
206
|
+
});
|
|
207
|
+
}).filter(Boolean);
|
|
208
|
+
return [].concat(groupingColumns, nonGroupingColumns);
|
|
209
|
+
}
|
|
209
210
|
|
|
210
211
|
exports.Grouping = Grouping;
|
|
212
|
+
exports.orderColumns = orderColumns;
|
|
211
213
|
//# sourceMappingURL=Grouping.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Grouping.js","sources":["../../../src/features/Grouping.ts"],"sourcesContent":["import { RowModel } from '..'\nimport { BuiltInAggregationFn, aggregationFns } from '../aggregationFns'\nimport {\n Cell,\n Column,\n OnChangeFn,\n TableInstance,\n Row,\n Updater,\n Renderable,\n TableGenerics,\n} from '../types'\nimport { isFunction, makeStateUpdater, Overwrite } from '../utils'\n\nexport type GroupingState = string[]\n\nexport type AggregationFn<TGenerics extends TableGenerics> = (\n getLeafValues: () => TGenerics['Row'][],\n getChildValues: () => TGenerics['Row'][]\n) => any\n\nexport type CustomAggregationFns<TGenerics extends TableGenerics> = Record<\n string,\n AggregationFn<TGenerics>\n>\n\nexport type AggregationFnOption<TGenerics extends TableGenerics> =\n | 'auto'\n | BuiltInAggregationFn\n | keyof TGenerics['AggregationFns']\n | AggregationFn<TGenerics>\n\nexport type GroupingTableState = {\n grouping: GroupingState\n}\n\nexport type GroupingColumnDef<TGenerics extends TableGenerics> = {\n aggregationFn?: AggregationFnOption<Overwrite<TGenerics, { Value: any }>>\n aggregateValue?: (columnValue: unknown) => any\n aggregatedCell?: Renderable<\n TGenerics,\n {\n instance: TableInstance<TGenerics>\n row: Row<TGenerics>\n column: Column<TGenerics>\n cell: Cell<TGenerics>\n value: TGenerics['Value']\n }\n >\n enableGrouping?: boolean\n defaultCanGroup?: boolean\n}\n\nexport type GroupingColumn<TGenerics extends TableGenerics> = {\n aggregationFn?: AggregationFnOption<Overwrite<TGenerics, { Value: any }>>\n getCanGroup: () => boolean\n getIsGrouped: () => boolean\n getGroupedIndex: () => number\n toggleGrouping: () => void\n getToggleGroupingHandler: () => () => void\n}\n\nexport type GroupingRow = {\n groupingColumnId?: string\n groupingValue?: any\n getIsGrouped: () => boolean\n}\n\nexport type GroupingCell<TGenerics extends TableGenerics> = {\n getIsGrouped: () => boolean\n getIsPlaceholder: () => boolean\n getIsAggregated: () => boolean\n renderAggregatedCell: () => string | null | TGenerics['Rendered']\n}\n\nexport type ColumnDefaultOptions = {\n // Column\n onGroupingChange: OnChangeFn<GroupingState>\n enableGrouping: boolean\n}\n\nexport type GroupingOptions<TGenerics extends TableGenerics> = {\n manualGrouping?: boolean\n aggregationFns?: TGenerics['AggregationFns']\n onGroupingChange?: OnChangeFn<GroupingState>\n enableGrouping?: boolean\n enableGroupingRemoval?: boolean\n getGroupedRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n\n groupedColumnMode?: false | 'reorder' | 'remove'\n}\n\nexport type GroupingColumnMode = false | 'reorder' | 'remove'\n\nexport type GroupingInstance<TGenerics extends TableGenerics> = {\n getColumnAutoAggregationFn: (\n columnId: string\n ) => AggregationFn<TGenerics> | undefined\n getColumnAggregationFn: (\n columnId: string\n ) => AggregationFn<TGenerics> | undefined\n setGrouping: (updater: Updater<GroupingState>) => void\n resetGrouping: () => void\n toggleColumnGrouping: (columnId: string) => void\n getColumnCanGroup: (columnId: string) => boolean\n getColumnIsGrouped: (columnId: string) => boolean\n getColumnGroupedIndex: (columnId: string) => number\n getToggleGroupingHandler: (columnId: string) => undefined | (() => void)\n getRowIsGrouped: (rowId: string) => boolean\n getPreGroupedRowModel: () => RowModel<TGenerics>\n getGroupedRowModel: () => RowModel<TGenerics>\n _getGroupedRowModel?: () => RowModel<TGenerics>\n}\n\n//\n\nexport const Grouping = {\n getDefaultColumn: <\n TGenerics extends TableGenerics\n >(): GroupingColumnDef<TGenerics> => {\n return {\n aggregationFn: 'auto',\n }\n },\n\n getInitialState: (): GroupingTableState => {\n return {\n grouping: [],\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): GroupingOptions<TGenerics> => {\n return {\n onGroupingChange: makeStateUpdater('grouping', instance),\n groupedColumnMode: 'reorder',\n }\n },\n\n createColumn: <TGenerics extends TableGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingColumn<TGenerics> => {\n return {\n aggregationFn: column.aggregationFn,\n getCanGroup: () => instance.getColumnCanGroup(column.id),\n getGroupedIndex: () => instance.getColumnGroupedIndex(column.id),\n getIsGrouped: () => instance.getColumnIsGrouped(column.id),\n toggleGrouping: () => instance.toggleColumnGrouping(column.id),\n getToggleGroupingHandler: () =>\n instance.getToggleGroupingHandler(column.id)!,\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): GroupingInstance<TGenerics> => {\n return {\n getColumnAutoAggregationFn: columnId => {\n const firstRow = instance.getCoreRowModel().flatRows[0]\n\n const value = firstRow?.values[columnId]\n\n if (typeof value === 'number') {\n return aggregationFns.sum\n }\n\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return aggregationFns.extent\n }\n\n return aggregationFns.count\n },\n getColumnAggregationFn: columnId => {\n const column = instance.getColumn(columnId)\n const userAggregationFns = instance.options.aggregationFns\n\n if (!column) {\n throw new Error()\n }\n\n return isFunction(column.aggregationFn)\n ? column.aggregationFn\n : column.aggregationFn === 'auto'\n ? instance.getColumnAutoAggregationFn(columnId)\n : (userAggregationFns as Record<string, any>)?.[\n column.aggregationFn as string\n ] ??\n (aggregationFns[\n column.aggregationFn as BuiltInAggregationFn\n ] as AggregationFn<TGenerics>)\n },\n\n setGrouping: updater => instance.options.onGroupingChange?.(updater),\n\n toggleColumnGrouping: columnId => {\n instance.setGrouping(old => {\n // Find any existing grouping for this column\n if (old?.includes(columnId)) {\n return old.filter(d => d !== columnId)\n }\n\n return [...(old ?? []), columnId]\n })\n },\n\n getColumnCanGroup: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n column.enableGrouping ??\n instance.options.enableGrouping ??\n column.defaultCanGroup ??\n !!column.accessorFn\n )\n },\n\n getColumnIsGrouped: columnId => {\n return instance.getState().grouping?.includes(columnId)\n },\n\n getColumnGroupedIndex: columnId =>\n instance.getState().grouping?.indexOf(columnId),\n\n resetGrouping: () => {\n instance.setGrouping(instance.initialState?.grouping ?? [])\n },\n\n getToggleGroupingHandler: columnId => {\n const column = instance.getColumn(columnId)\n const canGroup = column.getCanGroup()\n\n return () => {\n if (!canGroup) return\n column.toggleGrouping?.()\n }\n },\n\n getRowIsGrouped: rowId => !!instance.getRow(rowId)?.groupingColumnId,\n\n getPreGroupedRowModel: () => instance.getSortedRowModel(),\n getGroupedRowModel: () => {\n if (\n !instance._getGroupedRowModel &&\n instance.options.getGroupedRowModel\n ) {\n instance._getGroupedRowModel =\n instance.options.getGroupedRowModel(instance)\n }\n\n if (instance.options.manualGrouping || !instance._getGroupedRowModel) {\n return instance.getPreGroupedRowModel()\n }\n\n return instance._getGroupedRowModel()\n },\n }\n },\n\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingRow => {\n return {\n getIsGrouped: () => instance.getRowIsGrouped(row.id),\n }\n },\n\n createCell: <TGenerics extends TableGenerics>(\n cell: Cell<TGenerics>,\n column: Column<TGenerics>,\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingCell<TGenerics> => {\n return {\n getIsGrouped: () =>\n column.getIsGrouped() && column.id === row.groupingColumnId,\n getIsPlaceholder: () => !cell.getIsGrouped() && column.getIsGrouped(),\n getIsAggregated: () =>\n !cell.getIsGrouped() &&\n !cell.getIsPlaceholder() &&\n row.subRows?.length > 1,\n renderAggregatedCell: () => {\n const template = column.aggregatedCell ?? column.cell\n\n return template\n ? instance.render(template, {\n instance,\n column,\n row,\n cell,\n value: cell.value,\n })\n : null\n },\n }\n },\n\n orderColumns: <TGenerics extends TableGenerics>(\n leafColumns: Column<TGenerics>[],\n grouping: string[],\n groupedColumnMode?: GroupingColumnMode\n ) => {\n if (!grouping?.length || !groupedColumnMode) {\n return leafColumns\n }\n\n const nonGroupingColumns = leafColumns.filter(\n col => !grouping.includes(col.id)\n )\n\n if (groupedColumnMode === 'remove') {\n return nonGroupingColumns\n }\n\n const groupingColumns = grouping\n .map(g => leafColumns.find(col => col.id === g)!)\n .filter(Boolean)\n\n return [...groupingColumns, ...nonGroupingColumns]\n },\n}\n"],"names":["Grouping","getDefaultColumn","aggregationFn","getInitialState","grouping","getDefaultOptions","instance","onGroupingChange","makeStateUpdater","groupedColumnMode","createColumn","column","getCanGroup","getColumnCanGroup","id","getGroupedIndex","getColumnGroupedIndex","getIsGrouped","getColumnIsGrouped","toggleGrouping","toggleColumnGrouping","getToggleGroupingHandler","createInstance","getColumnAutoAggregationFn","columnId","firstRow","getCoreRowModel","flatRows","value","values","aggregationFns","sum","Object","prototype","toString","call","extent","count","getColumnAggregationFn","getColumn","userAggregationFns","options","Error","isFunction","setGrouping","updater","old","includes","filter","d","enableGrouping","defaultCanGroup","accessorFn","getState","indexOf","resetGrouping","initialState","canGroup","getRowIsGrouped","rowId","getRow","groupingColumnId","getPreGroupedRowModel","getSortedRowModel","getGroupedRowModel","_getGroupedRowModel","manualGrouping","createRow","row","createCell","cell","getIsPlaceholder","getIsAggregated","subRows","length","renderAggregatedCell","template","aggregatedCell","render","orderColumns","leafColumns","nonGroupingColumns","col","groupingColumns","map","g","find","Boolean"],"mappings":"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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 TableFeature,\n} from '../types'\nimport { isFunction, makeStateUpdater, Overwrite } from '../utils'\n\nexport type GroupingState = string[]\n\nexport type AggregationFn<TGenerics extends TableGenerics> = (\n getLeafValues: () => TGenerics['Row'][],\n getChildValues: () => TGenerics['Row'][]\n) => any\n\nexport type CustomAggregationFns<TGenerics extends TableGenerics> = Record<\n string,\n AggregationFn<TGenerics>\n>\n\nexport type AggregationFnOption<TGenerics extends TableGenerics> =\n | 'auto'\n | BuiltInAggregationFn\n | keyof TGenerics['AggregationFns']\n | AggregationFn<TGenerics>\n\nexport type GroupingTableState = {\n grouping: GroupingState\n}\n\nexport type GroupingColumnDef<TGenerics extends TableGenerics> = {\n aggregationFn?: AggregationFnOption<Overwrite<TGenerics, { Value: any }>>\n aggregateValue?: (columnValue: unknown) => any\n aggregatedCell?: Renderable<\n TGenerics,\n {\n instance: TableInstance<TGenerics>\n row: Row<TGenerics>\n column: Column<TGenerics>\n cell: Cell<TGenerics>\n value: TGenerics['Value']\n }\n >\n enableGrouping?: boolean\n defaultCanGroup?: boolean\n}\n\nexport type GroupingColumn<TGenerics extends TableGenerics> = {\n aggregationFn?: AggregationFnOption<Overwrite<TGenerics, { Value: any }>>\n getCanGroup: () => boolean\n getIsGrouped: () => boolean\n getGroupedIndex: () => number\n toggleGrouping: () => void\n getToggleGroupingHandler: () => () => void\n}\n\nexport type GroupingRow = {\n groupingColumnId?: string\n groupingValue?: any\n getIsGrouped: () => boolean\n}\n\nexport type GroupingCell<TGenerics extends TableGenerics> = {\n getIsGrouped: () => boolean\n getIsPlaceholder: () => boolean\n getIsAggregated: () => boolean\n renderAggregatedCell: () => string | null | TGenerics['Rendered']\n}\n\nexport type ColumnDefaultOptions = {\n // Column\n onGroupingChange: OnChangeFn<GroupingState>\n enableGrouping: boolean\n}\n\nexport type GroupingOptions<TGenerics extends TableGenerics> = {\n manualGrouping?: boolean\n aggregationFns?: TGenerics['AggregationFns']\n onGroupingChange?: OnChangeFn<GroupingState>\n enableGrouping?: boolean\n enableGroupingRemoval?: boolean\n getGroupedRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n\n groupedColumnMode?: false | 'reorder' | 'remove'\n}\n\nexport type GroupingColumnMode = false | 'reorder' | 'remove'\n\nexport type GroupingInstance<TGenerics extends TableGenerics> = {\n getColumnAutoAggregationFn: (\n columnId: string\n ) => AggregationFn<TGenerics> | undefined\n getColumnAggregationFn: (\n columnId: string\n ) => AggregationFn<TGenerics> | undefined\n setGrouping: (updater: Updater<GroupingState>) => void\n resetGrouping: () => void\n toggleColumnGrouping: (columnId: string) => void\n getColumnCanGroup: (columnId: string) => boolean\n getColumnIsGrouped: (columnId: string) => boolean\n getColumnGroupedIndex: (columnId: string) => number\n getToggleGroupingHandler: (columnId: string) => undefined | (() => void)\n getRowIsGrouped: (rowId: string) => boolean\n getPreGroupedRowModel: () => RowModel<TGenerics>\n getGroupedRowModel: () => RowModel<TGenerics>\n _getGroupedRowModel?: () => RowModel<TGenerics>\n}\n\n//\n\nexport const Grouping: TableFeature = {\n getDefaultColumn: <\n TGenerics extends TableGenerics\n >(): GroupingColumnDef<TGenerics> => {\n return {\n aggregationFn: 'auto',\n }\n },\n\n getInitialState: (state): GroupingTableState => {\n return {\n grouping: [],\n ...state,\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): GroupingOptions<TGenerics> => {\n return {\n onGroupingChange: makeStateUpdater('grouping', instance),\n groupedColumnMode: 'reorder',\n }\n },\n\n createColumn: <TGenerics extends TableGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingColumn<TGenerics> => {\n return {\n aggregationFn: column.aggregationFn,\n getCanGroup: () => instance.getColumnCanGroup(column.id),\n getGroupedIndex: () => instance.getColumnGroupedIndex(column.id),\n getIsGrouped: () => instance.getColumnIsGrouped(column.id),\n toggleGrouping: () => instance.toggleColumnGrouping(column.id),\n getToggleGroupingHandler: () =>\n instance.getToggleGroupingHandler(column.id)!,\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): GroupingInstance<TGenerics> => {\n return {\n getColumnAutoAggregationFn: columnId => {\n const firstRow = instance.getCoreRowModel().flatRows[0]\n\n const value = firstRow?.values[columnId]\n\n if (typeof value === 'number') {\n return aggregationFns.sum\n }\n\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return aggregationFns.extent\n }\n\n return aggregationFns.count\n },\n getColumnAggregationFn: columnId => {\n const column = instance.getColumn(columnId)\n const userAggregationFns = instance.options.aggregationFns\n\n if (!column) {\n throw new Error()\n }\n\n return isFunction(column.aggregationFn)\n ? column.aggregationFn\n : column.aggregationFn === 'auto'\n ? instance.getColumnAutoAggregationFn(columnId)\n : (userAggregationFns as Record<string, any>)?.[\n column.aggregationFn as string\n ] ??\n (aggregationFns[\n column.aggregationFn as BuiltInAggregationFn\n ] as AggregationFn<TGenerics>)\n },\n\n setGrouping: updater => instance.options.onGroupingChange?.(updater),\n\n toggleColumnGrouping: columnId => {\n instance.setGrouping(old => {\n // Find any existing grouping for this column\n if (old?.includes(columnId)) {\n return old.filter(d => d !== columnId)\n }\n\n return [...(old ?? []), columnId]\n })\n },\n\n getColumnCanGroup: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n column.enableGrouping ??\n instance.options.enableGrouping ??\n column.defaultCanGroup ??\n !!column.accessorFn\n )\n },\n\n getColumnIsGrouped: columnId => {\n return instance.getState().grouping?.includes(columnId)\n },\n\n getColumnGroupedIndex: columnId =>\n instance.getState().grouping?.indexOf(columnId),\n\n resetGrouping: () => {\n instance.setGrouping(instance.initialState?.grouping ?? [])\n },\n\n getToggleGroupingHandler: columnId => {\n const column = instance.getColumn(columnId)\n const canGroup = column.getCanGroup()\n\n return () => {\n if (!canGroup) return\n column.toggleGrouping?.()\n }\n },\n\n getRowIsGrouped: rowId => !!instance.getRow(rowId)?.groupingColumnId,\n\n getPreGroupedRowModel: () => instance.getSortedRowModel(),\n getGroupedRowModel: () => {\n if (\n !instance._getGroupedRowModel &&\n instance.options.getGroupedRowModel\n ) {\n instance._getGroupedRowModel =\n instance.options.getGroupedRowModel(instance)\n }\n\n if (instance.options.manualGrouping || !instance._getGroupedRowModel) {\n return instance.getPreGroupedRowModel()\n }\n\n return instance._getGroupedRowModel()\n },\n }\n },\n\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingRow => {\n return {\n getIsGrouped: () => instance.getRowIsGrouped(row.id),\n }\n },\n\n createCell: <TGenerics extends TableGenerics>(\n cell: Cell<TGenerics>,\n column: Column<TGenerics>,\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): GroupingCell<TGenerics> => {\n return {\n getIsGrouped: () =>\n column.getIsGrouped() && column.id === row.groupingColumnId,\n getIsPlaceholder: () => !cell.getIsGrouped() && column.getIsGrouped(),\n getIsAggregated: () =>\n !cell.getIsGrouped() &&\n !cell.getIsPlaceholder() &&\n row.subRows?.length > 1,\n renderAggregatedCell: () => {\n const template = column.aggregatedCell ?? column.cell\n\n return template\n ? instance.render(template, {\n instance,\n column,\n row,\n cell,\n value: cell.value,\n })\n : null\n },\n }\n },\n}\n\nexport function orderColumns<TGenerics extends TableGenerics>(\n leafColumns: Column<TGenerics>[],\n grouping: string[],\n groupedColumnMode?: GroupingColumnMode\n) {\n if (!grouping?.length || !groupedColumnMode) {\n return leafColumns\n }\n\n const nonGroupingColumns = leafColumns.filter(\n col => !grouping.includes(col.id)\n )\n\n if (groupedColumnMode === 'remove') {\n return nonGroupingColumns\n }\n\n const groupingColumns = grouping\n .map(g => leafColumns.find(col => col.id === g)!)\n .filter(Boolean)\n\n return [...groupingColumns, ...nonGroupingColumns]\n}\n"],"names":["Grouping","getDefaultColumn","aggregationFn","getInitialState","state","_extends","grouping","getDefaultOptions","instance","onGroupingChange","makeStateUpdater","groupedColumnMode","createColumn","column","getCanGroup","getColumnCanGroup","id","getGroupedIndex","getColumnGroupedIndex","getIsGrouped","getColumnIsGrouped","toggleGrouping","toggleColumnGrouping","getToggleGroupingHandler","createInstance","getColumnAutoAggregationFn","columnId","firstRow","getCoreRowModel","flatRows","value","values","aggregationFns","sum","Object","prototype","toString","call","extent","count","getColumnAggregationFn","getColumn","userAggregationFns","options","Error","isFunction","setGrouping","updater","old","includes","filter","d","enableGrouping","defaultCanGroup","accessorFn","getState","indexOf","resetGrouping","initialState","canGroup","getRowIsGrouped","rowId","getRow","groupingColumnId","getPreGroupedRowModel","getSortedRowModel","getGroupedRowModel","_getGroupedRowModel","manualGrouping","createRow","row","createCell","cell","getIsPlaceholder","getIsAggregated","subRows","length","renderAggregatedCell","template","aggregatedCell","render","orderColumns","leafColumns","nonGroupingColumns","col","groupingColumns","map","g","find","Boolean"],"mappings":"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"}
|
|
@@ -12,15 +12,16 @@
|
|
|
12
12
|
|
|
13
13
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
14
|
|
|
15
|
+
var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.js');
|
|
15
16
|
var utils = require('../utils.js');
|
|
16
17
|
var Grouping = require('./Grouping.js');
|
|
17
18
|
|
|
18
19
|
//
|
|
19
20
|
var Ordering = {
|
|
20
|
-
getInitialState: function getInitialState() {
|
|
21
|
-
return {
|
|
21
|
+
getInitialState: function getInitialState(state) {
|
|
22
|
+
return _rollupPluginBabelHelpers["extends"]({
|
|
22
23
|
columnOrder: []
|
|
23
|
-
};
|
|
24
|
+
}, state);
|
|
24
25
|
},
|
|
25
26
|
getDefaultOptions: function getDefaultOptions(instance) {
|
|
26
27
|
return {
|
|
@@ -72,7 +73,7 @@ var Ordering = {
|
|
|
72
73
|
orderedColumns = [].concat(orderedColumns, columnsCopy);
|
|
73
74
|
}
|
|
74
75
|
|
|
75
|
-
return Grouping.
|
|
76
|
+
return Grouping.orderColumns(orderedColumns, grouping, groupedColumnMode);
|
|
76
77
|
};
|
|
77
78
|
}, {
|
|
78
79
|
key: 'getOrderColumnsFn' // debug: () => instance.options.debugAll ?? instance.options.debugTable,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ordering.js","sources":["../../../src/features/Ordering.ts"],"sourcesContent":["import { makeStateUpdater, memo } from '../utils'\n\nimport {\n TableInstance,\n OnChangeFn,\n Updater,\n Column,\n TableGenerics,\n} from '../types'\n\nimport { Grouping } from './Grouping'\n\nexport type ColumnOrderTableState = {\n columnOrder: ColumnOrderState\n}\n\nexport type ColumnOrderState = string[]\n\nexport type ColumnOrderOptions = {\n onColumnOrderChange?: OnChangeFn<ColumnOrderState>\n}\n\nexport type ColumnOrderDefaultOptions = {\n onColumnOrderChange: OnChangeFn<ColumnOrderState>\n}\n\nexport type ColumnOrderInstance<TGenerics extends TableGenerics> = {\n setColumnOrder: (updater: Updater<ColumnOrderState>) => void\n resetColumnOrder: () => void\n _getOrderColumnsFn: () => (\n columns: Column<TGenerics>[]\n ) => Column<TGenerics>[]\n}\n\n//\n\nexport const Ordering = {\n getInitialState: (): ColumnOrderTableState => {\n return {\n columnOrder: [],\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ColumnOrderDefaultOptions => {\n return {\n onColumnOrderChange: makeStateUpdater('columnOrder', instance),\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ColumnOrderInstance<TGenerics> => {\n return {\n setColumnOrder: updater =>\n instance.options.onColumnOrderChange?.(updater),\n resetColumnOrder: () => {\n instance.setColumnOrder(instance.initialState.columnOrder ?? [])\n },\n _getOrderColumnsFn: memo(\n () => [\n instance.getState().columnOrder,\n instance.getState().grouping,\n instance.options.groupedColumnMode,\n ],\n (columnOrder, grouping, groupedColumnMode) => columns => {\n // Sort grouped columns to the start of the column list\n // before the headers are built\n let orderedColumns: Column<TGenerics>[] = []\n\n // If there is no order, return the normal columns\n if (!columnOrder?.length) {\n orderedColumns = columns\n } else {\n const columnOrderCopy = [...columnOrder]\n\n // If there is an order, make a copy of the columns\n const columnsCopy = [...columns]\n\n // And make a new ordered array of the columns\n\n // Loop over the columns and place them in order into the new array\n while (columnsCopy.length && columnOrderCopy.length) {\n const targetColumnId = columnOrderCopy.shift()\n const foundIndex = columnsCopy.findIndex(\n d => d.id === targetColumnId\n )\n if (foundIndex > -1) {\n orderedColumns.push(columnsCopy.splice(foundIndex, 1)[0]!)\n }\n }\n\n // If there are any columns left, add them to the end\n orderedColumns = [...orderedColumns, ...columnsCopy]\n }\n\n return
|
|
1
|
+
{"version":3,"file":"Ordering.js","sources":["../../../src/features/Ordering.ts"],"sourcesContent":["import { makeStateUpdater, memo } from '../utils'\n\nimport {\n TableInstance,\n OnChangeFn,\n Updater,\n Column,\n TableGenerics,\n TableFeature,\n} from '../types'\n\nimport { Grouping, orderColumns } from './Grouping'\n\nexport type ColumnOrderTableState = {\n columnOrder: ColumnOrderState\n}\n\nexport type ColumnOrderState = string[]\n\nexport type ColumnOrderOptions = {\n onColumnOrderChange?: OnChangeFn<ColumnOrderState>\n}\n\nexport type ColumnOrderDefaultOptions = {\n onColumnOrderChange: OnChangeFn<ColumnOrderState>\n}\n\nexport type ColumnOrderInstance<TGenerics extends TableGenerics> = {\n setColumnOrder: (updater: Updater<ColumnOrderState>) => void\n resetColumnOrder: () => void\n _getOrderColumnsFn: () => (\n columns: Column<TGenerics>[]\n ) => Column<TGenerics>[]\n}\n\n//\n\nexport const Ordering: TableFeature = {\n getInitialState: (state): ColumnOrderTableState => {\n return {\n columnOrder: [],\n ...state,\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ColumnOrderDefaultOptions => {\n return {\n onColumnOrderChange: makeStateUpdater('columnOrder', instance),\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ColumnOrderInstance<TGenerics> => {\n return {\n setColumnOrder: updater =>\n instance.options.onColumnOrderChange?.(updater),\n resetColumnOrder: () => {\n instance.setColumnOrder(instance.initialState.columnOrder ?? [])\n },\n _getOrderColumnsFn: memo(\n () => [\n instance.getState().columnOrder,\n instance.getState().grouping,\n instance.options.groupedColumnMode,\n ],\n (columnOrder, grouping, groupedColumnMode) => columns => {\n // Sort grouped columns to the start of the column list\n // before the headers are built\n let orderedColumns: Column<TGenerics>[] = []\n\n // If there is no order, return the normal columns\n if (!columnOrder?.length) {\n orderedColumns = columns\n } else {\n const columnOrderCopy = [...columnOrder]\n\n // If there is an order, make a copy of the columns\n const columnsCopy = [...columns]\n\n // And make a new ordered array of the columns\n\n // Loop over the columns and place them in order into the new array\n while (columnsCopy.length && columnOrderCopy.length) {\n const targetColumnId = columnOrderCopy.shift()\n const foundIndex = columnsCopy.findIndex(\n d => d.id === targetColumnId\n )\n if (foundIndex > -1) {\n orderedColumns.push(columnsCopy.splice(foundIndex, 1)[0]!)\n }\n }\n\n // If there are any columns left, add them to the end\n orderedColumns = [...orderedColumns, ...columnsCopy]\n }\n\n return orderColumns(orderedColumns, grouping, groupedColumnMode)\n },\n {\n key: 'getOrderColumnsFn',\n // debug: () => instance.options.debugAll ?? instance.options.debugTable,\n }\n ),\n }\n },\n}\n"],"names":["Ordering","getInitialState","state","_extends","columnOrder","getDefaultOptions","instance","onColumnOrderChange","makeStateUpdater","createInstance","setColumnOrder","updater","options","resetColumnOrder","initialState","_getOrderColumnsFn","memo","getState","grouping","groupedColumnMode","columns","orderedColumns","length","columnOrderCopy","columnsCopy","targetColumnId","shift","foundIndex","findIndex","d","id","push","splice","orderColumns","key"],"mappings":"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"}
|
|
@@ -17,14 +17,14 @@ var utils = require('../utils.js');
|
|
|
17
17
|
|
|
18
18
|
//
|
|
19
19
|
var Pagination = {
|
|
20
|
-
getInitialState: function getInitialState(
|
|
21
|
-
return {
|
|
20
|
+
getInitialState: function getInitialState(state) {
|
|
21
|
+
return _rollupPluginBabelHelpers["extends"]({}, state, {
|
|
22
22
|
pagination: _rollupPluginBabelHelpers["extends"]({
|
|
23
23
|
pageCount: -1,
|
|
24
24
|
pageIndex: 0,
|
|
25
25
|
pageSize: 10
|
|
26
|
-
},
|
|
27
|
-
};
|
|
26
|
+
}, state == null ? void 0 : state.pagination)
|
|
27
|
+
});
|
|
28
28
|
},
|
|
29
29
|
getDefaultOptions: function getDefaultOptions(instance) {
|
|
30
30
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.js","sources":["../../../src/features/Pagination.ts"],"sourcesContent":["import {\n OnChangeFn,\n TableGenerics,\n TableInstance,\n RowModel,\n Updater,\n TableFeature,\n} from '../types'\nimport { functionalUpdate, makeStateUpdater, memo } from '../utils'\n\nexport type PaginationState = {\n pageIndex: number\n pageSize: number\n pageCount: number\n}\n\nexport type PaginationTableState = {\n pagination: PaginationState\n}\n\nexport type PaginationInitialTableState = {\n pagination?: Partial<PaginationState>\n}\n\nexport type PaginationOptions<TGenerics extends TableGenerics> = {\n manualPagination?: boolean\n onPaginationChange?: OnChangeFn<PaginationState>\n autoResetPageIndex?: boolean\n getPaginationRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n}\n\nexport type PaginationDefaultOptions = {\n onPaginationChange: OnChangeFn<PaginationState>\n autoResetPageIndex: boolean\n}\n\nexport type PaginationInstance<TGenerics extends TableGenerics> = {\n _autoResetPageIndex: () => void\n setPagination: (updater: Updater<PaginationState>) => void\n resetPagination: () => void\n setPageIndex: (updater: Updater<number>) => void\n resetPageIndex: () => void\n setPageSize: (updater: Updater<number>) => void\n resetPageSize: () => void\n setPageCount: (updater: Updater<number>) => void\n getPageOptions: () => number[]\n getCanPreviousPage: () => boolean\n getCanNextPage: () => boolean\n previousPage: () => void\n nextPage: () => void\n getPrePaginationRowModel: () => RowModel<TGenerics>\n getPaginationRowModel: () => RowModel<TGenerics>\n _getPaginationRowModel?: () => RowModel<TGenerics>\n getPageCount: () => number\n}\n\n//\n\nexport const Pagination: TableFeature = {\n getInitialState: (initialState): PaginationTableState => {\n return {\n pagination: {\n pageCount: -1,\n pageIndex: 0,\n pageSize: 10,\n ...initialState?.pagination,\n },\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): PaginationDefaultOptions => {\n return {\n onPaginationChange: makeStateUpdater('pagination', instance),\n autoResetPageIndex: true,\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): PaginationInstance<TGenerics> => {\n let registered = false\n\n return {\n _autoResetPageIndex: () => {\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.autoResetPageIndex\n ) {\n instance.resetPageIndex()\n }\n },\n setPagination: updater => {\n const safeUpdater: Updater<PaginationState> = old => {\n let newState = functionalUpdate(updater, old)\n\n return newState\n }\n\n return instance.options.onPaginationChange?.(safeUpdater)\n },\n resetPagination: () => {\n instance.setPagination(\n instance.initialState.pagination ?? {\n pageIndex: 0,\n pageSize: 10,\n pageCount: -1,\n }\n )\n },\n setPageIndex: updater => {\n instance.setPagination(old => {\n let pageIndex = functionalUpdate(updater, old.pageIndex)\n\n const maxPageIndex =\n old.pageCount && old.pageCount > 0\n ? old.pageCount - 1\n : Number.MAX_SAFE_INTEGER\n\n pageIndex = Math.min(Math.max(0, pageIndex), maxPageIndex)\n\n return {\n ...old,\n pageIndex,\n }\n })\n },\n resetPageIndex: () => {\n instance.setPageIndex(0)\n },\n resetPageSize: () => {\n instance.setPageSize(instance.initialState?.pagination?.pageSize ?? 10)\n },\n setPageSize: updater => {\n instance.setPagination(old => {\n const pageSize = Math.max(1, functionalUpdate(updater, old.pageSize))\n const topRowIndex = old.pageSize * old.pageIndex!\n const pageIndex = Math.floor(topRowIndex / pageSize)\n\n return {\n ...old,\n pageIndex,\n pageSize,\n }\n })\n },\n setPageCount: updater =>\n instance.setPagination(old => {\n let newPageCount = functionalUpdate(updater, old.pageCount)\n\n if (typeof newPageCount === 'number') {\n newPageCount = Math.max(-1, newPageCount)\n }\n\n return {\n ...old,\n pageCount: newPageCount,\n }\n }),\n\n getPageOptions: memo(\n () => [\n instance.getState().pagination.pageSize,\n instance.getState().pagination.pageCount,\n ],\n (pageSize, pageCount) => {\n let pageOptions: number[] = []\n if (pageCount && pageCount > 0) {\n pageOptions = [...new Array(pageCount)].fill(null).map((_, i) => i)\n }\n return pageOptions\n },\n {\n key: 'getPageOptions',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n }\n ),\n\n getCanPreviousPage: () => instance.getState().pagination.pageIndex > 0,\n\n getCanNextPage: () => {\n const { pageIndex } = instance.getState().pagination\n\n const pageCount = instance.getPageCount()\n\n if (pageCount === -1) {\n return true\n }\n\n if (pageCount === 0) {\n return false\n }\n\n return pageIndex < pageCount - 1\n },\n\n previousPage: () => {\n return instance.setPageIndex(old => old - 1)\n },\n\n nextPage: () => {\n return instance.setPageIndex(old => {\n return old + 1\n })\n },\n\n getPrePaginationRowModel: () => instance.getExpandedRowModel(),\n getPaginationRowModel: () => {\n if (\n !instance._getPaginationRowModel &&\n instance.options.getPaginationRowModel\n ) {\n instance._getPaginationRowModel =\n instance.options.getPaginationRowModel(instance)\n }\n\n if (\n instance.options.manualPagination ||\n !instance._getPaginationRowModel\n ) {\n return instance.getPrePaginationRowModel()\n }\n\n return instance._getPaginationRowModel()\n },\n\n getPageCount: () => {\n const { pageCount } = instance.getState().pagination\n if (pageCount > 0) {\n return pageCount\n }\n\n return Math.ceil(\n instance.getPrePaginationRowModel().rows.length /\n instance.getState().pagination.pageSize\n )\n },\n }\n },\n}\n"],"names":["Pagination","getInitialState","initialState","pagination","_extends","pageCount","pageIndex","pageSize","getDefaultOptions","instance","onPaginationChange","makeStateUpdater","autoResetPageIndex","createInstance","registered","_autoResetPageIndex","options","autoResetAll","resetPageIndex","setPagination","updater","safeUpdater","old","newState","functionalUpdate","resetPagination","setPageIndex","maxPageIndex","Number","MAX_SAFE_INTEGER","Math","min","max","resetPageSize","setPageSize","topRowIndex","floor","setPageCount","newPageCount","getPageOptions","memo","getState","pageOptions","Array","fill","map","_","i","key","debug","debugAll","debugTable","getCanPreviousPage","getCanNextPage","getPageCount","previousPage","nextPage","getPrePaginationRowModel","getExpandedRowModel","getPaginationRowModel","_getPaginationRowModel","manualPagination","ceil","rows","length"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Pagination.js","sources":["../../../src/features/Pagination.ts"],"sourcesContent":["import {\n OnChangeFn,\n TableGenerics,\n TableInstance,\n RowModel,\n Updater,\n TableFeature,\n} from '../types'\nimport { functionalUpdate, makeStateUpdater, memo } from '../utils'\n\nexport type PaginationState = {\n pageIndex: number\n pageSize: number\n pageCount: number\n}\n\nexport type PaginationTableState = {\n pagination: PaginationState\n}\n\nexport type PaginationInitialTableState = {\n pagination?: Partial<PaginationState>\n}\n\nexport type PaginationOptions<TGenerics extends TableGenerics> = {\n manualPagination?: boolean\n onPaginationChange?: OnChangeFn<PaginationState>\n autoResetPageIndex?: boolean\n getPaginationRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n}\n\nexport type PaginationDefaultOptions = {\n onPaginationChange: OnChangeFn<PaginationState>\n autoResetPageIndex: boolean\n}\n\nexport type PaginationInstance<TGenerics extends TableGenerics> = {\n _autoResetPageIndex: () => void\n setPagination: (updater: Updater<PaginationState>) => void\n resetPagination: () => void\n setPageIndex: (updater: Updater<number>) => void\n resetPageIndex: () => void\n setPageSize: (updater: Updater<number>) => void\n resetPageSize: () => void\n setPageCount: (updater: Updater<number>) => void\n getPageOptions: () => number[]\n getCanPreviousPage: () => boolean\n getCanNextPage: () => boolean\n previousPage: () => void\n nextPage: () => void\n getPrePaginationRowModel: () => RowModel<TGenerics>\n getPaginationRowModel: () => RowModel<TGenerics>\n _getPaginationRowModel?: () => RowModel<TGenerics>\n getPageCount: () => number\n}\n\n//\n\nexport const Pagination: TableFeature = {\n getInitialState: (state): PaginationTableState => {\n return {\n ...state,\n pagination: {\n pageCount: -1,\n pageIndex: 0,\n pageSize: 10,\n ...state?.pagination,\n },\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): PaginationDefaultOptions => {\n return {\n onPaginationChange: makeStateUpdater('pagination', instance),\n autoResetPageIndex: true,\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): PaginationInstance<TGenerics> => {\n let registered = false\n\n return {\n _autoResetPageIndex: () => {\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.autoResetPageIndex\n ) {\n instance.resetPageIndex()\n }\n },\n setPagination: updater => {\n const safeUpdater: Updater<PaginationState> = old => {\n let newState = functionalUpdate(updater, old)\n\n return newState\n }\n\n return instance.options.onPaginationChange?.(safeUpdater)\n },\n resetPagination: () => {\n instance.setPagination(\n instance.initialState.pagination ?? {\n pageIndex: 0,\n pageSize: 10,\n pageCount: -1,\n }\n )\n },\n setPageIndex: updater => {\n instance.setPagination(old => {\n let pageIndex = functionalUpdate(updater, old.pageIndex)\n\n const maxPageIndex =\n old.pageCount && old.pageCount > 0\n ? old.pageCount - 1\n : Number.MAX_SAFE_INTEGER\n\n pageIndex = Math.min(Math.max(0, pageIndex), maxPageIndex)\n\n return {\n ...old,\n pageIndex,\n }\n })\n },\n resetPageIndex: () => {\n instance.setPageIndex(0)\n },\n resetPageSize: () => {\n instance.setPageSize(instance.initialState?.pagination?.pageSize ?? 10)\n },\n setPageSize: updater => {\n instance.setPagination(old => {\n const pageSize = Math.max(1, functionalUpdate(updater, old.pageSize))\n const topRowIndex = old.pageSize * old.pageIndex!\n const pageIndex = Math.floor(topRowIndex / pageSize)\n\n return {\n ...old,\n pageIndex,\n pageSize,\n }\n })\n },\n setPageCount: updater =>\n instance.setPagination(old => {\n let newPageCount = functionalUpdate(updater, old.pageCount)\n\n if (typeof newPageCount === 'number') {\n newPageCount = Math.max(-1, newPageCount)\n }\n\n return {\n ...old,\n pageCount: newPageCount,\n }\n }),\n\n getPageOptions: memo(\n () => [\n instance.getState().pagination.pageSize,\n instance.getState().pagination.pageCount,\n ],\n (pageSize, pageCount) => {\n let pageOptions: number[] = []\n if (pageCount && pageCount > 0) {\n pageOptions = [...new Array(pageCount)].fill(null).map((_, i) => i)\n }\n return pageOptions\n },\n {\n key: 'getPageOptions',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n }\n ),\n\n getCanPreviousPage: () => instance.getState().pagination.pageIndex > 0,\n\n getCanNextPage: () => {\n const { pageIndex } = instance.getState().pagination\n\n const pageCount = instance.getPageCount()\n\n if (pageCount === -1) {\n return true\n }\n\n if (pageCount === 0) {\n return false\n }\n\n return pageIndex < pageCount - 1\n },\n\n previousPage: () => {\n return instance.setPageIndex(old => old - 1)\n },\n\n nextPage: () => {\n return instance.setPageIndex(old => {\n return old + 1\n })\n },\n\n getPrePaginationRowModel: () => instance.getExpandedRowModel(),\n getPaginationRowModel: () => {\n if (\n !instance._getPaginationRowModel &&\n instance.options.getPaginationRowModel\n ) {\n instance._getPaginationRowModel =\n instance.options.getPaginationRowModel(instance)\n }\n\n if (\n instance.options.manualPagination ||\n !instance._getPaginationRowModel\n ) {\n return instance.getPrePaginationRowModel()\n }\n\n return instance._getPaginationRowModel()\n },\n\n getPageCount: () => {\n const { pageCount } = instance.getState().pagination\n if (pageCount > 0) {\n return pageCount\n }\n\n return Math.ceil(\n instance.getPrePaginationRowModel().rows.length /\n instance.getState().pagination.pageSize\n )\n },\n }\n },\n}\n"],"names":["Pagination","getInitialState","state","_extends","pagination","pageCount","pageIndex","pageSize","getDefaultOptions","instance","onPaginationChange","makeStateUpdater","autoResetPageIndex","createInstance","registered","_autoResetPageIndex","options","autoResetAll","resetPageIndex","setPagination","updater","safeUpdater","old","newState","functionalUpdate","resetPagination","initialState","setPageIndex","maxPageIndex","Number","MAX_SAFE_INTEGER","Math","min","max","resetPageSize","setPageSize","topRowIndex","floor","setPageCount","newPageCount","getPageOptions","memo","getState","pageOptions","Array","fill","map","_","i","key","debug","debugAll","debugTable","getCanPreviousPage","getCanNextPage","getPageCount","previousPage","nextPage","getPrePaginationRowModel","getExpandedRowModel","getPaginationRowModel","_getPaginationRowModel","manualPagination","ceil","rows","length"],"mappings":"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"}
|
|
@@ -17,13 +17,13 @@ var utils = require('../utils.js');
|
|
|
17
17
|
|
|
18
18
|
//
|
|
19
19
|
var Pinning = {
|
|
20
|
-
getInitialState: function getInitialState() {
|
|
21
|
-
return {
|
|
20
|
+
getInitialState: function getInitialState(state) {
|
|
21
|
+
return _rollupPluginBabelHelpers["extends"]({
|
|
22
22
|
columnPinning: {
|
|
23
23
|
left: [],
|
|
24
24
|
right: []
|
|
25
25
|
}
|
|
26
|
-
};
|
|
26
|
+
}, state);
|
|
27
27
|
},
|
|
28
28
|
getDefaultOptions: function getDefaultOptions(instance) {
|
|
29
29
|
return {
|
|
@@ -107,67 +107,6 @@ var Pinning = {
|
|
|
107
107
|
})
|
|
108
108
|
};
|
|
109
109
|
},
|
|
110
|
-
createCell: function createCell(cell, instance) {
|
|
111
|
-
return {
|
|
112
|
-
getCenterVisibleCells: utils.memo(function () {
|
|
113
|
-
return [cell.row._getAllVisibleCells(), instance.getState().columnPinning.left, instance.getState().columnPinning.right];
|
|
114
|
-
}, function (allCells, left, right) {
|
|
115
|
-
var leftAndRight = [].concat(left != null ? left : [], right != null ? right : []);
|
|
116
|
-
return allCells.filter(function (d) {
|
|
117
|
-
return !leftAndRight.includes(d.columnId);
|
|
118
|
-
});
|
|
119
|
-
}, {
|
|
120
|
-
key: 'row.getCenterVisibleCells',
|
|
121
|
-
debug: function debug() {
|
|
122
|
-
var _instance$options$deb4;
|
|
123
|
-
|
|
124
|
-
return (_instance$options$deb4 = instance.options.debugAll) != null ? _instance$options$deb4 : instance.options.debugRows;
|
|
125
|
-
}
|
|
126
|
-
}),
|
|
127
|
-
getLeftVisibleCells: utils.memo(function () {
|
|
128
|
-
return [cell.row._getAllVisibleCells(), instance.getState().columnPinning.left,,];
|
|
129
|
-
}, function (allCells, left) {
|
|
130
|
-
var cells = (left != null ? left : []).map(function (columnId) {
|
|
131
|
-
return allCells.find(function (cell) {
|
|
132
|
-
return cell.columnId === columnId;
|
|
133
|
-
});
|
|
134
|
-
}).filter(Boolean).map(function (d) {
|
|
135
|
-
return _rollupPluginBabelHelpers["extends"]({}, d, {
|
|
136
|
-
position: 'left'
|
|
137
|
-
});
|
|
138
|
-
});
|
|
139
|
-
return cells;
|
|
140
|
-
}, {
|
|
141
|
-
key: 'row.getLeftVisibleCells',
|
|
142
|
-
debug: function debug() {
|
|
143
|
-
var _instance$options$deb5;
|
|
144
|
-
|
|
145
|
-
return (_instance$options$deb5 = instance.options.debugAll) != null ? _instance$options$deb5 : instance.options.debugRows;
|
|
146
|
-
}
|
|
147
|
-
}),
|
|
148
|
-
getRightVisibleCells: utils.memo(function () {
|
|
149
|
-
return [cell.row._getAllVisibleCells(), instance.getState().columnPinning.right];
|
|
150
|
-
}, function (allCells, right) {
|
|
151
|
-
var cells = (right != null ? right : []).map(function (columnId) {
|
|
152
|
-
return allCells.find(function (cell) {
|
|
153
|
-
return cell.columnId === columnId;
|
|
154
|
-
});
|
|
155
|
-
}).filter(Boolean).map(function (d) {
|
|
156
|
-
return _rollupPluginBabelHelpers["extends"]({}, d, {
|
|
157
|
-
position: 'left'
|
|
158
|
-
});
|
|
159
|
-
});
|
|
160
|
-
return cells;
|
|
161
|
-
}, {
|
|
162
|
-
key: 'row.getRightVisibleCells',
|
|
163
|
-
debug: function debug() {
|
|
164
|
-
var _instance$options$deb6;
|
|
165
|
-
|
|
166
|
-
return (_instance$options$deb6 = instance.options.debugAll) != null ? _instance$options$deb6 : instance.options.debugRows;
|
|
167
|
-
}
|
|
168
|
-
})
|
|
169
|
-
};
|
|
170
|
-
},
|
|
171
110
|
createInstance: function createInstance(instance) {
|
|
172
111
|
return {
|
|
173
112
|
setColumnPinning: function setColumnPinning(updater) {
|
|
@@ -231,9 +170,9 @@ var Pinning = {
|
|
|
231
170
|
|
|
232
171
|
var leafColumns = column.getLeafColumns();
|
|
233
172
|
return leafColumns.some(function (d) {
|
|
234
|
-
var
|
|
173
|
+
var _d$enablePinning, _instance$options$ena;
|
|
235
174
|
|
|
236
|
-
return (
|
|
175
|
+
return ((_d$enablePinning = d.enablePinning) != null ? _d$enablePinning : true) && ((_instance$options$ena = instance.options.enablePinning) != null ? _instance$options$ena : true);
|
|
237
176
|
});
|
|
238
177
|
},
|
|
239
178
|
getColumnIsPinned: function getColumnIsPinned(columnId) {
|
|
@@ -280,9 +219,9 @@ var Pinning = {
|
|
|
280
219
|
}, {
|
|
281
220
|
key: 'getLeftLeafColumns',
|
|
282
221
|
debug: function debug() {
|
|
283
|
-
var _instance$options$
|
|
222
|
+
var _instance$options$deb4;
|
|
284
223
|
|
|
285
|
-
return (_instance$options$
|
|
224
|
+
return (_instance$options$deb4 = instance.options.debugAll) != null ? _instance$options$deb4 : instance.options.debugColumns;
|
|
286
225
|
}
|
|
287
226
|
}),
|
|
288
227
|
getRightLeafColumns: utils.memo(function () {
|
|
@@ -296,9 +235,9 @@ var Pinning = {
|
|
|
296
235
|
}, {
|
|
297
236
|
key: 'getRightLeafColumns',
|
|
298
237
|
debug: function debug() {
|
|
299
|
-
var _instance$options$
|
|
238
|
+
var _instance$options$deb5;
|
|
300
239
|
|
|
301
|
-
return (_instance$options$
|
|
240
|
+
return (_instance$options$deb5 = instance.options.debugAll) != null ? _instance$options$deb5 : instance.options.debugColumns;
|
|
302
241
|
}
|
|
303
242
|
}),
|
|
304
243
|
getCenterLeafColumns: utils.memo(function () {
|
|
@@ -311,9 +250,9 @@ var Pinning = {
|
|
|
311
250
|
}, {
|
|
312
251
|
key: 'getCenterLeafColumns',
|
|
313
252
|
debug: function debug() {
|
|
314
|
-
var _instance$options$
|
|
253
|
+
var _instance$options$deb6;
|
|
315
254
|
|
|
316
|
-
return (_instance$options$
|
|
255
|
+
return (_instance$options$deb6 = instance.options.debugAll) != null ? _instance$options$deb6 : instance.options.debugColumns;
|
|
317
256
|
}
|
|
318
257
|
})
|
|
319
258
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pinning.js","sources":["../../../src/features/Pinning.ts"],"sourcesContent":["import {\n OnChangeFn,\n Updater,\n TableInstance,\n Column,\n TableGenerics,\n Row,\n Cell,\n} from '../types'\nimport { makeStateUpdater, memo } from '../utils'\n\nexport type ColumnPinningPosition = false | 'left' | 'right'\n\nexport type ColumnPinningState = {\n left?: string[]\n right?: string[]\n}\n\nexport type ColumnPinningTableState = {\n columnPinning: ColumnPinningState\n}\n\nexport type ColumnPinningOptions = {\n onColumnPinningChange?: OnChangeFn<ColumnPinningState>\n enablePinning?: boolean\n}\n\nexport type ColumnPinningDefaultOptions = {\n onColumnPinningChange: OnChangeFn<ColumnPinningState>\n}\n\nexport type ColumnPinningColumnDef = {\n enablePinning?: boolean\n defaultCanPin?: boolean\n}\n\nexport type ColumnPinningColumn = {\n getCanPin: () => boolean\n getPinnedIndex: () => number\n getIsPinned: () => ColumnPinningPosition\n pin: (position: ColumnPinningPosition) => void\n}\n\nexport type ColumnPinningRow<TGenerics extends TableGenerics> = {\n getLeftVisibleCells: () => Cell<TGenerics>[]\n getCenterVisibleCells: () => Cell<TGenerics>[]\n getRightVisibleCells: () => Cell<TGenerics>[]\n}\n\nexport type ColumnPinningCell<TGenerics extends TableGenerics> = {\n getLeftVisibleCells: () => Cell<TGenerics>[]\n getCenterVisibleCells: () => Cell<TGenerics>[]\n getRightVisibleCells: () => Cell<TGenerics>[]\n}\n\nexport type ColumnPinningInstance<TGenerics extends TableGenerics> = {\n setColumnPinning: (updater: Updater<ColumnPinningState>) => void\n resetColumnPinning: () => void\n pinColumn: (columnId: string, position: ColumnPinningPosition) => void\n getColumnCanPin: (columnId: string) => boolean\n getColumnIsPinned: (columnId: string) => ColumnPinningPosition\n getColumnPinnedIndex: (columnId: string) => number\n getIsSomeColumnsPinned: () => boolean\n getLeftLeafColumns: () => Column<TGenerics>[]\n getRightLeafColumns: () => Column<TGenerics>[]\n getCenterLeafColumns: () => Column<TGenerics>[]\n}\n\n//\n\nexport const Pinning = {\n getInitialState: (): ColumnPinningTableState => {\n return {\n columnPinning: {\n left: [],\n right: [],\n },\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ColumnPinningDefaultOptions => {\n return {\n onColumnPinningChange: makeStateUpdater('columnPinning', instance),\n }\n },\n\n createColumn: <TGenerics extends TableGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): ColumnPinningColumn => {\n return {\n getCanPin: () => instance.getColumnCanPin(column.id),\n getPinnedIndex: () => instance.getColumnPinnedIndex(column.id),\n getIsPinned: () => instance.getColumnIsPinned(column.id),\n pin: position => instance.pinColumn(column.id, position),\n }\n },\n\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): ColumnPinningRow<TGenerics> => {\n return {\n getCenterVisibleCells: memo(\n () => [\n row._getAllVisibleCells(),\n instance.getState().columnPinning.left,\n instance.getState().columnPinning.right,\n ],\n (allCells, left, right) => {\n const leftAndRight: string[] = [...(left ?? []), ...(right ?? [])]\n\n return allCells.filter(d => !leftAndRight.includes(d.columnId))\n },\n {\n key: 'row.getCenterVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n getLeftVisibleCells: memo(\n () => [\n row._getAllVisibleCells(),\n instance.getState().columnPinning.left,\n ,\n ],\n (allCells, left) => {\n const cells = (left ?? [])\n .map(columnId => allCells.find(cell => cell.columnId === columnId)!)\n .filter(Boolean)\n .map(d => ({ ...d, position: 'left' } as Cell<TGenerics>))\n\n return cells\n },\n {\n key: 'row.getLeftVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n getRightVisibleCells: memo(\n () => [\n row._getAllVisibleCells(),\n instance.getState().columnPinning.right,\n ],\n (allCells, right) => {\n const cells = (right ?? [])\n .map(columnId => allCells.find(cell => cell.columnId === columnId)!)\n .filter(Boolean)\n .map(d => ({ ...d, position: 'left' } as Cell<TGenerics>))\n\n return cells\n },\n {\n key: 'row.getRightVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n }\n },\n\n createCell: <TGenerics extends TableGenerics>(\n cell: Cell<TGenerics>,\n instance: TableInstance<TGenerics>\n ): ColumnPinningCell<TGenerics> => {\n return {\n getCenterVisibleCells: memo(\n () => [\n cell.row._getAllVisibleCells(),\n instance.getState().columnPinning.left,\n instance.getState().columnPinning.right,\n ],\n (allCells, left, right) => {\n const leftAndRight: string[] = [...(left ?? []), ...(right ?? [])]\n\n return allCells.filter(d => !leftAndRight.includes(d.columnId))\n },\n {\n key: 'row.getCenterVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n getLeftVisibleCells: memo(\n () => [\n cell.row._getAllVisibleCells(),\n instance.getState().columnPinning.left,\n ,\n ],\n (allCells, left) => {\n const cells = (left ?? [])\n .map(columnId => allCells.find(cell => cell.columnId === columnId)!)\n .filter(Boolean)\n .map(d => ({ ...d, position: 'left' } as Cell<TGenerics>))\n\n return cells\n },\n {\n key: 'row.getLeftVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n getRightVisibleCells: memo(\n () => [\n cell.row._getAllVisibleCells(),\n instance.getState().columnPinning.right,\n ],\n (allCells, right) => {\n const cells = (right ?? [])\n .map(columnId => allCells.find(cell => cell.columnId === columnId)!)\n .filter(Boolean)\n .map(d => ({ ...d, position: 'left' } as Cell<TGenerics>))\n\n return cells\n },\n {\n key: 'row.getRightVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ColumnPinningInstance<TGenerics> => {\n return {\n setColumnPinning: updater =>\n instance.options.onColumnPinningChange?.(updater),\n\n resetColumnPinning: () =>\n instance.setColumnPinning(instance.initialState?.columnPinning ?? {}),\n\n pinColumn: (columnId, position) => {\n const column = instance.getColumn(columnId)\n\n const columnIds = column\n ?.getLeafColumns()\n .map(d => d.id)\n .filter(Boolean) as string[]\n\n instance.setColumnPinning(old => {\n if (position === 'right') {\n return {\n left: (old?.left ?? []).filter(d => !columnIds?.includes(d)),\n right: [\n ...(old?.right ?? []).filter(d => !columnIds?.includes(d)),\n ...columnIds,\n ],\n }\n }\n\n if (position === 'left') {\n return {\n left: [\n ...(old?.left ?? []).filter(d => !columnIds?.includes(d)),\n ...columnIds,\n ],\n right: (old?.right ?? []).filter(d => !columnIds?.includes(d)),\n }\n }\n\n return {\n left: (old?.left ?? []).filter(d => !columnIds?.includes(d)),\n right: (old?.right ?? []).filter(d => !columnIds?.includes(d)),\n }\n })\n },\n\n getColumnCanPin: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n const leafColumns = column.getLeafColumns()\n\n return leafColumns.some(\n d =>\n d.enablePinning ??\n instance.options.enablePinning ??\n d.defaultCanPin ??\n !!d.accessorFn\n )\n },\n\n getColumnIsPinned: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n const leafColumnIds = column.getLeafColumns().map(d => d.id)\n\n const { left, right } = instance.getState().columnPinning\n\n const isLeft = leafColumnIds.some(d => left?.includes(d))\n const isRight = leafColumnIds.some(d => right?.includes(d))\n\n return isLeft ? 'left' : isRight ? 'right' : false\n },\n\n getColumnPinnedIndex: columnId => {\n const position = instance.getColumnIsPinned(columnId)\n\n return position\n ? instance.getState().columnPinning?.[position]?.indexOf(columnId) ??\n -1\n : 0\n },\n\n getIsSomeColumnsPinned: () => {\n const { left, right } = instance.getState().columnPinning\n\n return Boolean(left?.length || right?.length)\n },\n\n getLeftLeafColumns: memo(\n () => [\n instance.getAllLeafColumns(),\n instance.getState().columnPinning.left,\n ],\n (allColumns, left) => {\n return (left ?? [])\n .map(columnId => allColumns.find(column => column.id === columnId)!)\n .filter(Boolean)\n },\n {\n key: 'getLeftLeafColumns',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n\n getRightLeafColumns: memo(\n () => [\n instance.getAllLeafColumns(),\n instance.getState().columnPinning.right,\n ],\n (allColumns, right) => {\n return (right ?? [])\n .map(columnId => allColumns.find(column => column.id === columnId)!)\n .filter(Boolean)\n },\n {\n key: 'getRightLeafColumns',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n\n getCenterLeafColumns: memo(\n () => [\n instance.getAllLeafColumns(),\n instance.getState().columnPinning.left,\n instance.getState().columnPinning.right,\n ],\n (allColumns, left, right) => {\n const leftAndRight: string[] = [...(left ?? []), ...(right ?? [])]\n\n return allColumns.filter(d => !leftAndRight.includes(d.id))\n },\n {\n key: 'getCenterLeafColumns',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n }\n },\n}\n"],"names":["Pinning","getInitialState","columnPinning","left","right","getDefaultOptions","instance","onColumnPinningChange","makeStateUpdater","createColumn","column","getCanPin","getColumnCanPin","id","getPinnedIndex","getColumnPinnedIndex","getIsPinned","getColumnIsPinned","pin","position","pinColumn","createRow","row","getCenterVisibleCells","memo","_getAllVisibleCells","getState","allCells","leftAndRight","filter","d","includes","columnId","key","debug","options","debugAll","debugRows","getLeftVisibleCells","cells","map","find","cell","Boolean","_extends","getRightVisibleCells","createCell","createInstance","setColumnPinning","updater","resetColumnPinning","initialState","getColumn","columnIds","getLeafColumns","old","Error","leafColumns","some","enablePinning","defaultCanPin","accessorFn","leafColumnIds","isLeft","isRight","indexOf","getIsSomeColumnsPinned","length","getLeftLeafColumns","getAllLeafColumns","allColumns","debugColumns","getRightLeafColumns","getCenterLeafColumns"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Pinning.js","sources":["../../../src/features/Pinning.ts"],"sourcesContent":["import {\n OnChangeFn,\n Updater,\n TableInstance,\n Column,\n TableGenerics,\n Row,\n Cell,\n TableFeature,\n} from '../types'\nimport { makeStateUpdater, memo } from '../utils'\n\nexport type ColumnPinningPosition = false | 'left' | 'right'\n\nexport type ColumnPinningState = {\n left?: string[]\n right?: string[]\n}\n\nexport type ColumnPinningTableState = {\n columnPinning: ColumnPinningState\n}\n\nexport type ColumnPinningOptions = {\n onColumnPinningChange?: OnChangeFn<ColumnPinningState>\n enablePinning?: boolean\n}\n\nexport type ColumnPinningDefaultOptions = {\n onColumnPinningChange: OnChangeFn<ColumnPinningState>\n}\n\nexport type ColumnPinningColumnDef = {\n enablePinning?: boolean\n}\n\nexport type ColumnPinningColumn = {\n getCanPin: () => boolean\n getPinnedIndex: () => number\n getIsPinned: () => ColumnPinningPosition\n pin: (position: ColumnPinningPosition) => void\n}\n\nexport type ColumnPinningRow<TGenerics extends TableGenerics> = {\n getLeftVisibleCells: () => Cell<TGenerics>[]\n getCenterVisibleCells: () => Cell<TGenerics>[]\n getRightVisibleCells: () => Cell<TGenerics>[]\n}\n\nexport type ColumnPinningInstance<TGenerics extends TableGenerics> = {\n setColumnPinning: (updater: Updater<ColumnPinningState>) => void\n resetColumnPinning: () => void\n pinColumn: (columnId: string, position: ColumnPinningPosition) => void\n getColumnCanPin: (columnId: string) => boolean\n getColumnIsPinned: (columnId: string) => ColumnPinningPosition\n getColumnPinnedIndex: (columnId: string) => number\n getIsSomeColumnsPinned: () => boolean\n getLeftLeafColumns: () => Column<TGenerics>[]\n getRightLeafColumns: () => Column<TGenerics>[]\n getCenterLeafColumns: () => Column<TGenerics>[]\n}\n\n//\n\nexport const Pinning: TableFeature = {\n getInitialState: (state): ColumnPinningTableState => {\n return {\n columnPinning: {\n left: [],\n right: [],\n },\n ...state,\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ColumnPinningDefaultOptions => {\n return {\n onColumnPinningChange: makeStateUpdater('columnPinning', instance),\n }\n },\n\n createColumn: <TGenerics extends TableGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): ColumnPinningColumn => {\n return {\n getCanPin: () => instance.getColumnCanPin(column.id),\n getPinnedIndex: () => instance.getColumnPinnedIndex(column.id),\n getIsPinned: () => instance.getColumnIsPinned(column.id),\n pin: position => instance.pinColumn(column.id, position),\n }\n },\n\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): ColumnPinningRow<TGenerics> => {\n return {\n getCenterVisibleCells: memo(\n () => [\n row._getAllVisibleCells(),\n instance.getState().columnPinning.left,\n instance.getState().columnPinning.right,\n ],\n (allCells, left, right) => {\n const leftAndRight: string[] = [...(left ?? []), ...(right ?? [])]\n\n return allCells.filter(d => !leftAndRight.includes(d.columnId))\n },\n {\n key: 'row.getCenterVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n getLeftVisibleCells: memo(\n () => [\n row._getAllVisibleCells(),\n instance.getState().columnPinning.left,\n ,\n ],\n (allCells, left) => {\n const cells = (left ?? [])\n .map(columnId => allCells.find(cell => cell.columnId === columnId)!)\n .filter(Boolean)\n .map(d => ({ ...d, position: 'left' } as Cell<TGenerics>))\n\n return cells\n },\n {\n key: 'row.getLeftVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n getRightVisibleCells: memo(\n () => [\n row._getAllVisibleCells(),\n instance.getState().columnPinning.right,\n ],\n (allCells, right) => {\n const cells = (right ?? [])\n .map(columnId => allCells.find(cell => cell.columnId === columnId)!)\n .filter(Boolean)\n .map(d => ({ ...d, position: 'left' } as Cell<TGenerics>))\n\n return cells\n },\n {\n key: 'row.getRightVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ColumnPinningInstance<TGenerics> => {\n return {\n setColumnPinning: updater =>\n instance.options.onColumnPinningChange?.(updater),\n\n resetColumnPinning: () =>\n instance.setColumnPinning(instance.initialState?.columnPinning ?? {}),\n\n pinColumn: (columnId, position) => {\n const column = instance.getColumn(columnId)\n\n const columnIds = column\n ?.getLeafColumns()\n .map(d => d.id)\n .filter(Boolean) as string[]\n\n instance.setColumnPinning(old => {\n if (position === 'right') {\n return {\n left: (old?.left ?? []).filter(d => !columnIds?.includes(d)),\n right: [\n ...(old?.right ?? []).filter(d => !columnIds?.includes(d)),\n ...columnIds,\n ],\n }\n }\n\n if (position === 'left') {\n return {\n left: [\n ...(old?.left ?? []).filter(d => !columnIds?.includes(d)),\n ...columnIds,\n ],\n right: (old?.right ?? []).filter(d => !columnIds?.includes(d)),\n }\n }\n\n return {\n left: (old?.left ?? []).filter(d => !columnIds?.includes(d)),\n right: (old?.right ?? []).filter(d => !columnIds?.includes(d)),\n }\n })\n },\n\n getColumnCanPin: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n const leafColumns = column.getLeafColumns()\n\n return leafColumns.some(\n d =>\n (d.enablePinning ?? true) &&\n (instance.options.enablePinning ?? true)\n )\n },\n\n getColumnIsPinned: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n const leafColumnIds = column.getLeafColumns().map(d => d.id)\n\n const { left, right } = instance.getState().columnPinning\n\n const isLeft = leafColumnIds.some(d => left?.includes(d))\n const isRight = leafColumnIds.some(d => right?.includes(d))\n\n return isLeft ? 'left' : isRight ? 'right' : false\n },\n\n getColumnPinnedIndex: columnId => {\n const position = instance.getColumnIsPinned(columnId)\n\n return position\n ? instance.getState().columnPinning?.[position]?.indexOf(columnId) ??\n -1\n : 0\n },\n\n getIsSomeColumnsPinned: () => {\n const { left, right } = instance.getState().columnPinning\n\n return Boolean(left?.length || right?.length)\n },\n\n getLeftLeafColumns: memo(\n () => [\n instance.getAllLeafColumns(),\n instance.getState().columnPinning.left,\n ],\n (allColumns, left) => {\n return (left ?? [])\n .map(columnId => allColumns.find(column => column.id === columnId)!)\n .filter(Boolean)\n },\n {\n key: 'getLeftLeafColumns',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n\n getRightLeafColumns: memo(\n () => [\n instance.getAllLeafColumns(),\n instance.getState().columnPinning.right,\n ],\n (allColumns, right) => {\n return (right ?? [])\n .map(columnId => allColumns.find(column => column.id === columnId)!)\n .filter(Boolean)\n },\n {\n key: 'getRightLeafColumns',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n\n getCenterLeafColumns: memo(\n () => [\n instance.getAllLeafColumns(),\n instance.getState().columnPinning.left,\n instance.getState().columnPinning.right,\n ],\n (allColumns, left, right) => {\n const leftAndRight: string[] = [...(left ?? []), ...(right ?? [])]\n\n return allColumns.filter(d => !leftAndRight.includes(d.id))\n },\n {\n key: 'getCenterLeafColumns',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n }\n },\n}\n"],"names":["Pinning","getInitialState","state","_extends","columnPinning","left","right","getDefaultOptions","instance","onColumnPinningChange","makeStateUpdater","createColumn","column","getCanPin","getColumnCanPin","id","getPinnedIndex","getColumnPinnedIndex","getIsPinned","getColumnIsPinned","pin","position","pinColumn","createRow","row","getCenterVisibleCells","memo","_getAllVisibleCells","getState","allCells","leftAndRight","filter","d","includes","columnId","key","debug","options","debugAll","debugRows","getLeftVisibleCells","cells","map","find","cell","Boolean","getRightVisibleCells","createInstance","setColumnPinning","updater","resetColumnPinning","initialState","getColumn","columnIds","getLeafColumns","old","Error","leafColumns","some","enablePinning","leafColumnIds","isLeft","isRight","indexOf","getIsSomeColumnsPinned","length","getLeftLeafColumns","getAllLeafColumns","allColumns","debugColumns","getRightLeafColumns","getCenterLeafColumns"],"mappings":"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"}
|
|
@@ -17,10 +17,10 @@ var utils = require('../utils.js');
|
|
|
17
17
|
|
|
18
18
|
//
|
|
19
19
|
var RowSelection = {
|
|
20
|
-
getInitialState: function getInitialState() {
|
|
21
|
-
return {
|
|
20
|
+
getInitialState: function getInitialState(state) {
|
|
21
|
+
return _rollupPluginBabelHelpers["extends"]({
|
|
22
22
|
rowSelection: {}
|
|
23
|
-
};
|
|
23
|
+
}, state);
|
|
24
24
|
},
|
|
25
25
|
getDefaultOptions: function getDefaultOptions(instance) {
|
|
26
26
|
return {
|