@semcore/data-table 16.0.7 → 16.1.0-prerelease.2
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 +28 -0
- package/lib/cjs/components/Body/Body.js +143 -103
- 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 +69 -46
- package/lib/cjs/components/Body/Cell.js.map +1 -1
- package/lib/cjs/components/Body/Cell.types.js.map +1 -1
- package/lib/cjs/components/Body/Row.js +46 -43
- 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 +68 -13
- package/lib/cjs/components/DataTable/DataTable.js +188 -109
- 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 +39 -25
- 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 +43 -31
- package/lib/cjs/components/Head/Group.js.map +1 -1
- package/lib/cjs/components/Head/Group.type.js.map +1 -1
- package/lib/cjs/components/Head/Head.js +41 -30
- 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 +64 -3
- package/lib/cjs/style/scroll-shadows.shadow.css +7 -12
- package/lib/es6/components/Body/Body.js +144 -104
- 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 +69 -46
- package/lib/es6/components/Body/Cell.js.map +1 -1
- package/lib/es6/components/Body/Cell.types.js.map +1 -1
- package/lib/es6/components/Body/Row.js +47 -44
- 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 +68 -13
- package/lib/es6/components/DataTable/DataTable.js +187 -108
- 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 +39 -25
- 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 +43 -31
- package/lib/es6/components/Head/Group.js.map +1 -1
- package/lib/es6/components/Head/Group.type.js.map +1 -1
- package/lib/es6/components/Head/Head.js +41 -30
- 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 +64 -3
- package/lib/es6/style/scroll-shadows.shadow.css +7 -12
- package/lib/esm/components/Body/Body.mjs +97 -64
- package/lib/esm/components/Body/Cell.mjs +67 -47
- package/lib/esm/components/Body/Row.mjs +48 -45
- package/lib/esm/components/Body/style.shadow.css +68 -13
- package/lib/esm/components/DataTable/DataTable.mjs +133 -66
- package/lib/esm/components/Head/Column.mjs +40 -26
- package/lib/esm/components/Head/Group.mjs +43 -32
- package/lib/esm/components/Head/Head.mjs +39 -31
- package/lib/esm/components/Head/style.shadow.css +64 -3
- package/lib/esm/style/scroll-shadows.shadow.css +7 -12
- package/lib/types/components/Body/Body.d.ts +6 -7
- package/lib/types/components/Body/Body.types.d.ts +27 -19
- package/lib/types/components/Body/Cell.types.d.ts +12 -5
- package/lib/types/components/Body/Row.types.d.ts +20 -18
- package/lib/types/components/DataTable/DataTable.d.ts +1 -0
- package/lib/types/components/DataTable/DataTable.types.d.ts +29 -14
- package/lib/types/components/Head/Column.d.ts +3 -3
- package/lib/types/components/Head/Column.types.d.ts +11 -4
- package/lib/types/components/Head/Group.type.d.ts +2 -0
- package/lib/types/components/Head/Head.types.d.ts +12 -8
- package/package.json +22 -22
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.UNIQ_ROW_KEY = exports.SELECT_ALL = exports.ROW_INDEX = exports.ROW_GROUP = exports.DataTableInternal = exports.DataTable = exports.ACCORDION = void 0;
|
|
8
|
+
exports.UNIQ_ROW_KEY = exports.SELECT_ALL = exports.ROW_INDEX = exports.ROW_GROUP = exports.IS_EMPTY_DATA_ROW = exports.DataTableInternal = exports.DataTable = exports.ACCORDION = void 0;
|
|
9
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
10
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
11
11
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
@@ -33,39 +33,42 @@ var _MergedCells = require("../Body/MergedCells");
|
|
|
33
33
|
var _Head = require("../Head/Head");
|
|
34
34
|
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, (0, _isNativeReflectConstruct2["default"])() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
35
35
|
/*!__reshadow-styles__:"./dataTable.shadow.css"*/
|
|
36
|
-
var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".
|
|
36
|
+
var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SDataTable_sw87i_gg_{display:grid;align-items:start;min-width:-moz-fit-content;min-width:fit-content}.___SDataTable_sw87i_gg_.__gridTemplateColumns_sw87i_gg_{grid-template-columns:var(--gridTemplateColumns_sw87i)}.___SDataTable_sw87i_gg_.__gridTemplateAreas_sw87i_gg_{grid-template-areas:var(--gridTemplateAreas_sw87i)}.___SDataTable_sw87i_gg_.__gridTemplateRows_sw87i_gg_{grid-template-rows:var(--gridTemplateRows_sw87i)}", /*__inner_css_end__*/"sw87i_gg_"),
|
|
37
37
|
/*__reshadow_css_end__*/
|
|
38
38
|
{
|
|
39
|
-
"__SDataTable": "
|
|
40
|
-
"_gridTemplateColumns": "
|
|
41
|
-
"--gridTemplateColumns": "--
|
|
42
|
-
"_gridTemplateAreas": "
|
|
43
|
-
"--gridTemplateAreas": "--
|
|
44
|
-
"_gridTemplateRows": "
|
|
45
|
-
"--gridTemplateRows": "--
|
|
39
|
+
"__SDataTable": "___SDataTable_sw87i_gg_",
|
|
40
|
+
"_gridTemplateColumns": "__gridTemplateColumns_sw87i_gg_",
|
|
41
|
+
"--gridTemplateColumns": "--gridTemplateColumns_sw87i",
|
|
42
|
+
"_gridTemplateAreas": "__gridTemplateAreas_sw87i_gg_",
|
|
43
|
+
"--gridTemplateAreas": "--gridTemplateAreas_sw87i",
|
|
44
|
+
"_gridTemplateRows": "__gridTemplateRows_sw87i_gg_",
|
|
45
|
+
"--gridTemplateRows": "--gridTemplateRows_sw87i"
|
|
46
46
|
});
|
|
47
47
|
/*!__reshadow-styles__:"../../style/scroll-shadows.shadow.css"*/
|
|
48
|
-
var scrollStyles = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".
|
|
48
|
+
var scrollStyles = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SScrollArea_lhh9n_gg_{width:-moz-fit-content;width:fit-content}.___SScrollArea_lhh9n_gg_ .___SContainer_lhh9n_gg_{overflow:visible;overflow:initial}.___SScrollArea_lhh9n_gg_ .___SContainer_lhh9n_gg_._scrollDirection_both_lhh9n_gg_{overflow:auto}.___SScrollArea_lhh9n_gg_ .___SContainer_lhh9n_gg_._scrollDirection_both_lhh9n_gg_.__loading_lhh9n_gg_,.___SScrollArea_lhh9n_gg_ .___SContainer_lhh9n_gg_._scrollDirection_horizontal_lhh9n_gg_.__loading_lhh9n_gg_,.___SScrollArea_lhh9n_gg_ .___SContainer_lhh9n_gg_._scrollDirection_vertical_lhh9n_gg_.__loading_lhh9n_gg_{overflow:hidden}.___SScrollArea_lhh9n_gg_ .___SContainer_lhh9n_gg_._scrollDirection_horizontal_lhh9n_gg_{overflow-x:auto;overflow-y:initial}.___SScrollArea_lhh9n_gg_ .___SContainer_lhh9n_gg_._scrollDirection_vertical_lhh9n_gg_{overflow-x:initial;overflow-y:auto}.___SScrollArea_lhh9n_gg_ .___SContainer_lhh9n_gg_.__headerHeight_lhh9n_gg_{scroll-padding-top:var(--headerHeight_lhh9n)}.___SScrollArea_lhh9n_gg_ .___SContainer_lhh9n_gg_.__leftScrollPadding_lhh9n_gg_{scroll-padding-left:var(--leftScrollPadding_lhh9n)}.___SScrollArea_lhh9n_gg_ .___SContainer_lhh9n_gg_.__rightScrollPadding_lhh9n_gg_{scroll-padding-right:var(--rightScrollPadding_lhh9n)}.___SScrollArea_lhh9n_gg_ .___SShadowHorizontal_lhh9n_gg_::before,.___SScrollArea_lhh9n_gg_ .___SShadowHorizontal_lhh9n_gg_:after,.___SScrollArea_lhh9n_gg_ .___SShadowVertical_lhh9n_gg_::after{z-index:20}.___SScrollArea_lhh9n_gg_ .___SShadowHorizontal_lhh9n_gg_.__leftOffset_lhh9n_gg_::before,.___SScrollArea_lhh9n_gg_ .___SShadowHorizontal_lhh9n_gg_.__rightOffset_lhh9n_gg_::after,.___SScrollArea_lhh9n_gg_ .___SShadowVertical_lhh9n_gg_::before{display:none}", /*__inner_css_end__*/"lhh9n_gg_"),
|
|
49
49
|
/*__reshadow_css_end__*/
|
|
50
50
|
{
|
|
51
|
-
"__SScrollArea": "
|
|
52
|
-
"__SContainer": "
|
|
53
|
-
"_scrollDirection_both": "
|
|
54
|
-
"_loading": "
|
|
55
|
-
"_scrollDirection_horizontal": "
|
|
56
|
-
"_scrollDirection_vertical": "
|
|
57
|
-
"_headerHeight": "
|
|
58
|
-
"--headerHeight": "--
|
|
59
|
-
"_leftScrollPadding": "
|
|
60
|
-
"--leftScrollPadding": "--
|
|
61
|
-
"_rightScrollPadding": "
|
|
62
|
-
"--rightScrollPadding": "--
|
|
63
|
-
"__SShadowVertical": "
|
|
64
|
-
"__SShadowHorizontal": "
|
|
51
|
+
"__SScrollArea": "___SScrollArea_lhh9n_gg_",
|
|
52
|
+
"__SContainer": "___SContainer_lhh9n_gg_",
|
|
53
|
+
"_scrollDirection_both": "_scrollDirection_both_lhh9n_gg_",
|
|
54
|
+
"_loading": "__loading_lhh9n_gg_",
|
|
55
|
+
"_scrollDirection_horizontal": "_scrollDirection_horizontal_lhh9n_gg_",
|
|
56
|
+
"_scrollDirection_vertical": "_scrollDirection_vertical_lhh9n_gg_",
|
|
57
|
+
"_headerHeight": "__headerHeight_lhh9n_gg_",
|
|
58
|
+
"--headerHeight": "--headerHeight_lhh9n",
|
|
59
|
+
"_leftScrollPadding": "__leftScrollPadding_lhh9n_gg_",
|
|
60
|
+
"--leftScrollPadding": "--leftScrollPadding_lhh9n",
|
|
61
|
+
"_rightScrollPadding": "__rightScrollPadding_lhh9n_gg_",
|
|
62
|
+
"--rightScrollPadding": "--rightScrollPadding_lhh9n",
|
|
63
|
+
"__SShadowVertical": "___SShadowVertical_lhh9n_gg_",
|
|
64
|
+
"__SShadowHorizontal": "___SShadowHorizontal_lhh9n_gg_",
|
|
65
|
+
"_leftOffset": "__leftOffset_lhh9n_gg_",
|
|
66
|
+
"_rightOffset": "__rightOffset_lhh9n_gg_"
|
|
65
67
|
});
|
|
66
68
|
var ACCORDION = exports.ACCORDION = Symbol('accordion');
|
|
67
69
|
var ROW_GROUP = exports.ROW_GROUP = Symbol('ROW_GROUP');
|
|
68
70
|
var UNIQ_ROW_KEY = exports.UNIQ_ROW_KEY = Symbol('UNIQ_ROW_KEY');
|
|
71
|
+
var IS_EMPTY_DATA_ROW = exports.IS_EMPTY_DATA_ROW = Symbol('IS_EMPTY_DATA_ROW');
|
|
69
72
|
var SELECT_ALL = exports.SELECT_ALL = Symbol('SELECT_ALL');
|
|
70
73
|
var ROW_INDEX = exports.ROW_INDEX = Symbol('ROW_INDEX');
|
|
71
74
|
var SCROLL_BAR_HEIGHT = 12;
|
|
@@ -77,6 +80,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
77
80
|
(0, _defineProperty2["default"])(_this, "columns", []);
|
|
78
81
|
(0, _defineProperty2["default"])(_this, "treeColumns", []);
|
|
79
82
|
(0, _defineProperty2["default"])(_this, "hasGroups", false);
|
|
83
|
+
(0, _defineProperty2["default"])(_this, "hasFixedColumn", false);
|
|
80
84
|
(0, _defineProperty2["default"])(_this, "focusedCell", [-1, -1]);
|
|
81
85
|
(0, _defineProperty2["default"])(_this, "scrollAreaRef", /*#__PURE__*/React.createRef());
|
|
82
86
|
(0, _defineProperty2["default"])(_this, "tableContainerRef", /*#__PURE__*/React.createRef());
|
|
@@ -92,11 +96,11 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
92
96
|
(0, _defineProperty2["default"])(_this, "state", {
|
|
93
97
|
scrollTop: 0,
|
|
94
98
|
scrollDirection: 'down',
|
|
95
|
-
selectAllMessage: ''
|
|
99
|
+
selectAllMessage: '',
|
|
100
|
+
shadowVertical: ''
|
|
96
101
|
});
|
|
97
102
|
(0, _defineProperty2["default"])(_this, "handleCellClick", function (e, opt) {
|
|
98
103
|
if (_core.lastInteraction.isMouse()) {
|
|
99
|
-
console.log('click on cell in data table handler', opt);
|
|
100
104
|
_this.initFocusableCell([_this.hasFocusableInHeader() ? opt.rowIndex + 1 : opt.rowIndex, opt.colIndex]);
|
|
101
105
|
}
|
|
102
106
|
});
|
|
@@ -142,15 +146,23 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
142
146
|
});
|
|
143
147
|
});
|
|
144
148
|
(0, _defineProperty2["default"])(_this, "onExpandRow", function (expandedRow) {
|
|
145
|
-
var
|
|
149
|
+
var _this$asProps2 = _this.asProps,
|
|
150
|
+
expandedRows = _this$asProps2.expandedRows,
|
|
151
|
+
onAccordionToggle = _this$asProps2.onAccordionToggle,
|
|
152
|
+
accordionMode = _this$asProps2.accordionMode;
|
|
146
153
|
if (expandedRows.has(expandedRow[UNIQ_ROW_KEY])) {
|
|
147
154
|
expandedRows["delete"](expandedRow[UNIQ_ROW_KEY]);
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
}, 300);
|
|
155
|
+
_this.handlers.expandedRows(new Set((0, _toConsumableArray2["default"])(expandedRows)));
|
|
156
|
+
onAccordionToggle === null || onAccordionToggle === void 0 || onAccordionToggle('close', expandedRow[UNIQ_ROW_KEY], expandedRow[ROW_INDEX]);
|
|
151
157
|
} else {
|
|
152
158
|
expandedRows.add(expandedRow[UNIQ_ROW_KEY]);
|
|
153
159
|
_this.handlers.expandedRows(new Set((0, _toConsumableArray2["default"])(expandedRows)));
|
|
160
|
+
onAccordionToggle === null || onAccordionToggle === void 0 || onAccordionToggle('open', expandedRow[UNIQ_ROW_KEY], expandedRow[ROW_INDEX]);
|
|
161
|
+
if (accordionMode === 'toggle') {
|
|
162
|
+
var rowIndex = expandedRow[ROW_INDEX];
|
|
163
|
+
var colIndex = _this.focusedCell[1];
|
|
164
|
+
_this.initFocusableCell([_this.hasFocusableInHeader() ? rowIndex + 1 : rowIndex, colIndex]);
|
|
165
|
+
}
|
|
154
166
|
}
|
|
155
167
|
});
|
|
156
168
|
(0, _defineProperty2["default"])(_this, "changeFocusCell", function (rowIndex, colIndex, direction) {
|
|
@@ -258,13 +270,44 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
258
270
|
}
|
|
259
271
|
});
|
|
260
272
|
(0, _defineProperty2["default"])(_this, "handleScroll", (0, _rafTrottle["default"])(function (e) {
|
|
261
|
-
|
|
262
|
-
|
|
273
|
+
if (_this.asProps.virtualScroll) {
|
|
274
|
+
var scrollTop = e.target.scrollTop;
|
|
275
|
+
var scrollDirection = scrollTop > _this.state.scrollTop ? 'down' : 'up';
|
|
276
|
+
_this.setState({
|
|
277
|
+
scrollTop: scrollTop,
|
|
278
|
+
scrollDirection: scrollDirection
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
if (_this.hasFixedColumn) {
|
|
282
|
+
_this.calculateVerticalShadow();
|
|
283
|
+
}
|
|
284
|
+
}));
|
|
285
|
+
(0, _defineProperty2["default"])(_this, "calculateVerticalShadow", function () {
|
|
286
|
+
if (!_this.tableContainerRef.current) return;
|
|
287
|
+
var _this$tableContainerR = _this.tableContainerRef.current,
|
|
288
|
+
scrollWidth = _this$tableContainerR.scrollWidth,
|
|
289
|
+
clientWidth = _this$tableContainerR.clientWidth,
|
|
290
|
+
scrollLeft = _this$tableContainerR.scrollLeft;
|
|
291
|
+
var maxScrollRight = scrollWidth - clientWidth;
|
|
292
|
+
var roundedScroll = Math.round(scrollLeft);
|
|
293
|
+
var roundedMaxScroll = Math.round(maxScrollRight);
|
|
294
|
+
var shadow = '';
|
|
295
|
+
// not scroll
|
|
296
|
+
if (roundedMaxScroll <= 0) {
|
|
297
|
+
// start scroll
|
|
298
|
+
} else if (roundedScroll <= 0) {
|
|
299
|
+
shadow = 'end';
|
|
300
|
+
// end scroll
|
|
301
|
+
} else if (roundedScroll >= roundedMaxScroll) {
|
|
302
|
+
shadow = 'start';
|
|
303
|
+
// median scroll
|
|
304
|
+
} else if (roundedScroll > 0) {
|
|
305
|
+
shadow = 'median';
|
|
306
|
+
}
|
|
263
307
|
_this.setState({
|
|
264
|
-
|
|
265
|
-
scrollDirection: scrollDirection
|
|
308
|
+
shadowVertical: shadow
|
|
266
309
|
});
|
|
267
|
-
})
|
|
310
|
+
});
|
|
268
311
|
(0, _defineProperty2["default"])(_this, "handleFocus", function (e) {
|
|
269
312
|
if (_this.asProps.loading) {
|
|
270
313
|
var _this$spinnerRef$curr;
|
|
@@ -409,25 +452,23 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
409
452
|
key: "componentDidMount",
|
|
410
453
|
value: function componentDidMount() {
|
|
411
454
|
var _this2 = this;
|
|
412
|
-
var _this$
|
|
413
|
-
headerProps = _this$
|
|
414
|
-
loading = _this$
|
|
415
|
-
|
|
416
|
-
if (headerProps !== null && headerProps !== void 0 && headerProps.sticky && !headerProps.h || loading || this.columns.some(function (c) {
|
|
417
|
-
return c.fixed;
|
|
418
|
-
})) {
|
|
455
|
+
var _this$asProps3 = this.asProps,
|
|
456
|
+
headerProps = _this$asProps3.headerProps,
|
|
457
|
+
loading = _this$asProps3.loading;
|
|
458
|
+
if (headerProps !== null && headerProps !== void 0 && headerProps.sticky && !headerProps.h || loading || this.hasFixedColumn) {
|
|
419
459
|
requestAnimationFrame(function () {
|
|
420
460
|
_this2.forceUpdate();
|
|
461
|
+
_this2.calculateVerticalShadow();
|
|
421
462
|
});
|
|
422
463
|
}
|
|
423
464
|
}
|
|
424
465
|
}, {
|
|
425
466
|
key: "componentDidUpdate",
|
|
426
467
|
value: function componentDidUpdate(prevProps) {
|
|
427
|
-
var _this$
|
|
428
|
-
data = _this$
|
|
429
|
-
selectedRows = _this$
|
|
430
|
-
columns = _this$
|
|
468
|
+
var _this$asProps4 = this.asProps,
|
|
469
|
+
data = _this$asProps4.data,
|
|
470
|
+
selectedRows = _this$asProps4.selectedRows,
|
|
471
|
+
columns = _this$asProps4.columns;
|
|
431
472
|
if (prevProps.columns !== columns) {
|
|
432
473
|
var cols = this.calculateColumnsFromConfig();
|
|
433
474
|
this.columns = cols[0];
|
|
@@ -437,6 +478,9 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
437
478
|
this.rows = this.calculateRows();
|
|
438
479
|
this.flatRows = this.rows.flat();
|
|
439
480
|
this.forceUpdate();
|
|
481
|
+
if (this.hasFixedColumn) {
|
|
482
|
+
this.calculateVerticalShadow();
|
|
483
|
+
}
|
|
440
484
|
}
|
|
441
485
|
if (prevProps.selectedRows !== selectedRows && selectedRows !== undefined) {
|
|
442
486
|
if (prevProps.selectedRows.length < data.length && selectedRows.length === data.length) {
|
|
@@ -449,9 +493,9 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
449
493
|
}, {
|
|
450
494
|
key: "totalRows",
|
|
451
495
|
get: function get() {
|
|
452
|
-
var _this$
|
|
453
|
-
totalRows = _this$
|
|
454
|
-
expandedRows = _this$
|
|
496
|
+
var _this$asProps5 = this.asProps,
|
|
497
|
+
totalRows = _this$asProps5.totalRows,
|
|
498
|
+
expandedRows = _this$asProps5.expandedRows;
|
|
455
499
|
var flatRows = this.rows.flat();
|
|
456
500
|
var expandedRowsCount = Array.from(expandedRows !== null && expandedRows !== void 0 ? expandedRows : []).reduce(function (acc, rowKey) {
|
|
457
501
|
var dtRow = flatRows.find(function (el) {
|
|
@@ -498,21 +542,22 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
498
542
|
key: "getHeadProps",
|
|
499
543
|
value: function getHeadProps() {
|
|
500
544
|
var _this3 = this;
|
|
501
|
-
var _this$
|
|
502
|
-
use = _this$
|
|
503
|
-
compact = _this$
|
|
504
|
-
sort = _this$
|
|
505
|
-
onSortChange = _this$
|
|
506
|
-
getI18nText = _this$
|
|
507
|
-
uid = _this$
|
|
508
|
-
headerProps = _this$
|
|
509
|
-
onSelectedRowsChange = _this$
|
|
510
|
-
selectedRows = _this$
|
|
511
|
-
sideIndents = _this$
|
|
545
|
+
var _this$asProps6 = this.asProps,
|
|
546
|
+
use = _this$asProps6.use,
|
|
547
|
+
compact = _this$asProps6.compact,
|
|
548
|
+
sort = _this$asProps6.sort,
|
|
549
|
+
onSortChange = _this$asProps6.onSortChange,
|
|
550
|
+
getI18nText = _this$asProps6.getI18nText,
|
|
551
|
+
uid = _this$asProps6.uid,
|
|
552
|
+
headerProps = _this$asProps6.headerProps,
|
|
553
|
+
onSelectedRowsChange = _this$asProps6.onSelectedRowsChange,
|
|
554
|
+
selectedRows = _this$asProps6.selectedRows,
|
|
555
|
+
sideIndents = _this$asProps6.sideIndents;
|
|
512
556
|
var _this$gridSettings = this.gridSettings,
|
|
513
557
|
gridTemplateColumns = _this$gridSettings.gridTemplateColumns,
|
|
514
558
|
gridTemplateAreas = _this$gridSettings.gridTemplateAreas;
|
|
515
|
-
|
|
559
|
+
var shadowVertical = this.state.shadowVertical;
|
|
560
|
+
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, headerProps), {}, {
|
|
516
561
|
columns: this.columns,
|
|
517
562
|
treeColumns: this.treeColumns,
|
|
518
563
|
use: use,
|
|
@@ -522,7 +567,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
522
567
|
onSortChange: onSortChange,
|
|
523
568
|
getI18nText: getI18nText,
|
|
524
569
|
uid: uid,
|
|
525
|
-
ref: this.headerRef,
|
|
570
|
+
ref: headerProps !== null && headerProps !== void 0 && headerProps.ref ? (0, _ref0.forkRef)(this.headerRef, headerProps.ref) : this.headerRef,
|
|
526
571
|
gridAreaGroupMap: this.gridAreaGroupMap,
|
|
527
572
|
gridTemplateColumns: gridTemplateColumns,
|
|
528
573
|
gridTemplateAreas: gridTemplateAreas,
|
|
@@ -543,32 +588,38 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
543
588
|
onSelectedRowsChange === null || onSelectedRowsChange === void 0 || onSelectedRowsChange(Array.from(selectedRowsSet), e);
|
|
544
589
|
},
|
|
545
590
|
getFixedStyle: this.getFixedStyle,
|
|
546
|
-
onCellClick: this.handleCellClick
|
|
547
|
-
|
|
591
|
+
onCellClick: this.handleCellClick,
|
|
592
|
+
shadowVertical: shadowVertical
|
|
593
|
+
});
|
|
548
594
|
}
|
|
549
595
|
}, {
|
|
550
596
|
key: "getBodyProps",
|
|
551
597
|
value: function getBodyProps() {
|
|
552
|
-
var _this$
|
|
553
|
-
use = _this$
|
|
554
|
-
compact = _this$
|
|
555
|
-
loading = _this$
|
|
556
|
-
getI18nText = _this$
|
|
557
|
-
expandedRows = _this$
|
|
558
|
-
virtualScroll = _this$
|
|
559
|
-
uid = _this$
|
|
560
|
-
rowProps = _this$
|
|
561
|
-
renderCell = _this$
|
|
562
|
-
headerProps = _this$
|
|
563
|
-
renderEmptyData = _this$
|
|
564
|
-
sideIndents = _this$
|
|
565
|
-
selectedRows = _this$
|
|
566
|
-
accordionDuration = _this$
|
|
598
|
+
var _this$asProps7 = this.asProps,
|
|
599
|
+
use = _this$asProps7.use,
|
|
600
|
+
compact = _this$asProps7.compact,
|
|
601
|
+
loading = _this$asProps7.loading,
|
|
602
|
+
getI18nText = _this$asProps7.getI18nText,
|
|
603
|
+
expandedRows = _this$asProps7.expandedRows,
|
|
604
|
+
virtualScroll = _this$asProps7.virtualScroll,
|
|
605
|
+
uid = _this$asProps7.uid,
|
|
606
|
+
rowProps = _this$asProps7.rowProps,
|
|
607
|
+
renderCell = _this$asProps7.renderCell,
|
|
608
|
+
headerProps = _this$asProps7.headerProps,
|
|
609
|
+
renderEmptyData = _this$asProps7.renderEmptyData,
|
|
610
|
+
sideIndents = _this$asProps7.sideIndents,
|
|
611
|
+
selectedRows = _this$asProps7.selectedRows,
|
|
612
|
+
accordionDuration = _this$asProps7.accordionDuration,
|
|
613
|
+
accordionMode = _this$asProps7.accordionMode,
|
|
614
|
+
rawData = _this$asProps7.data,
|
|
615
|
+
renderCellOverlay = _this$asProps7.renderCellOverlay;
|
|
567
616
|
var _this$gridSettings2 = this.gridSettings,
|
|
568
617
|
gridTemplateColumns = _this$gridSettings2.gridTemplateColumns,
|
|
569
618
|
gridTemplateAreas = _this$gridSettings2.gridTemplateAreas;
|
|
619
|
+
var shadowVertical = this.state.shadowVertical;
|
|
570
620
|
return {
|
|
571
621
|
accordionDuration: accordionDuration,
|
|
622
|
+
accordionMode: accordionMode,
|
|
572
623
|
columns: this.columns,
|
|
573
624
|
rows: this.rows,
|
|
574
625
|
flatRows: this.flatRows,
|
|
@@ -592,14 +643,17 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
592
643
|
virtualScroll: virtualScroll,
|
|
593
644
|
hasGroups: this.hasGroups,
|
|
594
645
|
uid: uid,
|
|
595
|
-
rowProps: rowProps,
|
|
596
|
-
renderCell: renderCell,
|
|
646
|
+
rowProps: this.rows.length > 0 ? rowProps : undefined,
|
|
647
|
+
renderCell: this.rows.length > 0 ? renderCell : undefined,
|
|
597
648
|
renderEmptyData: renderEmptyData,
|
|
598
649
|
sideIndents: sideIndents,
|
|
599
650
|
selectedRows: selectedRows,
|
|
600
651
|
onSelectRow: this.handleSelectRow,
|
|
601
652
|
getFixedStyle: this.getFixedStyle,
|
|
602
|
-
onCellClick: this.handleCellClick
|
|
653
|
+
onCellClick: this.handleCellClick,
|
|
654
|
+
rawData: rawData,
|
|
655
|
+
shadowVertical: shadowVertical,
|
|
656
|
+
renderCellOverlay: renderCellOverlay
|
|
603
657
|
};
|
|
604
658
|
}
|
|
605
659
|
}, {
|
|
@@ -634,20 +688,20 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
634
688
|
var _ref = this.asProps,
|
|
635
689
|
_ref2;
|
|
636
690
|
var SDataTable = _baseComponents.Box;
|
|
637
|
-
var _this$
|
|
638
|
-
Children = _this$
|
|
639
|
-
styles = _this$
|
|
640
|
-
w = _this$
|
|
641
|
-
wMax = _this$
|
|
642
|
-
wMin = _this$
|
|
643
|
-
h = _this$
|
|
644
|
-
hMax = _this$
|
|
645
|
-
hMin = _this$
|
|
646
|
-
virtualScroll = _this$
|
|
647
|
-
children = _this$
|
|
648
|
-
headerProps = _this$
|
|
649
|
-
loading = _this$
|
|
650
|
-
selectedRows = _this$
|
|
691
|
+
var _this$asProps8 = this.asProps,
|
|
692
|
+
Children = _this$asProps8.Children,
|
|
693
|
+
styles = _this$asProps8.styles,
|
|
694
|
+
w = _this$asProps8.w,
|
|
695
|
+
wMax = _this$asProps8.wMax,
|
|
696
|
+
wMin = _this$asProps8.wMin,
|
|
697
|
+
h = _this$asProps8.h,
|
|
698
|
+
hMax = _this$asProps8.hMax,
|
|
699
|
+
hMin = _this$asProps8.hMin,
|
|
700
|
+
virtualScroll = _this$asProps8.virtualScroll,
|
|
701
|
+
children = _this$asProps8.children,
|
|
702
|
+
headerProps = _this$asProps8.headerProps,
|
|
703
|
+
loading = _this$asProps8.loading,
|
|
704
|
+
selectedRows = _this$asProps8.selectedRows;
|
|
651
705
|
var _this$getScrollOffset = this.getScrollOffsetValue(),
|
|
652
706
|
_this$getScrollOffset2 = (0, _slicedToArray2["default"])(_this$getScrollOffset, 2),
|
|
653
707
|
offsetLeftSum = _this$getScrollOffset2[0],
|
|
@@ -690,7 +744,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
690
744
|
"ref": this.scrollAreaRef,
|
|
691
745
|
"container": this.tableContainerRef,
|
|
692
746
|
"styles": scrollStyles,
|
|
693
|
-
"onScroll":
|
|
747
|
+
"onScroll": this.handleScroll,
|
|
694
748
|
"disableAutofocusToContent": true
|
|
695
749
|
}), /*#__PURE__*/React.createElement(_baseComponents.ScrollArea.Container, {
|
|
696
750
|
tabIndex: -1
|
|
@@ -727,13 +781,13 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
727
781
|
}, _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(_baseComponents.ScrollArea.Bar, {
|
|
728
782
|
orientation: "horizontal",
|
|
729
783
|
top: topOffset - SCROLL_BAR_HEIGHT,
|
|
730
|
-
zIndex:
|
|
784
|
+
zIndex: 20
|
|
731
785
|
}), !loading && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_baseComponents.ScrollArea.Bar, {
|
|
732
786
|
orientation: "horizontal",
|
|
733
|
-
zIndex:
|
|
787
|
+
zIndex: 20
|
|
734
788
|
}), /*#__PURE__*/React.createElement(_baseComponents.ScrollArea.Bar, {
|
|
735
789
|
orientation: "vertical",
|
|
736
|
-
zIndex:
|
|
790
|
+
zIndex: 20
|
|
737
791
|
})), selectedRows !== undefined && /*#__PURE__*/React.createElement(_baseComponents.ScreenReaderOnly, _ref2.cn("ScreenReaderOnly", {
|
|
738
792
|
"aria-live": 'polite',
|
|
739
793
|
"role": 'status'
|
|
@@ -756,7 +810,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
756
810
|
if (selectedRows) {
|
|
757
811
|
var column = {
|
|
758
812
|
name: SELECT_ALL.toString(),
|
|
759
|
-
gtcWidth: '
|
|
813
|
+
gtcWidth: 'min-content',
|
|
760
814
|
alignItems: 'flex-start',
|
|
761
815
|
children: ''
|
|
762
816
|
};
|
|
@@ -776,6 +830,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
776
830
|
alignItems: columnElement.props.alignItems,
|
|
777
831
|
alignContent: columnElement.props.alignContent,
|
|
778
832
|
justifyContent: columnElement.props.justifyContent,
|
|
833
|
+
textAlign: columnElement.props.textAlign,
|
|
779
834
|
children: ''
|
|
780
835
|
};
|
|
781
836
|
return column;
|
|
@@ -830,7 +885,9 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
830
885
|
data = _this$props2.data,
|
|
831
886
|
selectedRows = _this$props2.selectedRows;
|
|
832
887
|
this.hasGroups = columns.some(function (column) {
|
|
833
|
-
return 'columns' in column
|
|
888
|
+
return 'columns' in column && column.columns.some(function (col) {
|
|
889
|
+
return col.children !== null;
|
|
890
|
+
});
|
|
834
891
|
});
|
|
835
892
|
var groupIndex = 0;
|
|
836
893
|
var gridColumnIndex = selectedRows ? 2 : 1;
|
|
@@ -840,23 +897,26 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
840
897
|
if (selectedRows) {
|
|
841
898
|
var column = {
|
|
842
899
|
name: SELECT_ALL.toString(),
|
|
843
|
-
gtcWidth: '
|
|
900
|
+
gtcWidth: 'min-content',
|
|
844
901
|
alignItems: 'flex-start',
|
|
845
902
|
children: ''
|
|
846
903
|
};
|
|
847
904
|
calculatedColumns.push(column);
|
|
848
905
|
}
|
|
849
|
-
var makeColumn = function makeColumn(columnElement, parent, isFirst, isLast) {
|
|
906
|
+
var makeColumn = function makeColumn(columnElement, parent, isFirst, isLast, hasGroups) {
|
|
850
907
|
var _columnElement$fixed, _ref4, _columnElement$border;
|
|
851
908
|
var leftBordersFromParent = isFirst && ((parent === null || parent === void 0 ? void 0 : parent.borders) === 'both' || (parent === null || parent === void 0 ? void 0 : parent.borders) === 'left') ? 'left' : undefined;
|
|
852
909
|
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;
|
|
853
910
|
var column = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, columnElement), {}, {
|
|
854
911
|
name: childIsColumn(columnElement) ? columnElement.name : '',
|
|
855
912
|
gtcWidth: childIsColumn(columnElement) ? calculateGridTemplateColumn(columnElement) : '',
|
|
856
|
-
fixed: (_columnElement$fixed = columnElement.fixed) !== null && _columnElement$fixed !== void 0 ? _columnElement$fixed : parent === null || parent === void 0 ? void 0 : parent.fixed,
|
|
913
|
+
fixed: (_columnElement$fixed = columnElement.fixed) !== null && _columnElement$fixed !== void 0 ? _columnElement$fixed : hasGroups ? parent === null || parent === void 0 ? void 0 : parent.fixed : undefined,
|
|
857
914
|
borders: (_ref4 = (_columnElement$border = columnElement.borders) !== null && _columnElement$border !== void 0 ? _columnElement$border : leftBordersFromParent) !== null && _ref4 !== void 0 ? _ref4 : rightBordersFromParent,
|
|
858
915
|
parent: parent
|
|
859
916
|
});
|
|
917
|
+
if (column.fixed) {
|
|
918
|
+
_this5.hasFixedColumn = true;
|
|
919
|
+
}
|
|
860
920
|
return column;
|
|
861
921
|
};
|
|
862
922
|
var childIsColumn = function childIsColumn(child) {
|
|
@@ -865,6 +925,17 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
865
925
|
var childIsGroup = function childIsGroup(child) {
|
|
866
926
|
return 'columns' in child;
|
|
867
927
|
};
|
|
928
|
+
var setShowShadows = function setShowShadows(col, i) {
|
|
929
|
+
var prevCol = treeColumns[i - 1];
|
|
930
|
+
if ('columns' in prevCol && prevCol.columns) {
|
|
931
|
+
prevCol = prevCol.columns[prevCol.columns.length - 1];
|
|
932
|
+
}
|
|
933
|
+
if (prevCol.fixed && !col.fixed) {
|
|
934
|
+
prevCol.showShadowVertical = true;
|
|
935
|
+
} else if (!prevCol.fixed && col.fixed) {
|
|
936
|
+
col.showShadowVertical = true;
|
|
937
|
+
}
|
|
938
|
+
};
|
|
868
939
|
columns.forEach(function (child, i) {
|
|
869
940
|
if (childIsColumn(child)) {
|
|
870
941
|
var col = makeColumn(child);
|
|
@@ -872,28 +943,35 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
872
943
|
gridColumnIndex++;
|
|
873
944
|
calculatedColumns.push(col);
|
|
874
945
|
treeColumns.push(col);
|
|
946
|
+
if (i > 0) {
|
|
947
|
+
setShowShadows(col, i);
|
|
948
|
+
}
|
|
875
949
|
} else if (childIsGroup(child)) {
|
|
876
950
|
var Group = makeColumn(child);
|
|
877
951
|
var childCount = child.columns.length;
|
|
878
952
|
var initGridColumn = gridColumnIndex;
|
|
953
|
+
var groupedRow = _this5.hasGroups ? 2 : 1;
|
|
879
954
|
Group.columns = [];
|
|
880
955
|
Group.children = child.children;
|
|
881
956
|
child.columns.forEach(function (child, j) {
|
|
882
957
|
var _Group$columns;
|
|
883
958
|
var isFirst = j === 0;
|
|
884
959
|
var isLast = j === childCount - 1;
|
|
885
|
-
var col = makeColumn(child, Group, isFirst, isLast);
|
|
960
|
+
var col = makeColumn(child, Group, isFirst, isLast, _this5.hasGroups);
|
|
886
961
|
if (i === 0 && j === 0 && data.some(function (d) {
|
|
887
962
|
return d[ACCORDION];
|
|
888
963
|
})) {
|
|
889
964
|
gridColumnIndex++;
|
|
890
|
-
col.gridArea = "
|
|
965
|
+
col.gridArea = "".concat(groupedRow, " / ").concat(gridColumnIndex - 1, " / ").concat(groupedRow + 1, " / ").concat(gridColumnIndex + 1);
|
|
891
966
|
} else {
|
|
892
|
-
col.gridArea = "
|
|
967
|
+
col.gridArea = "".concat(groupedRow, " / ").concat(gridColumnIndex, " / ").concat(groupedRow + 1, " / ").concat(gridColumnIndex + 1);
|
|
893
968
|
}
|
|
894
|
-
col.gridArea = "
|
|
969
|
+
col.gridArea = "".concat(groupedRow, " / ").concat(gridColumnIndex, " / ").concat(groupedRow + 1, " / ").concat(gridColumnIndex + 1);
|
|
895
970
|
gridColumnIndex++;
|
|
896
971
|
calculatedColumns.push(col);
|
|
972
|
+
if (isFirst && i > 0) {
|
|
973
|
+
setShowShadows(col, i);
|
|
974
|
+
}
|
|
897
975
|
(_Group$columns = Group.columns) === null || _Group$columns === void 0 || _Group$columns.push(col);
|
|
898
976
|
});
|
|
899
977
|
treeColumns.push(Group);
|
|
@@ -901,6 +979,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
901
979
|
groupIndex++;
|
|
902
980
|
}
|
|
903
981
|
});
|
|
982
|
+
console.log(calculatedColumns, treeColumns);
|
|
904
983
|
return [calculatedColumns, treeColumns];
|
|
905
984
|
}
|
|
906
985
|
}, {
|