@tanstack/react-table 8.0.0-alpha.3 → 8.0.0-alpha.34
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/_virtual/_rollupPluginBabelHelpers.js +0 -78
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
- package/build/cjs/index.js +99 -12
- package/build/cjs/index.js.map +1 -1
- package/build/esm/index.js +41 -4686
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +29 -747
- package/build/types/index.d.ts +13 -7
- package/build/umd/index.development.js +51 -4688
- 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 +4 -1
- package/src/index.tsx +107 -7
- package/build/cjs/aggregationTypes.js +0 -130
- package/build/cjs/aggregationTypes.js.map +0 -1
- package/build/cjs/core.js +0 -552
- package/build/cjs/core.js.map +0 -1
- package/build/cjs/createTable.js +0 -108
- package/build/cjs/createTable.js.map +0 -1
- package/build/cjs/features/ColumnSizing.js +0 -317
- package/build/cjs/features/ColumnSizing.js.map +0 -1
- package/build/cjs/features/Expanding.js +0 -255
- package/build/cjs/features/Expanding.js.map +0 -1
- package/build/cjs/features/Filters.js +0 -445
- package/build/cjs/features/Filters.js.map +0 -1
- package/build/cjs/features/Grouping.js +0 -249
- package/build/cjs/features/Grouping.js.map +0 -1
- package/build/cjs/features/Headers.js +0 -549
- package/build/cjs/features/Headers.js.map +0 -1
- package/build/cjs/features/Ordering.js +0 -86
- package/build/cjs/features/Ordering.js.map +0 -1
- package/build/cjs/features/Pagination.js +0 -194
- package/build/cjs/features/Pagination.js.map +0 -1
- package/build/cjs/features/Pinning.js +0 -149
- package/build/cjs/features/Pinning.js.map +0 -1
- package/build/cjs/features/RowSelection.js +0 -541
- package/build/cjs/features/RowSelection.js.map +0 -1
- package/build/cjs/features/Sorting.js +0 -327
- package/build/cjs/features/Sorting.js.map +0 -1
- package/build/cjs/features/Visibility.js +0 -166
- package/build/cjs/features/Visibility.js.map +0 -1
- package/build/cjs/filterTypes.js +0 -172
- package/build/cjs/filterTypes.js.map +0 -1
- package/build/cjs/sortTypes.js +0 -122
- package/build/cjs/sortTypes.js.map +0 -1
- package/build/cjs/utils/columnFilterRowsFn.js +0 -131
- package/build/cjs/utils/columnFilterRowsFn.js.map +0 -1
- package/build/cjs/utils/expandRowsFn.js +0 -38
- package/build/cjs/utils/expandRowsFn.js.map +0 -1
- package/build/cjs/utils/globalFilterRowsFn.js +0 -101
- package/build/cjs/utils/globalFilterRowsFn.js.map +0 -1
- package/build/cjs/utils/groupRowsFn.js +0 -155
- package/build/cjs/utils/groupRowsFn.js.map +0 -1
- package/build/cjs/utils/sortRowsFn.js +0 -94
- package/build/cjs/utils/sortRowsFn.js.map +0 -1
- package/build/cjs/utils.js +0 -146
- package/build/cjs/utils.js.map +0 -1
- package/build/types/aggregationTypes.d.ts +0 -22
- package/build/types/core.d.ts +0 -111
- package/build/types/createTable.d.ts +0 -53
- package/build/types/features/ColumnSizing.d.ts +0 -67
- package/build/types/features/Expanding.d.ts +0 -53
- package/build/types/features/Filters.d.ts +0 -98
- package/build/types/features/Grouping.d.ts +0 -82
- package/build/types/features/Headers.d.ts +0 -41
- package/build/types/features/Ordering.d.ts +0 -19
- package/build/types/features/Pagination.d.ts +0 -43
- package/build/types/features/Pinning.d.ts +0 -39
- package/build/types/features/RowSelection.d.ts +0 -66
- package/build/types/features/Sorting.d.ts +0 -78
- package/build/types/features/Visibility.d.ts +0 -47
- package/build/types/filterTypes.d.ts +0 -50
- package/build/types/sortTypes.d.ts +0 -18
- package/build/types/types.d.ts +0 -127
- package/build/types/utils/columnFilterRowsFn.d.ts +0 -2
- package/build/types/utils/expandRowsFn.d.ts +0 -2
- package/build/types/utils/globalFilterRowsFn.d.ts +0 -2
- package/build/types/utils/groupRowsFn.d.ts +0 -2
- package/build/types/utils/paginateRowsFn.d.ts +0 -2
- package/build/types/utils/sortRowsFn.d.ts +0 -2
- package/build/types/utils.d.ts +0 -28
- package/src/aggregationTypes.ts +0 -115
- package/src/core.tsx +0 -1182
- package/src/createTable.tsx +0 -241
- package/src/features/ColumnSizing.ts +0 -453
- package/src/features/Expanding.ts +0 -404
- package/src/features/Filters.ts +0 -762
- package/src/features/Grouping.ts +0 -466
- package/src/features/Headers.ts +0 -912
- package/src/features/Ordering.ts +0 -133
- package/src/features/Pagination.ts +0 -314
- package/src/features/Pinning.ts +0 -200
- package/src/features/RowSelection.ts +0 -831
- package/src/features/Sorting.ts +0 -547
- package/src/features/Visibility.ts +0 -279
- package/src/filterTypes.ts +0 -251
- package/src/sortTypes.ts +0 -159
- package/src/types.ts +0 -331
- package/src/utils/columnFilterRowsFn.ts +0 -155
- package/src/utils/expandRowsFn.ts +0 -50
- package/src/utils/globalFilterRowsFn.ts +0 -122
- package/src/utils/groupRowsFn.ts +0 -194
- package/src/utils/paginateRowsFn.ts +0 -34
- package/src/utils/sortRowsFn.ts +0 -115
- package/src/utils.tsx +0 -257
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* react-table
|
|
3
|
-
*
|
|
4
|
-
* Copyright (c) TanStack
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
-
*
|
|
9
|
-
* @license MIT
|
|
10
|
-
*/
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
|
-
|
|
15
|
-
var utils = require('../utils.js');
|
|
16
|
-
var Grouping = require('./Grouping.js');
|
|
17
|
-
|
|
18
|
-
//
|
|
19
|
-
function getInitialState() {
|
|
20
|
-
return {
|
|
21
|
-
columnOrder: []
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
function getDefaultOptions(instance) {
|
|
25
|
-
return {
|
|
26
|
-
onColumnOrderChange: utils.makeStateUpdater('columnOrder', instance)
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
function getInstance(instance) {
|
|
30
|
-
return {
|
|
31
|
-
setColumnOrder: function setColumnOrder(updater) {
|
|
32
|
-
return instance.options.onColumnOrderChange == null ? void 0 : instance.options.onColumnOrderChange(updater, utils.functionalUpdate(updater, instance.getState().columnOrder));
|
|
33
|
-
},
|
|
34
|
-
resetColumnOrder: function resetColumnOrder() {
|
|
35
|
-
var _instance$initialStat;
|
|
36
|
-
|
|
37
|
-
instance.setColumnOrder((_instance$initialStat = instance.initialState.columnOrder) != null ? _instance$initialStat : []);
|
|
38
|
-
},
|
|
39
|
-
getOrderColumnsFn: utils.memo(function () {
|
|
40
|
-
return [instance.getState().columnOrder, instance.getState().grouping, instance.options.groupedColumnMode];
|
|
41
|
-
}, function (columnOrder, grouping, groupedColumnMode) {
|
|
42
|
-
return function (columns) {
|
|
43
|
-
// Sort grouped columns to the start of the column list
|
|
44
|
-
// before the headers are built
|
|
45
|
-
var orderedColumns = []; // If there is no order, return the normal columns
|
|
46
|
-
|
|
47
|
-
if (!(columnOrder != null && columnOrder.length)) {
|
|
48
|
-
orderedColumns = columns;
|
|
49
|
-
} else {
|
|
50
|
-
var columnOrderCopy = [].concat(columnOrder); // If there is an order, make a copy of the columns
|
|
51
|
-
|
|
52
|
-
var columnsCopy = [].concat(columns); // And make a new ordered array of the columns
|
|
53
|
-
// Loop over the columns and place them in order into the new array
|
|
54
|
-
|
|
55
|
-
var _loop = function _loop() {
|
|
56
|
-
var targetColumnId = columnOrderCopy.shift();
|
|
57
|
-
var foundIndex = columnsCopy.findIndex(function (d) {
|
|
58
|
-
return d.id === targetColumnId;
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
if (foundIndex > -1) {
|
|
62
|
-
orderedColumns.push(columnsCopy.splice(foundIndex, 1)[0]);
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
while (columnsCopy.length && columnOrderCopy.length) {
|
|
67
|
-
_loop();
|
|
68
|
-
} // If there are any columns left, add them to the end
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
orderedColumns = [].concat(orderedColumns, columnsCopy);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
return Grouping.orderColumns(orderedColumns, grouping, groupedColumnMode);
|
|
75
|
-
};
|
|
76
|
-
}, {
|
|
77
|
-
key: 'getOrderColumnsFn',
|
|
78
|
-
debug: instance.options.debug
|
|
79
|
-
})
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
exports.getDefaultOptions = getDefaultOptions;
|
|
84
|
-
exports.getInitialState = getInitialState;
|
|
85
|
-
exports.getInstance = getInstance;
|
|
86
|
-
//# sourceMappingURL=Ordering.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Ordering.js","sources":["../../../src/features/Ordering.ts"],"sourcesContent":["import { functionalUpdate, makeStateUpdater, memo } from '../utils'\n\nimport { ReactTable, OnChangeFn, Updater, Column } from '../types'\n\nimport * as Grouping from './Grouping'\n\nexport type ColumnOrderState = string[]\n\nexport type ColumnOrderTableState = {\n columnOrder: ColumnOrderState\n}\n\nexport type ColumnOrderOptions = {\n onColumnOrderChange?: OnChangeFn<ColumnOrderState>\n}\n\nexport type ColumnOrderDefaultOptions = {\n onColumnOrderChange: OnChangeFn<ColumnOrderState>\n}\n\nexport type ColumnOrderInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n setColumnOrder: (updater: Updater<ColumnOrderState>) => void\n resetColumnOrder: () => void\n getOrderColumnsFn: () => (\n columns: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[]\n ) => Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[]\n}\n\n//\n\nexport function getInitialState(): ColumnOrderTableState {\n return {\n columnOrder: [],\n }\n}\n\nexport function getDefaultOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): ColumnOrderDefaultOptions {\n return {\n onColumnOrderChange: makeStateUpdater('columnOrder', instance),\n }\n}\n\nexport function getInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): ColumnOrderInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> {\n return {\n setColumnOrder: updater =>\n instance.options.onColumnOrderChange?.(\n updater,\n functionalUpdate(updater, instance.getState().columnOrder)\n ),\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<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[] = []\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 Grouping.orderColumns(\n orderedColumns,\n grouping,\n groupedColumnMode\n )\n },\n { key: 'getOrderColumnsFn', debug: instance.options.debug }\n ),\n }\n}\n"],"names":["getInitialState","columnOrder","getDefaultOptions","instance","onColumnOrderChange","makeStateUpdater","getInstance","setColumnOrder","updater","options","functionalUpdate","getState","resetColumnOrder","initialState","getOrderColumnsFn","memo","grouping","groupedColumnMode","columns","orderedColumns","length","columnOrderCopy","columnsCopy","targetColumnId","shift","foundIndex","findIndex","d","id","push","splice","Grouping","key","debug"],"mappings":";;;;;;;;;;;;;;;;;AAkCA;AAEO,SAASA,eAAT,GAAkD;AACvD,SAAO;AACLC,IAAAA,WAAW,EAAE;AADR,GAAP;AAGD;AAEM,SAASC,iBAAT,CAOLC,QAPK,EAQsB;AAC3B,SAAO;AACLC,IAAAA,mBAAmB,EAAEC,sBAAgB,CAAC,aAAD,EAAgBF,QAAhB;AADhC,GAAP;AAGD;AAEM,SAASG,WAAT,CAOLH,QAPK,EAcL;AACA,SAAO;AACLI,IAAAA,cAAc,EAAE,wBAAAC,OAAO;AAAA,aACrBL,QAAQ,CAACM,OAAT,CAAiBL,mBADI,oBACrBD,QAAQ,CAACM,OAAT,CAAiBL,mBAAjB,CACEI,OADF,EAEEE,sBAAgB,CAACF,OAAD,EAAUL,QAAQ,CAACQ,QAAT,GAAoBV,WAA9B,CAFlB,CADqB;AAAA,KADlB;AAMLW,IAAAA,gBAAgB,EAAE,4BAAM;AAAA;;AACtBT,MAAAA,QAAQ,CAACI,cAAT,0BAAwBJ,QAAQ,CAACU,YAAT,CAAsBZ,WAA9C,oCAA6D,EAA7D;AACD,KARI;AASLa,IAAAA,iBAAiB,EAAEC,UAAI,CACrB;AAAA,aAAM,CACJZ,QAAQ,CAACQ,QAAT,GAAoBV,WADhB,EAEJE,QAAQ,CAACQ,QAAT,GAAoBK,QAFhB,EAGJb,QAAQ,CAACM,OAAT,CAAiBQ,iBAHb,CAAN;AAAA,KADqB,EAMrB,UAAChB,WAAD,EAAce,QAAd,EAAwBC,iBAAxB;AAAA,aAA8C,UAAAC,OAAO,EAAI;AACvD;AACA;AACA,YAAIC,cAMD,GAAG,EANN,CAHuD;;AAYvD,YAAI,EAAClB,WAAD,YAACA,WAAW,CAAEmB,MAAd,CAAJ,EAA0B;AACxBD,UAAAA,cAAc,GAAGD,OAAjB;AACD,SAFD,MAEO;AACL,cAAMG,eAAe,aAAOpB,WAAP,CAArB,CADK;;AAIL,cAAMqB,WAAW,aAAOJ,OAAP,CAAjB,CAJK;AAQL;;AARK;AAUH,gBAAMK,cAAc,GAAGF,eAAe,CAACG,KAAhB,EAAvB;AACA,gBAAMC,UAAU,GAAGH,WAAW,CAACI,SAAZ,CACjB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACC,EAAF,KAASL,cAAb;AAAA,aADgB,CAAnB;;AAGA,gBAAIE,UAAU,GAAG,CAAC,CAAlB,EAAqB;AACnBN,cAAAA,cAAc,CAACU,IAAf,CAAoBP,WAAW,CAACQ,MAAZ,CAAmBL,UAAnB,EAA+B,CAA/B,EAAkC,CAAlC,CAApB;AACD;AAhBE;;AASL,iBAAOH,WAAW,CAACF,MAAZ,IAAsBC,eAAe,CAACD,MAA7C,EAAqD;AAAA;AAQpD,WAjBI;;;AAoBLD,UAAAA,cAAc,aAAOA,cAAP,EAA0BG,WAA1B,CAAd;AACD;;AAED,eAAOS,qBAAA,CACLZ,cADK,EAELH,QAFK,EAGLC,iBAHK,CAAP;AAKD,OA1CD;AAAA,KANqB,EAiDrB;AAAEe,MAAAA,GAAG,EAAE,mBAAP;AAA4BC,MAAAA,KAAK,EAAE9B,QAAQ,CAACM,OAAT,CAAiBwB;AAApD,KAjDqB;AATlB,GAAP;AA6DD;;;;;;"}
|
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* react-table
|
|
3
|
-
*
|
|
4
|
-
* Copyright (c) TanStack
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
-
*
|
|
9
|
-
* @license MIT
|
|
10
|
-
*/
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
|
-
|
|
15
|
-
var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.js');
|
|
16
|
-
var utils = require('../utils.js');
|
|
17
|
-
|
|
18
|
-
//
|
|
19
|
-
function getInitialState() {
|
|
20
|
-
return {
|
|
21
|
-
pagination: {
|
|
22
|
-
pageIndex: 0,
|
|
23
|
-
pageSize: 10,
|
|
24
|
-
pageCount: -1
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
function getDefaultOptions(instance) {
|
|
29
|
-
return {
|
|
30
|
-
onPaginationChange: utils.makeStateUpdater('pagination', instance),
|
|
31
|
-
autoResetPageIndex: true
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
function getInstance(instance) {
|
|
35
|
-
var registered = false;
|
|
36
|
-
return {
|
|
37
|
-
_notifyPageIndexReset: function _notifyPageIndexReset() {
|
|
38
|
-
if (!registered) {
|
|
39
|
-
registered = true;
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
if (instance.options.autoResetAll === false) {
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
if (instance.options.autoResetAll === true || instance.options.autoResetPageIndex) {
|
|
48
|
-
instance.resetPageSize();
|
|
49
|
-
}
|
|
50
|
-
},
|
|
51
|
-
setPagination: function setPagination(updater) {
|
|
52
|
-
var safeUpdater = function safeUpdater(old) {
|
|
53
|
-
utils.functionalUpdate(old, updater);
|
|
54
|
-
|
|
55
|
-
if (!instance.options.paginateRowsFn) {
|
|
56
|
-
var _instance$getPreExpan;
|
|
57
|
-
|
|
58
|
-
return _rollupPluginBabelHelpers["extends"]({}, old, {
|
|
59
|
-
pageCount: (_instance$getPreExpan = instance.getPreExpandedRows()) != null && _instance$getPreExpan.length ? Math.ceil(instance.getPreExpandedRows().length / instance.getState().pagination.pageSize) : 0
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
return old;
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
return instance.options.onPaginationChange == null ? void 0 : instance.options.onPaginationChange(safeUpdater, utils.functionalUpdate(safeUpdater, instance.getState().pagination));
|
|
67
|
-
},
|
|
68
|
-
resetPagination: function resetPagination() {
|
|
69
|
-
var _instance$initialStat;
|
|
70
|
-
|
|
71
|
-
instance.setPagination((_instance$initialStat = instance.initialState.pagination) != null ? _instance$initialStat : {
|
|
72
|
-
pageIndex: 0,
|
|
73
|
-
pageSize: 10,
|
|
74
|
-
pageCount: -1
|
|
75
|
-
});
|
|
76
|
-
},
|
|
77
|
-
setPageIndex: function setPageIndex(updater) {
|
|
78
|
-
instance.setPagination(function (old) {
|
|
79
|
-
var newPageIndex = utils.functionalUpdate(updater, old.pageIndex);
|
|
80
|
-
var maxPageIndex = old.pageCount > 0 ? old.pageCount - 1 : Number.MAX_SAFE_INTEGER;
|
|
81
|
-
return _rollupPluginBabelHelpers["extends"]({}, old, {
|
|
82
|
-
pageIndex: Math.min(Math.max(0, newPageIndex), maxPageIndex)
|
|
83
|
-
});
|
|
84
|
-
});
|
|
85
|
-
},
|
|
86
|
-
resetPageIndex: function resetPageIndex() {
|
|
87
|
-
instance.setPageIndex(0);
|
|
88
|
-
},
|
|
89
|
-
resetPageSize: function resetPageSize() {
|
|
90
|
-
var _instance$options$ini, _instance$options$ini2, _instance$options$ini3;
|
|
91
|
-
|
|
92
|
-
instance.setPageSize((_instance$options$ini = (_instance$options$ini2 = instance.options.initialState) == null ? void 0 : (_instance$options$ini3 = _instance$options$ini2.pagination) == null ? void 0 : _instance$options$ini3.pageSize) != null ? _instance$options$ini : 10);
|
|
93
|
-
},
|
|
94
|
-
setPageSize: function setPageSize(updater) {
|
|
95
|
-
instance.setPagination(function (old) {
|
|
96
|
-
var pageSize = Math.max(1, utils.functionalUpdate(updater, old.pageSize));
|
|
97
|
-
var topRowIndex = old.pageSize * old.pageIndex;
|
|
98
|
-
var pageIndex = Math.floor(topRowIndex / pageSize);
|
|
99
|
-
return _rollupPluginBabelHelpers["extends"]({}, old, {
|
|
100
|
-
pageIndex: pageIndex,
|
|
101
|
-
pageSize: pageSize
|
|
102
|
-
});
|
|
103
|
-
});
|
|
104
|
-
},
|
|
105
|
-
setPageCount: function setPageCount(updater) {
|
|
106
|
-
return instance.setPagination(function (old) {
|
|
107
|
-
return _rollupPluginBabelHelpers["extends"]({}, old, {
|
|
108
|
-
pageCount: Math.max(-1, utils.functionalUpdate(updater, old.pageCount))
|
|
109
|
-
});
|
|
110
|
-
});
|
|
111
|
-
},
|
|
112
|
-
getPageOptions: utils.memo(function () {
|
|
113
|
-
return [instance.getState().pagination.pageSize, instance.getState().pagination.pageCount];
|
|
114
|
-
}, function (pageSize, pageCount) {
|
|
115
|
-
var pageOptions = [];
|
|
116
|
-
|
|
117
|
-
if (pageCount > 0) {
|
|
118
|
-
pageOptions = [].concat(new Array(pageCount)).fill(null).map(function (_, i) {
|
|
119
|
-
return i;
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
return pageOptions;
|
|
124
|
-
}, {
|
|
125
|
-
key: 'getPageOptions',
|
|
126
|
-
debug: instance.options.debug
|
|
127
|
-
}),
|
|
128
|
-
getCanPreviousPage: function getCanPreviousPage() {
|
|
129
|
-
return instance.getState().pagination.pageIndex > 0;
|
|
130
|
-
},
|
|
131
|
-
getCanNextPage: function getCanNextPage() {
|
|
132
|
-
var _instance$getState$pa = instance.getState().pagination,
|
|
133
|
-
pageIndex = _instance$getState$pa.pageIndex,
|
|
134
|
-
pageCount = _instance$getState$pa.pageCount,
|
|
135
|
-
pageSize = _instance$getState$pa.pageSize;
|
|
136
|
-
|
|
137
|
-
if (pageCount === -1) {
|
|
138
|
-
return true;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
if (pageCount === 0) {
|
|
142
|
-
return false;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
return pageIndex < Math.ceil(instance.getPrePaginationRows().length / pageSize) - 1;
|
|
146
|
-
},
|
|
147
|
-
gotoPreviousPage: function gotoPreviousPage() {
|
|
148
|
-
return instance.setPageIndex == null ? void 0 : instance.setPageIndex(function (old) {
|
|
149
|
-
return old - 1;
|
|
150
|
-
});
|
|
151
|
-
},
|
|
152
|
-
gotoNextPage: function gotoNextPage() {
|
|
153
|
-
return instance.setPageIndex == null ? void 0 : instance.setPageIndex(function (old) {
|
|
154
|
-
return old + 1;
|
|
155
|
-
});
|
|
156
|
-
},
|
|
157
|
-
getPaginationRowModel: utils.memo(function () {
|
|
158
|
-
return [instance.getState().pagination, instance.getExpandedRowModel(), instance.options.paginateRowsFn];
|
|
159
|
-
}, function (_pagination, rowModel, paginateRowsFn) {
|
|
160
|
-
if (!paginateRowsFn || !rowModel.rows.length) {
|
|
161
|
-
return rowModel;
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
if (process.env.NODE_ENV !== 'production' && instance.options.debug) console.info('Paginating...');
|
|
165
|
-
return paginateRowsFn(instance, rowModel);
|
|
166
|
-
}, {
|
|
167
|
-
key: 'getPaginationRowModel',
|
|
168
|
-
debug: instance.options.debug
|
|
169
|
-
}),
|
|
170
|
-
getPrePaginationRows: function getPrePaginationRows() {
|
|
171
|
-
return instance.getExpandedRowModel().rows;
|
|
172
|
-
},
|
|
173
|
-
getPrePaginationFlatRows: function getPrePaginationFlatRows() {
|
|
174
|
-
return instance.getExpandedRowModel().flatRows;
|
|
175
|
-
},
|
|
176
|
-
getPrePaginationRowsById: function getPrePaginationRowsById() {
|
|
177
|
-
return instance.getExpandedRowModel().rowsById;
|
|
178
|
-
},
|
|
179
|
-
getPaginationRows: function getPaginationRows() {
|
|
180
|
-
return instance.getPaginationRowModel().rows;
|
|
181
|
-
},
|
|
182
|
-
getPaginationFlatRows: function getPaginationFlatRows() {
|
|
183
|
-
return instance.getPaginationRowModel().flatRows;
|
|
184
|
-
},
|
|
185
|
-
getPaginationRowsById: function getPaginationRowsById() {
|
|
186
|
-
return instance.getPaginationRowModel().rowsById;
|
|
187
|
-
}
|
|
188
|
-
};
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
exports.getDefaultOptions = getDefaultOptions;
|
|
192
|
-
exports.getInitialState = getInitialState;
|
|
193
|
-
exports.getInstance = getInstance;
|
|
194
|
-
//# sourceMappingURL=Pagination.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.js","sources":["../../../src/features/Pagination.ts"],"sourcesContent":["import {\n Column,\n OnChangeFn,\n ReactTable,\n Row,\n RowModel,\n TableState,\n Updater,\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 PaginationOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n onPaginationChange?: OnChangeFn<PaginationState>\n autoResetPageIndex?: boolean\n paginateRowsFn?: (\n instance: ReactTable<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n rowModel: RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n}\n\nexport type PaginationDefaultOptions = {\n onPaginationChange: OnChangeFn<PaginationState>\n autoResetPageIndex: boolean\n}\n\nexport type PaginationInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n _notifyPageIndexReset: () => 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 gotoPreviousPage: () => void\n gotoNextPage: () => void\n getPaginationRowModel: () => RowModel<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n getPrePaginationRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPrePaginationFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPrePaginationRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n getPaginationRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPaginationFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPaginationRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n}\n\n//\n\nexport function getInitialState(): PaginationTableState {\n return {\n pagination: {\n pageIndex: 0,\n pageSize: 10,\n pageCount: -1,\n },\n }\n}\n\nexport function getDefaultOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): PaginationDefaultOptions {\n return {\n onPaginationChange: makeStateUpdater('pagination', instance),\n autoResetPageIndex: true,\n }\n}\n\nexport function getInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): PaginationInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n let registered = false\n return {\n _notifyPageIndexReset: () => {\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.resetPageSize()\n }\n },\n setPagination: updater => {\n const safeUpdater: Updater<PaginationState> = old => {\n const newState = functionalUpdate(old, updater)\n\n if (!instance.options.paginateRowsFn) {\n return {\n ...old,\n pageCount: instance.getPreExpandedRows()?.length\n ? Math.ceil(\n instance.getPreExpandedRows().length /\n instance.getState().pagination.pageSize\n )\n : 0,\n }\n }\n\n return old\n }\n\n return instance.options.onPaginationChange?.(\n safeUpdater,\n functionalUpdate(safeUpdater, instance.getState().pagination)\n )\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 const newPageIndex = functionalUpdate(updater, old.pageIndex)\n const maxPageIndex =\n old.pageCount > 0 ? old.pageCount - 1 : Number.MAX_SAFE_INTEGER\n\n return {\n ...old,\n pageIndex: Math.min(Math.max(0, newPageIndex), maxPageIndex),\n }\n })\n },\n resetPageIndex: () => {\n instance.setPageIndex(0)\n },\n resetPageSize: () => {\n instance.setPageSize(\n instance.options.initialState?.pagination?.pageSize ?? 10\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 ...old,\n pageCount: Math.max(-1, functionalUpdate(updater, old.pageCount)),\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 > 0) {\n pageOptions = [...new Array(pageCount)].fill(null).map((_, i) => i)\n }\n return pageOptions\n },\n {\n key: 'getPageOptions',\n debug: instance.options.debug,\n }\n ),\n\n getCanPreviousPage: () => instance.getState().pagination.pageIndex > 0,\n\n getCanNextPage: () => {\n const { pageIndex, pageCount, pageSize } = instance.getState().pagination\n\n if (pageCount === -1) {\n return true\n }\n\n if (pageCount === 0) {\n return false\n }\n\n return (\n pageIndex <\n Math.ceil(instance.getPrePaginationRows().length / pageSize) - 1\n )\n },\n\n gotoPreviousPage: () => {\n return instance.setPageIndex?.(old => old! - 1)\n },\n\n gotoNextPage: () => {\n return instance.setPageIndex?.(old => old! + 1)\n },\n\n getPaginationRowModel: memo(\n () => [\n instance.getState().pagination,\n instance.getExpandedRowModel(),\n instance.options.paginateRowsFn,\n ],\n (_pagination, rowModel, paginateRowsFn) => {\n if (!paginateRowsFn || !rowModel.rows.length) {\n return rowModel\n }\n\n if (process.env.NODE_ENV !== 'production' && instance.options.debug)\n console.info('Paginating...')\n\n return paginateRowsFn(instance, rowModel)\n },\n {\n key: 'getPaginationRowModel',\n debug: instance.options.debug,\n }\n ),\n\n getPrePaginationRows: () => instance.getExpandedRowModel().rows,\n getPrePaginationFlatRows: () => instance.getExpandedRowModel().flatRows,\n getPrePaginationRowsById: () => instance.getExpandedRowModel().rowsById,\n getPaginationRows: () => instance.getPaginationRowModel().rows,\n getPaginationFlatRows: () => instance.getPaginationRowModel().flatRows,\n getPaginationRowsById: () => instance.getPaginationRowModel().rowsById,\n }\n}\n"],"names":["getInitialState","pagination","pageIndex","pageSize","pageCount","getDefaultOptions","instance","onPaginationChange","makeStateUpdater","autoResetPageIndex","getInstance","registered","_notifyPageIndexReset","options","autoResetAll","resetPageSize","setPagination","updater","safeUpdater","old","functionalUpdate","paginateRowsFn","getPreExpandedRows","length","Math","ceil","getState","resetPagination","initialState","setPageIndex","newPageIndex","maxPageIndex","Number","MAX_SAFE_INTEGER","min","max","resetPageIndex","setPageSize","topRowIndex","floor","setPageCount","getPageOptions","memo","pageOptions","Array","fill","map","_","i","key","debug","getCanPreviousPage","getCanNextPage","getPrePaginationRows","gotoPreviousPage","gotoNextPage","getPaginationRowModel","getExpandedRowModel","_pagination","rowModel","rows","process","env","NODE_ENV","console","info","getPrePaginationFlatRows","flatRows","getPrePaginationRowsById","rowsById","getPaginationRows","getPaginationFlatRows","getPaginationRowsById"],"mappings":";;;;;;;;;;;;;;;;;AAgHA;AAEO,SAASA,eAAT,GAAiD;AACtD,SAAO;AACLC,IAAAA,UAAU,EAAE;AACVC,MAAAA,SAAS,EAAE,CADD;AAEVC,MAAAA,QAAQ,EAAE,EAFA;AAGVC,MAAAA,SAAS,EAAE,CAAC;AAHF;AADP,GAAP;AAOD;AAEM,SAASC,iBAAT,CAOLC,QAPK,EAQqB;AAC1B,SAAO;AACLC,IAAAA,kBAAkB,EAAEC,sBAAgB,CAAC,YAAD,EAAeF,QAAf,CAD/B;AAELG,IAAAA,kBAAkB,EAAE;AAFf,GAAP;AAID;AAEM,SAASC,WAAT,CAOLJ,QAPK,EAQwE;AAC7E,MAAIK,UAAU,GAAG,KAAjB;AACA,SAAO;AACLC,IAAAA,qBAAqB,EAAE,iCAAM;AAC3B,UAAI,CAACD,UAAL,EAAiB;AACfA,QAAAA,UAAU,GAAG,IAAb;AACA;AACD;;AAED,UAAIL,QAAQ,CAACO,OAAT,CAAiBC,YAAjB,KAAkC,KAAtC,EAA6C;AAC3C;AACD;;AAED,UACER,QAAQ,CAACO,OAAT,CAAiBC,YAAjB,KAAkC,IAAlC,IACAR,QAAQ,CAACO,OAAT,CAAiBJ,kBAFnB,EAGE;AACAH,QAAAA,QAAQ,CAACS,aAAT;AACD;AACF,KAjBI;AAkBLC,IAAAA,aAAa,EAAE,uBAAAC,OAAO,EAAI;AACxB,UAAMC,WAAqC,GAAG,SAAxCA,WAAwC,CAAAC,GAAG,EAAI;AACnD,QAAiBC,sBAAgB,CAACD,GAAD,EAAMF,OAAN;;AAEjC,YAAI,CAACX,QAAQ,CAACO,OAAT,CAAiBQ,cAAtB,EAAsC;AAAA;;AACpC,0DACKF,GADL;AAEEf,YAAAA,SAAS,EAAE,yBAAAE,QAAQ,CAACgB,kBAAT,qCAA+BC,MAA/B,GACPC,IAAI,CAACC,IAAL,CACEnB,QAAQ,CAACgB,kBAAT,GAA8BC,MAA9B,GACEjB,QAAQ,CAACoB,QAAT,GAAoBzB,UAApB,CAA+BE,QAFnC,CADO,GAKP;AAPN;AASD;;AAED,eAAOgB,GAAP;AACD,OAhBD;;AAkBA,aAAOb,QAAQ,CAACO,OAAT,CAAiBN,kBAAxB,oBAAOD,QAAQ,CAACO,OAAT,CAAiBN,kBAAjB,CACLW,WADK,EAELE,sBAAgB,CAACF,WAAD,EAAcZ,QAAQ,CAACoB,QAAT,GAAoBzB,UAAlC,CAFX,CAAP;AAID,KAzCI;AA0CL0B,IAAAA,eAAe,EAAE,2BAAM;AAAA;;AACrBrB,MAAAA,QAAQ,CAACU,aAAT,0BACEV,QAAQ,CAACsB,YAAT,CAAsB3B,UADxB,oCACsC;AAClCC,QAAAA,SAAS,EAAE,CADuB;AAElCC,QAAAA,QAAQ,EAAE,EAFwB;AAGlCC,QAAAA,SAAS,EAAE,CAAC;AAHsB,OADtC;AAOD,KAlDI;AAmDLyB,IAAAA,YAAY,EAAE,sBAAAZ,OAAO,EAAI;AACvBX,MAAAA,QAAQ,CAACU,aAAT,CAAuB,UAAAG,GAAG,EAAI;AAC5B,YAAMW,YAAY,GAAGV,sBAAgB,CAACH,OAAD,EAAUE,GAAG,CAACjB,SAAd,CAArC;AACA,YAAM6B,YAAY,GAChBZ,GAAG,CAACf,SAAJ,GAAgB,CAAhB,GAAoBe,GAAG,CAACf,SAAJ,GAAgB,CAApC,GAAwC4B,MAAM,CAACC,gBADjD;AAGA,wDACKd,GADL;AAEEjB,UAAAA,SAAS,EAAEsB,IAAI,CAACU,GAAL,CAASV,IAAI,CAACW,GAAL,CAAS,CAAT,EAAYL,YAAZ,CAAT,EAAoCC,YAApC;AAFb;AAID,OATD;AAUD,KA9DI;AA+DLK,IAAAA,cAAc,EAAE,0BAAM;AACpB9B,MAAAA,QAAQ,CAACuB,YAAT,CAAsB,CAAtB;AACD,KAjEI;AAkELd,IAAAA,aAAa,EAAE,yBAAM;AAAA;;AACnBT,MAAAA,QAAQ,CAAC+B,WAAT,oDACE/B,QAAQ,CAACO,OAAT,CAAiBe,YADnB,+CACE,uBAA+B3B,UADjC,qBACE,uBAA2CE,QAD7C,oCACyD,EADzD;AAGD,KAtEI;AAuELkC,IAAAA,WAAW,EAAE,qBAAApB,OAAO,EAAI;AACtBX,MAAAA,QAAQ,CAACU,aAAT,CAAuB,UAAAG,GAAG,EAAI;AAC5B,YAAMhB,QAAQ,GAAGqB,IAAI,CAACW,GAAL,CAAS,CAAT,EAAYf,sBAAgB,CAACH,OAAD,EAAUE,GAAG,CAAChB,QAAd,CAA5B,CAAjB;AACA,YAAMmC,WAAW,GAAGnB,GAAG,CAAChB,QAAJ,GAAegB,GAAG,CAACjB,SAAvC;AACA,YAAMA,SAAS,GAAGsB,IAAI,CAACe,KAAL,CAAWD,WAAW,GAAGnC,QAAzB,CAAlB;AAEA,wDACKgB,GADL;AAEEjB,UAAAA,SAAS,EAATA,SAFF;AAGEC,UAAAA,QAAQ,EAARA;AAHF;AAKD,OAVD;AAWD,KAnFI;AAoFLqC,IAAAA,YAAY,EAAE,sBAAAvB,OAAO;AAAA,aACnBX,QAAQ,CAACU,aAAT,CAAuB,UAAAG,GAAG;AAAA,wDACrBA,GADqB;AAExBf,UAAAA,SAAS,EAAEoB,IAAI,CAACW,GAAL,CAAS,CAAC,CAAV,EAAaf,sBAAgB,CAACH,OAAD,EAAUE,GAAG,CAACf,SAAd,CAA7B;AAFa;AAAA,OAA1B,CADmB;AAAA,KApFhB;AA0FLqC,IAAAA,cAAc,EAAEC,UAAI,CAClB;AAAA,aAAM,CACJpC,QAAQ,CAACoB,QAAT,GAAoBzB,UAApB,CAA+BE,QAD3B,EAEJG,QAAQ,CAACoB,QAAT,GAAoBzB,UAApB,CAA+BG,SAF3B,CAAN;AAAA,KADkB,EAKlB,UAACD,QAAD,EAAWC,SAAX,EAAyB;AACvB,UAAIuC,WAAqB,GAAG,EAA5B;;AACA,UAAIvC,SAAS,GAAG,CAAhB,EAAmB;AACjBuC,QAAAA,WAAW,GAAG,UAAI,IAAIC,KAAJ,CAAUxC,SAAV,CAAJ,EAA0ByC,IAA1B,CAA+B,IAA/B,EAAqCC,GAArC,CAAyC,UAACC,CAAD,EAAIC,CAAJ;AAAA,iBAAUA,CAAV;AAAA,SAAzC,CAAd;AACD;;AACD,aAAOL,WAAP;AACD,KAXiB,EAYlB;AACEM,MAAAA,GAAG,EAAE,gBADP;AAEEC,MAAAA,KAAK,EAAE5C,QAAQ,CAACO,OAAT,CAAiBqC;AAF1B,KAZkB,CA1Ff;AA4GLC,IAAAA,kBAAkB,EAAE;AAAA,aAAM7C,QAAQ,CAACoB,QAAT,GAAoBzB,UAApB,CAA+BC,SAA/B,GAA2C,CAAjD;AAAA,KA5Gf;AA8GLkD,IAAAA,cAAc,EAAE,0BAAM;AACpB,kCAA2C9C,QAAQ,CAACoB,QAAT,GAAoBzB,UAA/D;AAAA,UAAQC,SAAR,yBAAQA,SAAR;AAAA,UAAmBE,SAAnB,yBAAmBA,SAAnB;AAAA,UAA8BD,QAA9B,yBAA8BA,QAA9B;;AAEA,UAAIC,SAAS,KAAK,CAAC,CAAnB,EAAsB;AACpB,eAAO,IAAP;AACD;;AAED,UAAIA,SAAS,KAAK,CAAlB,EAAqB;AACnB,eAAO,KAAP;AACD;;AAED,aACEF,SAAS,GACTsB,IAAI,CAACC,IAAL,CAAUnB,QAAQ,CAAC+C,oBAAT,GAAgC9B,MAAhC,GAAyCpB,QAAnD,IAA+D,CAFjE;AAID,KA7HI;AA+HLmD,IAAAA,gBAAgB,EAAE,4BAAM;AACtB,aAAOhD,QAAQ,CAACuB,YAAhB,oBAAOvB,QAAQ,CAACuB,YAAT,CAAwB,UAAAV,GAAG;AAAA,eAAIA,GAAG,GAAI,CAAX;AAAA,OAA3B,CAAP;AACD,KAjII;AAmILoC,IAAAA,YAAY,EAAE,wBAAM;AAClB,aAAOjD,QAAQ,CAACuB,YAAhB,oBAAOvB,QAAQ,CAACuB,YAAT,CAAwB,UAAAV,GAAG;AAAA,eAAIA,GAAG,GAAI,CAAX;AAAA,OAA3B,CAAP;AACD,KArII;AAuILqC,IAAAA,qBAAqB,EAAEd,UAAI,CACzB;AAAA,aAAM,CACJpC,QAAQ,CAACoB,QAAT,GAAoBzB,UADhB,EAEJK,QAAQ,CAACmD,mBAAT,EAFI,EAGJnD,QAAQ,CAACO,OAAT,CAAiBQ,cAHb,CAAN;AAAA,KADyB,EAMzB,UAACqC,WAAD,EAAcC,QAAd,EAAwBtC,cAAxB,EAA2C;AACzC,UAAI,CAACA,cAAD,IAAmB,CAACsC,QAAQ,CAACC,IAAT,CAAcrC,MAAtC,EAA8C;AAC5C,eAAOoC,QAAP;AACD;;AAED,UAAIE,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,IAAyCzD,QAAQ,CAACO,OAAT,CAAiBqC,KAA9D,EACEc,OAAO,CAACC,IAAR,CAAa,eAAb;AAEF,aAAO5C,cAAc,CAACf,QAAD,EAAWqD,QAAX,CAArB;AACD,KAfwB,EAgBzB;AACEV,MAAAA,GAAG,EAAE,uBADP;AAEEC,MAAAA,KAAK,EAAE5C,QAAQ,CAACO,OAAT,CAAiBqC;AAF1B,KAhByB,CAvItB;AA6JLG,IAAAA,oBAAoB,EAAE;AAAA,aAAM/C,QAAQ,CAACmD,mBAAT,GAA+BG,IAArC;AAAA,KA7JjB;AA8JLM,IAAAA,wBAAwB,EAAE;AAAA,aAAM5D,QAAQ,CAACmD,mBAAT,GAA+BU,QAArC;AAAA,KA9JrB;AA+JLC,IAAAA,wBAAwB,EAAE;AAAA,aAAM9D,QAAQ,CAACmD,mBAAT,GAA+BY,QAArC;AAAA,KA/JrB;AAgKLC,IAAAA,iBAAiB,EAAE;AAAA,aAAMhE,QAAQ,CAACkD,qBAAT,GAAiCI,IAAvC;AAAA,KAhKd;AAiKLW,IAAAA,qBAAqB,EAAE;AAAA,aAAMjE,QAAQ,CAACkD,qBAAT,GAAiCW,QAAvC;AAAA,KAjKlB;AAkKLK,IAAAA,qBAAqB,EAAE;AAAA,aAAMlE,QAAQ,CAACkD,qBAAT,GAAiCa,QAAvC;AAAA;AAlKlB,GAAP;AAoKD;;;;;;"}
|
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* react-table
|
|
3
|
-
*
|
|
4
|
-
* Copyright (c) TanStack
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
-
*
|
|
9
|
-
* @license MIT
|
|
10
|
-
*/
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
|
-
|
|
15
|
-
var utils = require('../utils.js');
|
|
16
|
-
|
|
17
|
-
//
|
|
18
|
-
function getInitialState() {
|
|
19
|
-
return {
|
|
20
|
-
columnPinning: {
|
|
21
|
-
left: [],
|
|
22
|
-
right: []
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
function getDefaultOptions(instance) {
|
|
27
|
-
return {
|
|
28
|
-
onColumnPinningChange: utils.makeStateUpdater('columnPinning', instance)
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
function createColumn(column, instance) {
|
|
32
|
-
return {
|
|
33
|
-
getCanPin: function getCanPin() {
|
|
34
|
-
return instance.getColumnCanPin(column.id);
|
|
35
|
-
},
|
|
36
|
-
getPinnedIndex: function getPinnedIndex() {
|
|
37
|
-
return instance.getColumnPinnedIndex(column.id);
|
|
38
|
-
},
|
|
39
|
-
getIsPinned: function getIsPinned() {
|
|
40
|
-
return instance.getColumnIsPinned(column.id);
|
|
41
|
-
},
|
|
42
|
-
pin: function pin(position) {
|
|
43
|
-
return instance.pinColumn(column.id, position);
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
function getInstance(instance) {
|
|
48
|
-
return {
|
|
49
|
-
setColumnPinning: function setColumnPinning(updater) {
|
|
50
|
-
return instance.options.onColumnPinningChange == null ? void 0 : instance.options.onColumnPinningChange(updater, utils.functionalUpdate(updater, instance.getState().columnPinning));
|
|
51
|
-
},
|
|
52
|
-
resetColumnPinning: function resetColumnPinning() {
|
|
53
|
-
var _instance$options$ini, _instance$options$ini2;
|
|
54
|
-
|
|
55
|
-
return instance.setColumnPinning((_instance$options$ini = (_instance$options$ini2 = instance.options.initialState) == null ? void 0 : _instance$options$ini2.columnPinning) != null ? _instance$options$ini : {});
|
|
56
|
-
},
|
|
57
|
-
pinColumn: function pinColumn(columnId, position) {
|
|
58
|
-
var column = instance.getColumn(columnId);
|
|
59
|
-
var columnIds = column == null ? void 0 : column.getLeafColumns().map(function (d) {
|
|
60
|
-
return d.id;
|
|
61
|
-
}).filter(Boolean);
|
|
62
|
-
instance.setColumnPinning(function (old) {
|
|
63
|
-
var _old$left3, _old$right3;
|
|
64
|
-
|
|
65
|
-
if (position === 'right') {
|
|
66
|
-
var _old$left, _old$right;
|
|
67
|
-
|
|
68
|
-
return {
|
|
69
|
-
left: ((_old$left = old == null ? void 0 : old.left) != null ? _old$left : []).filter(function (d) {
|
|
70
|
-
return !(columnIds != null && columnIds.includes(d));
|
|
71
|
-
}),
|
|
72
|
-
right: [].concat(((_old$right = old == null ? void 0 : old.right) != null ? _old$right : []).filter(function (d) {
|
|
73
|
-
return !(columnIds != null && columnIds.includes(d));
|
|
74
|
-
}), columnIds)
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
if (position === 'left') {
|
|
79
|
-
var _old$left2, _old$right2;
|
|
80
|
-
|
|
81
|
-
return {
|
|
82
|
-
left: [].concat(((_old$left2 = old == null ? void 0 : old.left) != null ? _old$left2 : []).filter(function (d) {
|
|
83
|
-
return !(columnIds != null && columnIds.includes(d));
|
|
84
|
-
}), columnIds),
|
|
85
|
-
right: ((_old$right2 = old == null ? void 0 : old.right) != null ? _old$right2 : []).filter(function (d) {
|
|
86
|
-
return !(columnIds != null && columnIds.includes(d));
|
|
87
|
-
})
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
return {
|
|
92
|
-
left: ((_old$left3 = old == null ? void 0 : old.left) != null ? _old$left3 : []).filter(function (d) {
|
|
93
|
-
return !(columnIds != null && columnIds.includes(d));
|
|
94
|
-
}),
|
|
95
|
-
right: ((_old$right3 = old == null ? void 0 : old.right) != null ? _old$right3 : []).filter(function (d) {
|
|
96
|
-
return !(columnIds != null && columnIds.includes(d));
|
|
97
|
-
})
|
|
98
|
-
};
|
|
99
|
-
});
|
|
100
|
-
},
|
|
101
|
-
getColumnCanPin: function getColumnCanPin(columnId) {
|
|
102
|
-
var column = instance.getColumn(columnId);
|
|
103
|
-
|
|
104
|
-
if (!column) {
|
|
105
|
-
throw new Error();
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
var leafColumns = column.getLeafColumns();
|
|
109
|
-
return leafColumns.some(function (d) {
|
|
110
|
-
var _ref, _ref2, _d$enablePinning;
|
|
111
|
-
|
|
112
|
-
return (_ref = (_ref2 = (_d$enablePinning = d.enablePinning) != null ? _d$enablePinning : instance.options.enablePinning) != null ? _ref2 : d.defaultCanPin) != null ? _ref : !!d.accessorFn;
|
|
113
|
-
});
|
|
114
|
-
},
|
|
115
|
-
getColumnIsPinned: function getColumnIsPinned(columnId) {
|
|
116
|
-
var column = instance.getColumn(columnId);
|
|
117
|
-
|
|
118
|
-
if (!column) {
|
|
119
|
-
throw new Error();
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
var leafColumnIds = column.getLeafColumns().map(function (d) {
|
|
123
|
-
return d.id;
|
|
124
|
-
});
|
|
125
|
-
var _instance$getState$co = instance.getState().columnPinning,
|
|
126
|
-
left = _instance$getState$co.left,
|
|
127
|
-
right = _instance$getState$co.right;
|
|
128
|
-
var isLeft = leafColumnIds.some(function (d) {
|
|
129
|
-
return left == null ? void 0 : left.includes(d);
|
|
130
|
-
});
|
|
131
|
-
var isRight = leafColumnIds.some(function (d) {
|
|
132
|
-
return right == null ? void 0 : right.includes(d);
|
|
133
|
-
});
|
|
134
|
-
return isLeft ? 'left' : isRight ? 'right' : false;
|
|
135
|
-
},
|
|
136
|
-
getColumnPinnedIndex: function getColumnPinnedIndex(columnId) {
|
|
137
|
-
var _instance$getState$co2, _instance$getState$co3, _instance$getState$co4;
|
|
138
|
-
|
|
139
|
-
var position = instance.getColumnIsPinned(columnId);
|
|
140
|
-
return position ? (_instance$getState$co2 = (_instance$getState$co3 = instance.getState().columnPinning) == null ? void 0 : (_instance$getState$co4 = _instance$getState$co3[position]) == null ? void 0 : _instance$getState$co4.indexOf(columnId)) != null ? _instance$getState$co2 : -1 : 0;
|
|
141
|
-
}
|
|
142
|
-
};
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
exports.createColumn = createColumn;
|
|
146
|
-
exports.getDefaultOptions = getDefaultOptions;
|
|
147
|
-
exports.getInitialState = getInitialState;
|
|
148
|
-
exports.getInstance = getInstance;
|
|
149
|
-
//# sourceMappingURL=Pinning.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Pinning.js","sources":["../../../src/features/Pinning.ts"],"sourcesContent":["import { OnChangeFn, Updater, ReactTable, Column } from '../types'\nimport { functionalUpdate, makeStateUpdater } from '../utils'\n\ntype 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 ColumnPinningInstance<\n _TData,\n _TValue,\n _TFilterFns,\n _TSortingFns,\n _TAggregationFns\n> = {\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}\n\n//\n\nexport function getInitialState(): ColumnPinningTableState {\n return {\n columnPinning: {\n left: [],\n right: [],\n },\n }\n}\n\nexport function getDefaultOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): ColumnPinningDefaultOptions {\n return {\n onColumnPinningChange: makeStateUpdater('columnPinning', instance),\n }\n}\n\nexport function createColumn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\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\nexport function getInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): ColumnPinningInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> {\n return {\n setColumnPinning: updater =>\n instance.options.onColumnPinningChange?.(\n updater,\n functionalUpdate(updater, instance.getState().columnPinning)\n ),\n\n resetColumnPinning: () =>\n instance.setColumnPinning(\n instance.options.initialState?.columnPinning ?? {}\n ),\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) ?? -1\n : 0\n },\n }\n}\n"],"names":["getInitialState","columnPinning","left","right","getDefaultOptions","instance","onColumnPinningChange","makeStateUpdater","createColumn","column","getCanPin","getColumnCanPin","id","getPinnedIndex","getColumnPinnedIndex","getIsPinned","getColumnIsPinned","pin","position","pinColumn","getInstance","setColumnPinning","updater","options","functionalUpdate","getState","resetColumnPinning","initialState","columnId","getColumn","columnIds","getLeafColumns","map","d","filter","Boolean","old","includes","Error","leafColumns","some","enablePinning","defaultCanPin","accessorFn","leafColumnIds","isLeft","isRight","indexOf"],"mappings":"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"}
|