@semcore/data-table 3.7.28 → 3.8.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 +4 -12
- package/lib/cjs/Body.js +49 -116
- package/lib/cjs/Body.js.map +1 -1
- package/lib/cjs/DataTable.js +67 -144
- package/lib/cjs/DataTable.js.map +1 -1
- package/lib/cjs/Head.js +24 -74
- package/lib/cjs/Head.js.map +1 -1
- package/lib/cjs/index.js +0 -3
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/style/data-table.shadow.css +45 -29
- package/lib/cjs/types.js.map +1 -1
- package/lib/cjs/utils.js +0 -8
- package/lib/cjs/utils.js.map +1 -1
- package/lib/es6/Body.js +49 -108
- package/lib/es6/Body.js.map +1 -1
- package/lib/es6/DataTable.js +67 -133
- package/lib/es6/DataTable.js.map +1 -1
- package/lib/es6/Head.js +24 -60
- package/lib/es6/Head.js.map +1 -1
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/style/data-table.shadow.css +45 -29
- package/lib/es6/types.js.map +1 -1
- package/lib/es6/utils.js +0 -2
- package/lib/es6/utils.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,24 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
|
|
4
4
|
|
|
5
|
-
## [3.
|
|
5
|
+
## [3.8.0] - 2023-03-31
|
|
6
6
|
|
|
7
7
|
### Changed
|
|
8
8
|
|
|
9
|
-
-
|
|
9
|
+
- Changed the presentation of the sort icon. Now it always runs into the text.
|
|
10
10
|
|
|
11
|
-
## [3.7.
|
|
12
|
-
|
|
13
|
-
## [3.7.18] - 2023-02-24
|
|
11
|
+
## [3.7.29] - 2023-03-28
|
|
14
12
|
|
|
15
13
|
### Changed
|
|
16
14
|
|
|
17
|
-
- Version patch update due to children dependencies update (`@semcore/
|
|
15
|
+
- Version patch update due to children dependencies update (`@semcore/utils` [3.49.1 ~> 3.50.0]).
|
|
18
16
|
|
|
19
17
|
## [3.7.17] - 2023-02-22
|
|
20
18
|
|
|
21
|
-
## [3.7.16] - 2023-02-20
|
|
22
|
-
|
|
23
19
|
### Fixed
|
|
24
20
|
|
|
25
21
|
- Fixed empty table body with virtual scroll enabled displays unexpected "0".
|
|
@@ -32,10 +28,6 @@ CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangel
|
|
|
32
28
|
|
|
33
29
|
## [3.7.13] - 2023-02-13
|
|
34
30
|
|
|
35
|
-
## [3.7.12] - 2023-02-09
|
|
36
|
-
|
|
37
|
-
## [3.7.11] - 2023-01-27
|
|
38
|
-
|
|
39
31
|
### Fixed
|
|
40
32
|
|
|
41
33
|
- Fixed view of cells when using cell grouping and columns at the same time.
|
package/lib/cjs/Body.js
CHANGED
|
@@ -1,94 +1,56 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports["default"] = void 0;
|
|
11
|
-
|
|
12
9
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
|
-
|
|
14
10
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
15
|
-
|
|
16
11
|
var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
|
|
17
|
-
|
|
18
12
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
19
|
-
|
|
20
13
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
21
|
-
|
|
22
14
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
23
|
-
|
|
24
15
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
25
|
-
|
|
26
16
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
27
|
-
|
|
28
17
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
29
|
-
|
|
30
18
|
var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
|
|
31
|
-
|
|
32
19
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
33
|
-
|
|
34
20
|
var _core = require("@semcore/core");
|
|
35
|
-
|
|
36
21
|
var _react = _interopRequireDefault(require("react"));
|
|
37
|
-
|
|
38
22
|
var _flexBox = require("@semcore/flex-box");
|
|
39
|
-
|
|
40
23
|
var _scrollArea = _interopRequireDefault(require("@semcore/scroll-area"));
|
|
41
|
-
|
|
42
24
|
var _utils = require("./utils");
|
|
43
|
-
|
|
44
25
|
var _assignProps2 = _interopRequireWildcard(require("@semcore/utils/lib/assignProps"));
|
|
45
|
-
|
|
46
26
|
var _resizeObserverPolyfill = _interopRequireDefault(require("resize-observer-polyfill"));
|
|
47
|
-
|
|
48
27
|
var _rafTrottle = _interopRequireDefault(require("@semcore/utils/lib/rafTrottle"));
|
|
49
|
-
|
|
50
28
|
var _excluded = ["childrenPropsGetter"],
|
|
51
|
-
|
|
52
|
-
|
|
29
|
+
_excluded2 = ["childrenPropsGetter"];
|
|
53
30
|
/*__reshadow-styles__:"./style/scroll-area.shadow.css"*/
|
|
54
|
-
var scrollStyles = (
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
"
|
|
59
|
-
|
|
60
|
-
, "qidk4_gg_")
|
|
61
|
-
/*__reshadow_css_end__*/
|
|
62
|
-
, {
|
|
63
|
-
"__SShadowHorizontal": "___SShadowHorizontal_qidk4_gg_",
|
|
64
|
-
"--left": "--left_qidk4",
|
|
65
|
-
"--right": "--right_qidk4",
|
|
66
|
-
"__SContainer": "___SContainer_qidk4_gg_",
|
|
67
|
-
"_disabledScroll": "__disabledScroll_qidk4_gg_"
|
|
31
|
+
var scrollStyles = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SShadowHorizontal_hmn2a_gg_:before{left:var(--left_hmn2a)!important}.___SShadowHorizontal_hmn2a_gg_:after{right:var(--right_hmn2a)!important}.___SContainer_hmn2a_gg_.__disabledScroll_hmn2a_gg_{overflow:visible}" /*__inner_css_end__*/, "hmn2a_gg_") /*__reshadow_css_end__*/, {
|
|
32
|
+
"__SShadowHorizontal": "___SShadowHorizontal_hmn2a_gg_",
|
|
33
|
+
"--left": "--left_hmn2a",
|
|
34
|
+
"--right": "--right_hmn2a",
|
|
35
|
+
"__SContainer": "___SContainer_hmn2a_gg_",
|
|
36
|
+
"_disabledScroll": "__disabledScroll_hmn2a_gg_"
|
|
68
37
|
});
|
|
69
38
|
var testEnv = process.env.NODE_ENV === 'test';
|
|
70
|
-
|
|
71
39
|
var getCellsByColumn = function getCellsByColumn(cells) {
|
|
72
40
|
var flattenCells = cells.flat(20);
|
|
73
41
|
return Object.fromEntries(flattenCells.map(function (cell) {
|
|
74
42
|
return [cell.name, cell.data];
|
|
75
43
|
}));
|
|
76
44
|
};
|
|
77
|
-
|
|
78
45
|
var Body = /*#__PURE__*/function (_Component) {
|
|
79
46
|
(0, _inherits2["default"])(Body, _Component);
|
|
80
|
-
|
|
81
47
|
var _super = (0, _createSuper2["default"])(Body);
|
|
82
|
-
|
|
83
48
|
function Body() {
|
|
84
49
|
var _this;
|
|
85
|
-
|
|
86
50
|
(0, _classCallCheck2["default"])(this, Body);
|
|
87
|
-
|
|
88
51
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
89
52
|
args[_key] = arguments[_key];
|
|
90
53
|
}
|
|
91
|
-
|
|
92
54
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
93
55
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
|
|
94
56
|
rowHeight: undefined,
|
|
@@ -105,7 +67,6 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
105
67
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleFirstRowResize", (0, _rafTrottle["default"])(function (entries) {
|
|
106
68
|
var contentRect = entries[0].contentRect;
|
|
107
69
|
var height = contentRect.height;
|
|
108
|
-
|
|
109
70
|
_this.setState(function (oldState) {
|
|
110
71
|
if (oldState.rowHeight === height) return oldState;
|
|
111
72
|
return {
|
|
@@ -118,7 +79,6 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
118
79
|
if (!virtualScroll) return;
|
|
119
80
|
var contentRect = entries[0].contentRect;
|
|
120
81
|
var height = contentRect.height;
|
|
121
|
-
|
|
122
82
|
_this.setState(function (oldState) {
|
|
123
83
|
if (oldState.scrollAreaHeight === height) return oldState;
|
|
124
84
|
return {
|
|
@@ -128,9 +88,8 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
128
88
|
}));
|
|
129
89
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleScrollAreaScroll", function (event) {
|
|
130
90
|
var _ref6 = event.target,
|
|
131
|
-
|
|
91
|
+
scrollTop = _ref6.scrollTop;
|
|
132
92
|
var virtualScroll = _this.asProps.virtualScroll;
|
|
133
|
-
|
|
134
93
|
if (virtualScroll) {
|
|
135
94
|
_this.setState(function (oldState) {
|
|
136
95
|
if (oldState.scrollOffset === scrollTop) return oldState;
|
|
@@ -144,26 +103,22 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
144
103
|
if (!_this.firstRowRef.current) return;
|
|
145
104
|
if (!_this.asProps.virtualScroll) return;
|
|
146
105
|
_this.firstRowResizeObserver = new _resizeObserverPolyfill["default"](_this.handleFirstRowResize);
|
|
147
|
-
|
|
148
106
|
_this.firstRowResizeObserver.observe(_this.firstRowRef.current);
|
|
149
107
|
});
|
|
150
108
|
return _this;
|
|
151
109
|
}
|
|
152
|
-
|
|
153
110
|
(0, _createClass2["default"])(Body, [{
|
|
154
111
|
key: "renderCells",
|
|
155
112
|
value: function renderCells(cells, rowData, index) {
|
|
156
113
|
var _this2 = this;
|
|
157
|
-
|
|
158
114
|
var SCell = _flexBox.Flex;
|
|
159
115
|
var _this$asProps = this.asProps,
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
116
|
+
styles = _this$asProps.styles,
|
|
117
|
+
columns = _this$asProps.columns,
|
|
118
|
+
use = _this$asProps.use;
|
|
163
119
|
return cells.map(function (cell) {
|
|
164
120
|
if (Array.isArray(cell)) {
|
|
165
121
|
var _ref2;
|
|
166
|
-
|
|
167
122
|
var SGroupCell = 'div';
|
|
168
123
|
return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SGroupCell, _ref2.cn("SGroupCell", {
|
|
169
124
|
"role": "rowgroup",
|
|
@@ -171,7 +126,6 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
171
126
|
}), _this2.renderRows(cell));
|
|
172
127
|
} else {
|
|
173
128
|
var _ref3, _column$props, _column$props2;
|
|
174
|
-
|
|
175
129
|
var nameParts = cell.name.split('/');
|
|
176
130
|
var firstName = nameParts[0];
|
|
177
131
|
var lastName = nameParts[nameParts.length - 1];
|
|
@@ -184,12 +138,10 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
184
138
|
var column = columns.find(function (c) {
|
|
185
139
|
return c.name === cell.name;
|
|
186
140
|
});
|
|
187
|
-
|
|
188
141
|
var _getFixedStyle = (0, _utils.getFixedStyle)(cell, columns),
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
142
|
+
_getFixedStyle2 = (0, _slicedToArray2["default"])(_getFixedStyle, 2),
|
|
143
|
+
name = _getFixedStyle2[0],
|
|
144
|
+
value = _getFixedStyle2[1];
|
|
193
145
|
var vars = (Array.isArray(cell.cssVar) ? cell.cssVar : [cell.cssVar]).map(function (name) {
|
|
194
146
|
return "var(".concat(name, ")");
|
|
195
147
|
});
|
|
@@ -204,22 +156,19 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
204
156
|
width: vars.length === 1 ? vars[0] : "calc(".concat(vars.join(' + '), ")")
|
|
205
157
|
}
|
|
206
158
|
};
|
|
207
|
-
|
|
208
159
|
if (name !== undefined && value !== undefined) {
|
|
209
160
|
props.style[name] = value;
|
|
210
161
|
}
|
|
211
|
-
|
|
212
162
|
var _iterator = (0, _createForOfIteratorHelper2["default"])(cell.cellPropsLayers || []),
|
|
213
|
-
|
|
214
|
-
|
|
163
|
+
_step;
|
|
215
164
|
try {
|
|
216
165
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
217
166
|
var cellPropLayer = _step.value;
|
|
218
167
|
var _cellPropLayer$childr = cellPropLayer.childrenPropsGetter,
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
168
|
+
childrenPropsGetter = _cellPropLayer$childr === void 0 ? function (p) {
|
|
169
|
+
return p;
|
|
170
|
+
} : _cellPropLayer$childr,
|
|
171
|
+
other = (0, _objectWithoutProperties2["default"])(cellPropLayer, _excluded);
|
|
223
172
|
var propsCell = (0, _assignProps2["default"])(other, props);
|
|
224
173
|
props = (0, _assignProps2["default"])(childrenPropsGetter(propsCell, rowData, index), propsCell);
|
|
225
174
|
}
|
|
@@ -228,7 +177,6 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
228
177
|
} finally {
|
|
229
178
|
_iterator.f();
|
|
230
179
|
}
|
|
231
|
-
|
|
232
180
|
return _ref3 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SCell, _ref3.cn("SCell", (0, _objectSpread2["default"])((0, _objectSpread2["default"])({
|
|
233
181
|
"key": cell.name,
|
|
234
182
|
"role": "cell"
|
|
@@ -246,16 +194,15 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
246
194
|
key: "renderRow",
|
|
247
195
|
value: function renderRow(cells, _ref7) {
|
|
248
196
|
var _ref4;
|
|
249
|
-
|
|
250
197
|
var dataIndex = _ref7.dataIndex,
|
|
251
|
-
|
|
252
|
-
|
|
198
|
+
topOffset = _ref7.topOffset,
|
|
199
|
+
nested = _ref7.nested;
|
|
253
200
|
var SRow = _flexBox.Box;
|
|
254
201
|
var _this$asProps2 = this.asProps,
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
202
|
+
styles = _this$asProps2.styles,
|
|
203
|
+
rowPropsLayers = _this$asProps2.rowPropsLayers,
|
|
204
|
+
uniqueKey = _this$asProps2.uniqueKey,
|
|
205
|
+
virtualScroll = _this$asProps2.virtualScroll;
|
|
259
206
|
var rowHeightFromProps = (0, _typeof2["default"])(virtualScroll) === 'object' && (virtualScroll === null || virtualScroll === void 0 ? void 0 : virtualScroll.rowHeight);
|
|
260
207
|
var rowData = cells.flatRowData || getCellsByColumn(cells);
|
|
261
208
|
var key = rowData[uniqueKey] ? String(rowData[uniqueKey]) : "row_".concat(dataIndex);
|
|
@@ -270,18 +217,16 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
270
217
|
key: key,
|
|
271
218
|
'aria-rowindex': dataIndex + 1
|
|
272
219
|
};
|
|
273
|
-
|
|
274
220
|
var _iterator2 = (0, _createForOfIteratorHelper2["default"])(rowPropsLayers),
|
|
275
|
-
|
|
276
|
-
|
|
221
|
+
_step2;
|
|
277
222
|
try {
|
|
278
223
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
279
224
|
var rowPropsLayer = _step2.value;
|
|
280
225
|
var _rowPropsLayer$childr = rowPropsLayer.childrenPropsGetter,
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
226
|
+
childrenPropsGetter = _rowPropsLayer$childr === void 0 ? function (p) {
|
|
227
|
+
return p;
|
|
228
|
+
} : _rowPropsLayer$childr,
|
|
229
|
+
other = (0, _objectWithoutProperties2["default"])(rowPropsLayer, _excluded2);
|
|
285
230
|
var propsRow = (0, _assignProps2["default"])(other, props);
|
|
286
231
|
props = (0, _assignProps2["default"])(childrenPropsGetter(propsRow, rowData, dataIndex), propsRow);
|
|
287
232
|
}
|
|
@@ -290,7 +235,6 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
290
235
|
} finally {
|
|
291
236
|
_iterator2.f();
|
|
292
237
|
}
|
|
293
|
-
|
|
294
238
|
return _ref4 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SRow, _ref4.cn("SRow", (0, _objectSpread2["default"])({
|
|
295
239
|
"role": "row"
|
|
296
240
|
}, props)));
|
|
@@ -299,7 +243,6 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
299
243
|
key: "renderRows",
|
|
300
244
|
value: function renderRows(rows) {
|
|
301
245
|
var _this3 = this;
|
|
302
|
-
|
|
303
246
|
return rows.map(function (cells, dataIndex) {
|
|
304
247
|
return _this3.renderRow(cells, {
|
|
305
248
|
dataIndex: dataIndex,
|
|
@@ -311,13 +254,12 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
311
254
|
key: "renderVirtualizedRows",
|
|
312
255
|
value: function renderVirtualizedRows(rows) {
|
|
313
256
|
var _ref8,
|
|
314
|
-
|
|
315
|
-
|
|
257
|
+
_this4 = this;
|
|
316
258
|
if (rows.length === 0) return [];
|
|
317
259
|
var virtualScroll = this.asProps.virtualScroll;
|
|
318
260
|
var _this$state = this.state,
|
|
319
|
-
|
|
320
|
-
|
|
261
|
+
scrollOffset = _this$state.scrollOffset,
|
|
262
|
+
scrollAreaHeight = _this$state.scrollAreaHeight;
|
|
321
263
|
var rowHeight = this.getRowHeight();
|
|
322
264
|
var tollerance = (_ref8 = (0, _typeof2["default"])(virtualScroll) === 'object' ? virtualScroll === null || virtualScroll === void 0 ? void 0 : virtualScroll.tollerance : 2) !== null && _ref8 !== void 0 ? _ref8 : 2;
|
|
323
265
|
var startIndex = Math.max(Math.floor(scrollOffset / rowHeight) - tollerance, 0);
|
|
@@ -337,15 +279,13 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
337
279
|
topOffset: rowHeight * (startIndex + index)
|
|
338
280
|
};
|
|
339
281
|
});
|
|
340
|
-
|
|
341
282
|
if (needToMeasureFirstRowHeight && startIndex !== 0) {
|
|
342
283
|
processedVisibleRows.unshift(firstRow);
|
|
343
284
|
}
|
|
344
|
-
|
|
345
285
|
return processedVisibleRows.map(function (_ref9) {
|
|
346
286
|
var cells = _ref9.cells,
|
|
347
|
-
|
|
348
|
-
|
|
287
|
+
dataIndex = _ref9.dataIndex,
|
|
288
|
+
topOffset = _ref9.topOffset;
|
|
349
289
|
return _this4.renderRow(cells, {
|
|
350
290
|
dataIndex: dataIndex,
|
|
351
291
|
topOffset: topOffset,
|
|
@@ -357,50 +297,44 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
357
297
|
key: "componentWillUnmount",
|
|
358
298
|
value: function componentWillUnmount() {
|
|
359
299
|
var _this$firstRowResizeO;
|
|
360
|
-
|
|
361
300
|
(_this$firstRowResizeO = this.firstRowResizeObserver) === null || _this$firstRowResizeO === void 0 ? void 0 : _this$firstRowResizeO.disconnect();
|
|
362
301
|
}
|
|
363
302
|
}, {
|
|
364
303
|
key: "render",
|
|
365
304
|
value: function render() {
|
|
366
305
|
var _ref = this.asProps,
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
306
|
+
_ref5,
|
|
307
|
+
_this5 = this;
|
|
370
308
|
var SBody = _flexBox.Box;
|
|
371
309
|
var SBodyWrapper = _flexBox.Box;
|
|
372
310
|
var SScrollAreaBar = _scrollArea["default"].Bar;
|
|
373
311
|
var SHeightHold = _flexBox.Box;
|
|
374
312
|
var _this$asProps3 = this.asProps,
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
313
|
+
Children = _this$asProps3.Children,
|
|
314
|
+
styles = _this$asProps3.styles,
|
|
315
|
+
rows = _this$asProps3.rows,
|
|
316
|
+
columns = _this$asProps3.columns,
|
|
317
|
+
$scrollRef = _this$asProps3.$scrollRef,
|
|
318
|
+
virtualScroll = _this$asProps3.virtualScroll,
|
|
319
|
+
onResize = _this$asProps3.onResize,
|
|
320
|
+
onScroll = _this$asProps3.onScroll,
|
|
321
|
+
disabledScroll = _this$asProps3.disabledScroll;
|
|
384
322
|
var columnsInitialized = columns.reduce(function (sum, _ref10) {
|
|
385
323
|
var width = _ref10.width;
|
|
386
324
|
return sum + width;
|
|
387
325
|
}, 0) > 0 || testEnv;
|
|
388
|
-
|
|
389
326
|
var _getScrollOffsetValue = (0, _utils.getScrollOffsetValue)(columns),
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
327
|
+
_getScrollOffsetValue2 = (0, _slicedToArray2["default"])(_getScrollOffsetValue, 2),
|
|
328
|
+
offsetLeftSum = _getScrollOffsetValue2[0],
|
|
329
|
+
offsetRightSum = _getScrollOffsetValue2[1];
|
|
394
330
|
var offsetSum = offsetLeftSum + offsetRightSum;
|
|
395
331
|
var rowHeight = this.getRowHeight();
|
|
396
332
|
var holdHeight = rowHeight !== undefined && virtualScroll ? rowHeight * rows.length : undefined;
|
|
397
|
-
|
|
398
333
|
if (virtualScroll && columnsInitialized && !rowHeight) {
|
|
399
334
|
new Promise(function () {
|
|
400
335
|
return _this5.setupRowSizeObserver();
|
|
401
336
|
});
|
|
402
337
|
}
|
|
403
|
-
|
|
404
338
|
return _ref5 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SBodyWrapper, _ref5.cn("SBodyWrapper", {}), /*#__PURE__*/_react["default"].createElement(_scrollArea["default"], _ref5.cn("ScrollArea", {
|
|
405
339
|
"shadow": true,
|
|
406
340
|
"styles": scrollStyles,
|
|
@@ -428,7 +362,6 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
428
362
|
}]);
|
|
429
363
|
return Body;
|
|
430
364
|
}(_core.Component);
|
|
431
|
-
|
|
432
365
|
var _default = Body;
|
|
433
366
|
exports["default"] = _default;
|
|
434
367
|
//# sourceMappingURL=Body.js.map
|
package/lib/cjs/Body.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Body.js","names":["testEnv","process","env","NODE_ENV","getCellsByColumn","cells","flattenCells","flat","Object","fromEntries","map","cell","name","data","Body","rowHeight","undefined","scrollAreaHeight","scrollOffset","React","createRef","virtualScroll","asProps","rowHeightFromProps","state","trottle","entries","contentRect","height","setState","oldState","event","target","scrollTop","firstRowRef","current","firstRowResizeObserver","ResizeObserver","handleFirstRowResize","observe","rowData","index","SCell","Flex","styles","columns","use","Array","isArray","SGroupCell","sstyled","renderRows","nameParts","split","firstName","lastName","length","firstColumn","find","c","lastColumn","column","getFixedStyle","value","vars","cssVar","props","children","justifyContent","alignItems","borderLeft","borderRight","style","width","join","cellPropsLayers","cellPropLayer","childrenPropsGetter","p","other","propsCell","assignProps","fixed","theme","dataIndex","topOffset","nested","SRow","Box","rowPropsLayers","uniqueKey","flatRowData","key","String","needToMeasureHeight","renderCells","active","positioned","top","ref","rowPropsLayer","propsRow","rows","renderRow","getRowHeight","tollerance","startIndex","Math","max","floor","lastIndex","min","ceil","needToMeasureFirstRowHeight","firstRow","visibleRows","slice","processedVisibleRows","unshift","disconnect","SBody","SBodyWrapper","SScrollAreaBar","ScrollArea","Bar","SHeightHold","Children","$scrollRef","onResize","onScroll","disabledScroll","columnsInitialized","reduce","sum","getScrollOffsetValue","offsetLeftSum","offsetRightSum","offsetSum","holdHeight","Promise","setupRowSizeObserver","scrollStyles","callAllEventHandlers","handleScrollAreaResize","handleScrollAreaScroll","renderVirtualizedRows","origin","Component"],"sources":["../../src/Body.tsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box, Flex, IBoxProps } from '@semcore/flex-box';\nimport ScrollArea from '@semcore/scroll-area';\nimport { getFixedStyle, getScrollOffsetValue } from './utils';\nimport { RowData, Column, NestedCells, PropsLayer, Cell } from './types';\nimport assignProps, { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport scrollStyles from './style/scroll-area.shadow.css';\nimport syncScroll from '@semcore/utils/lib/syncScroll';\nimport trottle from '@semcore/utils/lib/rafTrottle';\n\nconst testEnv = process.env.NODE_ENV === 'test';\n\nconst getCellsByColumn = (cells: NestedCells): RowData => {\n const flattenCells = cells.flat(20) as Cell[];\n return Object.fromEntries(flattenCells.map((cell) => [cell.name, cell.data]));\n};\n\ntype AsProps = {\n rows: NestedCells[];\n columns: Column[];\n $scrollRef: ReturnType<ReturnType<typeof syncScroll>>;\n onResize: ResizeObserverCallback;\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n rowPropsLayers: PropsLayer[];\n use: 'primary' | 'secondary';\n uniqueKey: string;\n virtualScroll?: boolean | { tollerance?: number; rowHeight?: number };\n disabledScroll?: boolean;\n};\n\ntype State = {\n rowHeight: number | undefined;\n scrollAreaHeight: undefined | number;\n scrollOffset: number;\n};\n\nclass Body extends Component<AsProps, State> {\n state: State = {\n rowHeight: undefined,\n scrollAreaHeight: undefined,\n scrollOffset: 0,\n };\n\n firstRowRef = React.createRef<HTMLElement>();\n firstRowResizeObserver: ResizeObserver | null = null;\n\n getRowHeight = () => {\n const { virtualScroll } = this.asProps;\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n return rowHeightFromProps || this.state.rowHeight;\n };\n\n renderCells(cells: NestedCells, rowData: RowData, index: number) {\n const SCell = Flex;\n const { styles, columns, use } = this.asProps;\n return cells.map((cell) => {\n if (Array.isArray(cell)) {\n const SGroupCell = 'div';\n return sstyled(styles)(\n <SGroupCell role=\"rowgroup\" data-ui-name=\"group-cell\">\n {this.renderRows(cell as NestedCells[])}\n </SGroupCell>,\n );\n } else {\n const nameParts = cell.name.split('/');\n const firstName = nameParts[0];\n const lastName = nameParts[nameParts.length - 1];\n const firstColumn = columns.find((c) => c.name === firstName);\n const lastColumn = columns.find((c) => c.name === lastName);\n const column = columns.find((c) => c.name === cell.name);\n const [name, value] = getFixedStyle(cell, columns);\n const vars = (Array.isArray(cell.cssVar) ? cell.cssVar : [cell.cssVar]).map(\n (name) => `var(${name})`,\n );\n type CellProps = IBoxProps & {\n name: string;\n children: React.ReactNode;\n style: React.CSSProperties;\n };\n\n let props: CellProps = {\n name: cell.name,\n children: <>{cell.data}</>,\n justifyContent: column?.props?.justifyContent,\n alignItems: column?.props?.alignItems,\n borderLeft: firstColumn?.borderLeft,\n borderRight: lastColumn?.borderRight,\n style: {\n width: vars.length === 1 ? vars[0] : `calc(${vars.join(' + ')})`,\n },\n };\n if (name !== undefined && value !== undefined) {\n props.style[name] = value;\n }\n\n for (const cellPropLayer of cell.cellPropsLayers || []) {\n const { childrenPropsGetter = (p) => p, ...other } = cellPropLayer;\n const propsCell = assignProps(other, props);\n props = assignProps(childrenPropsGetter(propsCell, rowData, index), propsCell);\n }\n\n return sstyled(styles)(\n <SCell\n key={cell.name}\n role=\"cell\"\n {...props}\n fixed={cell.fixed}\n theme={props.theme}\n use={use}\n borderLeft={props.borderLeft}\n borderRight={props.borderRight}\n />,\n ) as React.ReactElement;\n }\n }, [] as React.ReactElement[]);\n }\n\n renderRow(\n cells: NestedCells,\n { dataIndex, topOffset, nested }: { dataIndex: number; topOffset?: number; nested: boolean },\n ) {\n const SRow = Box;\n const { styles, rowPropsLayers, uniqueKey, virtualScroll } = this.asProps;\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n\n const rowData = cells.flatRowData || getCellsByColumn(cells);\n const key = rowData[uniqueKey] ? String(rowData[uniqueKey]) : `row_${dataIndex}`;\n const needToMeasureHeight = dataIndex === 0 && !nested && !rowHeightFromProps;\n\n let props = {\n children: this.renderCells(cells, rowData, dataIndex),\n theme: undefined,\n active: undefined,\n positioned: topOffset !== undefined,\n top: topOffset,\n ref: needToMeasureHeight ? this.firstRowRef : undefined,\n key,\n 'aria-rowindex': dataIndex + 1,\n };\n\n for (const rowPropsLayer of rowPropsLayers) {\n const { childrenPropsGetter = (p) => p, ...other } = rowPropsLayer;\n const propsRow = assignProps(other, props);\n props = assignProps(childrenPropsGetter(propsRow, rowData, dataIndex), propsRow);\n }\n\n return sstyled(styles)(<SRow role=\"row\" {...props} />);\n }\n\n renderRows(rows: NestedCells[]) {\n return rows.map((cells, dataIndex) => this.renderRow(cells, { dataIndex, nested: false }));\n }\n\n renderVirtualizedRows(rows: NestedCells[]) {\n if (rows.length === 0) return [];\n\n const { virtualScroll } = this.asProps;\n const { scrollOffset, scrollAreaHeight } = this.state;\n const rowHeight = this.getRowHeight();\n\n const tollerance = (typeof virtualScroll === 'object' ? virtualScroll?.tollerance : 2) ?? 2;\n const startIndex = Math.max(Math.floor(scrollOffset / rowHeight!) - tollerance, 0);\n const lastIndex = Math.min(\n Math.ceil((scrollOffset + scrollAreaHeight!) / rowHeight!) + tollerance,\n rows.length,\n );\n\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n const needToMeasureFirstRowHeight = !rowHeightFromProps;\n\n const firstRow = { cells: rows[0], dataIndex: 0, topOffset: 0 };\n const visibleRows = rowHeight !== undefined ? rows.slice(startIndex, lastIndex) : [];\n const processedVisibleRows = visibleRows.map((cells, index) => ({\n cells,\n dataIndex: startIndex + index,\n topOffset: rowHeight! * (startIndex + index),\n }));\n if (needToMeasureFirstRowHeight && startIndex !== 0) {\n processedVisibleRows.unshift(firstRow);\n }\n\n return processedVisibleRows.map(({ cells, dataIndex, topOffset }) =>\n this.renderRow(cells, { dataIndex, topOffset, nested: false }),\n );\n }\n\n handleFirstRowResize = trottle((entries: ResizeObserverEntry[]) => {\n const { contentRect } = entries[0];\n const { height } = contentRect;\n this.setState((oldState: State) => {\n if (oldState.rowHeight === height) return oldState;\n return { rowHeight: height };\n });\n });\n\n handleScrollAreaResize = trottle((entries: ResizeObserverEntry[]) => {\n const { virtualScroll } = this.asProps;\n if (!virtualScroll) return;\n const { contentRect } = entries[0];\n const { height } = contentRect;\n this.setState((oldState: State) => {\n if (oldState.scrollAreaHeight === height) return oldState;\n return { scrollAreaHeight: height };\n });\n });\n\n handleScrollAreaScroll = (event: React.SyntheticEvent<HTMLElement>) => {\n const { scrollTop } = event.target as HTMLElement;\n const { virtualScroll } = this.asProps;\n if (virtualScroll) {\n this.setState((oldState: State) => {\n if (oldState.scrollOffset === scrollTop) return oldState;\n return { scrollOffset: scrollTop };\n });\n }\n };\n\n setupRowSizeObserver = () => {\n if (!this.firstRowRef.current) return;\n if (!this.asProps.virtualScroll) return;\n this.firstRowResizeObserver = new ResizeObserver(this.handleFirstRowResize);\n this.firstRowResizeObserver.observe(this.firstRowRef.current);\n };\n\n componentWillUnmount() {\n this.firstRowResizeObserver?.disconnect();\n }\n\n render() {\n const SBody = Root;\n const SBodyWrapper = Box;\n const SScrollAreaBar = ScrollArea.Bar;\n const SHeightHold = Box;\n const {\n Children,\n styles,\n rows,\n columns,\n $scrollRef,\n virtualScroll,\n onResize,\n onScroll,\n disabledScroll,\n } = this.asProps;\n\n const columnsInitialized = columns.reduce((sum, { width }) => sum + width, 0) > 0 || testEnv;\n\n const [offsetLeftSum, offsetRightSum] = getScrollOffsetValue(columns);\n const offsetSum = offsetLeftSum + offsetRightSum;\n\n const rowHeight = this.getRowHeight();\n const holdHeight =\n rowHeight !== undefined && virtualScroll ? rowHeight * rows.length : undefined;\n\n if (virtualScroll && columnsInitialized && !rowHeight) {\n new Promise(() => this.setupRowSizeObserver());\n }\n\n return sstyled(styles)(\n <SBodyWrapper>\n <ScrollArea\n shadow\n styles={scrollStyles}\n use:left={`${offsetLeftSum}px`}\n use:right={`${offsetRightSum}px`}\n onResize={callAllEventHandlers(onResize, this.handleScrollAreaResize)}\n onScroll={callAllEventHandlers(onScroll, this.handleScrollAreaScroll)}\n >\n <ScrollArea.Container ref={$scrollRef} disabledScroll={disabledScroll}>\n <SBody render={Box} role=\"rowgroup\">\n {holdHeight ? <SHeightHold hMin={holdHeight} aria-hidden={true} /> : null}\n {columnsInitialized && !virtualScroll ? this.renderRows(rows) : null}\n {columnsInitialized && virtualScroll ? this.renderVirtualizedRows(rows) : null}\n </SBody>\n </ScrollArea.Container>\n <SScrollAreaBar\n orientation=\"horizontal\"\n left={`${offsetLeftSum}px`}\n right={`${offsetRightSum}px`}\n offsetSum={`${offsetSum}px`}\n />\n <SScrollAreaBar orientation=\"vertical\" />\n </ScrollArea>\n {Children.origin}\n </SBodyWrapper>,\n );\n }\n}\n\nexport default Body;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Body.js","names":["_core","require","_react","_interopRequireDefault","_flexBox","_scrollArea","_utils","_assignProps2","_interopRequireWildcard","_resizeObserverPolyfill","_rafTrottle","_excluded","_excluded2","scrollStyles","sstyled","insert","testEnv","process","env","NODE_ENV","getCellsByColumn","cells","flattenCells","flat","Object","fromEntries","map","cell","name","data","Body","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","rowHeight","undefined","scrollAreaHeight","scrollOffset","React","createRef","virtualScroll","asProps","rowHeightFromProps","_typeof2","state","trottle","entries","contentRect","height","setState","oldState","event","_ref6","target","scrollTop","firstRowRef","current","firstRowResizeObserver","ResizeObserver","handleFirstRowResize","observe","_createClass2","key","value","renderCells","rowData","index","_this2","SCell","Flex","_this$asProps","styles","columns","use","isArray","_ref2","SGroupCell","createElement","cn","renderRows","_ref3","_column$props","_column$props2","nameParts","split","firstName","lastName","firstColumn","find","c","lastColumn","column","_getFixedStyle","getFixedStyle","_getFixedStyle2","_slicedToArray2","vars","cssVar","props","children","Fragment","justifyContent","alignItems","borderLeft","borderRight","style","width","join","_iterator","_createForOfIteratorHelper2","cellPropsLayers","_step","s","n","done","cellPropLayer","_cellPropLayer$childr","childrenPropsGetter","p","other","_objectWithoutProperties2","propsCell","assignProps","err","e","f","_objectSpread2","fixed","theme","renderRow","_ref7","_ref4","dataIndex","topOffset","nested","SRow","Box","_this$asProps2","rowPropsLayers","uniqueKey","flatRowData","String","needToMeasureHeight","active","positioned","top","ref","_iterator2","_step2","rowPropsLayer","_rowPropsLayer$childr","propsRow","rows","_this3","renderVirtualizedRows","_ref8","_this4","_this$state","getRowHeight","tollerance","startIndex","Math","max","floor","lastIndex","min","ceil","needToMeasureFirstRowHeight","firstRow","visibleRows","slice","processedVisibleRows","unshift","_ref9","componentWillUnmount","_this$firstRowResizeO","disconnect","render","_ref","_ref5","_this5","SBody","SBodyWrapper","SScrollAreaBar","ScrollArea","Bar","SHeightHold","_this$asProps3","Children","$scrollRef","onResize","onScroll","disabledScroll","columnsInitialized","reduce","sum","_ref10","_getScrollOffsetValue","getScrollOffsetValue","_getScrollOffsetValue2","offsetLeftSum","offsetRightSum","offsetSum","holdHeight","Promise","setupRowSizeObserver","callAllEventHandlers","handleScrollAreaResize","handleScrollAreaScroll","Container","origin","Component","_default","exports"],"sources":["../../src/Body.tsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box, Flex, IBoxProps } from '@semcore/flex-box';\nimport ScrollArea from '@semcore/scroll-area';\nimport { getFixedStyle, getScrollOffsetValue } from './utils';\nimport { RowData, Column, NestedCells, PropsLayer, Cell } from './types';\nimport assignProps, { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport scrollStyles from './style/scroll-area.shadow.css';\nimport syncScroll from '@semcore/utils/lib/syncScroll';\nimport trottle from '@semcore/utils/lib/rafTrottle';\n\nconst testEnv = process.env.NODE_ENV === 'test';\n\nconst getCellsByColumn = (cells: NestedCells): RowData => {\n const flattenCells = cells.flat(20) as Cell[];\n return Object.fromEntries(flattenCells.map((cell) => [cell.name, cell.data]));\n};\n\ntype AsProps = {\n rows: NestedCells[];\n columns: Column[];\n $scrollRef: ReturnType<ReturnType<typeof syncScroll>>;\n onResize: ResizeObserverCallback;\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n rowPropsLayers: PropsLayer[];\n use: 'primary' | 'secondary';\n uniqueKey: string;\n virtualScroll?: boolean | { tollerance?: number; rowHeight?: number };\n disabledScroll?: boolean;\n};\n\ntype State = {\n rowHeight: number | undefined;\n scrollAreaHeight: undefined | number;\n scrollOffset: number;\n};\n\nclass Body extends Component<AsProps, State> {\n state: State = {\n rowHeight: undefined,\n scrollAreaHeight: undefined,\n scrollOffset: 0,\n };\n\n firstRowRef = React.createRef<HTMLElement>();\n firstRowResizeObserver: ResizeObserver | null = null;\n\n getRowHeight = () => {\n const { virtualScroll } = this.asProps;\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n return rowHeightFromProps || this.state.rowHeight;\n };\n\n renderCells(cells: NestedCells, rowData: RowData, index: number) {\n const SCell = Flex;\n const { styles, columns, use } = this.asProps;\n return cells.map((cell) => {\n if (Array.isArray(cell)) {\n const SGroupCell = 'div';\n return sstyled(styles)(\n <SGroupCell role=\"rowgroup\" data-ui-name=\"group-cell\">\n {this.renderRows(cell as NestedCells[])}\n </SGroupCell>,\n );\n } else {\n const nameParts = cell.name.split('/');\n const firstName = nameParts[0];\n const lastName = nameParts[nameParts.length - 1];\n const firstColumn = columns.find((c) => c.name === firstName);\n const lastColumn = columns.find((c) => c.name === lastName);\n const column = columns.find((c) => c.name === cell.name);\n const [name, value] = getFixedStyle(cell, columns);\n const vars = (Array.isArray(cell.cssVar) ? cell.cssVar : [cell.cssVar]).map(\n (name) => `var(${name})`,\n );\n type CellProps = IBoxProps & {\n name: string;\n children: React.ReactNode;\n style: React.CSSProperties;\n };\n\n let props: CellProps = {\n name: cell.name,\n children: <>{cell.data}</>,\n justifyContent: column?.props?.justifyContent,\n alignItems: column?.props?.alignItems,\n borderLeft: firstColumn?.borderLeft,\n borderRight: lastColumn?.borderRight,\n style: {\n width: vars.length === 1 ? vars[0] : `calc(${vars.join(' + ')})`,\n },\n };\n if (name !== undefined && value !== undefined) {\n props.style[name] = value;\n }\n\n for (const cellPropLayer of cell.cellPropsLayers || []) {\n const { childrenPropsGetter = (p) => p, ...other } = cellPropLayer;\n const propsCell = assignProps(other, props);\n props = assignProps(childrenPropsGetter(propsCell, rowData, index), propsCell);\n }\n\n return sstyled(styles)(\n <SCell\n key={cell.name}\n role=\"cell\"\n {...props}\n fixed={cell.fixed}\n theme={props.theme}\n use={use}\n borderLeft={props.borderLeft}\n borderRight={props.borderRight}\n />,\n ) as React.ReactElement;\n }\n }, [] as React.ReactElement[]);\n }\n\n renderRow(\n cells: NestedCells,\n { dataIndex, topOffset, nested }: { dataIndex: number; topOffset?: number; nested: boolean },\n ) {\n const SRow = Box;\n const { styles, rowPropsLayers, uniqueKey, virtualScroll } = this.asProps;\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n\n const rowData = cells.flatRowData || getCellsByColumn(cells);\n const key = rowData[uniqueKey] ? String(rowData[uniqueKey]) : `row_${dataIndex}`;\n const needToMeasureHeight = dataIndex === 0 && !nested && !rowHeightFromProps;\n\n let props = {\n children: this.renderCells(cells, rowData, dataIndex),\n theme: undefined,\n active: undefined,\n positioned: topOffset !== undefined,\n top: topOffset,\n ref: needToMeasureHeight ? this.firstRowRef : undefined,\n key,\n 'aria-rowindex': dataIndex + 1,\n };\n\n for (const rowPropsLayer of rowPropsLayers) {\n const { childrenPropsGetter = (p) => p, ...other } = rowPropsLayer;\n const propsRow = assignProps(other, props);\n props = assignProps(childrenPropsGetter(propsRow, rowData, dataIndex), propsRow);\n }\n\n return sstyled(styles)(<SRow role=\"row\" {...props} />);\n }\n\n renderRows(rows: NestedCells[]) {\n return rows.map((cells, dataIndex) => this.renderRow(cells, { dataIndex, nested: false }));\n }\n\n renderVirtualizedRows(rows: NestedCells[]) {\n if (rows.length === 0) return [];\n\n const { virtualScroll } = this.asProps;\n const { scrollOffset, scrollAreaHeight } = this.state;\n const rowHeight = this.getRowHeight();\n\n const tollerance = (typeof virtualScroll === 'object' ? virtualScroll?.tollerance : 2) ?? 2;\n const startIndex = Math.max(Math.floor(scrollOffset / rowHeight!) - tollerance, 0);\n const lastIndex = Math.min(\n Math.ceil((scrollOffset + scrollAreaHeight!) / rowHeight!) + tollerance,\n rows.length,\n );\n\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n const needToMeasureFirstRowHeight = !rowHeightFromProps;\n\n const firstRow = { cells: rows[0], dataIndex: 0, topOffset: 0 };\n const visibleRows = rowHeight !== undefined ? rows.slice(startIndex, lastIndex) : [];\n const processedVisibleRows = visibleRows.map((cells, index) => ({\n cells,\n dataIndex: startIndex + index,\n topOffset: rowHeight! * (startIndex + index),\n }));\n if (needToMeasureFirstRowHeight && startIndex !== 0) {\n processedVisibleRows.unshift(firstRow);\n }\n\n return processedVisibleRows.map(({ cells, dataIndex, topOffset }) =>\n this.renderRow(cells, { dataIndex, topOffset, nested: false }),\n );\n }\n\n handleFirstRowResize = trottle((entries: ResizeObserverEntry[]) => {\n const { contentRect } = entries[0];\n const { height } = contentRect;\n this.setState((oldState: State) => {\n if (oldState.rowHeight === height) return oldState;\n return { rowHeight: height };\n });\n });\n\n handleScrollAreaResize = trottle((entries: ResizeObserverEntry[]) => {\n const { virtualScroll } = this.asProps;\n if (!virtualScroll) return;\n const { contentRect } = entries[0];\n const { height } = contentRect;\n this.setState((oldState: State) => {\n if (oldState.scrollAreaHeight === height) return oldState;\n return { scrollAreaHeight: height };\n });\n });\n\n handleScrollAreaScroll = (event: React.SyntheticEvent<HTMLElement>) => {\n const { scrollTop } = event.target as HTMLElement;\n const { virtualScroll } = this.asProps;\n if (virtualScroll) {\n this.setState((oldState: State) => {\n if (oldState.scrollOffset === scrollTop) return oldState;\n return { scrollOffset: scrollTop };\n });\n }\n };\n\n setupRowSizeObserver = () => {\n if (!this.firstRowRef.current) return;\n if (!this.asProps.virtualScroll) return;\n this.firstRowResizeObserver = new ResizeObserver(this.handleFirstRowResize);\n this.firstRowResizeObserver.observe(this.firstRowRef.current);\n };\n\n componentWillUnmount() {\n this.firstRowResizeObserver?.disconnect();\n }\n\n render() {\n const SBody = Root;\n const SBodyWrapper = Box;\n const SScrollAreaBar = ScrollArea.Bar;\n const SHeightHold = Box;\n const {\n Children,\n styles,\n rows,\n columns,\n $scrollRef,\n virtualScroll,\n onResize,\n onScroll,\n disabledScroll,\n } = this.asProps;\n\n const columnsInitialized = columns.reduce((sum, { width }) => sum + width, 0) > 0 || testEnv;\n\n const [offsetLeftSum, offsetRightSum] = getScrollOffsetValue(columns);\n const offsetSum = offsetLeftSum + offsetRightSum;\n\n const rowHeight = this.getRowHeight();\n const holdHeight =\n rowHeight !== undefined && virtualScroll ? rowHeight * rows.length : undefined;\n\n if (virtualScroll && columnsInitialized && !rowHeight) {\n new Promise(() => this.setupRowSizeObserver());\n }\n\n return sstyled(styles)(\n <SBodyWrapper>\n <ScrollArea\n shadow\n styles={scrollStyles}\n use:left={`${offsetLeftSum}px`}\n use:right={`${offsetRightSum}px`}\n onResize={callAllEventHandlers(onResize, this.handleScrollAreaResize)}\n onScroll={callAllEventHandlers(onScroll, this.handleScrollAreaScroll)}\n >\n <ScrollArea.Container ref={$scrollRef} disabledScroll={disabledScroll}>\n <SBody render={Box} role=\"rowgroup\">\n {holdHeight ? <SHeightHold hMin={holdHeight} aria-hidden={true} /> : null}\n {columnsInitialized && !virtualScroll ? this.renderRows(rows) : null}\n {columnsInitialized && virtualScroll ? this.renderVirtualizedRows(rows) : null}\n </SBody>\n </ScrollArea.Container>\n <SScrollAreaBar\n orientation=\"horizontal\"\n left={`${offsetLeftSum}px`}\n right={`${offsetRightSum}px`}\n offsetSum={`${offsetSum}px`}\n />\n <SScrollAreaBar orientation=\"vertical\" />\n </ScrollArea>\n {Children.origin}\n </SBodyWrapper>,\n );\n }\n}\n\nexport default Body;\n"],"mappings":"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"}
|