@propellerads/table 2.1.0 → 4.3.0
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/CHANGELOG.md +21 -0
- package/dist/index.d.ts +16 -14
- package/dist/propsGetter.d.ts +9 -0
- package/dist/style.d.ts +20 -2
- package/dist/table.cjs.development.js +701 -128
- package/dist/table.cjs.development.js.map +1 -1
- package/dist/table.cjs.production.min.js +1 -1
- package/dist/table.cjs.production.min.js.map +1 -1
- package/dist/table.esm.js +704 -132
- package/dist/table.esm.js.map +1 -1
- package/dist/types.d.ts +104 -2
- package/dist/useLoadingState.d.ts +3 -2
- package/dist/useTableShadow.d.ts +2 -0
- package/package.json +15 -11
- package/src/index.tsx +462 -70
- package/src/propsGetter.tsx +86 -0
- package/src/style.tsx +164 -413
- package/src/types.tsx +151 -2
- package/src/useLoadingState.tsx +48 -46
- package/src/useTableShadow.tsx +69 -0
- package/src/index.d.ts +0 -5
|
@@ -6,11 +6,31 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
|
|
|
6
6
|
|
|
7
7
|
var React = require('react');
|
|
8
8
|
var React__default = _interopDefault(React);
|
|
9
|
-
var
|
|
9
|
+
var reactTable = require('react-table');
|
|
10
|
+
var icon = require('@propellerads/icon');
|
|
11
|
+
var Checkbox = _interopDefault(require('@propellerads/input-checkbox'));
|
|
10
12
|
var styled = require('styled-components');
|
|
11
13
|
var styled__default = _interopDefault(styled);
|
|
12
14
|
var stylevariables = require('@propellerads/stylevariables');
|
|
13
15
|
|
|
16
|
+
function _extends() {
|
|
17
|
+
_extends = Object.assign || function (target) {
|
|
18
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
19
|
+
var source = arguments[i];
|
|
20
|
+
|
|
21
|
+
for (var key in source) {
|
|
22
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
23
|
+
target[key] = source[key];
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return target;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
return _extends.apply(this, arguments);
|
|
32
|
+
}
|
|
33
|
+
|
|
14
34
|
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
15
35
|
if (source == null) return {};
|
|
16
36
|
var target = {};
|
|
@@ -35,56 +55,17 @@ function _taggedTemplateLiteralLoose(strings, raw) {
|
|
|
35
55
|
return strings;
|
|
36
56
|
}
|
|
37
57
|
|
|
38
|
-
function _templateObject3() {
|
|
39
|
-
var data = _taggedTemplateLiteralLoose(["\n\n.ReactTable {\n font-size: ", "px;\n position: relative;\n display: flex;\n flex-direction: column;\n border: 0;\n\n .pagination-bottom {\n padding: 24px 0;\n }\n\n &__header-cell_right {\n text-align: right !important;\n flex-direction: row !important;\n justify-content: flex-end !important;\n\n &:before {\n margin-left: 0 !important;\n margin-right: 4px !important;\n }\n }\n\n .rt-thead {\n flex: 1 0 auto;\n display: flex;\n flex-direction: column;\n user-select: none;\n }\n\n .rt-table {\n flex: auto 1;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n width: 100%;\n border-collapse: collapse;\n overflow: auto;\n }\n}\n\n.ReactTable .rt-thead.-filters input,\n.ReactTable .rt-thead.-filters select {\n border: 1px solid rgba(0, 0, 0, 0.1);\n background: ", ";\n padding: 2px 7px;\n margin: 4px 0;\n font-size: inherit;\n border-radius: 3px;\n font-weight: normal;\n outline: none;\n}\n\n.ReactTable .rt-thead .rt-th,\n.ReactTable .rt-thead .rt-td {\n padding: 0 4px;\n line-height: normal;\n position: relative;\n transition: box-shadow 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);\n color: ", ";\n font-weight: 500;\n outline: none;\n}\n\n.ReactTable .rt-thead .rt-th {\n display: flex;\n}\n\n.ReactTable .rt-thead .rt-th.-cursor-pointer,\n.ReactTable .rt-thead .rt-td.-cursor-pointer {\n cursor: pointer;\n transition: 220ms ease;\n display: flex;\n flex-direction: row-reverse;\n justify-content: flex-end;\n align-items: center;\n\n\n &:before {\n transition: 220ms ease;\n content: '';\n min-width: 12px;\n width: 12px;\n height: 12px;\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAAEEfUpiAAAABGdBTUEAALGPC/xhBQAAAlZJREFUWAntVklSwzAQtJ1ck/AYtpA78COKLEWoLHe+wx3C8hggOSehW7iNrMgb5gIVVblmNOrpGWuksYMgHv1+f0s1kkEyGg6HY00SSaNcEmO2YkMTnUoycX3dhZ28XAcD8KXlMhlHHzDF6PMql0OKxpkUMjQZNwzD3mw2e7SdB4PB23a7PQhpjEFdGBbz+TzE/B3mDnUDEIgSbEsA21zkPDXIxCdlzJuUcSh8y7wAXKtN0CQLU/VtJdeyBrcZPneGIIqi281m8wCioNFonE0mk0WWIzCmBNjpALUbp7aapw1EN3QGu6kbdbt2mlNypAi+TEFgE8lG6a2tDXD1wvPvOrjzv3EOah+k/0AQ13rpljBvjntwyBITE8VHtwVDKZLRaHSEe/BKZwaPrONZSILIx+v1+sVExgWcTqdjUwWbBKAPAtxBZ0R+pp23l85QvxuKSNgQXRKkfeJzJsHObdTmqLsSpGFHlm2HgAsiEYjS50y7l4ALNkmWM3G5gyQsVR4oM4M8J67ZGXKuIlCvMmpfxirBfNh9AvsdSHYAp/oaLaPnOyi/aUObYiu+EmfIe6q/idi4Qhu6dH8Z5SBZ9RqyjSPOPXrigTjYYCLTkqHICNkCiP9JSzh1LfuPVAYG1zs/A25wxk41Is9uMOgKP2wX7g9b0Q7En497+HdIouG21VQCAvkS4dcB6xcozRNxWQmUDaxY3gS0mJUI3uIcW2oSERa7dBrXuC0bpfvG9hr13AQE9iWitSxZFFh+pRIQuEwiZQOLs1ICcvIlUjWwuGpJJsKnDskn5F1o5Z7NGz4AAAAASUVORK5CYII=');\n background-size: contain;\n opacity: 0;\n margin-left: 4px;\n }\n}\n\n.ReactTable .rt-thead .rt-th.-sort-asc,\n.ReactTable .rt-thead .rt-td.-sort-asc {\n padding-left: 4px;\n\n &:before {\n transform: rotate(180deg);\n opacity: 1;\n }\n}\n\n.ReactTable .rt-thead .rt-th.-sort-desc,\n.ReactTable .rt-thead .rt-td.-sort-desc {\n padding-left: 4px;\n\n &:before {\n opacity: 1;\n }\n}\n\n.ReactTable .rt-thead .rt-th:last-child,\n.ReactTable .rt-thead .rt-td:last-child {\n border-right: 0;\n}\n\n.ReactTable .rt-thead .rt-resizable-header {\n overflow: visible;\n display: flex;\n align-items: center;\n}\n\n.ReactTable .rt-thead .rt-resizable-header:last-child {\n overflow: hidden;\n}\n\n.ReactTable .rt-thead .rt-resizable-header-content {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ReactTable .rt-thead .rt-header-pivot {\n border-right-color: #f7f7f7;\n}\n\n.ReactTable .rt-thead .rt-header-pivot:after,\n.ReactTable .rt-thead .rt-header-pivot:before {\n left: 100%;\n top: 50%;\n border: solid transparent;\n content: ' ';\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n\n.ReactTable .rt-thead .rt-header-pivot:after {\n border-color: rgba(255, 255, 255, 0);\n border-left-color: ", ";\n border-width: 8px;\n margin-top: -8px;\n}\n\n.ReactTable .rt-thead .rt-header-pivot:before {\n border-color: rgba(102, 102, 102, 0);\n border-left-color: #f7f7f7;\n border-width: 10px;\n margin-top: -10px;\n}\n\n.ReactTable .rt-tbody {\n flex: 99999 1 auto;\n display: flex;\n flex-direction: column;\n overflow: auto;\n border-top: 1px solid ", ";\n margin-top: ", "px;\n}\n\n.ReactTable .rt-tbody .rt-tr-group {\n box-shadow: inset 0 -1px 0 0 ", ";\n}\n\n.ReactTable .rt-tbody .rt-tr-group:hover {\n background-color: ", ";\n transition: 0.2s ease-in-out;\n}\n\n.ReactTable .rt-tbody .rt-td:last-child {\n border-right: 0;\n}\n\n.ReactTable .rt-tbody .rt-expandable {\n cursor: pointer;\n text-overflow: clip;\n}\n\n.ReactTable .rt-tr-group {\n flex: 1 0 auto;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n}\n\n.ReactTable .rt-tr {\n flex: 1 0 auto;\n display: inline-flex;\n padding: 0;\n align-items: center;\n}\n\n.ReactTable .rt-th,\n.ReactTable .rt-td {\n flex: 1 0 0;\n white-space: nowrap;\n text-overflow: ellipsis;\n padding: 7px 4px;\n overflow: hidden;\n transition: 0.3s ease;\n transition-property: width, min-width, padding, opacity;\n line-height: 1.3rem;\n}\n\n.ReactTable .rt-th.-hidden,\n.ReactTable .rt-td.-hidden {\n width: 0 !important;\n min-width: 0 !important;\n padding: 0 !important;\n border: 0 !important;\n opacity: 0 !important;\n}\n\n.ReactTable .rt-expander {\n display: inline-block;\n position: relative;\n color: transparent;\n margin: 0 10px;\n}\n\n.ReactTable .rt-expander:after {\n content: '';\n position: absolute;\n width: 0;\n height: 0;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%) rotate(-90deg);\n border-left: 5.04px solid transparent;\n border-right: 5.04px solid transparent;\n border-top: 7px solid rgba(0, 0, 0, 0.8);\n transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);\n cursor: pointer;\n}\n\n.ReactTable .rt-expander.-open:after {\n transform: translate(-50%, -50%) rotate(0);\n}\n\n.ReactTable .rt-resizer {\n display: inline-block;\n position: absolute;\n width: 36px;\n top: 0;\n bottom: 0;\n right: -18px;\n cursor: col-resize;\n z-index: 10;\n}\n\n.ReactTable .rt-tfoot {\n background: ", ";\n flex: 1 0 auto;\n display: flex;\n flex-direction: column;\n}\n\n.ReactTable .rt-tfoot .rt-td {\n}\n\n.ReactTable .rt-tfoot .rt-td:last-child {\n border-right: 0;\n}\n\n.ReactTable.-striped .rt-tr.-odd {\n background: rgba(0, 0, 0, 0.03);\n}\n\n.ReactTable.-highlight .rt-tbody .rt-tr:not(.-padRow):hover {\n background: rgba(0, 0, 0, 0.05);\n}\n\n.ReactTable .-pagination {\n z-index: 1;\n display: flex;\n justify-content: space-between;\n align-items: stretch;\n flex-wrap: wrap;\n padding: 3px;\n}\n\n.ReactTable .-pagination input,\n.ReactTable .-pagination select {\n border: 1px solid rgba(0, 0, 0, 0.1);\n background: ", ";\n padding: 5px 7px;\n font-size: inherit;\n border-radius: 3px;\n font-weight: normal;\n outline: none;\n}\n\n.ReactTable .-pagination .-btn {\n appearance: none;\n display: block;\n width: 100%;\n height: 100%;\n border: 0;\n border-radius: 3px;\n padding: 6px;\n font-size: 1em;\n color: rgba(0, 0, 0, 0.6);\n transition: all 0.1s ease;\n cursor: pointer;\n outline: none;\n background-color: white;\n color: #0080ff;\n box-shadow: inset 0 0 0 1px #0080ff;\n}\n\n.ReactTable .-pagination .-btn[disabled] {\n opacity: 0;\n cursor: default;\n}\n\n.ReactTable .-pagination .-btn:not([disabled]):hover {\n}\n\n.ReactTable .-pagination .-previous,\n.ReactTable .-pagination .-next {\n flex: 1;\n text-align: center;\n}\n\n.ReactTable .-pagination .-center {\n flex: 1.5;\n text-align: center;\n margin-bottom: 0;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-around;\n}\n\n.ReactTable .-pagination .-pageInfo {\n display: inline-block;\n margin: 3px 10px;\n white-space: nowrap;\n}\n\n.ReactTable .-pagination .-pageJump {\n display: inline-block;\n}\n\n.ReactTable .-pagination .-pageJump input {\n width: 70px;\n text-align: center;\n}\n\n.ReactTable .-pagination .-pageSizeOptions {\n margin: 3px 10px;\n}\n\n.ReactTable .rt-noData {\n display: flex;\n justify-content: center;\n background: transparent;\n transition: all 0.3s ease;\n z-index: 1;\n pointer-events: none;\n color: rgba(0, 0, 0, 0.5);\n}\n\n.ReactTable .-loading {\n display: block;\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n background: rgba(255, 255, 255, 0.8);\n transition: all 0.3s ease;\n z-index: -1;\n opacity: 0;\n pointer-events: none;\n}\n\n.ReactTable .-loading > div {\n position: absolute;\n display: block;\n text-align: center;\n width: 100%;\n top: 50%;\n left: 0;\n font-size: 15px;\n color: rgba(0, 0, 0, 0.6);\n transform: translateY(-52%);\n transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);\n}\n\n.ReactTable .-loading.-active {\n opacity: 1;\n z-index: 2;\n pointer-events: all;\n}\n\n.ReactTable .-loading.-active > div {\n transform: translateY(50%);\n}\n\n.ReactTable .rt-resizing .rt-th,\n.ReactTable .rt-resizing .rt-td {\n transition: none !important;\n cursor: col-resize;\n user-select: none;\n}\n"]);
|
|
40
|
-
|
|
41
|
-
_templateObject3 = function _templateObject3() {
|
|
42
|
-
return data;
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
return data;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
function _templateObject2() {
|
|
49
|
-
var data = _taggedTemplateLiteralLoose(["\n width: 100%;\n height: ", "px;\n background: linear-gradient(to left, ", ", ", ", ", ");\n background-size: 200% 200%;\n animation: ", " 1.6s linear infinite;\n"]);
|
|
50
|
-
|
|
51
|
-
_templateObject2 = function _templateObject2() {
|
|
52
|
-
return data;
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
return data;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
function _templateObject() {
|
|
59
|
-
var data = _taggedTemplateLiteralLoose(["\n from {\n background-position-x: 0;\n }\n 50% {\n background-position-x: 100%;\n }\n 100% {\n background-position-x: 0;\n }\n"]);
|
|
60
|
-
|
|
61
|
-
_templateObject = function _templateObject() {
|
|
62
|
-
return data;
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
return data;
|
|
66
|
-
}
|
|
67
|
-
var loadingAnimation = /*#__PURE__*/styled.keyframes( /*#__PURE__*/_templateObject());
|
|
68
|
-
var EmptyStateCell = /*#__PURE__*/styled__default.div( /*#__PURE__*/_templateObject2(), stylevariables.spacing * 4, stylevariables.gray95, stylevariables.white, stylevariables.gray95, loadingAnimation);
|
|
69
|
-
var CommonStyles = /*#__PURE__*/styled.createGlobalStyle( /*#__PURE__*/_templateObject3(), stylevariables.fontNormal, stylevariables.white, stylevariables.black, stylevariables.white, stylevariables.gray80, stylevariables.spacing * 2, stylevariables.gray95, stylevariables.semiWhite, stylevariables.gray95, stylevariables.white);
|
|
70
|
-
|
|
71
58
|
var useLoadingState = function useLoadingState(showLoadingState, loading, pageSize, columns, LoadingCellComponent) {
|
|
72
|
-
if (LoadingCellComponent === void 0) {
|
|
73
|
-
LoadingCellComponent = function LoadingCellComponent(props) {
|
|
74
|
-
return React__default.createElement(EmptyStateCell, Object.assign({}, props));
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
|
|
78
59
|
var loadingColumns = React.useMemo(function () {
|
|
79
60
|
return showLoadingState && loading ? columns.map(function (_ref, key) {
|
|
80
61
|
var maxWidth = _ref.maxWidth,
|
|
81
62
|
width = _ref.width,
|
|
82
63
|
Header = _ref.Header;
|
|
83
64
|
var column = {
|
|
84
|
-
Cell:
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
65
|
+
Cell: function Cell() {
|
|
66
|
+
return React__default.createElement(LoadingCellComponent, null);
|
|
67
|
+
},
|
|
68
|
+
accessor: "empty_" + key
|
|
88
69
|
};
|
|
89
70
|
|
|
90
71
|
if (maxWidth) {
|
|
@@ -92,7 +73,7 @@ var useLoadingState = function useLoadingState(showLoadingState, loading, pageSi
|
|
|
92
73
|
}
|
|
93
74
|
|
|
94
75
|
if (width) {
|
|
95
|
-
column.
|
|
76
|
+
column.width = width;
|
|
96
77
|
}
|
|
97
78
|
|
|
98
79
|
if (Header) {
|
|
@@ -101,17 +82,17 @@ var useLoadingState = function useLoadingState(showLoadingState, loading, pageSi
|
|
|
101
82
|
|
|
102
83
|
return column;
|
|
103
84
|
}) : [];
|
|
104
|
-
}, [
|
|
85
|
+
}, [columns, loading, showLoadingState]);
|
|
105
86
|
var loadingData = React.useMemo(function () {
|
|
106
87
|
if (showLoadingState && loading && columns && columns.length > 0) {
|
|
107
88
|
var dataObject = {};
|
|
108
89
|
var dataArray = [];
|
|
109
90
|
|
|
110
|
-
for (var i = 0; i < columns.length; i
|
|
91
|
+
for (var i = 0; i < columns.length; i += 1) {
|
|
111
92
|
dataObject["empty_" + i] = '';
|
|
112
93
|
}
|
|
113
94
|
|
|
114
|
-
for (var _i = 0; _i < pageSize; _i
|
|
95
|
+
for (var _i = 0; _i < pageSize; _i += 1) {
|
|
115
96
|
dataArray.push(dataObject);
|
|
116
97
|
}
|
|
117
98
|
|
|
@@ -126,92 +107,684 @@ var useLoadingState = function useLoadingState(showLoadingState, loading, pageSi
|
|
|
126
107
|
};
|
|
127
108
|
};
|
|
128
109
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
110
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
111
|
+
var TABLE_SHADOW_CLASS_NAME = {
|
|
112
|
+
LEFT: 'shadow_left',
|
|
113
|
+
RIGHT: 'shadow_right'
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
function changeClassName(tableWrapperNode, newClassNameList) {
|
|
117
|
+
var classList = tableWrapperNode.classList;
|
|
118
|
+
classList.remove(TABLE_SHADOW_CLASS_NAME.LEFT, TABLE_SHADOW_CLASS_NAME.RIGHT);
|
|
119
|
+
classList.add.apply(classList, newClassNameList);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
function calculateNewClassNames(tableNode, tableWrapperNode) {
|
|
123
|
+
if (!tableNode || !tableWrapperNode) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
var tableRect = tableNode.getBoundingClientRect();
|
|
128
|
+
var tableWrapperRect = tableWrapperNode.getBoundingClientRect();
|
|
129
|
+
var newClassName = [];
|
|
130
|
+
var tableRectLeft = Math.floor(tableRect.left);
|
|
131
|
+
var tableRectRight = Math.floor(tableRect.right);
|
|
132
|
+
var tableWrapperRectLeft = Math.floor(tableWrapperRect.left);
|
|
133
|
+
var tableWrapperRectRight = Math.floor(tableWrapperRect.right);
|
|
134
|
+
|
|
135
|
+
if (tableRectLeft < tableWrapperRectLeft) {
|
|
136
|
+
newClassName.push(TABLE_SHADOW_CLASS_NAME.LEFT);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
if (tableRectRight > tableWrapperRectRight) {
|
|
140
|
+
newClassName.push(TABLE_SHADOW_CLASS_NAME.RIGHT);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
changeClassName(tableWrapperNode, newClassName);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
var useTableShadow = (function (tableRef, tableWrapperRef) {
|
|
147
|
+
React.useEffect(function () {
|
|
148
|
+
var _tableRef$current;
|
|
149
|
+
|
|
150
|
+
var ticking = false;
|
|
151
|
+
|
|
152
|
+
function onMousewheel() {
|
|
153
|
+
if (ticking) {
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
window.requestAnimationFrame(function () {
|
|
158
|
+
calculateNewClassNames(tableRef.current, tableWrapperRef.current);
|
|
159
|
+
ticking = false;
|
|
160
|
+
});
|
|
161
|
+
ticking = true;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
calculateNewClassNames(tableRef.current, tableWrapperRef.current);
|
|
165
|
+
tableRef === null || tableRef === void 0 ? void 0 : (_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 ? void 0 : _tableRef$current.addEventListener('mousewheel', onMousewheel);
|
|
166
|
+
window.addEventListener('resize', onMousewheel);
|
|
167
|
+
return function () {
|
|
168
|
+
var _tableRef$current2;
|
|
169
|
+
|
|
170
|
+
tableRef === null || tableRef === void 0 ? void 0 : (_tableRef$current2 = tableRef.current) === null || _tableRef$current2 === void 0 ? void 0 : _tableRef$current2.removeEventListener('mousewheel', onMousewheel);
|
|
171
|
+
window.removeEventListener('resize', onMousewheel);
|
|
172
|
+
};
|
|
173
|
+
}, [tableRef.current, tableWrapperRef.current]);
|
|
174
|
+
});
|
|
175
|
+
|
|
176
|
+
var FOOTER_PLACEMENT;
|
|
177
|
+
|
|
178
|
+
(function (FOOTER_PLACEMENT) {
|
|
179
|
+
FOOTER_PLACEMENT["TOP"] = "top";
|
|
180
|
+
FOOTER_PLACEMENT["BOTTOM"] = "bottom";
|
|
181
|
+
})(FOOTER_PLACEMENT || (FOOTER_PLACEMENT = {}));
|
|
182
|
+
|
|
183
|
+
var defaultGetter = function defaultGetter(props) {
|
|
184
|
+
return props;
|
|
185
|
+
};
|
|
186
|
+
var cellGetter = function cellGetter(props, _ref) {
|
|
187
|
+
var _cell$column;
|
|
188
|
+
|
|
189
|
+
var cell = _ref.cell;
|
|
190
|
+
return _extends({}, props, {
|
|
191
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
192
|
+
// @ts-ignore
|
|
193
|
+
align: cell === null || cell === void 0 ? void 0 : (_cell$column = cell.column) === null || _cell$column === void 0 ? void 0 : _cell$column.align
|
|
194
|
+
});
|
|
195
|
+
};
|
|
196
|
+
var mainCellGetter = function mainCellGetter(props, _ref2) {
|
|
197
|
+
var column = _ref2.column;
|
|
198
|
+
return _extends({}, props, {
|
|
199
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
200
|
+
// @ts-ignore
|
|
201
|
+
align: column === null || column === void 0 ? void 0 : column.align
|
|
202
|
+
});
|
|
203
|
+
};
|
|
204
|
+
var getTableProps = function getTableProps(userGetter, getter) {
|
|
205
|
+
if (getter === void 0) {
|
|
206
|
+
getter = defaultGetter;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
if (userGetter) {
|
|
210
|
+
return function (props) {
|
|
211
|
+
return _extends({}, getter(props), userGetter(props));
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
return getter;
|
|
216
|
+
};
|
|
217
|
+
var getTableElementProps = function getTableElementProps(userGetter, getter) {
|
|
218
|
+
if (getter === void 0) {
|
|
219
|
+
getter = defaultGetter;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
if (userGetter) {
|
|
223
|
+
return function (props, meta) {
|
|
224
|
+
return _extends({}, getter(props, meta), userGetter(props, meta));
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
return getter;
|
|
229
|
+
};
|
|
230
|
+
var getTableRowProps = function getTableRowProps(userGetter, getter) {
|
|
231
|
+
if (getter === void 0) {
|
|
232
|
+
getter = defaultGetter;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
if (userGetter) {
|
|
236
|
+
return function (props, meta) {
|
|
237
|
+
return _extends({}, getter(props, meta), userGetter(props, meta));
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
return getter;
|
|
242
|
+
};
|
|
243
|
+
var getTableCellProps = function getTableCellProps(userGetter, getter) {
|
|
244
|
+
if (getter === void 0) {
|
|
245
|
+
getter = defaultGetter;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
if (userGetter) {
|
|
249
|
+
return function (props, meta) {
|
|
250
|
+
return _extends({}, getter(props, meta), userGetter(props, meta));
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
return getter;
|
|
255
|
+
};
|
|
256
|
+
var getTableElementInternalProps = function getTableElementInternalProps(internalProps, userGetter, getter) {
|
|
257
|
+
if (getter === void 0) {
|
|
258
|
+
getter = defaultGetter;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
if (userGetter) {
|
|
262
|
+
return function (props, meta) {
|
|
263
|
+
return _extends({}, getter(_extends({}, props, internalProps), meta), userGetter(props, meta));
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
return function (props, meta) {
|
|
268
|
+
return getter(_extends({}, props, internalProps), meta);
|
|
269
|
+
};
|
|
270
|
+
};
|
|
271
|
+
|
|
272
|
+
function _templateObject18() {
|
|
273
|
+
var data = _taggedTemplateLiteralLoose(["\n background: ", ";\n flex: 1 0 auto;\n display: flex;\n flex-direction: column;\n"]);
|
|
274
|
+
|
|
275
|
+
_templateObject18 = function _templateObject18() {
|
|
276
|
+
return data;
|
|
277
|
+
};
|
|
278
|
+
|
|
279
|
+
return data;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
function _templateObject17() {
|
|
283
|
+
var data = _taggedTemplateLiteralLoose(["\n border-top: 1px solid ", ";\n margin-top: ", "px;\n min-width: 100%;\n width: max-content;\n"]);
|
|
284
|
+
|
|
285
|
+
_templateObject17 = function _templateObject17() {
|
|
286
|
+
return data;
|
|
287
|
+
};
|
|
288
|
+
|
|
289
|
+
return data;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
function _templateObject16() {
|
|
293
|
+
var data = _taggedTemplateLiteralLoose(["\n padding: 0;\n -webkit-box-align: center;\n align-items: center;\n"]);
|
|
294
|
+
|
|
295
|
+
_templateObject16 = function _templateObject16() {
|
|
296
|
+
return data;
|
|
297
|
+
};
|
|
298
|
+
|
|
299
|
+
return data;
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
function _templateObject15() {
|
|
303
|
+
var data = _taggedTemplateLiteralLoose(["\n display: flex;\n flex: 1 0 auto;\n box-shadow: inset 0 -1px 0 0 ", ";\n min-width: 100%;\n width: max-content;\n"]);
|
|
304
|
+
|
|
305
|
+
_templateObject15 = function _templateObject15() {
|
|
306
|
+
return data;
|
|
307
|
+
};
|
|
308
|
+
|
|
309
|
+
return data;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
function _templateObject14() {
|
|
313
|
+
var data = _taggedTemplateLiteralLoose(["\n flex: 1 0 auto;\n display: flex;\n flex-direction: column;\n user-select: none;\n \n ", ", ", " {\n padding: 0 4px;\n line-height: normal;\n position: relative;\n transition: box-shadow 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);\n color: ", ";\n font-weight: 500;\n outline: none;\n }\n"]);
|
|
314
|
+
|
|
315
|
+
_templateObject14 = function _templateObject14() {
|
|
316
|
+
return data;
|
|
317
|
+
};
|
|
318
|
+
|
|
319
|
+
return data;
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
function _templateObject13() {
|
|
323
|
+
var data = _taggedTemplateLiteralLoose(["\n padding: 0 4px;\n line-height: normal;\n position: relative;\n transition: box-shadow 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s;\n color: rgb(0, 0, 0);\n font-weight: 500;\n outline: none;\n"]);
|
|
324
|
+
|
|
325
|
+
_templateObject13 = function _templateObject13() {
|
|
326
|
+
return data;
|
|
327
|
+
};
|
|
328
|
+
|
|
329
|
+
return data;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
function _templateObject12() {
|
|
333
|
+
var data = _taggedTemplateLiteralLoose(["\n width: 100%;\n height: ", "px;\n background: linear-gradient(to left, ", ", ", ", ", ");\n background-size: 200% 200%;\n animation: ", " 1.6s linear infinite;\n"]);
|
|
334
|
+
|
|
335
|
+
_templateObject12 = function _templateObject12() {
|
|
336
|
+
return data;
|
|
337
|
+
};
|
|
338
|
+
|
|
339
|
+
return data;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
function _templateObject11() {
|
|
343
|
+
var data = _taggedTemplateLiteralLoose(["\n text-align: ", ""]);
|
|
344
|
+
|
|
345
|
+
_templateObject11 = function _templateObject11() {
|
|
346
|
+
return data;
|
|
347
|
+
};
|
|
348
|
+
|
|
349
|
+
return data;
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
function _templateObject10() {
|
|
353
|
+
var data = _taggedTemplateLiteralLoose(["\n white-space: nowrap;\n text-overflow: ellipsis;\n line-height: 1.3rem;\n padding: 7px 4px;\n overflow: hidden;\n transition: width 0.3s ease 0s, min-width, padding, opacity;\n \n ", "\n"]);
|
|
354
|
+
|
|
355
|
+
_templateObject10 = function _templateObject10() {
|
|
356
|
+
return data;
|
|
357
|
+
};
|
|
358
|
+
|
|
359
|
+
return data;
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
function _templateObject9() {
|
|
363
|
+
var data = _taggedTemplateLiteralLoose(["\n display: inline-flex;\n"]);
|
|
364
|
+
|
|
365
|
+
_templateObject9 = function _templateObject9() {
|
|
366
|
+
return data;
|
|
367
|
+
};
|
|
368
|
+
|
|
369
|
+
return data;
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
function _templateObject8() {
|
|
373
|
+
var data = _taggedTemplateLiteralLoose(["\n flex: auto 1;\n display: flex;\n flex-direction: column;\n align-items: stretch; \n border-collapse: collapse;\n"]);
|
|
374
|
+
|
|
375
|
+
_templateObject8 = function _templateObject8() {
|
|
376
|
+
return data;
|
|
377
|
+
};
|
|
378
|
+
|
|
379
|
+
return data;
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
function _templateObject7() {
|
|
383
|
+
var data = _taggedTemplateLiteralLoose(["\n display: block;\n max-width: 100%;\n overflow-x: scroll;\n overflow-y: hidden;\n"]);
|
|
384
|
+
|
|
385
|
+
_templateObject7 = function _templateObject7() {
|
|
386
|
+
return data;
|
|
387
|
+
};
|
|
388
|
+
|
|
389
|
+
return data;
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
function _templateObject6() {
|
|
393
|
+
var data = _taggedTemplateLiteralLoose(["\n font-size: ", "px;\n position: relative;\n display: flex;\n flex-direction: column;\n border: 0;\n"]);
|
|
394
|
+
|
|
395
|
+
_templateObject6 = function _templateObject6() {
|
|
396
|
+
return data;
|
|
397
|
+
};
|
|
398
|
+
|
|
399
|
+
return data;
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
function _templateObject5() {
|
|
403
|
+
var data = _taggedTemplateLiteralLoose(["\n position: relative;\n overflow: hidden;\n \n &::before {\n bottom: 10px;\n content: '';\n opacity: 0;\n pointer-events: none;\n position: absolute;\n width: 10px;\n height: 100%;\n top: 0;\n left: -10px;\n box-shadow: 0 3px 6px 0 rgba(0,0,0,0.2);\n transition: 0.3s opacity;\n }\n\n &::after {\n bottom: 10px;\n content: '';\n opacity: 0;\n pointer-events: none;\n width: 10px;\n height: 100%;\n position: absolute;\n top: 0;\n right: -10px;\n box-shadow: 0 3px 6px 0 rgba(0,0,0,0.2);\n transition: 0.3s opacity;\n }\n \n &.shadow_left {\n &::before {\n opacity: 1 !important;\n }\n }\n \n &.shadow_right {\n &::after {\n opacity: 1 !important;\n }\n }\n"]);
|
|
404
|
+
|
|
405
|
+
_templateObject5 = function _templateObject5() {
|
|
406
|
+
return data;
|
|
407
|
+
};
|
|
408
|
+
|
|
409
|
+
return data;
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
function _templateObject4() {
|
|
413
|
+
var data = _taggedTemplateLiteralLoose(["\n position: absolute;\n display: block;\n text-align: center;\n width: 100%;\n top: 50%;\n left: 0;\n color: rgba(0, 0, 0, 0.6);\n transform: translateY(-52%);\n transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);\n"]);
|
|
414
|
+
|
|
415
|
+
_templateObject4 = function _templateObject4() {
|
|
416
|
+
return data;
|
|
417
|
+
};
|
|
418
|
+
|
|
419
|
+
return data;
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
function _templateObject3() {
|
|
423
|
+
var data = _taggedTemplateLiteralLoose(["\n opacity: 1;\n z-index: 2;\n pointer-events: all;\n "]);
|
|
424
|
+
|
|
425
|
+
_templateObject3 = function _templateObject3() {
|
|
426
|
+
return data;
|
|
427
|
+
};
|
|
428
|
+
|
|
429
|
+
return data;
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
function _templateObject2() {
|
|
433
|
+
var data = _taggedTemplateLiteralLoose(["\n display: block;\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n background: rgba(255, 255, 255, 0.8);\n transition: all 0.3s ease;\n z-index: -1;\n opacity: 0;\n pointer-events: none;\n \n ", "\n"]);
|
|
434
|
+
|
|
435
|
+
_templateObject2 = function _templateObject2() {
|
|
436
|
+
return data;
|
|
437
|
+
};
|
|
438
|
+
|
|
439
|
+
return data;
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
function _templateObject() {
|
|
443
|
+
var data = _taggedTemplateLiteralLoose(["\n from {\n background-position-x: 0;\n }\n 50% {\n background-position-x: 100%;\n }\n 100% {\n background-position-x: 0;\n }\n"]);
|
|
444
|
+
|
|
445
|
+
_templateObject = function _templateObject() {
|
|
446
|
+
return data;
|
|
447
|
+
};
|
|
448
|
+
|
|
449
|
+
return data;
|
|
450
|
+
}
|
|
451
|
+
var loadingAnimation = /*#__PURE__*/styled.keyframes( /*#__PURE__*/_templateObject());
|
|
452
|
+
var TableLoading = /*#__PURE__*/styled__default.div( /*#__PURE__*/_templateObject2(), function (props) {
|
|
453
|
+
return props.isLoading && styled.css(_templateObject3());
|
|
454
|
+
});
|
|
455
|
+
var TableLoadingInner = /*#__PURE__*/styled__default.div( /*#__PURE__*/_templateObject4());
|
|
456
|
+
var TableWrapper = /*#__PURE__*/styled__default.div( /*#__PURE__*/_templateObject5());
|
|
457
|
+
var TableRoot = /*#__PURE__*/styled__default.div( /*#__PURE__*/_templateObject6(), stylevariables.fontNormal);
|
|
458
|
+
var TableContent = /*#__PURE__*/styled__default.div( /*#__PURE__*/_templateObject7());
|
|
459
|
+
var TableCore = /*#__PURE__*/styled__default.div( /*#__PURE__*/_templateObject8());
|
|
460
|
+
var HeadCell = /*#__PURE__*/styled__default.div( /*#__PURE__*/_templateObject9());
|
|
461
|
+
var TD = /*#__PURE__*/styled__default.div( /*#__PURE__*/_templateObject10(), function (_ref) {
|
|
462
|
+
var align = _ref.align;
|
|
463
|
+
return align && styled.css(_templateObject11(), align);
|
|
464
|
+
});
|
|
465
|
+
var EmptyStateCell = /*#__PURE__*/styled__default.div( /*#__PURE__*/_templateObject12(), stylevariables.spacing * 4, stylevariables.gray95, stylevariables.white, stylevariables.gray95, loadingAnimation);
|
|
466
|
+
var TH = /*#__PURE__*/styled__default.div( /*#__PURE__*/_templateObject13());
|
|
467
|
+
var THead = /*#__PURE__*/styled__default.div( /*#__PURE__*/_templateObject14(), TH, TD, stylevariables.black);
|
|
468
|
+
var TRGroup = /*#__PURE__*/styled__default.div( /*#__PURE__*/_templateObject15(), stylevariables.gray95);
|
|
469
|
+
var TR = /*#__PURE__*/styled__default.div( /*#__PURE__*/_templateObject16());
|
|
470
|
+
var TBody = /*#__PURE__*/styled__default.div( /*#__PURE__*/_templateObject17(), stylevariables.gray80, stylevariables.spacing * 2);
|
|
471
|
+
var TFoot = /*#__PURE__*/styled__default.div( /*#__PURE__*/_templateObject18(), stylevariables.gray95);
|
|
472
|
+
|
|
473
|
+
var defaultProps = {
|
|
474
|
+
hasDefaultPagination: false,
|
|
475
|
+
isLoading: false,
|
|
476
|
+
footerPlacement: [],
|
|
477
|
+
loadingMessage: 'loading...',
|
|
478
|
+
labelPerPage: 'Show rows',
|
|
479
|
+
parentElementId: 'parent-element',
|
|
480
|
+
tableContentId: '',
|
|
481
|
+
showLoadingState: false,
|
|
482
|
+
LoadingCellComponent: EmptyStateCell,
|
|
483
|
+
getRowPreProps: function getRowPreProps() {
|
|
484
|
+
return {};
|
|
485
|
+
},
|
|
486
|
+
noDataMessage: ''
|
|
487
|
+
};
|
|
488
|
+
var disableSortRemove = true;
|
|
489
|
+
var disableMultiSort = true;
|
|
490
|
+
var disabledMultiRemove = true;
|
|
491
|
+
var DEFAULT_PAGE_INDEX = 0;
|
|
492
|
+
var DEFAULT_PAGE_SIZE = 10;
|
|
493
|
+
|
|
494
|
+
function isFunction(reference) {
|
|
495
|
+
return typeof reference === 'function';
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
function getHeadContent(column) {
|
|
499
|
+
if (column.isSorted && column.isSortedDesc) {
|
|
500
|
+
return React__default.createElement(HeadCell, null, column.render('Header'), React__default.createElement(icon.ArrowDownFull, {
|
|
501
|
+
size: icon.SIZE.SMALL,
|
|
502
|
+
color: icon.COLOR.GRAY_DARK
|
|
503
|
+
}));
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
if (column.isSorted && !column.isSortedDesc) {
|
|
507
|
+
return React__default.createElement(HeadCell, null, column.render('Header'), React__default.createElement(icon.ArrowUp, {
|
|
508
|
+
size: icon.SIZE.SMALL,
|
|
509
|
+
color: icon.COLOR.GRAY_DARK
|
|
510
|
+
}));
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
return column.render('Header');
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
var Table = function Table(props) {
|
|
517
|
+
var _controlledPagination;
|
|
518
|
+
|
|
519
|
+
var columns = props.columns,
|
|
520
|
+
data = props.data,
|
|
521
|
+
totalItems = props.totalItems,
|
|
522
|
+
fetchData = props.fetchData,
|
|
523
|
+
controlledPagination = props.controlledPagination,
|
|
524
|
+
initialState = props.initialState,
|
|
525
|
+
isLoading = props.isLoading,
|
|
526
|
+
loadingMessage = props.loadingMessage,
|
|
527
|
+
labelPerPage = props.labelPerPage,
|
|
528
|
+
footerPlacement = props.footerPlacement,
|
|
529
|
+
onSortedChange = props.onSortedChange,
|
|
530
|
+
hasDefaultPagination = props.hasDefaultPagination,
|
|
531
|
+
onSelectRowsChange = props.onSelectRowsChange,
|
|
532
|
+
parentElementId = props.parentElementId,
|
|
533
|
+
tableContentId = props.tableContentId,
|
|
534
|
+
LoadingCellComponent = props.LoadingCellComponent,
|
|
535
|
+
PaginationComponent = props.PaginationComponent,
|
|
536
|
+
getRowPreProps = props.getRowPreProps,
|
|
537
|
+
getTableProps$1 = props.getTableProps,
|
|
538
|
+
getHeaderGroupProps = props.getHeaderGroupProps,
|
|
539
|
+
getHeaderProps = props.getHeaderProps,
|
|
540
|
+
getRowProps = props.getRowProps,
|
|
541
|
+
getCellProps = props.getCellProps,
|
|
542
|
+
getFooterProps = props.getFooterProps,
|
|
543
|
+
getFooterGroupProps = props.getFooterGroupProps,
|
|
544
|
+
showLoadingState = props.showLoadingState,
|
|
545
|
+
noDataMessage = props.noDataMessage;
|
|
546
|
+
var memoColumns = React.useMemo(function () {
|
|
547
|
+
return columns;
|
|
548
|
+
}, [columns]);
|
|
549
|
+
|
|
550
|
+
var _useLoadingState = useLoadingState(showLoadingState, isLoading, (_controlledPagination = controlledPagination === null || controlledPagination === void 0 ? void 0 : controlledPagination.pageSize) !== null && _controlledPagination !== void 0 ? _controlledPagination : DEFAULT_PAGE_SIZE, memoColumns, LoadingCellComponent),
|
|
177
551
|
loadingColumns = _useLoadingState.loadingColumns,
|
|
178
552
|
loadingData = _useLoadingState.loadingData;
|
|
179
553
|
|
|
180
|
-
var showLoading = showLoadingState &&
|
|
181
|
-
|
|
554
|
+
var showLoading = showLoadingState && isLoading;
|
|
555
|
+
var hasSelectedRowsAbility = onSelectRowsChange && isFunction(onSelectRowsChange);
|
|
556
|
+
var hasManualSortBy = onSortedChange && isFunction(onSortedChange);
|
|
557
|
+
var hasControlledPagination = fetchData && controlledPagination && Object.keys(controlledPagination).length > 0;
|
|
558
|
+
var options = {
|
|
559
|
+
columns: showLoading ? loadingColumns : memoColumns,
|
|
182
560
|
data: showLoading ? loadingData : data,
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
561
|
+
initialState: initialState,
|
|
562
|
+
disableSortRemove: disableSortRemove,
|
|
563
|
+
disableMultiSort: disableMultiSort,
|
|
564
|
+
disabledMultiRemove: disabledMultiRemove
|
|
565
|
+
};
|
|
566
|
+
|
|
567
|
+
if (hasManualSortBy) {
|
|
568
|
+
options.manualSortBy = true;
|
|
569
|
+
}
|
|
570
|
+
|
|
571
|
+
if (hasControlledPagination) {
|
|
572
|
+
var _controlledPagination2, _controlledPagination3;
|
|
573
|
+
|
|
574
|
+
if (typeof (controlledPagination === null || controlledPagination === void 0 ? void 0 : controlledPagination.pageCount) === 'undefined') {
|
|
575
|
+
throw new Error('You have to pass pageCount in controlledPagination data');
|
|
576
|
+
}
|
|
577
|
+
|
|
578
|
+
options.initialState = _extends({}, options.initialState, {
|
|
579
|
+
pageIndex: (_controlledPagination2 = controlledPagination.pageIndex) !== null && _controlledPagination2 !== void 0 ? _controlledPagination2 : DEFAULT_PAGE_INDEX,
|
|
580
|
+
pageSize: (_controlledPagination3 = controlledPagination.pageSize) !== null && _controlledPagination3 !== void 0 ? _controlledPagination3 : DEFAULT_PAGE_SIZE
|
|
581
|
+
});
|
|
582
|
+
options.autoResetPage = true;
|
|
583
|
+
options.manualPagination = true;
|
|
584
|
+
options.pageCount = controlledPagination.pageCount;
|
|
585
|
+
}
|
|
207
586
|
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
587
|
+
var useSelect = function useSelect(hooks) {
|
|
588
|
+
if (!hasSelectedRowsAbility) {
|
|
589
|
+
return;
|
|
590
|
+
}
|
|
591
|
+
|
|
592
|
+
var newColumn = {
|
|
593
|
+
id: 'selection',
|
|
594
|
+
disableSortBy: true,
|
|
595
|
+
Header: function Header(instance) {
|
|
596
|
+
var getToggleAllRowsSelectedProps = instance.getToggleAllRowsSelectedProps,
|
|
597
|
+
toggleAllRowsSelected = instance.toggleAllRowsSelected;
|
|
598
|
+
return React__default.createElement(Checkbox, {
|
|
599
|
+
elementId: "all",
|
|
600
|
+
onChange: toggleAllRowsSelected,
|
|
601
|
+
isChecked: getToggleAllRowsSelectedProps().checked
|
|
602
|
+
});
|
|
603
|
+
},
|
|
604
|
+
Cell: function Cell(_ref) {
|
|
605
|
+
var row = _ref.row;
|
|
606
|
+
var id = row.id,
|
|
607
|
+
original = row.original,
|
|
608
|
+
toggleRowSelected = row.toggleRowSelected,
|
|
609
|
+
getToggleRowSelectedProps = row.getToggleRowSelectedProps;
|
|
610
|
+
var elementId = Number.isInteger(original.id) ? original.id : id;
|
|
611
|
+
return React__default.createElement(Checkbox, {
|
|
612
|
+
elementId: elementId,
|
|
613
|
+
onChange: toggleRowSelected,
|
|
614
|
+
isChecked: getToggleRowSelectedProps().checked
|
|
615
|
+
});
|
|
616
|
+
}
|
|
617
|
+
};
|
|
618
|
+
hooks.visibleColumns.push(function (tableColumns) {
|
|
619
|
+
return [newColumn].concat(tableColumns);
|
|
620
|
+
});
|
|
621
|
+
};
|
|
622
|
+
|
|
623
|
+
var _useTable = reactTable.useTable(options, reactTable.useFlexLayout, reactTable.useSortBy, reactTable.usePagination, reactTable.useRowSelect, useSelect),
|
|
624
|
+
_getTableProps = _useTable.getTableProps,
|
|
625
|
+
headerGroups = _useTable.headerGroups,
|
|
626
|
+
footerGroups = _useTable.footerGroups,
|
|
627
|
+
setHiddenColumns = _useTable.setHiddenColumns,
|
|
628
|
+
rows = _useTable.rows,
|
|
629
|
+
prepareRow = _useTable.prepareRow,
|
|
630
|
+
visibleColumns = _useTable.visibleColumns,
|
|
631
|
+
rest = _objectWithoutPropertiesLoose(_useTable, ["getTableProps", "headerGroups", "footerGroups", "setHiddenColumns", "rows", "prepareRow", "visibleColumns"]);
|
|
632
|
+
|
|
633
|
+
var selectedFlatRows = rest.selectedFlatRows,
|
|
634
|
+
setSortBy = rest.setSortBy,
|
|
635
|
+
page = rest.page,
|
|
636
|
+
canPreviousPage = rest.canPreviousPage,
|
|
637
|
+
canNextPage = rest.canNextPage,
|
|
638
|
+
pageCount = rest.pageCount,
|
|
639
|
+
gotoPage = rest.gotoPage,
|
|
640
|
+
nextPage = rest.nextPage,
|
|
641
|
+
previousPage = rest.previousPage,
|
|
642
|
+
setPageSize = rest.setPageSize,
|
|
643
|
+
_rest$state = rest.state,
|
|
644
|
+
selectedRowIds = _rest$state.selectedRowIds,
|
|
645
|
+
pageIndex = _rest$state.pageIndex,
|
|
646
|
+
pageSize = _rest$state.pageSize;
|
|
647
|
+
var tableRef = React.useRef(null);
|
|
648
|
+
var tableWrapperRef = React.useRef(null);
|
|
649
|
+
useTableShadow(tableRef, tableWrapperRef);
|
|
650
|
+
React.useEffect(function () {
|
|
651
|
+
if (!(initialState === null || initialState === void 0 ? void 0 : initialState.hiddenColumns)) {
|
|
652
|
+
return;
|
|
653
|
+
}
|
|
654
|
+
|
|
655
|
+
setHiddenColumns(initialState.hiddenColumns);
|
|
656
|
+
}, [initialState === null || initialState === void 0 ? void 0 : initialState.hiddenColumns]);
|
|
657
|
+
React.useEffect(function () {
|
|
658
|
+
if (hasSelectedRowsAbility) {
|
|
659
|
+
onSelectRowsChange === null || onSelectRowsChange === void 0 ? void 0 : onSelectRowsChange(selectedFlatRows === null || selectedFlatRows === void 0 ? void 0 : selectedFlatRows.map(function (row) {
|
|
660
|
+
return row.original;
|
|
661
|
+
}));
|
|
662
|
+
}
|
|
663
|
+
}, [selectedRowIds]);
|
|
664
|
+
var pagination = null;
|
|
665
|
+
|
|
666
|
+
if (hasDefaultPagination && hasControlledPagination) {
|
|
667
|
+
// eslint-disable-next-line max-len
|
|
668
|
+
throw new Error('You have to pass either hasDefaultPagination true boolean prop or pass fetchData callback and controlledPagination data');
|
|
669
|
+
}
|
|
670
|
+
|
|
671
|
+
if (hasControlledPagination || hasDefaultPagination) {
|
|
672
|
+
var paginationData = {
|
|
673
|
+
setPageSize: setPageSize,
|
|
674
|
+
gotoPage: gotoPage,
|
|
675
|
+
canNextPage: canNextPage,
|
|
676
|
+
canPreviousPage: canPreviousPage,
|
|
677
|
+
parentElementId: parentElementId,
|
|
678
|
+
labelPerPage: labelPerPage,
|
|
679
|
+
pageIndex: pageIndex,
|
|
680
|
+
previousPageHandler: previousPage,
|
|
681
|
+
nextPageHandler: nextPage,
|
|
682
|
+
totalPages: pageCount,
|
|
683
|
+
perPage: pageSize,
|
|
684
|
+
totalItems: totalItems !== null && totalItems !== void 0 ? totalItems : data.length
|
|
685
|
+
};
|
|
686
|
+
|
|
687
|
+
if (hasControlledPagination && controlledPagination) {
|
|
688
|
+
paginationData.canNextPage = controlledPagination.pageIndex + 1 !== paginationData.totalPages;
|
|
689
|
+
paginationData.canPreviousPage = controlledPagination.pageIndex !== 0;
|
|
690
|
+
paginationData.pageIndex = controlledPagination.pageIndex;
|
|
691
|
+
paginationData.perPage = controlledPagination.pageSize;
|
|
692
|
+
|
|
693
|
+
paginationData.setPageSize = function (newPageSize) {
|
|
694
|
+
fetchData === null || fetchData === void 0 ? void 0 : fetchData({
|
|
695
|
+
pageIndex: paginationData.pageIndex,
|
|
696
|
+
pageSize: newPageSize
|
|
697
|
+
});
|
|
698
|
+
};
|
|
699
|
+
|
|
700
|
+
paginationData.gotoPage = function (newPageIndex) {
|
|
701
|
+
fetchData === null || fetchData === void 0 ? void 0 : fetchData({
|
|
702
|
+
pageIndex: newPageIndex,
|
|
703
|
+
pageSize: paginationData.perPage
|
|
704
|
+
});
|
|
705
|
+
};
|
|
706
|
+
|
|
707
|
+
paginationData.nextPageHandler = function () {
|
|
708
|
+
var newPageIndex = paginationData.pageIndex + 1;
|
|
709
|
+
paginationData.gotoPage(newPageIndex);
|
|
710
|
+
};
|
|
711
|
+
|
|
712
|
+
paginationData.previousPageHandler = function () {
|
|
713
|
+
var newPageIndex = paginationData.pageIndex - 1;
|
|
714
|
+
paginationData.gotoPage(newPageIndex);
|
|
715
|
+
};
|
|
716
|
+
|
|
717
|
+
if (controlledPagination === null || controlledPagination === void 0 ? void 0 : controlledPagination.paginationAmount) {
|
|
718
|
+
paginationData.paginationAmount = controlledPagination.paginationAmount;
|
|
719
|
+
}
|
|
720
|
+
}
|
|
721
|
+
|
|
722
|
+
pagination = React__default.createElement(PaginationComponent, Object.assign({}, paginationData));
|
|
723
|
+
}
|
|
724
|
+
|
|
725
|
+
function extendSortByProps(column) {
|
|
726
|
+
var headerProps = column.getSortByToggleProps && column.getSortByToggleProps();
|
|
727
|
+
headerProps === null || headerProps === void 0 ? true : delete headerProps.style;
|
|
728
|
+
|
|
729
|
+
if (hasManualSortBy && !column.canSort && headerProps) {
|
|
730
|
+
headerProps.onClick = function () {
|
|
731
|
+
onSortedChange === null || onSortedChange === void 0 ? void 0 : onSortedChange(column.id, Boolean(column.isSortedDesc));
|
|
732
|
+
setSortBy([{
|
|
733
|
+
id: column.id,
|
|
734
|
+
desc: !column.isSortedDesc
|
|
735
|
+
}]);
|
|
736
|
+
};
|
|
737
|
+
}
|
|
738
|
+
|
|
739
|
+
return headerProps;
|
|
740
|
+
}
|
|
741
|
+
|
|
742
|
+
var tBodyTr = hasControlledPagination || hasDefaultPagination ? page : rows;
|
|
743
|
+
return React__default.createElement(TableRoot, null, React__default.createElement(TableLoading, {
|
|
744
|
+
isLoading: !showLoadingState && isLoading
|
|
745
|
+
}, React__default.createElement(TableLoadingInner, null, loadingMessage)), React__default.createElement(TableWrapper, {
|
|
746
|
+
ref: tableWrapperRef
|
|
747
|
+
}, React__default.createElement(TableContent, {
|
|
748
|
+
id: tableContentId
|
|
749
|
+
}, React__default.createElement(TableCore, Object.assign({}, _getTableProps(getTableProps(getTableProps$1)), {
|
|
750
|
+
ref: tableRef
|
|
751
|
+
}), React__default.createElement(THead, null, headerGroups.map(function (headerGroup) {
|
|
752
|
+
return React__default.createElement(TR, Object.assign({}, headerGroup.getHeaderGroupProps(getTableElementProps(getHeaderGroupProps))), headerGroup.headers.map(function (column) {
|
|
753
|
+
var headerProps = extendSortByProps(column);
|
|
754
|
+
return React__default.createElement(TH, Object.assign({}, column.getHeaderProps(getTableElementInternalProps(headerProps, getHeaderProps, mainCellGetter))), getHeadContent(column));
|
|
755
|
+
}));
|
|
756
|
+
})), footerPlacement.includes(FOOTER_PLACEMENT.TOP) && React__default.createElement(TFoot, null, footerGroups.map(function (group) {
|
|
757
|
+
return React__default.createElement(TR, Object.assign({}, group.getFooterGroupProps(getTableElementProps(getFooterGroupProps))), group.headers.map(function (column) {
|
|
758
|
+
return React__default.createElement(TD, Object.assign({}, column.getFooterProps(getTableElementProps(getFooterProps, mainCellGetter))), column.render('Footer'));
|
|
759
|
+
}));
|
|
760
|
+
})), React__default.createElement(TBody, null, tBodyTr.map(function (row) {
|
|
761
|
+
prepareRow(row);
|
|
762
|
+
|
|
763
|
+
var _getRowPreProps = getRowPreProps(row),
|
|
764
|
+
isDelimiterTd = _getRowPreProps.isDelimiterTd;
|
|
765
|
+
|
|
766
|
+
if (isDelimiterTd) {
|
|
767
|
+
return React__default.createElement(TRGroup, {
|
|
768
|
+
key: "group_" + row.index
|
|
769
|
+
}, React__default.createElement(TR, Object.assign({}, row.getRowProps(getTableRowProps(getRowProps))), React__default.createElement(TD, Object.assign({
|
|
770
|
+
colSpan: visibleColumns.length
|
|
771
|
+
}, row.cells[0].getCellProps(getTableCellProps(getCellProps, cellGetter))), React__default.createElement("strong", null, row.cells[0].render('Cell')))));
|
|
772
|
+
}
|
|
773
|
+
|
|
774
|
+
return React__default.createElement(TRGroup, {
|
|
775
|
+
key: "group_" + row.index
|
|
776
|
+
}, React__default.createElement(TR, Object.assign({}, row.getRowProps(getTableRowProps(getRowProps))), row.cells.map(function (cell) {
|
|
777
|
+
return React__default.createElement(TD, Object.assign({}, cell.getCellProps(getTableCellProps(getCellProps, cellGetter))), cell.render('Cell'));
|
|
778
|
+
})));
|
|
779
|
+
})), footerPlacement.includes(FOOTER_PLACEMENT.BOTTOM) && React__default.createElement(TFoot, null, footerGroups.map(function (group) {
|
|
780
|
+
return React__default.createElement(TR, Object.assign({}, group.getFooterGroupProps(getTableElementProps(getFooterGroupProps))), group.headers.map(function (column) {
|
|
781
|
+
return React__default.createElement(TD, Object.assign({}, column.getFooterProps(getTableElementProps(getFooterProps, mainCellGetter))), column.render('Footer'));
|
|
782
|
+
}));
|
|
783
|
+
}))))), !isLoading && !data.length && noDataMessage, pagination);
|
|
214
784
|
};
|
|
215
785
|
|
|
786
|
+
Table.defaultProps = defaultProps;
|
|
787
|
+
|
|
216
788
|
exports.Table = Table;
|
|
789
|
+
exports.defaultProps = defaultProps;
|
|
217
790
|
//# sourceMappingURL=table.cjs.development.js.map
|