@semcore/data-table 16.0.0 → 16.0.1-prerelease.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 +7 -1
- package/lib/cjs/components/Body/Body.js +40 -37
- package/lib/cjs/components/Body/Body.js.map +1 -1
- package/lib/cjs/components/Body/Body.types.js.map +1 -1
- package/lib/cjs/components/Body/Cell.js +34 -33
- package/lib/cjs/components/Body/Cell.js.map +1 -1
- package/lib/cjs/components/Body/Row.js +81 -73
- package/lib/cjs/components/Body/Row.js.map +1 -1
- package/lib/cjs/components/Body/Row.types.js.map +1 -1
- package/lib/cjs/components/Body/style.shadow.css +7 -1
- package/lib/cjs/components/DataTable/DataTable.js +204 -160
- package/lib/cjs/components/DataTable/DataTable.js.map +1 -1
- package/lib/cjs/components/DataTable/DataTable.types.js.map +1 -1
- package/lib/cjs/components/Head/Column.js +22 -27
- package/lib/cjs/components/Head/Column.js.map +1 -1
- package/lib/cjs/components/Head/Column.types.js.map +1 -1
- package/lib/cjs/components/Head/Group.js +23 -22
- package/lib/cjs/components/Head/Group.js.map +1 -1
- package/lib/cjs/components/Head/Head.js +67 -65
- package/lib/cjs/components/Head/Head.js.map +1 -1
- package/lib/cjs/components/Head/Head.types.js.map +1 -1
- package/lib/cjs/components/Head/style.shadow.css +5 -1
- package/lib/cjs/style/scroll-shadows.shadow.css +6 -0
- package/lib/es6/components/Body/Body.js +40 -37
- package/lib/es6/components/Body/Body.js.map +1 -1
- package/lib/es6/components/Body/Body.types.js.map +1 -1
- package/lib/es6/components/Body/Cell.js +34 -33
- package/lib/es6/components/Body/Cell.js.map +1 -1
- package/lib/es6/components/Body/Row.js +81 -73
- package/lib/es6/components/Body/Row.js.map +1 -1
- package/lib/es6/components/Body/Row.types.js.map +1 -1
- package/lib/es6/components/Body/style.shadow.css +7 -1
- package/lib/es6/components/DataTable/DataTable.js +202 -159
- package/lib/es6/components/DataTable/DataTable.js.map +1 -1
- package/lib/es6/components/DataTable/DataTable.types.js.map +1 -1
- package/lib/es6/components/Head/Column.js +22 -27
- package/lib/es6/components/Head/Column.js.map +1 -1
- package/lib/es6/components/Head/Column.types.js.map +1 -1
- package/lib/es6/components/Head/Group.js +24 -23
- package/lib/es6/components/Head/Group.js.map +1 -1
- package/lib/es6/components/Head/Head.js +68 -66
- package/lib/es6/components/Head/Head.js.map +1 -1
- package/lib/es6/components/Head/Head.types.js.map +1 -1
- package/lib/es6/components/Head/style.shadow.css +5 -1
- package/lib/es6/style/scroll-shadows.shadow.css +6 -0
- package/lib/esm/components/Body/Body.mjs +40 -38
- package/lib/esm/components/Body/Cell.mjs +35 -34
- package/lib/esm/components/Body/Row.mjs +63 -57
- package/lib/esm/components/Body/style.shadow.css +7 -1
- package/lib/esm/components/DataTable/DataTable.mjs +157 -117
- package/lib/esm/components/Head/Column.mjs +23 -26
- package/lib/esm/components/Head/Group.mjs +25 -24
- package/lib/esm/components/Head/Head.mjs +47 -46
- package/lib/esm/components/Head/style.shadow.css +5 -1
- package/lib/esm/style/scroll-shadows.shadow.css +6 -0
- package/lib/types/components/Body/Body.types.d.ts +2 -1
- package/lib/types/components/Body/Row.types.d.ts +2 -1
- package/lib/types/components/DataTable/DataTable.d.ts +3 -2
- package/lib/types/components/DataTable/DataTable.types.d.ts +10 -3
- package/lib/types/components/Head/Column.types.d.ts +4 -15
- package/lib/types/components/Head/Head.d.ts +3 -3
- package/lib/types/components/Head/Head.types.d.ts +6 -1
- package/package.json +10 -10
- package/lib/cjs/utils.js +0 -66
- package/lib/cjs/utils.js.map +0 -1
- package/lib/es6/utils.js +0 -56
- package/lib/es6/utils.js.map +0 -1
- package/lib/esm/utils.mjs +0 -43
- package/lib/types/utils.d.ts +0 -8
|
@@ -16,38 +16,41 @@ import { Box, ScreenReaderOnly, ScrollArea } from '@semcore/base-components';
|
|
|
16
16
|
import { Head } from '../Head/Head';
|
|
17
17
|
import { Body } from '../Body/Body';
|
|
18
18
|
/*!__reshadow-styles__:"./dataTable.shadow.css"*/
|
|
19
|
-
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
|
19
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SDataTable_133z6_gg_{display:grid;align-items:start;min-width:-moz-fit-content;min-width:fit-content}.___SDataTable_133z6_gg_.__gridTemplateColumns_133z6_gg_{grid-template-columns:var(--gridTemplateColumns_133z6)}.___SDataTable_133z6_gg_.__gridTemplateAreas_133z6_gg_{grid-template-areas:var(--gridTemplateAreas_133z6)}.___SDataTable_133z6_gg_.__gridTemplateRows_133z6_gg_{grid-template-rows:var(--gridTemplateRows_133z6)}", /*__inner_css_end__*/"133z6_gg_"),
|
|
20
20
|
/*__reshadow_css_end__*/
|
|
21
21
|
{
|
|
22
|
-
"__SDataTable": "
|
|
23
|
-
"_gridTemplateColumns": "
|
|
24
|
-
"--gridTemplateColumns": "--
|
|
25
|
-
"_gridTemplateAreas": "
|
|
26
|
-
"--gridTemplateAreas": "--
|
|
27
|
-
"_gridTemplateRows": "
|
|
28
|
-
"--gridTemplateRows": "--
|
|
22
|
+
"__SDataTable": "___SDataTable_133z6_gg_",
|
|
23
|
+
"_gridTemplateColumns": "__gridTemplateColumns_133z6_gg_",
|
|
24
|
+
"--gridTemplateColumns": "--gridTemplateColumns_133z6",
|
|
25
|
+
"_gridTemplateAreas": "__gridTemplateAreas_133z6_gg_",
|
|
26
|
+
"--gridTemplateAreas": "--gridTemplateAreas_133z6",
|
|
27
|
+
"_gridTemplateRows": "__gridTemplateRows_133z6_gg_",
|
|
28
|
+
"--gridTemplateRows": "--gridTemplateRows_133z6"
|
|
29
29
|
});
|
|
30
30
|
import { isFocusInside, hasFocusableIn } from '@semcore/core/lib/utils/use/useFocusLock';
|
|
31
|
-
import { getScrollOffsetValue } from '../../utils';
|
|
32
31
|
import findComponent from '@semcore/core/lib/utils/findComponent';
|
|
33
32
|
import { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';
|
|
34
33
|
import i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';
|
|
35
34
|
import uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';
|
|
36
35
|
import { forkRef } from '@semcore/core/lib/utils/ref';
|
|
37
36
|
/*!__reshadow-styles__:"../../style/scroll-shadows.shadow.css"*/
|
|
38
|
-
var scrollStyles = ( /*__reshadow_css_start__*/_sstyled2.insert( /*__inner_css_start__*/".
|
|
37
|
+
var scrollStyles = ( /*__reshadow_css_start__*/_sstyled2.insert( /*__inner_css_start__*/".___SScrollArea_1p4fc_gg_{width:-moz-fit-content;width:fit-content}.___SScrollArea_1p4fc_gg_ .___SContainer_1p4fc_gg_{overflow:visible;overflow:initial}.___SScrollArea_1p4fc_gg_ .___SContainer_1p4fc_gg_._scrollDirection_both_1p4fc_gg_{overflow:auto}.___SScrollArea_1p4fc_gg_ .___SContainer_1p4fc_gg_._scrollDirection_horizontal_1p4fc_gg_{overflow-x:auto;overflow-y:initial}.___SScrollArea_1p4fc_gg_ .___SContainer_1p4fc_gg_._scrollDirection_vertical_1p4fc_gg_{overflow-x:initial;overflow-y:auto}.___SScrollArea_1p4fc_gg_ .___SContainer_1p4fc_gg_.__loading_1p4fc_gg_{overflow:hidden}.___SScrollArea_1p4fc_gg_ .___SContainer_1p4fc_gg_.__headerHeight_1p4fc_gg_{scroll-padding-top:var(--headerHeight_1p4fc)}.___SScrollArea_1p4fc_gg_ .___SContainer_1p4fc_gg_.__leftScrollPadding_1p4fc_gg_{scroll-padding-left:var(--leftScrollPadding_1p4fc)}.___SScrollArea_1p4fc_gg_ .___SContainer_1p4fc_gg_.__rightScrollPadding_1p4fc_gg_{scroll-padding-right:var(--rightScrollPadding_1p4fc)}.___SScrollArea_1p4fc_gg_ .___SShadowVertical_1p4fc_gg_:before{display:none}.___SScrollArea_1p4fc_gg_ .___SShadowHorizontal_1p4fc_gg_:after,.___SScrollArea_1p4fc_gg_ .___SShadowHorizontal_1p4fc_gg_:before,.___SScrollArea_1p4fc_gg_ .___SShadowVertical_1p4fc_gg_:after{z-index:2}", /*__inner_css_end__*/"1p4fc_gg_"),
|
|
39
38
|
/*__reshadow_css_end__*/
|
|
40
39
|
{
|
|
41
|
-
"__SScrollArea": "
|
|
42
|
-
"__SContainer": "
|
|
43
|
-
"_scrollDirection_both": "
|
|
44
|
-
"_scrollDirection_horizontal": "
|
|
45
|
-
"_scrollDirection_vertical": "
|
|
46
|
-
"_loading": "
|
|
47
|
-
"_headerHeight": "
|
|
48
|
-
"--headerHeight": "--
|
|
49
|
-
"
|
|
50
|
-
"
|
|
40
|
+
"__SScrollArea": "___SScrollArea_1p4fc_gg_",
|
|
41
|
+
"__SContainer": "___SContainer_1p4fc_gg_",
|
|
42
|
+
"_scrollDirection_both": "_scrollDirection_both_1p4fc_gg_",
|
|
43
|
+
"_scrollDirection_horizontal": "_scrollDirection_horizontal_1p4fc_gg_",
|
|
44
|
+
"_scrollDirection_vertical": "_scrollDirection_vertical_1p4fc_gg_",
|
|
45
|
+
"_loading": "__loading_1p4fc_gg_",
|
|
46
|
+
"_headerHeight": "__headerHeight_1p4fc_gg_",
|
|
47
|
+
"--headerHeight": "--headerHeight_1p4fc",
|
|
48
|
+
"_leftScrollPadding": "__leftScrollPadding_1p4fc_gg_",
|
|
49
|
+
"--leftScrollPadding": "--leftScrollPadding_1p4fc",
|
|
50
|
+
"_rightScrollPadding": "__rightScrollPadding_1p4fc_gg_",
|
|
51
|
+
"--rightScrollPadding": "--rightScrollPadding_1p4fc",
|
|
52
|
+
"__SShadowVertical": "___SShadowVertical_1p4fc_gg_",
|
|
53
|
+
"__SShadowHorizontal": "___SShadowHorizontal_1p4fc_gg_"
|
|
51
54
|
});
|
|
52
55
|
import { hasParent } from '@semcore/core/lib/utils/hasParent';
|
|
53
56
|
import trottle from '@semcore/core/lib/utils/rafTrottle';
|
|
@@ -78,7 +81,9 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
78
81
|
_defineProperty(_assertThisInitialized(_this), "gridAreaGroupMap", new Map());
|
|
79
82
|
_defineProperty(_assertThisInitialized(_this), "columnsSplitter", '/');
|
|
80
83
|
_defineProperty(_assertThisInitialized(_this), "rows", []);
|
|
84
|
+
_defineProperty(_assertThisInitialized(_this), "flatRows", []);
|
|
81
85
|
_defineProperty(_assertThisInitialized(_this), "selectAllMessageTimer", 0);
|
|
86
|
+
_defineProperty(_assertThisInitialized(_this), "headerNodesMap", new Map());
|
|
82
87
|
_defineProperty(_assertThisInitialized(_this), "state", {
|
|
83
88
|
scrollTop: 0,
|
|
84
89
|
scrollDirection: 'down',
|
|
@@ -123,11 +128,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
123
128
|
return (_this$tableRef$curren = _this.tableRef.current) === null || _this$tableRef$curren === void 0 ? void 0 : _this$tableRef$curren.querySelector("[aria-rowindex=\"".concat(index + 1, "\"]"));
|
|
124
129
|
});
|
|
125
130
|
_defineProperty(_assertThisInitialized(_this), "hasFocusableInHeader", function () {
|
|
126
|
-
|
|
127
|
-
var columnElement = column.ref.current;
|
|
128
|
-
return columnElement && hasFocusableIn(columnElement);
|
|
129
|
-
});
|
|
130
|
-
return hasFocusable;
|
|
131
|
+
return _this.headerRef.current && hasFocusableIn(_this.headerRef.current);
|
|
131
132
|
});
|
|
132
133
|
_defineProperty(_assertThisInitialized(_this), "onExpandRow", function (expandedRow) {
|
|
133
134
|
var expandedRows = _this.asProps.expandedRows;
|
|
@@ -181,9 +182,14 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
181
182
|
var rowI = rowIndex;
|
|
182
183
|
var colI = colIndex;
|
|
183
184
|
if (direction === 'left' || direction === 'right') {
|
|
184
|
-
var _currentCell$parentEl, _row$children;
|
|
185
|
+
var _currentCell$parentEl, _currentCell$parentEl2, _row$children;
|
|
186
|
+
// we need to skip Collapse Element with one big component from keyboard left/right pressing
|
|
187
|
+
if (((_currentCell$parentEl = currentCell.parentElement) === null || _currentCell$parentEl === void 0 ? void 0 : _currentCell$parentEl.dataset.uiName) === 'Collapse') {
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
|
|
185
191
|
// left/right
|
|
186
|
-
if (currentCell.dataset.groupedBy === 'colgroup' || Number((_currentCell$
|
|
192
|
+
if (currentCell.dataset.groupedBy === 'colgroup' || Number((_currentCell$parentEl2 = currentCell.parentElement) === null || _currentCell$parentEl2 === void 0 ? void 0 : _currentCell$parentEl2.getAttribute('aria-rowindex')) === 2 || Array.from((_row$children = row === null || row === void 0 ? void 0 : row.children) !== null && _row$children !== void 0 ? _row$children : []).indexOf(currentCell) > 0) {
|
|
187
193
|
colI = direction === 'left' ? colI - 1 : colI + 1;
|
|
188
194
|
} else {
|
|
189
195
|
rowI = rowI - 1;
|
|
@@ -308,6 +314,72 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
308
314
|
_defineProperty(_assertThisInitialized(_this), "handleBackFromAccordion", function (cellIndex) {
|
|
309
315
|
_this.changeFocusCell(-1, cellIndex === -1 ? 0 : cellIndex, 'up');
|
|
310
316
|
});
|
|
317
|
+
_defineProperty(_assertThisInitialized(_this), "getScrollOffsetValue", function () {
|
|
318
|
+
if (!_this.headerRef.current) {
|
|
319
|
+
return [0, 0];
|
|
320
|
+
}
|
|
321
|
+
var setToMap = function setToMap(element) {
|
|
322
|
+
if (element.getAttribute('name') && element.dataset.uiName === 'Head.Column') {
|
|
323
|
+
var name = element.getAttribute('name');
|
|
324
|
+
if (name) {
|
|
325
|
+
_this.headerNodesMap.set(name, element);
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
};
|
|
329
|
+
_this.headerRef.current.childNodes.forEach(function (node) {
|
|
330
|
+
if (node instanceof HTMLElement) {
|
|
331
|
+
if (node.classList.value.includes('SGroupContainer')) {
|
|
332
|
+
node.childNodes.forEach(function (columnNode) {
|
|
333
|
+
if (columnNode instanceof HTMLElement) {
|
|
334
|
+
setToMap(columnNode);
|
|
335
|
+
}
|
|
336
|
+
});
|
|
337
|
+
} else {
|
|
338
|
+
setToMap(node);
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
});
|
|
342
|
+
return _this.columns.reduce(function (acc, column) {
|
|
343
|
+
if (column.fixed === 'left') {
|
|
344
|
+
var _this$headerNodesMap$, _this$headerNodesMap$2;
|
|
345
|
+
acc[0] += (_this$headerNodesMap$ = (_this$headerNodesMap$2 = _this.headerNodesMap.get(column.name)) === null || _this$headerNodesMap$2 === void 0 ? void 0 : _this$headerNodesMap$2.getBoundingClientRect().width) !== null && _this$headerNodesMap$ !== void 0 ? _this$headerNodesMap$ : 0;
|
|
346
|
+
}
|
|
347
|
+
if (column.fixed === 'right') {
|
|
348
|
+
var _this$headerNodesMap$3, _this$headerNodesMap$4;
|
|
349
|
+
acc[1] += (_this$headerNodesMap$3 = (_this$headerNodesMap$4 = _this.headerNodesMap.get(column.name)) === null || _this$headerNodesMap$4 === void 0 ? void 0 : _this$headerNodesMap$4.getBoundingClientRect().width) !== null && _this$headerNodesMap$3 !== void 0 ? _this$headerNodesMap$3 : 0;
|
|
350
|
+
}
|
|
351
|
+
return acc;
|
|
352
|
+
}, [0, 0]);
|
|
353
|
+
});
|
|
354
|
+
_defineProperty(_assertThisInitialized(_this), "getFixedStyle", function (cell) {
|
|
355
|
+
var side = cell.fixed;
|
|
356
|
+
if (!side) return [undefined, undefined];
|
|
357
|
+
var names = cell.name.split('/');
|
|
358
|
+
var nameSideMap = {
|
|
359
|
+
left: names[0],
|
|
360
|
+
right: names[names.length - 1]
|
|
361
|
+
};
|
|
362
|
+
var name = nameSideMap[side];
|
|
363
|
+
var index = _this.columns.findIndex(function (column) {
|
|
364
|
+
return column.name === name;
|
|
365
|
+
});
|
|
366
|
+
if (index === -1) return [undefined, undefined];
|
|
367
|
+
var startIndexSideMap = {
|
|
368
|
+
left: 0,
|
|
369
|
+
right: index + 1
|
|
370
|
+
};
|
|
371
|
+
var endIndexSideMap = {
|
|
372
|
+
left: index,
|
|
373
|
+
right: _this.columns.length
|
|
374
|
+
};
|
|
375
|
+
var columnsFixed = _this.columns.slice(startIndexSideMap[side], endIndexSideMap[side]);
|
|
376
|
+
if (columnsFixed.length < 1) return [side, 0];
|
|
377
|
+
var sum = columnsFixed.reduce(function (acc, column) {
|
|
378
|
+
var _this$headerNodesMap$5;
|
|
379
|
+
return acc + ((_this$headerNodesMap$5 = _this.headerNodesMap.get(column.name)) === null || _this$headerNodesMap$5 === void 0 ? void 0 : _this$headerNodesMap$5.getBoundingClientRect().width);
|
|
380
|
+
}, 0);
|
|
381
|
+
return [side, "".concat(sum, "px")];
|
|
382
|
+
});
|
|
311
383
|
if (props.children) {
|
|
312
384
|
_this.columns = _this.calculateColumns();
|
|
313
385
|
} else {
|
|
@@ -316,6 +388,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
316
388
|
_this.treeColumns = cols[1];
|
|
317
389
|
}
|
|
318
390
|
_this.rows = _this.calculateRows();
|
|
391
|
+
_this.flatRows = _this.rows.flat();
|
|
319
392
|
return _this;
|
|
320
393
|
}
|
|
321
394
|
_createClass(DataTableRoot, [{
|
|
@@ -328,16 +401,33 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
328
401
|
}, {
|
|
329
402
|
key: "componentDidMount",
|
|
330
403
|
value: function componentDidMount() {
|
|
331
|
-
this
|
|
404
|
+
var _this2 = this;
|
|
405
|
+
var _this$asProps2 = this.asProps,
|
|
406
|
+
headerProps = _this$asProps2.headerProps,
|
|
407
|
+
loading = _this$asProps2.loading;
|
|
408
|
+
if (headerProps !== null && headerProps !== void 0 && headerProps.sticky && !headerProps.h || loading || this.columns.some(function (c) {
|
|
409
|
+
return c.fixed;
|
|
410
|
+
})) {
|
|
411
|
+
requestAnimationFrame(function () {
|
|
412
|
+
_this2.forceUpdate();
|
|
413
|
+
});
|
|
414
|
+
}
|
|
332
415
|
}
|
|
333
416
|
}, {
|
|
334
417
|
key: "componentDidUpdate",
|
|
335
418
|
value: function componentDidUpdate(prevProps) {
|
|
336
|
-
var _this$
|
|
337
|
-
data = _this$
|
|
338
|
-
selectedRows = _this$
|
|
339
|
-
|
|
419
|
+
var _this$asProps3 = this.asProps,
|
|
420
|
+
data = _this$asProps3.data,
|
|
421
|
+
selectedRows = _this$asProps3.selectedRows,
|
|
422
|
+
columns = _this$asProps3.columns;
|
|
423
|
+
if (prevProps.columns !== columns) {
|
|
424
|
+
var cols = this.calculateColumnsFromConfig();
|
|
425
|
+
this.columns = cols[0];
|
|
426
|
+
this.treeColumns = cols[1];
|
|
427
|
+
}
|
|
428
|
+
if (prevProps.data !== data || prevProps.columns !== columns) {
|
|
340
429
|
this.rows = this.calculateRows();
|
|
430
|
+
this.flatRows = this.rows.flat();
|
|
341
431
|
this.forceUpdate();
|
|
342
432
|
}
|
|
343
433
|
if (prevProps.selectedRows !== selectedRows && selectedRows !== undefined) {
|
|
@@ -351,9 +441,9 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
351
441
|
}, {
|
|
352
442
|
key: "totalRows",
|
|
353
443
|
get: function get() {
|
|
354
|
-
var _this$
|
|
355
|
-
totalRows = _this$
|
|
356
|
-
expandedRows = _this$
|
|
444
|
+
var _this$asProps4 = this.asProps,
|
|
445
|
+
totalRows = _this$asProps4.totalRows,
|
|
446
|
+
expandedRows = _this$asProps4.expandedRows;
|
|
357
447
|
var flatRows = this.rows.flat();
|
|
358
448
|
var expandedRowsCount = Array.from(expandedRows !== null && expandedRows !== void 0 ? expandedRows : []).reduce(function (acc, rowKey) {
|
|
359
449
|
var dtRow = flatRows.find(function (el) {
|
|
@@ -386,7 +476,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
386
476
|
get: function get() {
|
|
387
477
|
var columns = this.columns;
|
|
388
478
|
var gridTemplateColumns = columns.map(function (c) {
|
|
389
|
-
return c.
|
|
479
|
+
return c.gtcWidth;
|
|
390
480
|
});
|
|
391
481
|
var gridTemplateAreas = columns.map(function (c) {
|
|
392
482
|
return c.name;
|
|
@@ -399,18 +489,18 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
399
489
|
}, {
|
|
400
490
|
key: "getHeadProps",
|
|
401
491
|
value: function getHeadProps() {
|
|
402
|
-
var
|
|
403
|
-
var _this$
|
|
404
|
-
use = _this$
|
|
405
|
-
compact = _this$
|
|
406
|
-
sort = _this$
|
|
407
|
-
onSortChange = _this$
|
|
408
|
-
getI18nText = _this$
|
|
409
|
-
uid = _this$
|
|
410
|
-
headerProps = _this$
|
|
411
|
-
onSelectedRowsChange = _this$
|
|
412
|
-
selectedRows = _this$
|
|
413
|
-
sideIndents = _this$
|
|
492
|
+
var _this3 = this;
|
|
493
|
+
var _this$asProps5 = this.asProps,
|
|
494
|
+
use = _this$asProps5.use,
|
|
495
|
+
compact = _this$asProps5.compact,
|
|
496
|
+
sort = _this$asProps5.sort,
|
|
497
|
+
onSortChange = _this$asProps5.onSortChange,
|
|
498
|
+
getI18nText = _this$asProps5.getI18nText,
|
|
499
|
+
uid = _this$asProps5.uid,
|
|
500
|
+
headerProps = _this$asProps5.headerProps,
|
|
501
|
+
onSelectedRowsChange = _this$asProps5.onSelectedRowsChange,
|
|
502
|
+
selectedRows = _this$asProps5.selectedRows,
|
|
503
|
+
sideIndents = _this$asProps5.sideIndents;
|
|
414
504
|
var _this$gridSettings = this.gridSettings,
|
|
415
505
|
gridTemplateColumns = _this$gridSettings.gridTemplateColumns,
|
|
416
506
|
gridTemplateAreas = _this$gridSettings.gridTemplateAreas;
|
|
@@ -432,37 +522,38 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
432
522
|
totalRows: this.totalRows,
|
|
433
523
|
selectedRows: selectedRows,
|
|
434
524
|
onChangeSelectAll: function onChangeSelectAll(value, e) {
|
|
435
|
-
var selectedRowsIndexes = value ? new Array(
|
|
525
|
+
var selectedRowsIndexes = value ? new Array(_this3.totalRows).fill(undefined).map(function (_, i) {
|
|
436
526
|
return i;
|
|
437
527
|
}) : [];
|
|
438
528
|
onSelectedRowsChange === null || onSelectedRowsChange === void 0 ? void 0 : onSelectedRowsChange(selectedRowsIndexes, e);
|
|
439
|
-
}
|
|
529
|
+
},
|
|
530
|
+
getFixedStyle: this.getFixedStyle
|
|
440
531
|
}, headerProps);
|
|
441
532
|
}
|
|
442
533
|
}, {
|
|
443
534
|
key: "getBodyProps",
|
|
444
535
|
value: function getBodyProps() {
|
|
445
|
-
var _this$
|
|
446
|
-
use = _this$
|
|
447
|
-
compact = _this$
|
|
448
|
-
loading = _this$
|
|
449
|
-
getI18nText = _this$
|
|
450
|
-
expandedRows = _this$
|
|
451
|
-
virtualScroll = _this$
|
|
452
|
-
uid = _this$
|
|
453
|
-
rowProps = _this$
|
|
454
|
-
renderCell = _this$
|
|
455
|
-
headerProps = _this$
|
|
456
|
-
renderEmptyData = _this$
|
|
457
|
-
sideIndents = _this$
|
|
458
|
-
selectedRows = _this$
|
|
536
|
+
var _this$asProps6 = this.asProps,
|
|
537
|
+
use = _this$asProps6.use,
|
|
538
|
+
compact = _this$asProps6.compact,
|
|
539
|
+
loading = _this$asProps6.loading,
|
|
540
|
+
getI18nText = _this$asProps6.getI18nText,
|
|
541
|
+
expandedRows = _this$asProps6.expandedRows,
|
|
542
|
+
virtualScroll = _this$asProps6.virtualScroll,
|
|
543
|
+
uid = _this$asProps6.uid,
|
|
544
|
+
rowProps = _this$asProps6.rowProps,
|
|
545
|
+
renderCell = _this$asProps6.renderCell,
|
|
546
|
+
headerProps = _this$asProps6.headerProps,
|
|
547
|
+
renderEmptyData = _this$asProps6.renderEmptyData,
|
|
548
|
+
sideIndents = _this$asProps6.sideIndents,
|
|
549
|
+
selectedRows = _this$asProps6.selectedRows;
|
|
459
550
|
var _this$gridSettings2 = this.gridSettings,
|
|
460
551
|
gridTemplateColumns = _this$gridSettings2.gridTemplateColumns,
|
|
461
552
|
gridTemplateAreas = _this$gridSettings2.gridTemplateAreas;
|
|
462
553
|
return {
|
|
463
554
|
columns: this.columns,
|
|
464
555
|
rows: this.rows,
|
|
465
|
-
flatRows: this.
|
|
556
|
+
flatRows: this.flatRows,
|
|
466
557
|
use: use,
|
|
467
558
|
compact: Boolean(compact),
|
|
468
559
|
gridTemplateColumns: gridTemplateColumns,
|
|
@@ -488,7 +579,8 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
488
579
|
renderEmptyData: renderEmptyData,
|
|
489
580
|
sideIndents: sideIndents,
|
|
490
581
|
selectedRows: selectedRows,
|
|
491
|
-
onSelectRow: this.handleSelectRow
|
|
582
|
+
onSelectRow: this.handleSelectRow,
|
|
583
|
+
getFixedStyle: this.getFixedStyle
|
|
492
584
|
};
|
|
493
585
|
}
|
|
494
586
|
}, {
|
|
@@ -510,33 +602,33 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
510
602
|
var _ref = this.asProps,
|
|
511
603
|
_ref2;
|
|
512
604
|
var SDataTable = Box;
|
|
513
|
-
var _this$
|
|
514
|
-
Children = _this$
|
|
515
|
-
styles = _this$
|
|
516
|
-
w = _this$
|
|
517
|
-
wMax = _this$
|
|
518
|
-
wMin = _this$
|
|
519
|
-
h = _this$
|
|
520
|
-
hMax = _this$
|
|
521
|
-
hMin = _this$
|
|
522
|
-
virtualScroll = _this$
|
|
523
|
-
children = _this$
|
|
524
|
-
headerProps = _this$
|
|
525
|
-
loading = _this$
|
|
526
|
-
selectedRows = _this$
|
|
527
|
-
var
|
|
528
|
-
|
|
529
|
-
offsetLeftSum =
|
|
530
|
-
offsetRightSum =
|
|
605
|
+
var _this$asProps7 = this.asProps,
|
|
606
|
+
Children = _this$asProps7.Children,
|
|
607
|
+
styles = _this$asProps7.styles,
|
|
608
|
+
w = _this$asProps7.w,
|
|
609
|
+
wMax = _this$asProps7.wMax,
|
|
610
|
+
wMin = _this$asProps7.wMin,
|
|
611
|
+
h = _this$asProps7.h,
|
|
612
|
+
hMax = _this$asProps7.hMax,
|
|
613
|
+
hMin = _this$asProps7.hMin,
|
|
614
|
+
virtualScroll = _this$asProps7.virtualScroll,
|
|
615
|
+
children = _this$asProps7.children,
|
|
616
|
+
headerProps = _this$asProps7.headerProps,
|
|
617
|
+
loading = _this$asProps7.loading,
|
|
618
|
+
selectedRows = _this$asProps7.selectedRows;
|
|
619
|
+
var _this$getScrollOffset = this.getScrollOffsetValue(),
|
|
620
|
+
_this$getScrollOffset2 = _slicedToArray(_this$getScrollOffset, 2),
|
|
621
|
+
offsetLeftSum = _this$getScrollOffset2[0],
|
|
622
|
+
offsetRightSum = _this$getScrollOffset2[1];
|
|
531
623
|
var _this$gridSettings3 = this.gridSettings,
|
|
532
624
|
gridTemplateColumns = _this$gridSettings3.gridTemplateColumns,
|
|
533
625
|
gridTemplateAreas = _this$gridSettings3.gridTemplateAreas;
|
|
534
626
|
var Head = findComponent(Children, ['DataTable.Head']);
|
|
535
627
|
var headerPropsToCheck = headerProps !== null && headerProps !== void 0 ? headerProps : Head === null || Head === void 0 ? void 0 : Head.props;
|
|
536
|
-
var headerHeight = this.getHeaderHeight();
|
|
628
|
+
var headerHeight = (headerProps === null || headerProps === void 0 ? void 0 : headerProps.h) || this.getHeaderHeight();
|
|
537
629
|
var topOffset = headerPropsToCheck !== null && headerPropsToCheck !== void 0 && headerPropsToCheck.sticky || headerPropsToCheck !== null && headerPropsToCheck !== void 0 && headerPropsToCheck.withScrollBar ? headerHeight : undefined;
|
|
538
630
|
var width = w !== null && w !== void 0 ? w : this.columns.some(function (c) {
|
|
539
|
-
return c.
|
|
631
|
+
return c.gtcWidth === 'auto' || c.gtcWidth === '1fr';
|
|
540
632
|
}) ? '100%' : undefined;
|
|
541
633
|
var gridTemplateRows = undefined;
|
|
542
634
|
if (virtualScroll && typeof virtualScroll !== 'boolean' && 'rowHeight' in virtualScroll) {
|
|
@@ -566,7 +658,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
566
658
|
"ref": this.scrollAreaRef,
|
|
567
659
|
"container": this.tableContainerRef,
|
|
568
660
|
"styles": scrollStyles,
|
|
569
|
-
"onScroll": this.handleScroll,
|
|
661
|
+
"onScroll": virtualScroll ? this.handleScroll : undefined,
|
|
570
662
|
"disableAutofocusToContent": true
|
|
571
663
|
}), /*#__PURE__*/React.createElement(ScrollArea.Container, {
|
|
572
664
|
tabIndex: -1
|
|
@@ -576,7 +668,9 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
576
668
|
// @ts-ignore
|
|
577
669
|
,
|
|
578
670
|
loading: loading,
|
|
579
|
-
headerHeight: "".concat(headerHeight, "px")
|
|
671
|
+
headerHeight: "".concat(headerHeight, "px"),
|
|
672
|
+
leftScrollPadding: "".concat(offsetLeftSum, "px"),
|
|
673
|
+
rightScrollPadding: "".concat(offsetRightSum, "px")
|
|
580
674
|
}, /*#__PURE__*/React.createElement(SDataTable, _ref2.cn("SDataTable", _objectSpread({}, _assignProps({
|
|
581
675
|
"ref": forkRef(this.tableRef, this.tableContainerRef),
|
|
582
676
|
"role": 'grid',
|
|
@@ -598,7 +692,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
598
692
|
"use:h": undefined,
|
|
599
693
|
"use:hMax": undefined,
|
|
600
694
|
"use:hMin": undefined
|
|
601
|
-
}, _ref))), children ? /*#__PURE__*/React.createElement(Children, _ref2.cn("Children", {})) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(
|
|
695
|
+
}, _ref))), children ? /*#__PURE__*/React.createElement(Children, _ref2.cn("Children", {})) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DataTableInternal.Head, null), /*#__PURE__*/React.createElement(DataTableInternal.Body, null)))), (headerPropsToCheck === null || headerPropsToCheck === void 0 ? void 0 : headerPropsToCheck.withScrollBar) && topOffset && !loading && /*#__PURE__*/React.createElement(ScrollArea.Bar, {
|
|
602
696
|
orientation: "horizontal",
|
|
603
697
|
top: topOffset - SCROLL_BAR_HEIGHT,
|
|
604
698
|
zIndex: 10
|
|
@@ -616,7 +710,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
616
710
|
}, {
|
|
617
711
|
key: "calculateColumns",
|
|
618
712
|
value: function calculateColumns() {
|
|
619
|
-
var
|
|
713
|
+
var _this4 = this;
|
|
620
714
|
var _this$props = this.props,
|
|
621
715
|
children = _this$props.children,
|
|
622
716
|
data = _this$props.data,
|
|
@@ -631,20 +725,9 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
631
725
|
if (selectedRows) {
|
|
632
726
|
var column = {
|
|
633
727
|
name: SELECT_ALL.toString(),
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
var calculatedWidth = node.getBoundingClientRect().width;
|
|
638
|
-
var calculatedHeight = node.getBoundingClientRect().height;
|
|
639
|
-
column.calculatedWidth = calculatedWidth;
|
|
640
|
-
column.calculatedHeight = calculatedHeight;
|
|
641
|
-
}
|
|
642
|
-
this.ref.current = node;
|
|
643
|
-
},
|
|
644
|
-
gridColumnWidth: '40px',
|
|
645
|
-
calculatedWidth: 0,
|
|
646
|
-
calculatedHeight: 0,
|
|
647
|
-
alignItems: 'flex-start'
|
|
728
|
+
gtcWidth: '40px',
|
|
729
|
+
alignItems: 'flex-start',
|
|
730
|
+
children: ''
|
|
648
731
|
};
|
|
649
732
|
columns.push(column);
|
|
650
733
|
}
|
|
@@ -654,26 +737,15 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
654
737
|
var rightBordersFromParent = isLast && ((parent === null || parent === void 0 ? void 0 : parent.props.borders) === 'both' || (parent === null || parent === void 0 ? void 0 : parent.props.borders) === 'right') ? 'right' : undefined;
|
|
655
738
|
var column = {
|
|
656
739
|
name: columnElement.props.name,
|
|
657
|
-
|
|
658
|
-
ref: function ref(node) {
|
|
659
|
-
if (node) {
|
|
660
|
-
var calculatedWidth = node.getBoundingClientRect().width;
|
|
661
|
-
var calculatedHeight = node.getBoundingClientRect().height;
|
|
662
|
-
column.calculatedWidth = calculatedWidth;
|
|
663
|
-
column.calculatedHeight = calculatedHeight;
|
|
664
|
-
}
|
|
665
|
-
this.ref.current = node;
|
|
666
|
-
},
|
|
667
|
-
gridColumnWidth: calculateGridTemplateColumn(columnElement),
|
|
740
|
+
gtcWidth: calculateGridTemplateColumn(columnElement),
|
|
668
741
|
fixed: (_columnElement$props$ = columnElement.props.fixed) !== null && _columnElement$props$ !== void 0 ? _columnElement$props$ : parent === null || parent === void 0 ? void 0 : parent.props.fixed,
|
|
669
|
-
calculatedWidth: 0,
|
|
670
|
-
calculatedHeight: 0,
|
|
671
742
|
borders: (_ref3 = (_columnElement$props$2 = columnElement.props.borders) !== null && _columnElement$props$2 !== void 0 ? _columnElement$props$2 : leftBordersFromParent) !== null && _ref3 !== void 0 ? _ref3 : rightBordersFromParent,
|
|
672
743
|
parent: parent,
|
|
673
744
|
flexWrap: columnElement.props.flexWrap,
|
|
674
745
|
alignItems: columnElement.props.alignItems,
|
|
675
746
|
alignContent: columnElement.props.alignContent,
|
|
676
|
-
justifyContent: columnElement.props.justifyContent
|
|
747
|
+
justifyContent: columnElement.props.justifyContent,
|
|
748
|
+
children: ''
|
|
677
749
|
};
|
|
678
750
|
return column;
|
|
679
751
|
};
|
|
@@ -687,7 +759,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
687
759
|
if (! /*#__PURE__*/React.isValidElement(child)) return;
|
|
688
760
|
if (childIsColumn(child)) {
|
|
689
761
|
var col = makeColumn(child);
|
|
690
|
-
col.gridArea = "1 / ".concat(gridColumnIndex, " / ").concat(
|
|
762
|
+
col.gridArea = "1 / ".concat(gridColumnIndex, " / ").concat(_this4.hasGroups ? '3' : '2', " / ").concat(gridColumnIndex + 1);
|
|
691
763
|
columnIndex++;
|
|
692
764
|
gridColumnIndex++;
|
|
693
765
|
columns.push(col);
|
|
@@ -714,7 +786,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
714
786
|
columns.push(_col);
|
|
715
787
|
}
|
|
716
788
|
});
|
|
717
|
-
|
|
789
|
+
_this4.gridAreaGroupMap.set(groupIndex, "1 / ".concat(initGridColumn, " / 2 / ").concat(gridColumnIndex));
|
|
718
790
|
groupIndex++;
|
|
719
791
|
}
|
|
720
792
|
});
|
|
@@ -723,7 +795,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
723
795
|
}, {
|
|
724
796
|
key: "calculateColumnsFromConfig",
|
|
725
797
|
value: function calculateColumnsFromConfig() {
|
|
726
|
-
var
|
|
798
|
+
var _this5 = this;
|
|
727
799
|
var _this$props2 = this.props,
|
|
728
800
|
columns = _this$props2.columns,
|
|
729
801
|
data = _this$props2.data,
|
|
@@ -740,20 +812,9 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
740
812
|
if (selectedRows) {
|
|
741
813
|
var column = {
|
|
742
814
|
name: SELECT_ALL.toString(),
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
var calculatedWidth = node.getBoundingClientRect().width;
|
|
747
|
-
var calculatedHeight = node.getBoundingClientRect().height;
|
|
748
|
-
column.calculatedWidth = calculatedWidth;
|
|
749
|
-
column.calculatedHeight = calculatedHeight;
|
|
750
|
-
}
|
|
751
|
-
this.ref.current = node;
|
|
752
|
-
},
|
|
753
|
-
gridColumnWidth: '40px',
|
|
754
|
-
calculatedWidth: 0,
|
|
755
|
-
calculatedHeight: 0,
|
|
756
|
-
alignItems: 'flex-start'
|
|
815
|
+
gtcWidth: '40px',
|
|
816
|
+
alignItems: 'flex-start',
|
|
817
|
+
children: ''
|
|
757
818
|
};
|
|
758
819
|
calculatedColumns.push(column);
|
|
759
820
|
}
|
|
@@ -763,27 +824,8 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
763
824
|
var rightBordersFromParent = isLast && ((parent === null || parent === void 0 ? void 0 : parent.borders) === 'both' || (parent === null || parent === void 0 ? void 0 : parent.borders) === 'right') ? 'right' : undefined;
|
|
764
825
|
var column = _objectSpread(_objectSpread({}, columnElement), {}, {
|
|
765
826
|
name: childIsColumn(columnElement) ? columnElement.name : '',
|
|
766
|
-
|
|
767
|
-
ref: function ref(node) {
|
|
768
|
-
var _columnElement$ref;
|
|
769
|
-
if (node) {
|
|
770
|
-
var calculatedWidth = node.getBoundingClientRect().width;
|
|
771
|
-
var calculatedHeight = node.getBoundingClientRect().height;
|
|
772
|
-
column.calculatedWidth = calculatedWidth;
|
|
773
|
-
column.calculatedHeight = calculatedHeight;
|
|
774
|
-
}
|
|
775
|
-
if (childIsColumn(columnElement) && (_columnElement$ref = columnElement.ref) !== null && _columnElement$ref !== void 0 && _columnElement$ref.hasOwnProperty('current')) {
|
|
776
|
-
// @ts-ignore
|
|
777
|
-
columnElement.ref.current = node;
|
|
778
|
-
}
|
|
779
|
-
if (this !== null && this !== void 0 && this.ref) {
|
|
780
|
-
this.ref.current = node;
|
|
781
|
-
}
|
|
782
|
-
},
|
|
783
|
-
gridColumnWidth: childIsColumn(columnElement) ? calculateGridTemplateColumn(columnElement) : '',
|
|
827
|
+
gtcWidth: childIsColumn(columnElement) ? calculateGridTemplateColumn(columnElement) : '',
|
|
784
828
|
fixed: (_columnElement$fixed = columnElement.fixed) !== null && _columnElement$fixed !== void 0 ? _columnElement$fixed : parent === null || parent === void 0 ? void 0 : parent.fixed,
|
|
785
|
-
calculatedWidth: 0,
|
|
786
|
-
calculatedHeight: 0,
|
|
787
829
|
borders: (_ref4 = (_columnElement$border = columnElement.borders) !== null && _columnElement$border !== void 0 ? _columnElement$border : leftBordersFromParent) !== null && _ref4 !== void 0 ? _ref4 : rightBordersFromParent,
|
|
788
830
|
parent: parent
|
|
789
831
|
});
|
|
@@ -798,7 +840,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
798
840
|
columns.forEach(function (child, i) {
|
|
799
841
|
if (childIsColumn(child)) {
|
|
800
842
|
var col = makeColumn(child);
|
|
801
|
-
col.gridArea = "1 / ".concat(gridColumnIndex, " / ").concat(
|
|
843
|
+
col.gridArea = "1 / ".concat(gridColumnIndex, " / ").concat(_this5.hasGroups ? '3' : '2', " / ").concat(gridColumnIndex + 1);
|
|
802
844
|
columnIndex++;
|
|
803
845
|
gridColumnIndex++;
|
|
804
846
|
calculatedColumns.push(col);
|
|
@@ -829,7 +871,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
829
871
|
(_Group$columns = Group.columns) === null || _Group$columns === void 0 ? void 0 : _Group$columns.push(col);
|
|
830
872
|
});
|
|
831
873
|
treeColumns.push(Group);
|
|
832
|
-
|
|
874
|
+
_this5.gridAreaGroupMap.set(groupIndex, "1 / ".concat(initGridColumn, " / 2 / ").concat(gridColumnIndex));
|
|
833
875
|
groupIndex++;
|
|
834
876
|
}
|
|
835
877
|
});
|
|
@@ -838,7 +880,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
838
880
|
}, {
|
|
839
881
|
key: "calculateRows",
|
|
840
882
|
value: function calculateRows() {
|
|
841
|
-
var
|
|
883
|
+
var _this6 = this;
|
|
842
884
|
var columns = this.columns;
|
|
843
885
|
// @ts-ignore
|
|
844
886
|
var _this$props3 = this.props,
|
|
@@ -858,7 +900,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
858
900
|
var _ref6 = _slicedToArray(_ref5, 2),
|
|
859
901
|
key = _ref6[0],
|
|
860
902
|
value = _ref6[1];
|
|
861
|
-
var columnsToRow = key.split(
|
|
903
|
+
var columnsToRow = key.split(_this6.columnsSplitter);
|
|
862
904
|
if (columnsToRow.length === 1) {
|
|
863
905
|
acc[key] = value !== null && value !== void 0 ? value : '';
|
|
864
906
|
columns["delete"](key);
|
|
@@ -967,4 +1009,5 @@ export var DataTable = createComponent(DataTableRoot, {
|
|
|
967
1009
|
Head: Head,
|
|
968
1010
|
Body: Body
|
|
969
1011
|
});
|
|
1012
|
+
export var DataTableInternal = DataTable;
|
|
970
1013
|
//# sourceMappingURL=DataTable.js.map
|