@tanstack/table-core 8.0.13 → 8.1.1
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/cell.js +13 -13
- package/build/cjs/core/cell.js.map +1 -1
- package/build/cjs/core/column.js +20 -21
- package/build/cjs/core/column.js.map +1 -1
- package/build/cjs/core/headers.js +63 -68
- package/build/cjs/core/headers.js.map +1 -1
- package/build/cjs/core/row.js +16 -11
- package/build/cjs/core/row.js.map +1 -1
- package/build/cjs/core/{instance.js → table.js} +46 -57
- package/build/cjs/core/table.js.map +1 -0
- package/build/cjs/features/ColumnSizing.js +36 -36
- package/build/cjs/features/ColumnSizing.js.map +1 -1
- package/build/cjs/features/Expanding.js +34 -34
- package/build/cjs/features/Expanding.js.map +1 -1
- package/build/cjs/features/Filters.js +46 -52
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Grouping.js +24 -49
- package/build/cjs/features/Grouping.js.map +1 -1
- package/build/cjs/features/Ordering.js +8 -8
- package/build/cjs/features/Ordering.js.map +1 -1
- package/build/cjs/features/Pagination.js +37 -37
- package/build/cjs/features/Pagination.js.map +1 -1
- package/build/cjs/features/Pinning.js +33 -33
- package/build/cjs/features/Pinning.js.map +1 -1
- package/build/cjs/features/RowSelection.js +86 -74
- package/build/cjs/features/RowSelection.js.map +1 -1
- package/build/cjs/features/Sorting.js +36 -40
- package/build/cjs/features/Sorting.js.map +1 -1
- package/build/cjs/features/Visibility.js +30 -30
- package/build/cjs/features/Visibility.js.map +1 -1
- package/build/cjs/index.js +3 -4
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/utils/filterRowsUtils.js +8 -8
- package/build/cjs/utils/filterRowsUtils.js.map +1 -1
- package/build/cjs/utils/getCoreRowModel.js +8 -8
- package/build/cjs/utils/getCoreRowModel.js.map +1 -1
- package/build/cjs/utils/getExpandedRowModel.js +4 -4
- package/build/cjs/utils/getExpandedRowModel.js.map +1 -1
- package/build/cjs/utils/getFacetedMinMaxValues.js +3 -3
- package/build/cjs/utils/getFacetedMinMaxValues.js.map +1 -1
- package/build/cjs/utils/getFacetedRowModel.js +4 -4
- package/build/cjs/utils/getFacetedRowModel.js.map +1 -1
- package/build/cjs/utils/getFacetedUniqueValues.js +3 -3
- package/build/cjs/utils/getFacetedUniqueValues.js.map +1 -1
- package/build/cjs/utils/getFilteredRowModel.js +8 -8
- package/build/cjs/utils/getFilteredRowModel.js.map +1 -1
- package/build/cjs/utils/getGroupedRowModel.js +9 -9
- package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
- package/build/cjs/utils/getPaginationRowModel.js +4 -4
- package/build/cjs/utils/getPaginationRowModel.js.map +1 -1
- package/build/cjs/utils/getSortedRowModel.js +7 -7
- package/build/cjs/utils/getSortedRowModel.js.map +1 -1
- package/build/cjs/utils.js +2 -2
- package/build/cjs/utils.js.map +1 -1
- package/build/esm/index.js +585 -677
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +352 -377
- package/build/types/index.d.ts +286 -360
- package/build/umd/index.development.js +586 -678
- 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/cell.ts +34 -28
- package/src/core/column.ts +83 -72
- package/src/core/headers.ts +118 -149
- package/src/core/row.ts +31 -25
- package/src/core/{instance.ts → table.ts} +85 -116
- package/src/features/ColumnSizing.ts +45 -47
- package/src/features/Expanding.ts +53 -59
- package/src/features/Filters.ts +112 -132
- package/src/features/Grouping.ts +63 -112
- package/src/features/Ordering.ts +19 -21
- package/src/features/Pagination.ts +54 -55
- package/src/features/Pinning.ts +49 -61
- package/src/features/RowSelection.ts +115 -114
- package/src/features/Sorting.ts +57 -72
- package/src/features/Visibility.ts +48 -48
- package/src/index.ts +1 -2
- package/src/types.ts +64 -69
- package/src/utils/filterRowsUtils.ts +33 -28
- package/src/utils/getCoreRowModel.ts +22 -22
- package/src/utils/getExpandedRowModel.ts +15 -15
- package/src/utils/getFacetedMinMaxValues.ts +6 -6
- package/src/utils/getFacetedRowModel.ts +12 -12
- package/src/utils/getFacetedUniqueValues.ts +6 -6
- package/src/utils/getFilteredRowModel.ts +17 -17
- package/src/utils/getGroupedRowModel.ts +18 -21
- package/src/utils/getPaginationRowModel.ts +10 -13
- package/src/utils/getSortedRowModel.ts +14 -14
- package/src/utils.ts +8 -2
- package/build/cjs/core/instance.js.map +0 -1
- package/build/cjs/createTable.js +0 -72
- package/build/cjs/createTable.js.map +0 -1
- package/src/createTable.ts +0 -188
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ordering.js","sources":["../../../src/features/Ordering.ts"],"sourcesContent":["import { makeStateUpdater, memo } from '../utils'\n\nimport {\n
|
|
1
|
+
{"version":3,"file":"Ordering.js","sources":["../../../src/features/Ordering.ts"],"sourcesContent":["import { makeStateUpdater, memo } from '../utils'\n\nimport {\n Table,\n OnChangeFn,\n Updater,\n Column,\n TableGenerics,\n RowData,\n} from '../types'\n\nimport { Grouping, orderColumns } from './Grouping'\nimport { TableFeature } from '../core/table'\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<TData extends RowData> = {\n setColumnOrder: (updater: Updater<ColumnOrderState>) => void\n resetColumnOrder: (defaultState?: boolean) => void\n _getOrderColumnsFn: () => (columns: Column<TData>[]) => Column<TData>[]\n}\n\n//\n\nexport const Ordering: TableFeature = {\n getInitialState: (state): ColumnOrderTableState => {\n return {\n columnOrder: [],\n ...state,\n }\n },\n\n getDefaultOptions: <TData extends RowData>(\n table: Table<TData>\n ): ColumnOrderDefaultOptions => {\n return {\n onColumnOrderChange: makeStateUpdater('columnOrder', table),\n }\n },\n\n createTable: <TData extends RowData>(\n table: Table<TData>\n ): ColumnOrderInstance<TData> => {\n return {\n setColumnOrder: updater => table.options.onColumnOrderChange?.(updater),\n resetColumnOrder: defaultState => {\n table.setColumnOrder(\n defaultState ? [] : table.initialState.columnOrder ?? []\n )\n },\n _getOrderColumnsFn: memo(\n () => [\n table.getState().columnOrder,\n table.getState().grouping,\n table.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<TData>[] = []\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: process.env.NODE_ENV === 'development' && 'getOrderColumnsFn',\n // debug: () => table.options.debugAll ?? table.options.debugTable,\n }\n ),\n }\n },\n}\n"],"names":["Ordering","getInitialState","state","columnOrder","getDefaultOptions","table","onColumnOrderChange","makeStateUpdater","createTable","setColumnOrder","updater","options","resetColumnOrder","defaultState","initialState","_getOrderColumnsFn","memo","getState","grouping","groupedColumnMode","columns","orderedColumns","length","columnOrderCopy","columnsCopy","targetColumnId","shift","foundIndex","findIndex","d","id","push","splice","orderColumns","key","process","env","NODE_ENV"],"mappings":";;;;;;;;;;;;;;;;;AAkCA;AAEO,MAAMA,QAAsB,GAAG;EACpCC,eAAe,EAAGC,KAAD,IAAkC;IACjD,OAAO;AACLC,MAAAA,WAAW,EAAE,EADR;MAEL,GAAGD,KAAAA;KAFL,CAAA;GAFkC;EAQpCE,iBAAiB,EACfC,KADiB,IAEa;IAC9B,OAAO;AACLC,MAAAA,mBAAmB,EAAEC,sBAAgB,CAAC,aAAD,EAAgBF,KAAhB,CAAA;KADvC,CAAA;GAXkC;EAgBpCG,WAAW,EACTH,KADW,IAEoB;IAC/B,OAAO;AACLI,MAAAA,cAAc,EAAEC,OAAO,IAAIL,KAAK,CAACM,OAAN,CAAcL,mBAAlB,IAAID,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAK,CAACM,OAAN,CAAcL,mBAAd,CAAoCI,OAApC,CADtB;MAELE,gBAAgB,EAAEC,YAAY,IAAI;AAAA,QAAA,IAAA,qBAAA,CAAA;;AAChCR,QAAAA,KAAK,CAACI,cAAN,CACEI,YAAY,GAAG,EAAH,GAAQR,CAAAA,qBAAAA,GAAAA,KAAK,CAACS,YAAN,CAAmBX,WAA3B,oCAA0C,EADxD,CAAA,CAAA;OAHG;AAOLY,MAAAA,kBAAkB,EAAEC,UAAI,CACtB,MAAM,CACJX,KAAK,CAACY,QAAN,EAAA,CAAiBd,WADb,EAEJE,KAAK,CAACY,QAAN,EAAiBC,CAAAA,QAFb,EAGJb,KAAK,CAACM,OAAN,CAAcQ,iBAHV,CADgB,EAMtB,CAAChB,WAAD,EAAce,QAAd,EAAwBC,iBAAxB,KAA8CC,OAAO,IAAI;AACvD;AACA;AACA,QAAA,IAAIC,cAA+B,GAAG,EAAtC,CAHuD;;AAMvD,QAAA,IAAI,EAAClB,WAAD,IAAA,IAAA,IAACA,WAAW,CAAEmB,MAAd,CAAJ,EAA0B;AACxBD,UAAAA,cAAc,GAAGD,OAAjB,CAAA;AACD,SAFD,MAEO;AACL,UAAA,MAAMG,eAAe,GAAG,CAAC,GAAGpB,WAAJ,CAAxB,CADK;;AAIL,UAAA,MAAMqB,WAAW,GAAG,CAAC,GAAGJ,OAAJ,CAApB,CAJK;AAQL;;AACA,UAAA,OAAOI,WAAW,CAACF,MAAZ,IAAsBC,eAAe,CAACD,MAA7C,EAAqD;AACnD,YAAA,MAAMG,cAAc,GAAGF,eAAe,CAACG,KAAhB,EAAvB,CAAA;AACA,YAAA,MAAMC,UAAU,GAAGH,WAAW,CAACI,SAAZ,CACjBC,CAAC,IAAIA,CAAC,CAACC,EAAF,KAASL,cADG,CAAnB,CAAA;;AAGA,YAAA,IAAIE,UAAU,GAAG,CAAC,CAAlB,EAAqB;AACnBN,cAAAA,cAAc,CAACU,IAAf,CAAoBP,WAAW,CAACQ,MAAZ,CAAmBL,UAAnB,EAA+B,CAA/B,CAAkC,CAAA,CAAlC,CAApB,CAAA,CAAA;AACD,aAAA;AACF,WAjBI;;;AAoBLN,UAAAA,cAAc,GAAG,CAAC,GAAGA,cAAJ,EAAoB,GAAGG,WAAvB,CAAjB,CAAA;AACD,SAAA;;AAED,QAAA,OAAOS,qBAAY,CAACZ,cAAD,EAAiBH,QAAjB,EAA2BC,iBAA3B,CAAnB,CAAA;AACD,OAtCqB,EAuCtB;QACEe,GAAG,EAAEC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzB,IAA0C,mBADjD;;OAvCsB,CAAA;KAP1B,CAAA;AAoDD,GAAA;AAvEmC;;;;"}
|
|
@@ -31,32 +31,32 @@ const Pagination = {
|
|
|
31
31
|
}
|
|
32
32
|
};
|
|
33
33
|
},
|
|
34
|
-
getDefaultOptions:
|
|
34
|
+
getDefaultOptions: table => {
|
|
35
35
|
return {
|
|
36
|
-
onPaginationChange: utils.makeStateUpdater('pagination',
|
|
36
|
+
onPaginationChange: utils.makeStateUpdater('pagination', table)
|
|
37
37
|
};
|
|
38
38
|
},
|
|
39
|
-
|
|
39
|
+
createTable: table => {
|
|
40
40
|
let registered = false;
|
|
41
41
|
let queued = false;
|
|
42
42
|
return {
|
|
43
43
|
_autoResetPageIndex: () => {
|
|
44
|
-
var _ref,
|
|
44
|
+
var _ref, _table$options$autoRe;
|
|
45
45
|
|
|
46
46
|
if (!registered) {
|
|
47
|
-
|
|
47
|
+
table._queue(() => {
|
|
48
48
|
registered = true;
|
|
49
49
|
});
|
|
50
50
|
|
|
51
51
|
return;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
if ((_ref = (
|
|
54
|
+
if ((_ref = (_table$options$autoRe = table.options.autoResetAll) != null ? _table$options$autoRe : table.options.autoResetPageIndex) != null ? _ref : !table.options.manualPagination) {
|
|
55
55
|
if (queued) return;
|
|
56
56
|
queued = true;
|
|
57
57
|
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
table._queue(() => {
|
|
59
|
+
table.resetPageIndex();
|
|
60
60
|
queued = false;
|
|
61
61
|
});
|
|
62
62
|
}
|
|
@@ -67,17 +67,17 @@ const Pagination = {
|
|
|
67
67
|
return newState;
|
|
68
68
|
};
|
|
69
69
|
|
|
70
|
-
return
|
|
70
|
+
return table.options.onPaginationChange == null ? void 0 : table.options.onPaginationChange(safeUpdater);
|
|
71
71
|
},
|
|
72
72
|
resetPagination: defaultState => {
|
|
73
|
-
var
|
|
73
|
+
var _table$initialState$p;
|
|
74
74
|
|
|
75
|
-
|
|
75
|
+
table.setPagination(defaultState ? getDefaultPaginationState() : (_table$initialState$p = table.initialState.pagination) != null ? _table$initialState$p : getDefaultPaginationState());
|
|
76
76
|
},
|
|
77
77
|
setPageIndex: updater => {
|
|
78
|
-
|
|
78
|
+
table.setPagination(old => {
|
|
79
79
|
let pageIndex = utils.functionalUpdate(updater, old.pageIndex);
|
|
80
|
-
const maxPageIndex = typeof
|
|
80
|
+
const maxPageIndex = typeof table.options.pageCount === 'undefined' || table.options.pageCount === -1 ? Number.MAX_SAFE_INTEGER : table.options.pageCount - 1;
|
|
81
81
|
pageIndex = Math.min(Math.max(0, pageIndex), maxPageIndex);
|
|
82
82
|
return { ...old,
|
|
83
83
|
pageIndex
|
|
@@ -85,17 +85,17 @@ const Pagination = {
|
|
|
85
85
|
});
|
|
86
86
|
},
|
|
87
87
|
resetPageIndex: defaultState => {
|
|
88
|
-
var
|
|
88
|
+
var _table$initialState$p2, _table$initialState, _table$initialState$p3;
|
|
89
89
|
|
|
90
|
-
|
|
90
|
+
table.setPageIndex(defaultState ? defaultPageIndex : (_table$initialState$p2 = (_table$initialState = table.initialState) == null ? void 0 : (_table$initialState$p3 = _table$initialState.pagination) == null ? void 0 : _table$initialState$p3.pageIndex) != null ? _table$initialState$p2 : defaultPageIndex);
|
|
91
91
|
},
|
|
92
92
|
resetPageSize: defaultState => {
|
|
93
|
-
var
|
|
93
|
+
var _table$initialState$p4, _table$initialState2, _table$initialState2$;
|
|
94
94
|
|
|
95
|
-
|
|
95
|
+
table.setPageSize(defaultState ? defaultPageSize : (_table$initialState$p4 = (_table$initialState2 = table.initialState) == null ? void 0 : (_table$initialState2$ = _table$initialState2.pagination) == null ? void 0 : _table$initialState2$.pageSize) != null ? _table$initialState$p4 : defaultPageSize);
|
|
96
96
|
},
|
|
97
97
|
setPageSize: updater => {
|
|
98
|
-
|
|
98
|
+
table.setPagination(old => {
|
|
99
99
|
const pageSize = Math.max(1, utils.functionalUpdate(updater, old.pageSize));
|
|
100
100
|
const topRowIndex = old.pageSize * old.pageIndex;
|
|
101
101
|
const pageIndex = Math.floor(topRowIndex / pageSize);
|
|
@@ -105,10 +105,10 @@ const Pagination = {
|
|
|
105
105
|
};
|
|
106
106
|
});
|
|
107
107
|
},
|
|
108
|
-
setPageCount: updater =>
|
|
109
|
-
var
|
|
108
|
+
setPageCount: updater => table.setPagination(old => {
|
|
109
|
+
var _table$options$pageCo;
|
|
110
110
|
|
|
111
|
-
let newPageCount = utils.functionalUpdate(updater, (
|
|
111
|
+
let newPageCount = utils.functionalUpdate(updater, (_table$options$pageCo = table.options.pageCount) != null ? _table$options$pageCo : -1);
|
|
112
112
|
|
|
113
113
|
if (typeof newPageCount === 'number') {
|
|
114
114
|
newPageCount = Math.max(-1, newPageCount);
|
|
@@ -118,7 +118,7 @@ const Pagination = {
|
|
|
118
118
|
pageCount: newPageCount
|
|
119
119
|
};
|
|
120
120
|
}),
|
|
121
|
-
getPageOptions: utils.memo(() => [
|
|
121
|
+
getPageOptions: utils.memo(() => [table.getPageCount()], pageCount => {
|
|
122
122
|
let pageOptions = [];
|
|
123
123
|
|
|
124
124
|
if (pageCount && pageCount > 0) {
|
|
@@ -129,17 +129,17 @@ const Pagination = {
|
|
|
129
129
|
}, {
|
|
130
130
|
key: process.env.NODE_ENV === 'development' && 'getPageOptions',
|
|
131
131
|
debug: () => {
|
|
132
|
-
var
|
|
132
|
+
var _table$options$debugA;
|
|
133
133
|
|
|
134
|
-
return (
|
|
134
|
+
return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugTable;
|
|
135
135
|
}
|
|
136
136
|
}),
|
|
137
|
-
getCanPreviousPage: () =>
|
|
137
|
+
getCanPreviousPage: () => table.getState().pagination.pageIndex > 0,
|
|
138
138
|
getCanNextPage: () => {
|
|
139
139
|
const {
|
|
140
140
|
pageIndex
|
|
141
|
-
} =
|
|
142
|
-
const pageCount =
|
|
141
|
+
} = table.getState().pagination;
|
|
142
|
+
const pageCount = table.getPageCount();
|
|
143
143
|
|
|
144
144
|
if (pageCount === -1) {
|
|
145
145
|
return true;
|
|
@@ -152,29 +152,29 @@ const Pagination = {
|
|
|
152
152
|
return pageIndex < pageCount - 1;
|
|
153
153
|
},
|
|
154
154
|
previousPage: () => {
|
|
155
|
-
return
|
|
155
|
+
return table.setPageIndex(old => old - 1);
|
|
156
156
|
},
|
|
157
157
|
nextPage: () => {
|
|
158
|
-
return
|
|
158
|
+
return table.setPageIndex(old => {
|
|
159
159
|
return old + 1;
|
|
160
160
|
});
|
|
161
161
|
},
|
|
162
|
-
getPrePaginationRowModel: () =>
|
|
162
|
+
getPrePaginationRowModel: () => table.getExpandedRowModel(),
|
|
163
163
|
getPaginationRowModel: () => {
|
|
164
|
-
if (!
|
|
165
|
-
|
|
164
|
+
if (!table._getPaginationRowModel && table.options.getPaginationRowModel) {
|
|
165
|
+
table._getPaginationRowModel = table.options.getPaginationRowModel(table);
|
|
166
166
|
}
|
|
167
167
|
|
|
168
|
-
if (
|
|
169
|
-
return
|
|
168
|
+
if (table.options.manualPagination || !table._getPaginationRowModel) {
|
|
169
|
+
return table.getPrePaginationRowModel();
|
|
170
170
|
}
|
|
171
171
|
|
|
172
|
-
return
|
|
172
|
+
return table._getPaginationRowModel();
|
|
173
173
|
},
|
|
174
174
|
getPageCount: () => {
|
|
175
|
-
var
|
|
175
|
+
var _table$options$pageCo2;
|
|
176
176
|
|
|
177
|
-
return (
|
|
177
|
+
return (_table$options$pageCo2 = table.options.pageCount) != null ? _table$options$pageCo2 : Math.ceil(table.getPrePaginationRowModel().rows.length / table.getState().pagination.pageSize);
|
|
178
178
|
}
|
|
179
179
|
};
|
|
180
180
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.js","sources":["../../../src/features/Pagination.ts"],"sourcesContent":["import { TableFeature } from '../core/instance'\nimport {\n OnChangeFn,\n TableGenerics,\n TableInstance,\n RowModel,\n Updater,\n} from '../types'\nimport { functionalUpdate, makeStateUpdater, memo } from '../utils'\n\nexport type PaginationState = {\n pageIndex: number\n pageSize: 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 pageCount?: number\n manualPagination?: boolean\n onPaginationChange?: OnChangeFn<PaginationState>\n autoResetPageIndex?: boolean\n getPaginationRowModel?: (instance: TableInstance<any>) => () => RowModel<any>\n}\n\nexport type PaginationDefaultOptions = {\n onPaginationChange: OnChangeFn<PaginationState>\n}\n\nexport type PaginationInstance<TGenerics extends TableGenerics> = {\n _autoResetPageIndex: () => void\n setPagination: (updater: Updater<PaginationState>) => void\n resetPagination: (defaultState?: boolean) => void\n setPageIndex: (updater: Updater<number>) => void\n resetPageIndex: (defaultState?: boolean) => void\n setPageSize: (updater: Updater<number>) => void\n resetPageSize: (defaultState?: boolean) => 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\nconst defaultPageIndex = 0\nconst defaultPageSize = 10\n\nconst getDefaultPaginationState = (): PaginationState => ({\n pageIndex: defaultPageIndex,\n pageSize: defaultPageSize,\n})\n\nexport const Pagination: TableFeature = {\n getInitialState: (state): PaginationTableState => {\n return {\n ...state,\n pagination: {\n ...getDefaultPaginationState(),\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 }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): PaginationInstance<TGenerics> => {\n let registered = false\n let queued = false\n\n return {\n _autoResetPageIndex: () => {\n if (!registered) {\n instance._queue(() => {\n registered = true\n })\n return\n }\n\n if (\n instance.options.autoResetAll ??\n instance.options.autoResetPageIndex ??\n !instance.options.manualPagination\n ) {\n if (queued) return\n queued = true\n instance._queue(() => {\n instance.resetPageIndex()\n queued = false\n })\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: defaultState => {\n instance.setPagination(\n defaultState\n ? getDefaultPaginationState()\n : instance.initialState.pagination ?? getDefaultPaginationState()\n )\n },\n setPageIndex: updater => {\n instance.setPagination(old => {\n let pageIndex = functionalUpdate(updater, old.pageIndex)\n\n const maxPageIndex =\n (typeof instance.options.pageCount === 'undefined' || instance.options.pageCount === -1) ?\n Number.MAX_SAFE_INTEGER\n : instance.options.pageCount - 1\n\n pageIndex = Math.min(Math.max(0, pageIndex), maxPageIndex)\n\n return {\n ...old,\n pageIndex,\n }\n })\n },\n resetPageIndex: defaultState => {\n instance.setPageIndex(\n defaultState\n ? defaultPageIndex\n : instance.initialState?.pagination?.pageIndex ?? defaultPageIndex\n )\n },\n resetPageSize: defaultState => {\n instance.setPageSize(\n defaultState\n ? defaultPageSize\n : instance.initialState?.pagination?.pageSize ?? defaultPageSize\n )\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(\n updater,\n instance.options.pageCount ?? -1\n )\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 () => [instance.getPageCount()],\n 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: process.env.NODE_ENV === 'development' && '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 return (\n instance.options.pageCount ??\n Math.ceil(\n instance.getPrePaginationRowModel().rows.length /\n instance.getState().pagination.pageSize\n )\n )\n },\n }\n },\n}\n"],"names":["defaultPageIndex","defaultPageSize","getDefaultPaginationState","pageIndex","pageSize","Pagination","getInitialState","state","pagination","getDefaultOptions","instance","onPaginationChange","makeStateUpdater","createInstance","registered","queued","_autoResetPageIndex","_queue","options","autoResetAll","autoResetPageIndex","manualPagination","resetPageIndex","setPagination","updater","safeUpdater","old","newState","functionalUpdate","resetPagination","defaultState","initialState","setPageIndex","maxPageIndex","pageCount","Number","MAX_SAFE_INTEGER","Math","min","max","resetPageSize","setPageSize","topRowIndex","floor","setPageCount","newPageCount","getPageOptions","memo","getPageCount","pageOptions","Array","fill","map","_","i","key","process","env","NODE_ENV","debug","debugAll","debugTable","getCanPreviousPage","getState","getCanNextPage","previousPage","nextPage","getPrePaginationRowModel","getExpandedRowModel","getPaginationRowModel","_getPaginationRowModel","ceil","rows","length"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Pagination.js","sources":["../../../src/features/Pagination.ts"],"sourcesContent":["import { TableFeature } from '../core/table'\nimport {\n OnChangeFn,\n TableGenerics,\n Table,\n RowModel,\n Updater,\n RowData,\n} from '../types'\nimport { functionalUpdate, makeStateUpdater, memo } from '../utils'\n\nexport type PaginationState = {\n pageIndex: number\n pageSize: number\n}\n\nexport type PaginationTableState = {\n pagination: PaginationState\n}\n\nexport type PaginationInitialTableState = {\n pagination?: Partial<PaginationState>\n}\n\nexport type PaginationOptions = {\n pageCount?: number\n manualPagination?: boolean\n onPaginationChange?: OnChangeFn<PaginationState>\n autoResetPageIndex?: boolean\n getPaginationRowModel?: (table: Table<any>) => () => RowModel<any>\n}\n\nexport type PaginationDefaultOptions = {\n onPaginationChange: OnChangeFn<PaginationState>\n}\n\nexport type PaginationInstance<TData extends RowData> = {\n _autoResetPageIndex: () => void\n setPagination: (updater: Updater<PaginationState>) => void\n resetPagination: (defaultState?: boolean) => void\n setPageIndex: (updater: Updater<number>) => void\n resetPageIndex: (defaultState?: boolean) => void\n setPageSize: (updater: Updater<number>) => void\n resetPageSize: (defaultState?: boolean) => 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<TData>\n getPaginationRowModel: () => RowModel<TData>\n _getPaginationRowModel?: () => RowModel<TData>\n getPageCount: () => number\n}\n\n//\n\nconst defaultPageIndex = 0\nconst defaultPageSize = 10\n\nconst getDefaultPaginationState = (): PaginationState => ({\n pageIndex: defaultPageIndex,\n pageSize: defaultPageSize,\n})\n\nexport const Pagination: TableFeature = {\n getInitialState: (state): PaginationTableState => {\n return {\n ...state,\n pagination: {\n ...getDefaultPaginationState(),\n ...state?.pagination,\n },\n }\n },\n\n getDefaultOptions: <TData extends RowData>(\n table: Table<TData>\n ): PaginationDefaultOptions => {\n return {\n onPaginationChange: makeStateUpdater('pagination', table),\n }\n },\n\n createTable: <TData extends RowData>(\n table: Table<TData>\n ): PaginationInstance<TData> => {\n let registered = false\n let queued = false\n\n return {\n _autoResetPageIndex: () => {\n if (!registered) {\n table._queue(() => {\n registered = true\n })\n return\n }\n\n if (\n table.options.autoResetAll ??\n table.options.autoResetPageIndex ??\n !table.options.manualPagination\n ) {\n if (queued) return\n queued = true\n table._queue(() => {\n table.resetPageIndex()\n queued = false\n })\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 table.options.onPaginationChange?.(safeUpdater)\n },\n resetPagination: defaultState => {\n table.setPagination(\n defaultState\n ? getDefaultPaginationState()\n : table.initialState.pagination ?? getDefaultPaginationState()\n )\n },\n setPageIndex: updater => {\n table.setPagination(old => {\n let pageIndex = functionalUpdate(updater, old.pageIndex)\n\n const maxPageIndex =\n typeof table.options.pageCount === 'undefined' ||\n table.options.pageCount === -1\n ? Number.MAX_SAFE_INTEGER\n : table.options.pageCount - 1\n\n pageIndex = Math.min(Math.max(0, pageIndex), maxPageIndex)\n\n return {\n ...old,\n pageIndex,\n }\n })\n },\n resetPageIndex: defaultState => {\n table.setPageIndex(\n defaultState\n ? defaultPageIndex\n : table.initialState?.pagination?.pageIndex ?? defaultPageIndex\n )\n },\n resetPageSize: defaultState => {\n table.setPageSize(\n defaultState\n ? defaultPageSize\n : table.initialState?.pagination?.pageSize ?? defaultPageSize\n )\n },\n setPageSize: updater => {\n table.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 table.setPagination(old => {\n let newPageCount = functionalUpdate(\n updater,\n table.options.pageCount ?? -1\n )\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 () => [table.getPageCount()],\n 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: process.env.NODE_ENV === 'development' && 'getPageOptions',\n debug: () => table.options.debugAll ?? table.options.debugTable,\n }\n ),\n\n getCanPreviousPage: () => table.getState().pagination.pageIndex > 0,\n\n getCanNextPage: () => {\n const { pageIndex } = table.getState().pagination\n\n const pageCount = table.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 table.setPageIndex(old => old - 1)\n },\n\n nextPage: () => {\n return table.setPageIndex(old => {\n return old + 1\n })\n },\n\n getPrePaginationRowModel: () => table.getExpandedRowModel(),\n getPaginationRowModel: () => {\n if (\n !table._getPaginationRowModel &&\n table.options.getPaginationRowModel\n ) {\n table._getPaginationRowModel =\n table.options.getPaginationRowModel(table)\n }\n\n if (table.options.manualPagination || !table._getPaginationRowModel) {\n return table.getPrePaginationRowModel()\n }\n\n return table._getPaginationRowModel()\n },\n\n getPageCount: () => {\n return (\n table.options.pageCount ??\n Math.ceil(\n table.getPrePaginationRowModel().rows.length /\n table.getState().pagination.pageSize\n )\n )\n },\n }\n },\n}\n"],"names":["defaultPageIndex","defaultPageSize","getDefaultPaginationState","pageIndex","pageSize","Pagination","getInitialState","state","pagination","getDefaultOptions","table","onPaginationChange","makeStateUpdater","createTable","registered","queued","_autoResetPageIndex","_queue","options","autoResetAll","autoResetPageIndex","manualPagination","resetPageIndex","setPagination","updater","safeUpdater","old","newState","functionalUpdate","resetPagination","defaultState","initialState","setPageIndex","maxPageIndex","pageCount","Number","MAX_SAFE_INTEGER","Math","min","max","resetPageSize","setPageSize","topRowIndex","floor","setPageCount","newPageCount","getPageOptions","memo","getPageCount","pageOptions","Array","fill","map","_","i","key","process","env","NODE_ENV","debug","debugAll","debugTable","getCanPreviousPage","getState","getCanNextPage","previousPage","nextPage","getPrePaginationRowModel","getExpandedRowModel","getPaginationRowModel","_getPaginationRowModel","ceil","rows","length"],"mappings":";;;;;;;;;;;;;;;;AAwDA;AAEA,MAAMA,gBAAgB,GAAG,CAAzB,CAAA;AACA,MAAMC,eAAe,GAAG,EAAxB,CAAA;;AAEA,MAAMC,yBAAyB,GAAG,OAAwB;AACxDC,EAAAA,SAAS,EAAEH,gBAD6C;AAExDI,EAAAA,QAAQ,EAAEH,eAAAA;AAF8C,CAAxB,CAAlC,CAAA;;AAKO,MAAMI,UAAwB,GAAG;EACtCC,eAAe,EAAGC,KAAD,IAAiC;IAChD,OAAO,EACL,GAAGA,KADE;AAELC,MAAAA,UAAU,EAAE,EACV,GAAGN,yBAAyB,EADlB;AAEV,QAAA,IAAGK,KAAH,IAAA,IAAA,GAAA,KAAA,CAAA,GAAGA,KAAK,CAAEC,UAAV,CAAA;AAFU,OAAA;KAFd,CAAA;GAFoC;EAWtCC,iBAAiB,EACfC,KADiB,IAEY;IAC7B,OAAO;AACLC,MAAAA,kBAAkB,EAAEC,sBAAgB,CAAC,YAAD,EAAeF,KAAf,CAAA;KADtC,CAAA;GAdoC;EAmBtCG,WAAW,EACTH,KADW,IAEmB;IAC9B,IAAII,UAAU,GAAG,KAAjB,CAAA;IACA,IAAIC,MAAM,GAAG,KAAb,CAAA;IAEA,OAAO;AACLC,MAAAA,mBAAmB,EAAE,MAAM;AAAA,QAAA,IAAA,IAAA,EAAA,qBAAA,CAAA;;QACzB,IAAI,CAACF,UAAL,EAAiB;UACfJ,KAAK,CAACO,MAAN,CAAa,MAAM;AACjBH,YAAAA,UAAU,GAAG,IAAb,CAAA;WADF,CAAA,CAAA;;AAGA,UAAA,OAAA;AACD,SAAA;;AAED,QAAA,IAAA,CAAA,IAAA,GAAA,CAAA,qBAAA,GACEJ,KAAK,CAACQ,OAAN,CAAcC,YADhB,KAAA,IAAA,GAAA,qBAAA,GAEET,KAAK,CAACQ,OAAN,CAAcE,kBAFhB,mBAGE,CAACV,KAAK,CAACQ,OAAN,CAAcG,gBAHjB,EAIE;AACA,UAAA,IAAIN,MAAJ,EAAY,OAAA;AACZA,UAAAA,MAAM,GAAG,IAAT,CAAA;;UACAL,KAAK,CAACO,MAAN,CAAa,MAAM;AACjBP,YAAAA,KAAK,CAACY,cAAN,EAAA,CAAA;AACAP,YAAAA,MAAM,GAAG,KAAT,CAAA;WAFF,CAAA,CAAA;AAID,SAAA;OApBE;MAsBLQ,aAAa,EAAEC,OAAO,IAAI;QACxB,MAAMC,WAAqC,GAAGC,GAAG,IAAI;AACnD,UAAA,IAAIC,QAAQ,GAAGC,sBAAgB,CAACJ,OAAD,EAAUE,GAAV,CAA/B,CAAA;AAEA,UAAA,OAAOC,QAAP,CAAA;SAHF,CAAA;;AAMA,QAAA,OAAOjB,KAAK,CAACQ,OAAN,CAAcP,kBAArB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAOD,KAAK,CAACQ,OAAN,CAAcP,kBAAd,CAAmCc,WAAnC,CAAP,CAAA;OA7BG;MA+BLI,eAAe,EAAEC,YAAY,IAAI;AAAA,QAAA,IAAA,qBAAA,CAAA;;AAC/BpB,QAAAA,KAAK,CAACa,aAAN,CACEO,YAAY,GACR5B,yBAAyB,EADjB,GAERQ,CAAAA,qBAAAA,GAAAA,KAAK,CAACqB,YAAN,CAAmBvB,UAFX,KAAA,IAAA,GAAA,qBAAA,GAEyBN,yBAAyB,EAHhE,CAAA,CAAA;OAhCG;MAsCL8B,YAAY,EAAER,OAAO,IAAI;AACvBd,QAAAA,KAAK,CAACa,aAAN,CAAoBG,GAAG,IAAI;UACzB,IAAIvB,SAAS,GAAGyB,sBAAgB,CAACJ,OAAD,EAAUE,GAAG,CAACvB,SAAd,CAAhC,CAAA;AAEA,UAAA,MAAM8B,YAAY,GAChB,OAAOvB,KAAK,CAACQ,OAAN,CAAcgB,SAArB,KAAmC,WAAnC,IACAxB,KAAK,CAACQ,OAAN,CAAcgB,SAAd,KAA4B,CAAC,CAD7B,GAEIC,MAAM,CAACC,gBAFX,GAGI1B,KAAK,CAACQ,OAAN,CAAcgB,SAAd,GAA0B,CAJhC,CAAA;AAMA/B,UAAAA,SAAS,GAAGkC,IAAI,CAACC,GAAL,CAASD,IAAI,CAACE,GAAL,CAAS,CAAT,EAAYpC,SAAZ,CAAT,EAAiC8B,YAAjC,CAAZ,CAAA;UAEA,OAAO,EACL,GAAGP,GADE;AAELvB,YAAAA,SAAAA;WAFF,CAAA;SAXF,CAAA,CAAA;OAvCG;MAwDLmB,cAAc,EAAEQ,YAAY,IAAI;AAAA,QAAA,IAAA,sBAAA,EAAA,mBAAA,EAAA,sBAAA,CAAA;;AAC9BpB,QAAAA,KAAK,CAACsB,YAAN,CACEF,YAAY,GACR9B,gBADQ,GAERU,CAAAA,sBAAAA,GAAAA,CAAAA,mBAAAA,GAAAA,KAAK,CAACqB,YAFE,+CAER,mBAAoBvB,CAAAA,UAFZ,qBAER,sBAAgCL,CAAAA,SAFxB,qCAEqCH,gBAHnD,CAAA,CAAA;OAzDG;MA+DLwC,aAAa,EAAEV,YAAY,IAAI;AAAA,QAAA,IAAA,sBAAA,EAAA,oBAAA,EAAA,qBAAA,CAAA;;AAC7BpB,QAAAA,KAAK,CAAC+B,WAAN,CACEX,YAAY,GACR7B,eADQ,GAERS,CAAAA,sBAAAA,GAAAA,CAAAA,oBAAAA,GAAAA,KAAK,CAACqB,YAFE,8CAER,oBAAoBvB,CAAAA,UAFZ,qBAER,qBAAgCJ,CAAAA,QAFxB,qCAEoCH,eAHlD,CAAA,CAAA;OAhEG;MAsELwC,WAAW,EAAEjB,OAAO,IAAI;AACtBd,QAAAA,KAAK,CAACa,aAAN,CAAoBG,GAAG,IAAI;AACzB,UAAA,MAAMtB,QAAQ,GAAGiC,IAAI,CAACE,GAAL,CAAS,CAAT,EAAYX,sBAAgB,CAACJ,OAAD,EAAUE,GAAG,CAACtB,QAAd,CAA5B,CAAjB,CAAA;UACA,MAAMsC,WAAW,GAAGhB,GAAG,CAACtB,QAAJ,GAAesB,GAAG,CAACvB,SAAvC,CAAA;UACA,MAAMA,SAAS,GAAGkC,IAAI,CAACM,KAAL,CAAWD,WAAW,GAAGtC,QAAzB,CAAlB,CAAA;UAEA,OAAO,EACL,GAAGsB,GADE;YAELvB,SAFK;AAGLC,YAAAA,QAAAA;WAHF,CAAA;SALF,CAAA,CAAA;OAvEG;MAmFLwC,YAAY,EAAEpB,OAAO,IACnBd,KAAK,CAACa,aAAN,CAAoBG,GAAG,IAAI;AAAA,QAAA,IAAA,qBAAA,CAAA;;AACzB,QAAA,IAAImB,YAAY,GAAGjB,sBAAgB,CACjCJ,OADiC,EAEjCd,CAAAA,qBAAAA,GAAAA,KAAK,CAACQ,OAAN,CAAcgB,SAFmB,KAEN,IAAA,GAAA,qBAAA,GAAA,CAAC,CAFK,CAAnC,CAAA;;AAKA,QAAA,IAAI,OAAOW,YAAP,KAAwB,QAA5B,EAAsC;UACpCA,YAAY,GAAGR,IAAI,CAACE,GAAL,CAAS,CAAC,CAAV,EAAaM,YAAb,CAAf,CAAA;AACD,SAAA;;QAED,OAAO,EACL,GAAGnB,GADE;AAELQ,UAAAA,SAAS,EAAEW,YAAAA;SAFb,CAAA;AAID,OAdD,CApFG;AAoGLC,MAAAA,cAAc,EAAEC,UAAI,CAClB,MAAM,CAACrC,KAAK,CAACsC,YAAN,EAAD,CADY,EAElBd,SAAS,IAAI;QACX,IAAIe,WAAqB,GAAG,EAA5B,CAAA;;AACA,QAAA,IAAIf,SAAS,IAAIA,SAAS,GAAG,CAA7B,EAAgC;UAC9Be,WAAW,GAAG,CAAC,GAAG,IAAIC,KAAJ,CAAUhB,SAAV,CAAJ,CAA0BiB,CAAAA,IAA1B,CAA+B,IAA/B,CAAA,CAAqCC,GAArC,CAAyC,CAACC,CAAD,EAAIC,CAAJ,KAAUA,CAAnD,CAAd,CAAA;AACD,SAAA;;AACD,QAAA,OAAOL,WAAP,CAAA;AACD,OARiB,EASlB;QACEM,GAAG,EAAEC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzB,IAA0C,gBADjD;AAEEC,QAAAA,KAAK,EAAE,MAAA;AAAA,UAAA,IAAA,qBAAA,CAAA;;UAAA,OAAMjD,CAAAA,qBAAAA,GAAAA,KAAK,CAACQ,OAAN,CAAc0C,QAApB,oCAAgClD,KAAK,CAACQ,OAAN,CAAc2C,UAA9C,CAAA;AAAA,SAAA;AAFT,OATkB,CApGf;MAmHLC,kBAAkB,EAAE,MAAMpD,KAAK,CAACqD,QAAN,GAAiBvD,UAAjB,CAA4BL,SAA5B,GAAwC,CAnH7D;AAqHL6D,MAAAA,cAAc,EAAE,MAAM;QACpB,MAAM;AAAE7D,UAAAA,SAAAA;AAAF,SAAA,GAAgBO,KAAK,CAACqD,QAAN,EAAA,CAAiBvD,UAAvC,CAAA;AAEA,QAAA,MAAM0B,SAAS,GAAGxB,KAAK,CAACsC,YAAN,EAAlB,CAAA;;AAEA,QAAA,IAAId,SAAS,KAAK,CAAC,CAAnB,EAAsB;AACpB,UAAA,OAAO,IAAP,CAAA;AACD,SAAA;;QAED,IAAIA,SAAS,KAAK,CAAlB,EAAqB;AACnB,UAAA,OAAO,KAAP,CAAA;AACD,SAAA;;AAED,QAAA,OAAO/B,SAAS,GAAG+B,SAAS,GAAG,CAA/B,CAAA;OAlIG;AAqIL+B,MAAAA,YAAY,EAAE,MAAM;QAClB,OAAOvD,KAAK,CAACsB,YAAN,CAAmBN,GAAG,IAAIA,GAAG,GAAG,CAAhC,CAAP,CAAA;OAtIG;AAyILwC,MAAAA,QAAQ,EAAE,MAAM;AACd,QAAA,OAAOxD,KAAK,CAACsB,YAAN,CAAmBN,GAAG,IAAI;UAC/B,OAAOA,GAAG,GAAG,CAAb,CAAA;AACD,SAFM,CAAP,CAAA;OA1IG;AA+ILyC,MAAAA,wBAAwB,EAAE,MAAMzD,KAAK,CAAC0D,mBAAN,EA/I3B;AAgJLC,MAAAA,qBAAqB,EAAE,MAAM;QAC3B,IACE,CAAC3D,KAAK,CAAC4D,sBAAP,IACA5D,KAAK,CAACQ,OAAN,CAAcmD,qBAFhB,EAGE;UACA3D,KAAK,CAAC4D,sBAAN,GACE5D,KAAK,CAACQ,OAAN,CAAcmD,qBAAd,CAAoC3D,KAApC,CADF,CAAA;AAED,SAAA;;QAED,IAAIA,KAAK,CAACQ,OAAN,CAAcG,gBAAd,IAAkC,CAACX,KAAK,CAAC4D,sBAA7C,EAAqE;UACnE,OAAO5D,KAAK,CAACyD,wBAAN,EAAP,CAAA;AACD,SAAA;;QAED,OAAOzD,KAAK,CAAC4D,sBAAN,EAAP,CAAA;OA7JG;AAgKLtB,MAAAA,YAAY,EAAE,MAAM;AAAA,QAAA,IAAA,sBAAA,CAAA;;QAClB,OACEtC,CAAAA,sBAAAA,GAAAA,KAAK,CAACQ,OAAN,CAAcgB,SADhB,qCAEEG,IAAI,CAACkC,IAAL,CACE7D,KAAK,CAACyD,wBAAN,EAAiCK,CAAAA,IAAjC,CAAsCC,MAAtC,GACE/D,KAAK,CAACqD,QAAN,EAAiBvD,CAAAA,UAAjB,CAA4BJ,QAFhC,CAFF,CAAA;AAOD,OAAA;KAxKH,CAAA;AA0KD,GAAA;AAnMqC;;;;"}
|
|
@@ -27,16 +27,16 @@ const Pinning = {
|
|
|
27
27
|
...state
|
|
28
28
|
};
|
|
29
29
|
},
|
|
30
|
-
getDefaultOptions:
|
|
30
|
+
getDefaultOptions: table => {
|
|
31
31
|
return {
|
|
32
|
-
onColumnPinningChange: utils.makeStateUpdater('columnPinning',
|
|
32
|
+
onColumnPinningChange: utils.makeStateUpdater('columnPinning', table)
|
|
33
33
|
};
|
|
34
34
|
},
|
|
35
|
-
createColumn: (column,
|
|
35
|
+
createColumn: (column, table) => {
|
|
36
36
|
return {
|
|
37
37
|
pin: position => {
|
|
38
38
|
const columnIds = column.getLeafColumns().map(d => d.id).filter(Boolean);
|
|
39
|
-
|
|
39
|
+
table.setColumnPinning(old => {
|
|
40
40
|
var _old$left3, _old$right3;
|
|
41
41
|
|
|
42
42
|
if (position === 'right') {
|
|
@@ -66,9 +66,9 @@ const Pinning = {
|
|
|
66
66
|
getCanPin: () => {
|
|
67
67
|
const leafColumns = column.getLeafColumns();
|
|
68
68
|
return leafColumns.some(d => {
|
|
69
|
-
var _d$columnDef$enablePi,
|
|
69
|
+
var _d$columnDef$enablePi, _table$options$enable;
|
|
70
70
|
|
|
71
|
-
return ((_d$columnDef$enablePi = d.columnDef.enablePinning) != null ? _d$columnDef$enablePi : true) && ((
|
|
71
|
+
return ((_d$columnDef$enablePi = d.columnDef.enablePinning) != null ? _d$columnDef$enablePi : true) && ((_table$options$enable = table.options.enablePinning) != null ? _table$options$enable : true);
|
|
72
72
|
});
|
|
73
73
|
},
|
|
74
74
|
getIsPinned: () => {
|
|
@@ -76,33 +76,33 @@ const Pinning = {
|
|
|
76
76
|
const {
|
|
77
77
|
left,
|
|
78
78
|
right
|
|
79
|
-
} =
|
|
79
|
+
} = table.getState().columnPinning;
|
|
80
80
|
const isLeft = leafColumnIds.some(d => left == null ? void 0 : left.includes(d));
|
|
81
81
|
const isRight = leafColumnIds.some(d => right == null ? void 0 : right.includes(d));
|
|
82
82
|
return isLeft ? 'left' : isRight ? 'right' : false;
|
|
83
83
|
},
|
|
84
84
|
getPinnedIndex: () => {
|
|
85
|
-
var
|
|
85
|
+
var _table$getState$colum, _table$getState$colum2, _table$getState$colum3;
|
|
86
86
|
|
|
87
87
|
const position = column.getIsPinned();
|
|
88
|
-
return position ? (
|
|
88
|
+
return position ? (_table$getState$colum = (_table$getState$colum2 = table.getState().columnPinning) == null ? void 0 : (_table$getState$colum3 = _table$getState$colum2[position]) == null ? void 0 : _table$getState$colum3.indexOf(column.id)) != null ? _table$getState$colum : -1 : 0;
|
|
89
89
|
}
|
|
90
90
|
};
|
|
91
91
|
},
|
|
92
|
-
createRow: (row,
|
|
92
|
+
createRow: (row, table) => {
|
|
93
93
|
return {
|
|
94
|
-
getCenterVisibleCells: utils.memo(() => [row._getAllVisibleCells(),
|
|
94
|
+
getCenterVisibleCells: utils.memo(() => [row._getAllVisibleCells(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allCells, left, right) => {
|
|
95
95
|
const leftAndRight = [...(left != null ? left : []), ...(right != null ? right : [])];
|
|
96
96
|
return allCells.filter(d => !leftAndRight.includes(d.column.id));
|
|
97
97
|
}, {
|
|
98
98
|
key: process.env.NODE_ENV === 'production' && 'row.getCenterVisibleCells',
|
|
99
99
|
debug: () => {
|
|
100
|
-
var
|
|
100
|
+
var _table$options$debugA;
|
|
101
101
|
|
|
102
|
-
return (
|
|
102
|
+
return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugRows;
|
|
103
103
|
}
|
|
104
104
|
}),
|
|
105
|
-
getLeftVisibleCells: utils.memo(() => [row._getAllVisibleCells(),
|
|
105
|
+
getLeftVisibleCells: utils.memo(() => [row._getAllVisibleCells(), table.getState().columnPinning.left,,], (allCells, left) => {
|
|
106
106
|
const cells = (left != null ? left : []).map(columnId => allCells.find(cell => cell.column.id === columnId)).filter(Boolean).map(d => ({ ...d,
|
|
107
107
|
position: 'left'
|
|
108
108
|
}));
|
|
@@ -110,12 +110,12 @@ const Pinning = {
|
|
|
110
110
|
}, {
|
|
111
111
|
key: process.env.NODE_ENV === 'production' && 'row.getLeftVisibleCells',
|
|
112
112
|
debug: () => {
|
|
113
|
-
var
|
|
113
|
+
var _table$options$debugA2;
|
|
114
114
|
|
|
115
|
-
return (
|
|
115
|
+
return (_table$options$debugA2 = table.options.debugAll) != null ? _table$options$debugA2 : table.options.debugRows;
|
|
116
116
|
}
|
|
117
117
|
}),
|
|
118
|
-
getRightVisibleCells: utils.memo(() => [row._getAllVisibleCells(),
|
|
118
|
+
getRightVisibleCells: utils.memo(() => [row._getAllVisibleCells(), table.getState().columnPinning.right], (allCells, right) => {
|
|
119
119
|
const cells = (right != null ? right : []).map(columnId => allCells.find(cell => cell.column.id === columnId)).filter(Boolean).map(d => ({ ...d,
|
|
120
120
|
position: 'left'
|
|
121
121
|
}));
|
|
@@ -123,25 +123,25 @@ const Pinning = {
|
|
|
123
123
|
}, {
|
|
124
124
|
key: process.env.NODE_ENV === 'production' && 'row.getRightVisibleCells',
|
|
125
125
|
debug: () => {
|
|
126
|
-
var
|
|
126
|
+
var _table$options$debugA3;
|
|
127
127
|
|
|
128
|
-
return (
|
|
128
|
+
return (_table$options$debugA3 = table.options.debugAll) != null ? _table$options$debugA3 : table.options.debugRows;
|
|
129
129
|
}
|
|
130
130
|
})
|
|
131
131
|
};
|
|
132
132
|
},
|
|
133
|
-
|
|
133
|
+
createTable: table => {
|
|
134
134
|
return {
|
|
135
|
-
setColumnPinning: updater =>
|
|
135
|
+
setColumnPinning: updater => table.options.onColumnPinningChange == null ? void 0 : table.options.onColumnPinningChange(updater),
|
|
136
136
|
resetColumnPinning: defaultState => {
|
|
137
|
-
var
|
|
137
|
+
var _table$initialState$c, _table$initialState;
|
|
138
138
|
|
|
139
|
-
return
|
|
139
|
+
return table.setColumnPinning(defaultState ? getDefaultPinningState() : (_table$initialState$c = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.columnPinning) != null ? _table$initialState$c : getDefaultPinningState());
|
|
140
140
|
},
|
|
141
141
|
getIsSomeColumnsPinned: position => {
|
|
142
142
|
var _pinningState$positio;
|
|
143
143
|
|
|
144
|
-
const pinningState =
|
|
144
|
+
const pinningState = table.getState().columnPinning;
|
|
145
145
|
|
|
146
146
|
if (!position) {
|
|
147
147
|
var _pinningState$left, _pinningState$right;
|
|
@@ -151,35 +151,35 @@ const Pinning = {
|
|
|
151
151
|
|
|
152
152
|
return Boolean((_pinningState$positio = pinningState[position]) == null ? void 0 : _pinningState$positio.length);
|
|
153
153
|
},
|
|
154
|
-
getLeftLeafColumns: utils.memo(() => [
|
|
154
|
+
getLeftLeafColumns: utils.memo(() => [table.getAllLeafColumns(), table.getState().columnPinning.left], (allColumns, left) => {
|
|
155
155
|
return (left != null ? left : []).map(columnId => allColumns.find(column => column.id === columnId)).filter(Boolean);
|
|
156
156
|
}, {
|
|
157
157
|
key: process.env.NODE_ENV === 'development' && 'getLeftLeafColumns',
|
|
158
158
|
debug: () => {
|
|
159
|
-
var
|
|
159
|
+
var _table$options$debugA4;
|
|
160
160
|
|
|
161
|
-
return (
|
|
161
|
+
return (_table$options$debugA4 = table.options.debugAll) != null ? _table$options$debugA4 : table.options.debugColumns;
|
|
162
162
|
}
|
|
163
163
|
}),
|
|
164
|
-
getRightLeafColumns: utils.memo(() => [
|
|
164
|
+
getRightLeafColumns: utils.memo(() => [table.getAllLeafColumns(), table.getState().columnPinning.right], (allColumns, right) => {
|
|
165
165
|
return (right != null ? right : []).map(columnId => allColumns.find(column => column.id === columnId)).filter(Boolean);
|
|
166
166
|
}, {
|
|
167
167
|
key: process.env.NODE_ENV === 'development' && 'getRightLeafColumns',
|
|
168
168
|
debug: () => {
|
|
169
|
-
var
|
|
169
|
+
var _table$options$debugA5;
|
|
170
170
|
|
|
171
|
-
return (
|
|
171
|
+
return (_table$options$debugA5 = table.options.debugAll) != null ? _table$options$debugA5 : table.options.debugColumns;
|
|
172
172
|
}
|
|
173
173
|
}),
|
|
174
|
-
getCenterLeafColumns: utils.memo(() => [
|
|
174
|
+
getCenterLeafColumns: utils.memo(() => [table.getAllLeafColumns(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allColumns, left, right) => {
|
|
175
175
|
const leftAndRight = [...(left != null ? left : []), ...(right != null ? right : [])];
|
|
176
176
|
return allColumns.filter(d => !leftAndRight.includes(d.id));
|
|
177
177
|
}, {
|
|
178
178
|
key: process.env.NODE_ENV === 'development' && 'getCenterLeafColumns',
|
|
179
179
|
debug: () => {
|
|
180
|
-
var
|
|
180
|
+
var _table$options$debugA6;
|
|
181
181
|
|
|
182
|
-
return (
|
|
182
|
+
return (_table$options$debugA6 = table.options.debugAll) != null ? _table$options$debugA6 : table.options.debugColumns;
|
|
183
183
|
}
|
|
184
184
|
})
|
|
185
185
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pinning.js","sources":["../../../src/features/Pinning.ts"],"sourcesContent":["import { TableFeature } from '../core/instance'\nimport {\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}\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: (defaultState?: boolean) => void\n getIsSomeColumnsPinned: (position?: ColumnPinningPosition) => boolean\n getLeftLeafColumns: () => Column<TGenerics>[]\n getRightLeafColumns: () => Column<TGenerics>[]\n getCenterLeafColumns: () => Column<TGenerics>[]\n}\n\n//\n\nconst getDefaultPinningState = (): ColumnPinningState => ({\n left: [],\n right: [],\n})\n\nexport const Pinning: TableFeature = {\n getInitialState: (state): ColumnPinningTableState => {\n return {\n columnPinning: getDefaultPinningState(),\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 pin: position => {\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 getCanPin: () => {\n const leafColumns = column.getLeafColumns()\n\n return leafColumns.some(\n d =>\n (d.columnDef.enablePinning ?? true) &&\n (instance.options.enablePinning ?? true)\n )\n },\n\n getIsPinned: () => {\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 getPinnedIndex: () => {\n const position = column.getIsPinned()\n\n return position\n ? instance.getState().columnPinning?.[position]?.indexOf(column.id) ??\n -1\n : 0\n },\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.column.id))\n },\n {\n key:\n process.env.NODE_ENV === 'production' &&\n '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(\n columnId => allCells.find(cell => cell.column.id === columnId)!\n )\n .filter(Boolean)\n .map(d => ({ ...d, position: 'left' } as Cell<TGenerics>))\n\n return cells\n },\n {\n key:\n process.env.NODE_ENV === 'production' && '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(\n columnId => allCells.find(cell => cell.column.id === columnId)!\n )\n .filter(Boolean)\n .map(d => ({ ...d, position: 'left' } as Cell<TGenerics>))\n\n return cells\n },\n {\n key:\n process.env.NODE_ENV === 'production' && '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: defaultState =>\n instance.setColumnPinning(\n defaultState\n ? getDefaultPinningState()\n : instance.initialState?.columnPinning ?? getDefaultPinningState()\n ),\n\n getIsSomeColumnsPinned: position => {\n const pinningState = instance.getState().columnPinning\n\n if (!position) {\n return Boolean(\n pinningState.left?.length || pinningState.right?.length\n )\n }\n return Boolean(pinningState[position]?.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: process.env.NODE_ENV === 'development' && '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: process.env.NODE_ENV === 'development' && '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: process.env.NODE_ENV === 'development' && 'getCenterLeafColumns',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n ),\n }\n },\n}\n"],"names":["getDefaultPinningState","left","right","Pinning","getInitialState","state","columnPinning","getDefaultOptions","instance","onColumnPinningChange","makeStateUpdater","createColumn","column","pin","position","columnIds","getLeafColumns","map","d","id","filter","Boolean","setColumnPinning","old","includes","getCanPin","leafColumns","some","columnDef","enablePinning","options","getIsPinned","leafColumnIds","getState","isLeft","isRight","getPinnedIndex","indexOf","createRow","row","getCenterVisibleCells","memo","_getAllVisibleCells","allCells","leftAndRight","key","process","env","NODE_ENV","debug","debugAll","debugRows","getLeftVisibleCells","cells","columnId","find","cell","getRightVisibleCells","createInstance","updater","resetColumnPinning","defaultState","initialState","getIsSomeColumnsPinned","pinningState","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 { TableFeature } from '../core/table'\nimport {\n OnChangeFn,\n Updater,\n Table,\n Column,\n TableGenerics,\n Row,\n Cell,\n RowData,\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<TData extends RowData> = {\n getLeftVisibleCells: () => Cell<TData>[]\n getCenterVisibleCells: () => Cell<TData>[]\n getRightVisibleCells: () => Cell<TData>[]\n}\n\nexport type ColumnPinningInstance<TData extends RowData> = {\n setColumnPinning: (updater: Updater<ColumnPinningState>) => void\n resetColumnPinning: (defaultState?: boolean) => void\n getIsSomeColumnsPinned: (position?: ColumnPinningPosition) => boolean\n getLeftLeafColumns: () => Column<TData>[]\n getRightLeafColumns: () => Column<TData>[]\n getCenterLeafColumns: () => Column<TData>[]\n}\n\n//\n\nconst getDefaultPinningState = (): ColumnPinningState => ({\n left: [],\n right: [],\n})\n\nexport const Pinning: TableFeature = {\n getInitialState: (state): ColumnPinningTableState => {\n return {\n columnPinning: getDefaultPinningState(),\n ...state,\n }\n },\n\n getDefaultOptions: <TData extends RowData>(\n table: Table<TData>\n ): ColumnPinningDefaultOptions => {\n return {\n onColumnPinningChange: makeStateUpdater('columnPinning', table),\n }\n },\n\n createColumn: <TData extends RowData>(\n column: Column<TData>,\n table: Table<TData>\n ): ColumnPinningColumn => {\n return {\n pin: position => {\n const columnIds = column\n .getLeafColumns()\n .map(d => d.id)\n .filter(Boolean) as string[]\n\n table.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 getCanPin: () => {\n const leafColumns = column.getLeafColumns()\n\n return leafColumns.some(\n d =>\n (d.columnDef.enablePinning ?? true) &&\n (table.options.enablePinning ?? true)\n )\n },\n\n getIsPinned: () => {\n const leafColumnIds = column.getLeafColumns().map(d => d.id)\n\n const { left, right } = table.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 getPinnedIndex: () => {\n const position = column.getIsPinned()\n\n return position\n ? table.getState().columnPinning?.[position]?.indexOf(column.id) ?? -1\n : 0\n },\n }\n },\n\n createRow: <TData extends RowData>(\n row: Row<TData>,\n table: Table<TData>\n ): ColumnPinningRow<TData> => {\n return {\n getCenterVisibleCells: memo(\n () => [\n row._getAllVisibleCells(),\n table.getState().columnPinning.left,\n table.getState().columnPinning.right,\n ],\n (allCells, left, right) => {\n const leftAndRight: string[] = [...(left ?? []), ...(right ?? [])]\n\n return allCells.filter(d => !leftAndRight.includes(d.column.id))\n },\n {\n key:\n process.env.NODE_ENV === 'production' &&\n 'row.getCenterVisibleCells',\n debug: () => table.options.debugAll ?? table.options.debugRows,\n }\n ),\n getLeftVisibleCells: memo(\n () => [\n row._getAllVisibleCells(),\n table.getState().columnPinning.left,\n ,\n ],\n (allCells, left) => {\n const cells = (left ?? [])\n .map(\n columnId => allCells.find(cell => cell.column.id === columnId)!\n )\n .filter(Boolean)\n .map(d => ({ ...d, position: 'left' } as Cell<TData>))\n\n return cells\n },\n {\n key:\n process.env.NODE_ENV === 'production' && 'row.getLeftVisibleCells',\n debug: () => table.options.debugAll ?? table.options.debugRows,\n }\n ),\n getRightVisibleCells: memo(\n () => [row._getAllVisibleCells(), table.getState().columnPinning.right],\n (allCells, right) => {\n const cells = (right ?? [])\n .map(\n columnId => allCells.find(cell => cell.column.id === columnId)!\n )\n .filter(Boolean)\n .map(d => ({ ...d, position: 'left' } as Cell<TData>))\n\n return cells\n },\n {\n key:\n process.env.NODE_ENV === 'production' && 'row.getRightVisibleCells',\n debug: () => table.options.debugAll ?? table.options.debugRows,\n }\n ),\n }\n },\n\n createTable: <TData extends RowData>(\n table: Table<TData>\n ): ColumnPinningInstance<TData> => {\n return {\n setColumnPinning: updater =>\n table.options.onColumnPinningChange?.(updater),\n\n resetColumnPinning: defaultState =>\n table.setColumnPinning(\n defaultState\n ? getDefaultPinningState()\n : table.initialState?.columnPinning ?? getDefaultPinningState()\n ),\n\n getIsSomeColumnsPinned: position => {\n const pinningState = table.getState().columnPinning\n\n if (!position) {\n return Boolean(\n pinningState.left?.length || pinningState.right?.length\n )\n }\n return Boolean(pinningState[position]?.length)\n },\n\n getLeftLeafColumns: memo(\n () => [table.getAllLeafColumns(), table.getState().columnPinning.left],\n (allColumns, left) => {\n return (left ?? [])\n .map(columnId => allColumns.find(column => column.id === columnId)!)\n .filter(Boolean)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getLeftLeafColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n\n getRightLeafColumns: memo(\n () => [table.getAllLeafColumns(), table.getState().columnPinning.right],\n (allColumns, right) => {\n return (right ?? [])\n .map(columnId => allColumns.find(column => column.id === columnId)!)\n .filter(Boolean)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRightLeafColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n\n getCenterLeafColumns: memo(\n () => [\n table.getAllLeafColumns(),\n table.getState().columnPinning.left,\n table.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: process.env.NODE_ENV === 'development' && 'getCenterLeafColumns',\n debug: () => table.options.debugAll ?? table.options.debugColumns,\n }\n ),\n }\n },\n}\n"],"names":["getDefaultPinningState","left","right","Pinning","getInitialState","state","columnPinning","getDefaultOptions","table","onColumnPinningChange","makeStateUpdater","createColumn","column","pin","position","columnIds","getLeafColumns","map","d","id","filter","Boolean","setColumnPinning","old","includes","getCanPin","leafColumns","some","columnDef","enablePinning","options","getIsPinned","leafColumnIds","getState","isLeft","isRight","getPinnedIndex","indexOf","createRow","row","getCenterVisibleCells","memo","_getAllVisibleCells","allCells","leftAndRight","key","process","env","NODE_ENV","debug","debugAll","debugRows","getLeftVisibleCells","cells","columnId","find","cell","getRightVisibleCells","createTable","updater","resetColumnPinning","defaultState","initialState","getIsSomeColumnsPinned","pinningState","length","getLeftLeafColumns","getAllLeafColumns","allColumns","debugColumns","getRightLeafColumns","getCenterLeafColumns"],"mappings":"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"}
|