@semcore/data-table 16.0.0-prerelease.7 → 16.0.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 +25 -1
- package/lib/cjs/components/Body/Body.js +436 -0
- package/lib/cjs/components/Body/Body.js.map +1 -0
- package/lib/cjs/components/Body/Body.types.js +2 -0
- package/lib/cjs/components/Body/Body.types.js.map +1 -0
- package/lib/cjs/components/Body/Cell.js +194 -0
- package/lib/cjs/components/Body/Cell.js.map +1 -0
- package/lib/cjs/components/Body/Cell.types.js +2 -0
- package/lib/cjs/components/Body/Cell.types.js.map +1 -0
- package/lib/cjs/components/Body/MergedCells.js +29 -0
- package/lib/cjs/components/Body/MergedCells.js.map +1 -0
- package/lib/cjs/components/Body/Row.js +244 -0
- package/lib/cjs/components/Body/Row.js.map +1 -0
- package/lib/cjs/components/Body/Row.types.js +4 -0
- package/lib/cjs/components/Body/Row.types.js.map +1 -0
- package/lib/cjs/components/Body/style.shadow.css +257 -0
- package/lib/cjs/components/DataTable/DataTable.js +981 -0
- package/lib/cjs/components/DataTable/DataTable.js.map +1 -0
- package/lib/cjs/{types.js → components/DataTable/DataTable.types.js} +1 -1
- package/lib/cjs/components/DataTable/DataTable.types.js.map +1 -0
- package/lib/cjs/components/DataTable/dataTable.shadow.css +17 -0
- package/lib/cjs/components/Head/Column.js +316 -0
- package/lib/cjs/components/Head/Column.js.map +1 -0
- package/lib/cjs/components/Head/Column.types.js +2 -0
- package/lib/cjs/components/Head/Column.types.js.map +1 -0
- package/lib/cjs/components/Head/Group.js +115 -0
- package/lib/cjs/components/Head/Group.js.map +1 -0
- package/lib/cjs/components/Head/Group.type.js +2 -0
- package/lib/cjs/components/Head/Group.type.js.map +1 -0
- package/lib/cjs/components/Head/Head.js +205 -0
- package/lib/cjs/components/Head/Head.js.map +1 -0
- package/lib/cjs/components/Head/Head.types.js +2 -0
- package/lib/cjs/components/Head/Head.types.js.map +1 -0
- package/lib/cjs/components/Head/style.shadow.css +176 -0
- package/lib/cjs/index.js +25 -15
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/style/scroll-shadows.shadow.css +39 -5
- package/lib/cjs/translations/en.json +6 -1
- package/lib/cjs/utils.js +16 -7
- package/lib/cjs/utils.js.map +1 -1
- package/lib/es6/components/Body/Body.js +429 -0
- package/lib/es6/components/Body/Body.js.map +1 -0
- package/lib/es6/components/Body/Body.types.js +2 -0
- package/lib/es6/components/Body/Body.types.js.map +1 -0
- package/lib/es6/components/Body/Cell.js +187 -0
- package/lib/es6/components/Body/Cell.js.map +1 -0
- package/lib/es6/components/Body/Cell.types.js +2 -0
- package/lib/es6/components/Body/Cell.types.js.map +1 -0
- package/lib/es6/components/Body/MergedCells.js +20 -0
- package/lib/es6/components/Body/MergedCells.js.map +1 -0
- package/lib/es6/components/Body/Row.js +237 -0
- package/lib/es6/components/Body/Row.js.map +1 -0
- package/lib/es6/components/Body/Row.types.js +2 -0
- package/lib/es6/components/Body/Row.types.js.map +1 -0
- package/lib/es6/components/Body/style.shadow.css +257 -0
- package/lib/es6/components/DataTable/DataTable.js +970 -0
- package/lib/es6/components/DataTable/DataTable.js.map +1 -0
- package/lib/es6/components/DataTable/DataTable.types.js +2 -0
- package/lib/es6/components/DataTable/DataTable.types.js.map +1 -0
- package/lib/es6/components/DataTable/dataTable.shadow.css +17 -0
- package/lib/es6/components/Head/Column.js +309 -0
- package/lib/es6/components/Head/Column.js.map +1 -0
- package/lib/es6/components/Head/Column.types.js +2 -0
- package/lib/es6/components/Head/Column.types.js.map +1 -0
- package/lib/es6/components/Head/Group.js +108 -0
- package/lib/es6/components/Head/Group.js.map +1 -0
- package/lib/es6/components/Head/Group.type.js +2 -0
- package/lib/es6/components/Head/Group.type.js.map +1 -0
- package/lib/es6/components/Head/Head.js +199 -0
- package/lib/es6/components/Head/Head.js.map +1 -0
- package/lib/es6/components/Head/Head.types.js +2 -0
- package/lib/es6/components/Head/Head.types.js.map +1 -0
- package/lib/es6/components/Head/style.shadow.css +176 -0
- package/lib/es6/index.js +5 -2
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/style/scroll-shadows.shadow.css +39 -5
- package/lib/es6/translations/en.json +6 -1
- package/lib/es6/utils.js +14 -6
- package/lib/es6/utils.js.map +1 -1
- package/lib/esm/components/Body/Body.mjs +392 -0
- package/lib/esm/components/Body/Cell.mjs +185 -0
- package/lib/esm/components/Body/MergedCells.mjs +23 -0
- package/lib/esm/components/Body/Row.mjs +218 -0
- package/lib/esm/components/Body/style.shadow.css +257 -0
- package/lib/esm/components/DataTable/DataTable.mjs +904 -0
- package/lib/esm/components/DataTable/dataTable.shadow.css +17 -0
- package/lib/esm/components/Head/Column.mjs +299 -0
- package/lib/esm/components/Head/Group.mjs +102 -0
- package/lib/esm/components/Head/Head.mjs +180 -0
- package/lib/esm/components/Head/style.shadow.css +176 -0
- package/lib/esm/index.mjs +8 -5
- package/lib/esm/style/scroll-shadows.shadow.css +41 -0
- package/lib/esm/translations/en.json.mjs +6 -1
- package/lib/esm/utils.mjs +6 -15
- package/lib/types/components/Body/Body.d.ts +8 -0
- package/lib/types/components/Body/Body.types.d.ts +56 -0
- package/lib/types/components/Body/Cell.d.ts +3 -0
- package/lib/types/components/Body/Cell.types.d.ts +20 -0
- package/lib/types/components/Body/MergedCells.d.ts +14 -0
- package/lib/types/components/Body/Row.d.ts +3 -0
- package/lib/types/components/Body/Row.types.d.ts +42 -0
- package/lib/types/components/DataTable/DataTable.d.ts +12 -0
- package/lib/types/components/DataTable/DataTable.types.d.ts +118 -0
- package/lib/types/components/Head/Column.d.ts +30 -0
- package/lib/types/components/Head/Column.types.d.ts +82 -0
- package/lib/types/components/Head/Group.d.ts +15 -0
- package/lib/types/components/Head/Group.type.d.ts +16 -0
- package/lib/types/components/Head/Head.d.ts +98 -0
- package/lib/types/components/Head/Head.types.d.ts +35 -0
- package/lib/types/index.d.ts +10 -2
- package/lib/types/translations/__intergalactic-dynamic-locales.d.ts +5 -0
- package/lib/types/utils.d.ts +8 -4
- package/package.json +11 -6
- package/vite.config.ts +0 -3
- package/lib/cjs/Body.js +0 -475
- package/lib/cjs/Body.js.map +0 -1
- package/lib/cjs/DataTable.js +0 -622
- package/lib/cjs/DataTable.js.map +0 -1
- package/lib/cjs/Head.js +0 -399
- package/lib/cjs/Head.js.map +0 -1
- package/lib/cjs/style/data-table.shadow.css +0 -394
- package/lib/cjs/types.js.map +0 -1
- package/lib/es6/Body.js +0 -468
- package/lib/es6/Body.js.map +0 -1
- package/lib/es6/DataTable.js +0 -614
- package/lib/es6/DataTable.js.map +0 -1
- package/lib/es6/Head.js +0 -391
- package/lib/es6/Head.js.map +0 -1
- package/lib/es6/style/data-table.shadow.css +0 -394
- package/lib/es6/types.js +0 -2
- package/lib/es6/types.js.map +0 -1
- package/lib/esm/Body.mjs +0 -427
- package/lib/esm/DataTable.mjs +0 -582
- package/lib/esm/Head.mjs +0 -369
- package/lib/types/Body.d.ts +0 -61
- package/lib/types/DataTable.d.ts +0 -205
- package/lib/types/Head.d.ts +0 -45
- package/lib/types/types.d.ts +0 -73
|
@@ -1,7 +1,41 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
SScrollArea {
|
|
2
|
+
width: fit-content;
|
|
3
|
+
|
|
4
|
+
SContainer {
|
|
5
|
+
overflow: unset;
|
|
6
|
+
|
|
7
|
+
&[scrollDirection='both'] {
|
|
8
|
+
overflow: auto;
|
|
9
|
+
}
|
|
10
|
+
&[scrollDirection='horizontal'] {
|
|
11
|
+
overflow-x: auto;
|
|
12
|
+
overflow-y: unset;
|
|
13
|
+
}
|
|
14
|
+
&[scrollDirection='vertical'] {
|
|
15
|
+
overflow-x: unset;
|
|
16
|
+
overflow-y: auto;
|
|
17
|
+
}
|
|
18
|
+
&[loading] {
|
|
19
|
+
overflow: hidden;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
&[headerHeight] {
|
|
23
|
+
scroll-padding-top: var(--headerHeight);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
SShadowVertical {
|
|
28
|
+
&:before {
|
|
29
|
+
display: none;
|
|
30
|
+
}
|
|
31
|
+
&:after {
|
|
32
|
+
z-index: 2;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
SShadowHorizontal {
|
|
36
|
+
&:before,
|
|
37
|
+
&:after {
|
|
38
|
+
z-index: 2;
|
|
39
|
+
}
|
|
6
40
|
}
|
|
7
41
|
}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
{
|
|
2
|
-
"sortableColumn": "Sortable"
|
|
2
|
+
"sortableColumn": "Sortable",
|
|
3
|
+
"DataTable.Cell.AccordionToggle.expand:aria-label": "Show details",
|
|
4
|
+
"DataTable.Cell.AccordionToggle.collapse:aria-label": "Hide details",
|
|
5
|
+
"DataTable.Header.selectAllCheckbox:aria-label": "All items",
|
|
6
|
+
"DataTable.allItemsSelected:aria-live": "All items selected",
|
|
7
|
+
"DataTable.allItemsDeselected:aria-live": "All items deselected"
|
|
3
8
|
}
|
package/lib/cjs/utils.js
CHANGED
|
@@ -3,19 +3,28 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.getScrollOffsetValue = exports.getFixedStyle = exports.flattenColumns = void 0;
|
|
6
|
+
exports.getScrollOffsetValue = exports.getFixedStyle = exports.flattenColumns = exports.createCssVarForWidth = void 0;
|
|
7
7
|
var getScrollOffsetValue = function getScrollOffsetValue(columns) {
|
|
8
8
|
return columns.reduce(function (acc, column) {
|
|
9
9
|
if (column.fixed === 'left') {
|
|
10
|
-
acc[0] += column.
|
|
10
|
+
acc[0] += column.calculatedWidth;
|
|
11
11
|
}
|
|
12
12
|
if (column.fixed === 'right') {
|
|
13
|
-
acc[1] += column.
|
|
13
|
+
acc[1] += column.calculatedWidth;
|
|
14
14
|
}
|
|
15
15
|
return acc;
|
|
16
16
|
}, [0, 0]);
|
|
17
17
|
};
|
|
18
18
|
exports.getScrollOffsetValue = getScrollOffsetValue;
|
|
19
|
+
var cssVarReg = /[:;\W]/g;
|
|
20
|
+
var createCssVarForWidth = function createCssVarForWidth(name) {
|
|
21
|
+
return "--".concat(name.replace(cssVarReg, '_'), "_width");
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* todo: Remove after v16
|
|
26
|
+
*/
|
|
27
|
+
exports.createCssVarForWidth = createCssVarForWidth;
|
|
19
28
|
var flattenColumns = function flattenColumns(columns) {
|
|
20
29
|
return columns.reduce(function (acc, column) {
|
|
21
30
|
var hasNestedColumns = 'columns' in column && column.columns.length > 0;
|
|
@@ -48,10 +57,10 @@ var getFixedStyle = function getFixedStyle(cell, columns) {
|
|
|
48
57
|
};
|
|
49
58
|
var columnsFixed = columns.slice(startIndexSideMap[side], endIndexSideMap[side]);
|
|
50
59
|
if (columnsFixed.length < 1) return [side, 0];
|
|
51
|
-
var
|
|
52
|
-
return
|
|
53
|
-
});
|
|
54
|
-
return [side,
|
|
60
|
+
var sum = columnsFixed.reduce(function (acc, column) {
|
|
61
|
+
return acc + column.calculatedWidth;
|
|
62
|
+
}, 0);
|
|
63
|
+
return [side, "".concat(sum, "px")];
|
|
55
64
|
};
|
|
56
65
|
exports.getFixedStyle = getFixedStyle;
|
|
57
66
|
//# sourceMappingURL=utils.js.map
|
package/lib/cjs/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["getScrollOffsetValue","columns","reduce","acc","column","fixed","
|
|
1
|
+
{"version":3,"file":"utils.js","names":["getScrollOffsetValue","columns","reduce","acc","column","fixed","calculatedWidth","exports","cssVarReg","createCssVarForWidth","name","concat","replace","flattenColumns","hasNestedColumns","length","getFixedStyle","cell","side","undefined","names","split","nameSideMap","left","right","index","findIndex","startIndexSideMap","endIndexSideMap","columnsFixed","slice","sum"],"sources":["../../src/utils.ts"],"sourcesContent":["import type { DTColumn } from './components/Head/Column.types';\n\nexport const getScrollOffsetValue = (columns: DTColumn[]) =>\n columns.reduce(\n (acc, column) => {\n if (column.fixed === 'left') {\n acc[0] += column.calculatedWidth;\n }\n if (column.fixed === 'right') {\n acc[1] += column.calculatedWidth;\n }\n return acc;\n },\n [0, 0] as [leftOffset: number, rightOffset: number],\n );\n\nconst cssVarReg = /[:;\\W]/g;\n\nexport const createCssVarForWidth = (name: string) => {\n return `--${name.replace(cssVarReg, '_')}_width`;\n};\n\n/**\n * todo: Remove after v16\n */\nexport const flattenColumns = (columns: any[]) =>\n columns.reduce((acc, column) => {\n const hasNestedColumns = 'columns' in column && column.columns.length > 0;\n const columns: any[] = hasNestedColumns ? flattenColumns(column.columns) : [column];\n acc = acc.concat(columns);\n return acc;\n }, [] as any[]);\n\nexport const getFixedStyle = (\n cell: Pick<DTColumn, 'name' | 'fixed'>,\n columns: DTColumn[],\n): [side: 'left' | 'right', style: string | number] | [side: undefined, style: undefined] => {\n const side = cell.fixed;\n if (!side) return [undefined, undefined];\n const names = cell.name.split('/');\n const nameSideMap = {\n left: names[0],\n right: names[names.length - 1],\n };\n const name = nameSideMap[side];\n const index = columns.findIndex((column) => column.name === name);\n\n if (index === -1) return [undefined, undefined];\n\n const startIndexSideMap = {\n left: 0,\n right: index + 1,\n };\n const endIndexSideMap = {\n left: index,\n right: columns.length,\n };\n const columnsFixed = columns.slice(startIndexSideMap[side], endIndexSideMap[side]);\n\n if (columnsFixed.length < 1) return [side, 0];\n\n const sum = columnsFixed.reduce((acc, column) => acc + column.calculatedWidth, 0);\n return [side, `${sum}px`];\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,429 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
2
|
+
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
3
|
+
import _createClass from "@babel/runtime/helpers/createClass";
|
|
4
|
+
import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
|
|
5
|
+
import _inherits from "@babel/runtime/helpers/inherits";
|
|
6
|
+
import _createSuper from "@babel/runtime/helpers/createSuper";
|
|
7
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
8
|
+
import { sstyled as _sstyled } from "@semcore/core";
|
|
9
|
+
import { assignProps as _assignProps } from "@semcore/core";
|
|
10
|
+
import * as React from 'react';
|
|
11
|
+
import { Component, createComponent, Root, sstyled } from '@semcore/core';
|
|
12
|
+
import { Box } from '@semcore/base-components';
|
|
13
|
+
import { Row } from './Row';
|
|
14
|
+
/*!__reshadow-styles__:"./style.shadow.css"*/
|
|
15
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SBody_49gvg_gg_,.___SRowGroup_49gvg_gg_,.___SRow_49gvg_gg_{display:contents}.___SBody_49gvg_gg_.__compact_49gvg_gg_ .___SCell_49gvg_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SBody_49gvg_gg_.__compact_49gvg_gg_ .___SCell_49gvg_gg_[data-aria-level]{padding-left:calc(var(--intergalactic-spacing-2x, 8px) + (var(--intergalactic-spacing-5x, 20px)*(var(--data-aria-level_49gvg) - 1)))}.___SCell_49gvg_gg_.__gridArea_49gvg_gg_,.___SCollapseRow_49gvg_gg_.__gridArea_49gvg_gg_,.___SRow_49gvg_gg_.__gridArea_49gvg_gg_{grid-area:var(--gridArea_49gvg)}.___SCollapseRow_49gvg_gg_ .___SCell_49gvg_gg_{display:block}.___SRow_49gvg_gg_.__active_49gvg_gg_>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_),.___SRow_49gvg_gg_.__expanded_49gvg_gg_._accordionType_cell_49gvg_gg_>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_).__withAccordion_49gvg_gg_,.___SRow_49gvg_gg_.__expanded_49gvg_gg_._accordionType_row_49gvg_gg_>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_){background-color:var(--intergalactic-table-td-cell-active, #e6e7ed)}.___SCollapseRow_49gvg_gg_>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_),.___SRow_49gvg_gg_.__expanded_49gvg_gg_>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_){background-color:var(--intergalactic-table-td-cell-accordion, #f4f5f9)}@media (hover:hover){.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_:hover)>.___SRow_49gvg_gg_._theme_muted_49gvg_gg_>.___SCell_49gvg_gg_[data-grouped-by=rowgroup]:not(.__theme_49gvg_gg_),.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_:hover)>.___SRow_49gvg_gg_>.___SCell_49gvg_gg_[data-grouped-by=rowgroup]._theme_muted_49gvg_gg_,.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_:hover)>.___SRow_49gvg_gg_>.___SCell_49gvg_gg_[data-grouped-by=rowgroup]:not(.__theme_49gvg_gg_),.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_49gvg_gg_._theme_muted_49gvg_gg_>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_),.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_49gvg_gg_>.___SCell_49gvg_gg_._theme_muted_49gvg_gg_,.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_49gvg_gg_>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_),.___SRow_49gvg_gg_._theme_muted_49gvg_gg_:hover>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_),.___SRow_49gvg_gg_:hover>.___SCell_49gvg_gg_._theme_muted_49gvg_gg_,.___SRow_49gvg_gg_:hover>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_:hover)>.___SRow_49gvg_gg_._theme_info_49gvg_gg_>.___SCell_49gvg_gg_[data-grouped-by=rowgroup]:not(.__theme_49gvg_gg_),.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_:hover)>.___SRow_49gvg_gg_>.___SCell_49gvg_gg_[data-grouped-by=rowgroup]._theme_info_49gvg_gg_,.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_49gvg_gg_._theme_info_49gvg_gg_>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_),.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_49gvg_gg_>.___SCell_49gvg_gg_._theme_info_49gvg_gg_,.___SRow_49gvg_gg_._theme_info_49gvg_gg_:hover>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_),.___SRow_49gvg_gg_:hover>.___SCell_49gvg_gg_._theme_info_49gvg_gg_{background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_:hover)>.___SRow_49gvg_gg_._theme_success_49gvg_gg_>.___SCell_49gvg_gg_[data-grouped-by=rowgroup]:not(.__theme_49gvg_gg_),.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_:hover)>.___SRow_49gvg_gg_>.___SCell_49gvg_gg_[data-grouped-by=rowgroup]._theme_success_49gvg_gg_,.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_49gvg_gg_._theme_success_49gvg_gg_>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_),.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_49gvg_gg_>.___SCell_49gvg_gg_._theme_success_49gvg_gg_,.___SRow_49gvg_gg_._theme_success_49gvg_gg_:hover>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_),.___SRow_49gvg_gg_:hover>.___SCell_49gvg_gg_._theme_success_49gvg_gg_{background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_:hover)>.___SRow_49gvg_gg_._theme_warning_49gvg_gg_>.___SCell_49gvg_gg_[data-grouped-by=rowgroup]:not(.__theme_49gvg_gg_),.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_:hover)>.___SRow_49gvg_gg_>.___SCell_49gvg_gg_[data-grouped-by=rowgroup]._theme_warning_49gvg_gg_,.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_49gvg_gg_._theme_warning_49gvg_gg_>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_),.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_49gvg_gg_>.___SCell_49gvg_gg_._theme_warning_49gvg_gg_,.___SRow_49gvg_gg_._theme_warning_49gvg_gg_:hover>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_),.___SRow_49gvg_gg_:hover>.___SCell_49gvg_gg_._theme_warning_49gvg_gg_{background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_:hover)>.___SRow_49gvg_gg_._theme_danger_49gvg_gg_>.___SCell_49gvg_gg_[data-grouped-by=rowgroup]:not(.__theme_49gvg_gg_),.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_:hover)>.___SRow_49gvg_gg_>.___SCell_49gvg_gg_[data-grouped-by=rowgroup]._theme_danger_49gvg_gg_,.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_49gvg_gg_._theme_danger_49gvg_gg_>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_),.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_49gvg_gg_>.___SCell_49gvg_gg_._theme_danger_49gvg_gg_,.___SRow_49gvg_gg_._theme_danger_49gvg_gg_:hover>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_),.___SRow_49gvg_gg_:hover>.___SCell_49gvg_gg_._theme_danger_49gvg_gg_{background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}}.___SRow_49gvg_gg_._theme_muted_49gvg_gg_ .___SCell_49gvg_gg_:not(.__theme_49gvg_gg_){background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SRow_49gvg_gg_._theme_muted_49gvg_gg_.__active_49gvg_gg_>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_){background-color:var(--intergalactic-table-td-cell-active, #e6e7ed)}.___SRow_49gvg_gg_._theme_info_49gvg_gg_ .___SCell_49gvg_gg_:not(.__theme_49gvg_gg_){background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SRow_49gvg_gg_._theme_info_49gvg_gg_.__active_49gvg_gg_>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_){background-color:var(--intergalactic-table-td-cell-selected-active, #c4e5fe)}.___SRow_49gvg_gg_._theme_success_49gvg_gg_ .___SCell_49gvg_gg_:not(.__theme_49gvg_gg_){background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SRow_49gvg_gg_._theme_success_49gvg_gg_.__active_49gvg_gg_>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_){background-color:var(--intergalactic-table-td-cell-new-active, #9ef2c9)}.___SRow_49gvg_gg_._theme_warning_49gvg_gg_ .___SCell_49gvg_gg_:not(.__theme_49gvg_gg_){background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SRow_49gvg_gg_._theme_warning_49gvg_gg_.__active_49gvg_gg_>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_){background-color:var(--intergalactic-table-td-cell-warning-active, #ffdca2)}.___SRow_49gvg_gg_._theme_danger_49gvg_gg_ .___SCell_49gvg_gg_:not(.__theme_49gvg_gg_){background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SRow_49gvg_gg_._theme_danger_49gvg_gg_.__active_49gvg_gg_>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_){background-color:var(--intergalactic-table-td-cell-critical-active, #ffd7df)}.___SCell_49gvg_gg_{display:flex;height:100%;font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;border-bottom:1px solid var(--intergalactic-border-secondary, #e0e1e9);overflow:hidden;white-space:pre-wrap;word-break:break-word;font-feature-settings:\"tnum\";font-variant-numeric:tabular-nums;transition:width calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out;outline:0}.___SCell_49gvg_gg_ .___SAccordionToggle_49gvg_gg_{margin-right:var(--intergalactic-spacing-3x, 12px)}.___SCell_49gvg_gg_ .___SAccordionToggle_49gvg_gg_ svg{transition:transform calc(var(--intergalactic-duration-accordion, 200)*1ms) ease-out}.___SCell_49gvg_gg_ .___SAccordionToggle_49gvg_gg_.__expanded_49gvg_gg_ svg{transform:rotate(90deg)}.___SCell_49gvg_gg_._use_primary_49gvg_gg_{padding:var(--intergalactic-spacing-3x, 12px);min-height:45px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_49gvg_gg_._use_primary_49gvg_gg_[data-aria-level]{padding-left:calc(var(--intergalactic-spacing-3x, 12px) + ((var(--intergalactic-spacing-5x, 20px) + var(--intergalactic-spacing-2x, 8px))*(var(--data-aria-level_49gvg) - 1)))}.___SCell_49gvg_gg_._use_secondary_49gvg_gg_{padding:var(--intergalactic-spacing-2x, 8px);min-height:37px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_49gvg_gg_._use_secondary_49gvg_gg_[data-aria-level]{padding-left:calc(var(--intergalactic-spacing-2x, 8px) + ((var(--intergalactic-spacing-5x, 20px) + var(--intergalactic-spacing-2x, 8px))*(var(--data-aria-level_49gvg) - 1)))}.___SCell_49gvg_gg_._borders_both_49gvg_gg_,.___SCell_49gvg_gg_._borders_left_49gvg_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_49gvg_gg_._borders_both_49gvg_gg_,.___SCell_49gvg_gg_._borders_right_49gvg_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_49gvg_gg_.__fixed_49gvg_gg_{position:sticky;z-index:2}.___SCell_49gvg_gg_._theme_muted_49gvg_gg_{background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SCell_49gvg_gg_._theme_info_49gvg_gg_{background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SCell_49gvg_gg_._theme_success_49gvg_gg_{background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SCell_49gvg_gg_._theme_warning_49gvg_gg_{background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SCell_49gvg_gg_._theme_danger_49gvg_gg_{background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SSpinContainer_49gvg_gg_{position:absolute;left:0;right:0;bottom:0;top:0;display:flex;align-items:center;justify-content:center;background-color:var(--intergalactic-overlay-limitation-secondary, rgba(255, 255, 255, 0.85))}.___SSpinContainer_49gvg_gg_.__headerHeight_49gvg_gg_{top:var(--headerHeight_49gvg)}.___SEmptyData_49gvg_gg_{grid-column:1/-1}.___SRow_49gvg_gg_._sideIndents_l_49gvg_gg_ .___SCell_49gvg_gg_:first-child{padding-left:var(--intergalactic-spacing-5x, 20px)}.___SRow_49gvg_gg_._sideIndents_l_49gvg_gg_ .___SCell_49gvg_gg_:last-child{padding-right:var(--intergalactic-spacing-5x, 20px)}", /*__inner_css_end__*/"49gvg_gg_"),
|
|
16
|
+
/*__reshadow_css_end__*/
|
|
17
|
+
{
|
|
18
|
+
"__SBody": "___SBody_49gvg_gg_",
|
|
19
|
+
"__SRow": "___SRow_49gvg_gg_",
|
|
20
|
+
"__SRowGroup": "___SRowGroup_49gvg_gg_",
|
|
21
|
+
"_gridArea": "__gridArea_49gvg_gg_",
|
|
22
|
+
"__SCell": "___SCell_49gvg_gg_",
|
|
23
|
+
"__SCollapseRow": "___SCollapseRow_49gvg_gg_",
|
|
24
|
+
"--gridArea": "--gridArea_49gvg",
|
|
25
|
+
"_active": "__active_49gvg_gg_",
|
|
26
|
+
"_theme": "__theme_49gvg_gg_",
|
|
27
|
+
"_expanded": "__expanded_49gvg_gg_",
|
|
28
|
+
"_accordionType_row": "_accordionType_row_49gvg_gg_",
|
|
29
|
+
"_accordionType_cell": "_accordionType_cell_49gvg_gg_",
|
|
30
|
+
"_withAccordion": "__withAccordion_49gvg_gg_",
|
|
31
|
+
"_theme_muted": "_theme_muted_49gvg_gg_",
|
|
32
|
+
"_theme_info": "_theme_info_49gvg_gg_",
|
|
33
|
+
"_theme_success": "_theme_success_49gvg_gg_",
|
|
34
|
+
"_theme_warning": "_theme_warning_49gvg_gg_",
|
|
35
|
+
"_theme_danger": "_theme_danger_49gvg_gg_",
|
|
36
|
+
"_borders_both": "_borders_both_49gvg_gg_",
|
|
37
|
+
"_borders_left": "_borders_left_49gvg_gg_",
|
|
38
|
+
"_borders_right": "_borders_right_49gvg_gg_",
|
|
39
|
+
"_fixed": "__fixed_49gvg_gg_",
|
|
40
|
+
"__SSpinContainer": "___SSpinContainer_49gvg_gg_",
|
|
41
|
+
"_headerHeight": "__headerHeight_49gvg_gg_",
|
|
42
|
+
"--headerHeight": "--headerHeight_49gvg",
|
|
43
|
+
"__SEmptyData": "___SEmptyData_49gvg_gg_",
|
|
44
|
+
"_compact": "__compact_49gvg_gg_",
|
|
45
|
+
"--data-aria-level": "--data-aria-level_49gvg",
|
|
46
|
+
"__SAccordionToggle": "___SAccordionToggle_49gvg_gg_",
|
|
47
|
+
"_use_primary": "_use_primary_49gvg_gg_",
|
|
48
|
+
"_use_secondary": "_use_secondary_49gvg_gg_",
|
|
49
|
+
"_sideIndents_l": "_sideIndents_l_49gvg_gg_"
|
|
50
|
+
});
|
|
51
|
+
import { Cell } from './Cell';
|
|
52
|
+
import { MergedColumnsCell, MergedRowsCell } from './MergedCells';
|
|
53
|
+
import { ACCORDION, ROW_INDEX, UNIQ_ROW_KEY } from '../DataTable/DataTable';
|
|
54
|
+
import ChevronRightM from '@semcore/icon/ChevronRight/m';
|
|
55
|
+
import { ButtonLink } from '@semcore/button';
|
|
56
|
+
import Spin from '@semcore/spin';
|
|
57
|
+
import { isInteractiveElement } from '@semcore/core/lib/utils/isInteractiveElement';
|
|
58
|
+
var ROWS_BUFFER = 20;
|
|
59
|
+
var APROX_ROWS_ON_PAGE = 20;
|
|
60
|
+
var BodyRoot = /*#__PURE__*/function (_Component) {
|
|
61
|
+
_inherits(BodyRoot, _Component);
|
|
62
|
+
var _super = _createSuper(BodyRoot);
|
|
63
|
+
function BodyRoot() {
|
|
64
|
+
var _this;
|
|
65
|
+
_classCallCheck(this, BodyRoot);
|
|
66
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
67
|
+
args[_key] = arguments[_key];
|
|
68
|
+
}
|
|
69
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
70
|
+
_defineProperty(_assertThisInitialized(_this), "rowsHeightMap", new Map());
|
|
71
|
+
_defineProperty(_assertThisInitialized(_this), "indexForDownIterate", 0);
|
|
72
|
+
_defineProperty(_assertThisInitialized(_this), "indexForUpIterate", 0);
|
|
73
|
+
_defineProperty(_assertThisInitialized(_this), "handleRef", function (index, row) {
|
|
74
|
+
return function (node) {
|
|
75
|
+
if (!_this.rowsHeightMap.has(index) && node) {
|
|
76
|
+
_this.rowsHeightMap.set(index, [0, 0, node]);
|
|
77
|
+
_this.setRowHeight(index, row);
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
});
|
|
81
|
+
_defineProperty(_assertThisInitialized(_this), "handleExpandRow", function (row, index) {
|
|
82
|
+
setTimeout(function () {
|
|
83
|
+
_this.setRowHeight(index, row);
|
|
84
|
+
for (var i = index; i < _this.rowsHeightMap.size; i++) {
|
|
85
|
+
_this.setRowHeight(i, row);
|
|
86
|
+
}
|
|
87
|
+
}, 300); // we need to calculate after expanding animation
|
|
88
|
+
|
|
89
|
+
_this.asProps.onExpandRow(row);
|
|
90
|
+
});
|
|
91
|
+
_defineProperty(_assertThisInitialized(_this), "handleClickRow", function (row, index) {
|
|
92
|
+
return function (e) {
|
|
93
|
+
if (!isInteractiveElement(e.target)) {
|
|
94
|
+
_this.handleExpandRow(row, index);
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
});
|
|
98
|
+
_defineProperty(_assertThisInitialized(_this), "handleClickCell", function (row, index) {
|
|
99
|
+
return function (e) {
|
|
100
|
+
if (!isInteractiveElement(e.target)) {
|
|
101
|
+
_this.handleExpandRow(row, index);
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
});
|
|
105
|
+
return _this;
|
|
106
|
+
}
|
|
107
|
+
_createClass(BodyRoot, [{
|
|
108
|
+
key: "getRowProps",
|
|
109
|
+
value: function getRowProps(props) {
|
|
110
|
+
var _this$asProps = this.asProps,
|
|
111
|
+
use = _this$asProps.use,
|
|
112
|
+
gridTemplateAreas = _this$asProps.gridTemplateAreas,
|
|
113
|
+
gridTemplateColumns = _this$asProps.gridTemplateColumns,
|
|
114
|
+
expandedRows = _this$asProps.expandedRows,
|
|
115
|
+
columns = _this$asProps.columns,
|
|
116
|
+
onExpandRow = _this$asProps.onExpandRow,
|
|
117
|
+
loading = _this$asProps.loading,
|
|
118
|
+
hasGroups = _this$asProps.hasGroups,
|
|
119
|
+
scrollAreaRef = _this$asProps.scrollAreaRef,
|
|
120
|
+
uid = _this$asProps.uid,
|
|
121
|
+
onBackFromAccordion = _this$asProps.onBackFromAccordion,
|
|
122
|
+
rowProps = _this$asProps.rowProps,
|
|
123
|
+
rows = _this$asProps.rows,
|
|
124
|
+
flatRows = _this$asProps.flatRows,
|
|
125
|
+
sideIndents = _this$asProps.sideIndents,
|
|
126
|
+
selectedRows = _this$asProps.selectedRows,
|
|
127
|
+
onSelectRow = _this$asProps.onSelectRow;
|
|
128
|
+
var row = props.row;
|
|
129
|
+
var index = row[ROW_INDEX];
|
|
130
|
+
var rowIndex = Array.from(expandedRows !== null && expandedRows !== void 0 ? expandedRows : []).reduce(function (acc, item) {
|
|
131
|
+
var rowIndex = flatRows.findIndex(function (row) {
|
|
132
|
+
return row[UNIQ_ROW_KEY] === item;
|
|
133
|
+
});
|
|
134
|
+
if (rowIndex < index) {
|
|
135
|
+
var _flatRows$rowIndex;
|
|
136
|
+
var expandedRow = (_flatRows$rowIndex = flatRows[rowIndex]) === null || _flatRows$rowIndex === void 0 ? void 0 : _flatRows$rowIndex[ACCORDION];
|
|
137
|
+
if (Array.isArray(expandedRow)) {
|
|
138
|
+
acc = acc + expandedRow.length;
|
|
139
|
+
} else {
|
|
140
|
+
acc = acc + 1;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
return acc;
|
|
144
|
+
}, index);
|
|
145
|
+
var gridRowIndex = rowIndex + (hasGroups ? 3 : 2); // 1 - for header, 1 - because start not from 0, but from 1
|
|
146
|
+
var ariaRowIndex = rowIndex + 2; // 1 - for header, 1 - because start not from 0, but from 1
|
|
147
|
+
|
|
148
|
+
var accordionDataGridArea = Array.isArray(row[ACCORDION]) ? "".concat(gridRowIndex + 1, " / 1 / ").concat(gridRowIndex + 1 + row[ACCORDION].length, " / ").concat(columns.length + 1) : "".concat(gridRowIndex + 1, " / 1 / ").concat(gridRowIndex + 1, " / ").concat(columns.length + 1);
|
|
149
|
+
return _objectSpread(_objectSpread({
|
|
150
|
+
onClick: row[ACCORDION] ? this.handleClickRow(row, index) : undefined
|
|
151
|
+
}, rowProps === null || rowProps === void 0 ? void 0 : rowProps(row, index)), {}, {
|
|
152
|
+
use: use,
|
|
153
|
+
uid: uid,
|
|
154
|
+
gridTemplateAreas: gridTemplateAreas,
|
|
155
|
+
gridTemplateColumns: gridTemplateColumns,
|
|
156
|
+
expanded: expandedRows === null || expandedRows === void 0 ? void 0 : expandedRows.has(row[UNIQ_ROW_KEY]),
|
|
157
|
+
accordionDataGridArea: accordionDataGridArea,
|
|
158
|
+
columns: columns,
|
|
159
|
+
rowIndex: index,
|
|
160
|
+
ariaRowIndex: ariaRowIndex,
|
|
161
|
+
gridRowIndex: gridRowIndex,
|
|
162
|
+
rows: rows,
|
|
163
|
+
onBackFromAccordion: onBackFromAccordion,
|
|
164
|
+
row: row,
|
|
165
|
+
expandedRows: expandedRows,
|
|
166
|
+
onExpandRow: onExpandRow,
|
|
167
|
+
selectedRows: selectedRows,
|
|
168
|
+
onSelectRow: onSelectRow,
|
|
169
|
+
inert: loading ? '' : undefined,
|
|
170
|
+
scrollAreaRef: scrollAreaRef,
|
|
171
|
+
sideIndents: sideIndents
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
}, {
|
|
175
|
+
key: "getCellProps",
|
|
176
|
+
value: function getCellProps(props) {
|
|
177
|
+
var _props$children,
|
|
178
|
+
_value3,
|
|
179
|
+
_this2 = this,
|
|
180
|
+
_value4;
|
|
181
|
+
var _this$asProps2 = this.asProps,
|
|
182
|
+
use = _this$asProps2.use,
|
|
183
|
+
renderCell = _this$asProps2.renderCell,
|
|
184
|
+
expandedRows = _this$asProps2.expandedRows,
|
|
185
|
+
styles = _this$asProps2.styles,
|
|
186
|
+
getI18nText = _this$asProps2.getI18nText,
|
|
187
|
+
virtualScroll = _this$asProps2.virtualScroll,
|
|
188
|
+
tableRef = _this$asProps2.tableRef;
|
|
189
|
+
var SAccordionToggle = ButtonLink;
|
|
190
|
+
var dataKey = props.column.name;
|
|
191
|
+
var cellValue = props.row[dataKey];
|
|
192
|
+
var value = undefined;
|
|
193
|
+
var isMergedRows = cellValue instanceof MergedRowsCell;
|
|
194
|
+
var isMergedColumns = cellValue instanceof MergedColumnsCell;
|
|
195
|
+
if (isMergedColumns || isMergedRows) {
|
|
196
|
+
value = cellValue.value;
|
|
197
|
+
if (isMergedColumns) {
|
|
198
|
+
dataKey = cellValue.dataKey;
|
|
199
|
+
}
|
|
200
|
+
} else {
|
|
201
|
+
value = cellValue;
|
|
202
|
+
}
|
|
203
|
+
var defaultRender = function defaultRender() {
|
|
204
|
+
var _value;
|
|
205
|
+
return /*#__PURE__*/React.isValidElement(value) ? value : (_value = value) === null || _value === void 0 ? void 0 : _value.toString();
|
|
206
|
+
};
|
|
207
|
+
var extraProps = {
|
|
208
|
+
use: use,
|
|
209
|
+
virtualScroll: Boolean(virtualScroll),
|
|
210
|
+
tableRef: tableRef,
|
|
211
|
+
children: (_props$children = props.children) !== null && _props$children !== void 0 ? _props$children : defaultRender()
|
|
212
|
+
};
|
|
213
|
+
if (renderCell) {
|
|
214
|
+
var _value$toString, _value2;
|
|
215
|
+
var external = renderCell({
|
|
216
|
+
columnName: props.column.name,
|
|
217
|
+
row: props.row,
|
|
218
|
+
column: props.column,
|
|
219
|
+
rowIndex: props.rowIndex,
|
|
220
|
+
columnIndex: props.columnIndex,
|
|
221
|
+
dataKey: dataKey,
|
|
222
|
+
defaultRender: defaultRender,
|
|
223
|
+
value: /*#__PURE__*/React.isValidElement(value) ? value : (_value$toString = (_value2 = value) === null || _value2 === void 0 ? void 0 : _value2.toString()) !== null && _value$toString !== void 0 ? _value$toString : '',
|
|
224
|
+
isMergedRows: isMergedRows,
|
|
225
|
+
isMergedColumns: isMergedColumns
|
|
226
|
+
});
|
|
227
|
+
if (this.isReactNode(external) || Array.isArray(external)) {
|
|
228
|
+
extraProps.children = external;
|
|
229
|
+
} else {
|
|
230
|
+
for (var key in external) {
|
|
231
|
+
extraProps[key] = external[key];
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
if (props.columnIndex === 0 && props.row[ACCORDION] || (_value3 = value) !== null && _value3 !== void 0 && _value3[ACCORDION]) {
|
|
236
|
+
var _ref2;
|
|
237
|
+
var expanded = expandedRows === null || expandedRows === void 0 ? void 0 : expandedRows.has(props.row[UNIQ_ROW_KEY]);
|
|
238
|
+
extraProps.children = (_ref2 = sstyled(styles), /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SAccordionToggle, _ref2.cn("SAccordionToggle", {
|
|
239
|
+
"aria-label": getI18nText('DataTable.Cell.AccordionToggle.expand:aria-label'),
|
|
240
|
+
"expanded": expanded,
|
|
241
|
+
"onClick": function onClick(e) {
|
|
242
|
+
e.stopPropagation();
|
|
243
|
+
_this2.handleExpandRow(props.row, props.rowIndex);
|
|
244
|
+
},
|
|
245
|
+
"color": '--intergalactic-icon-primary-neutral',
|
|
246
|
+
"aria-expanded": expanded,
|
|
247
|
+
"aria-describedby": props.id,
|
|
248
|
+
"aria-controls": props.accordionId
|
|
249
|
+
}), /*#__PURE__*/React.createElement(SAccordionToggle.Addon, {
|
|
250
|
+
tag: ChevronRightM
|
|
251
|
+
})), extraProps.children));
|
|
252
|
+
}
|
|
253
|
+
if ((_value4 = value) !== null && _value4 !== void 0 && _value4[ACCORDION]) {
|
|
254
|
+
extraProps.onClick = this.handleClickCell(props.row, props.rowIndex);
|
|
255
|
+
}
|
|
256
|
+
return extraProps;
|
|
257
|
+
}
|
|
258
|
+
}, {
|
|
259
|
+
key: "render",
|
|
260
|
+
value: function render() {
|
|
261
|
+
var _ref = this.asProps,
|
|
262
|
+
_ref3,
|
|
263
|
+
_this$rowsHeightMap$g5,
|
|
264
|
+
_this3 = this;
|
|
265
|
+
var SBody = Box;
|
|
266
|
+
var SRowGroup = Box;
|
|
267
|
+
var SSpinContainer = Box;
|
|
268
|
+
var _this$asProps3 = this.asProps,
|
|
269
|
+
styles = _this$asProps3.styles,
|
|
270
|
+
loading = _this$asProps3.loading,
|
|
271
|
+
headerHeight = _this$asProps3.headerHeight,
|
|
272
|
+
spinnerRef = _this$asProps3.spinnerRef,
|
|
273
|
+
virtualScroll = _this$asProps3.virtualScroll,
|
|
274
|
+
scrollDirection = _this$asProps3.scrollDirection,
|
|
275
|
+
tableContainerRef = _this$asProps3.tableContainerRef,
|
|
276
|
+
scrollTop = _this$asProps3.scrollTop,
|
|
277
|
+
renderEmptyData = _this$asProps3.renderEmptyData,
|
|
278
|
+
columns = _this$asProps3.columns,
|
|
279
|
+
uid = _this$asProps3.uid,
|
|
280
|
+
rows = _this$asProps3.rows;
|
|
281
|
+
var rowsToRender = rows;
|
|
282
|
+
var startIndex = -1;
|
|
283
|
+
var lastIndex = -1;
|
|
284
|
+
if (virtualScroll) {
|
|
285
|
+
var _virtualScroll$rowsBu, _tableContainerRef$cu, _tableContainerRef$cu2;
|
|
286
|
+
var rowsBuffer = typeof virtualScroll !== 'boolean' && 'rowsBuffer' in virtualScroll ? (_virtualScroll$rowsBu = virtualScroll.rowsBuffer) !== null && _virtualScroll$rowsBu !== void 0 ? _virtualScroll$rowsBu : ROWS_BUFFER : ROWS_BUFFER;
|
|
287
|
+
var offsetHeight = (_tableContainerRef$cu = (_tableContainerRef$cu2 = tableContainerRef.current) === null || _tableContainerRef$cu2 === void 0 ? void 0 : _tableContainerRef$cu2.offsetHeight) !== null && _tableContainerRef$cu !== void 0 ? _tableContainerRef$cu : 0;
|
|
288
|
+
var prevPrepared = scrollDirection === 'up' ? rowsBuffer : 4;
|
|
289
|
+
var nextPrepared = scrollDirection === 'up' ? 4 : rowsBuffer;
|
|
290
|
+
if (typeof virtualScroll === 'boolean' || 'aproxRowsOnPage' in virtualScroll) {
|
|
291
|
+
var _virtualScroll$aproxR;
|
|
292
|
+
var aproxRowsOnPage = typeof virtualScroll !== 'boolean' ? (_virtualScroll$aproxR = virtualScroll.aproxRowsOnPage) !== null && _virtualScroll$aproxR !== void 0 ? _virtualScroll$aproxR : APROX_ROWS_ON_PAGE : APROX_ROWS_ON_PAGE;
|
|
293
|
+
if (scrollDirection === 'down') {
|
|
294
|
+
var _this$rowsHeightMap$g, _this$rowsHeightMap$g2, _lastIndex;
|
|
295
|
+
for (var i = this.indexForDownIterate; i < this.rowsHeightMap.size - 1; i++) {
|
|
296
|
+
var value = this.rowsHeightMap.get(i);
|
|
297
|
+
if (!value) continue;
|
|
298
|
+
var key = i;
|
|
299
|
+
var valueFromToCompare = value[1];
|
|
300
|
+
var valueToToCompare = value[0];
|
|
301
|
+
if (startIndex === -1 && scrollTop < valueFromToCompare) {
|
|
302
|
+
startIndex = Math.max(key - prevPrepared, 0);
|
|
303
|
+
}
|
|
304
|
+
if (startIndex !== -1 && scrollTop + offsetHeight < valueToToCompare) {
|
|
305
|
+
lastIndex = Math.min(key + nextPrepared, rows.length);
|
|
306
|
+
}
|
|
307
|
+
if (startIndex !== -1 && lastIndex !== -1) {
|
|
308
|
+
break;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
if (scrollTop + offsetHeight < ((_this$rowsHeightMap$g = (_this$rowsHeightMap$g2 = this.rowsHeightMap.get((_lastIndex = lastIndex) !== null && _lastIndex !== void 0 ? _lastIndex : 0)) === null || _this$rowsHeightMap$g2 === void 0 ? void 0 : _this$rowsHeightMap$g2[1]) !== null && _this$rowsHeightMap$g !== void 0 ? _this$rowsHeightMap$g : 0)) {
|
|
312
|
+
lastIndex = lastIndex + aproxRowsOnPage;
|
|
313
|
+
}
|
|
314
|
+
} else if (scrollDirection === 'up') {
|
|
315
|
+
var _this$rowsHeightMap$g3, _this$rowsHeightMap$g4, _startIndex;
|
|
316
|
+
for (var _i = this.indexForUpIterate; _i > 0; _i--) {
|
|
317
|
+
var _value5 = this.rowsHeightMap.get(_i);
|
|
318
|
+
if (!_value5) continue;
|
|
319
|
+
var _key2 = _i;
|
|
320
|
+
var _valueFromToCompare = _value5[1];
|
|
321
|
+
var _valueToToCompare = _value5[0];
|
|
322
|
+
if (lastIndex === -1 && scrollTop + offsetHeight > _valueToToCompare) {
|
|
323
|
+
lastIndex = Math.min(_key2 + nextPrepared, rows.length);
|
|
324
|
+
}
|
|
325
|
+
if (lastIndex !== -1 && scrollTop < _valueFromToCompare) {
|
|
326
|
+
startIndex = Math.max(_key2 - prevPrepared, 0);
|
|
327
|
+
}
|
|
328
|
+
if (startIndex !== -1 && lastIndex !== -1) {
|
|
329
|
+
break;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
if (scrollTop < ((_this$rowsHeightMap$g3 = (_this$rowsHeightMap$g4 = this.rowsHeightMap.get((_startIndex = startIndex) !== null && _startIndex !== void 0 ? _startIndex : 0)) === null || _this$rowsHeightMap$g4 === void 0 ? void 0 : _this$rowsHeightMap$g4[0]) !== null && _this$rowsHeightMap$g3 !== void 0 ? _this$rowsHeightMap$g3 : 0)) {
|
|
333
|
+
startIndex = Math.max(startIndex - aproxRowsOnPage, 0);
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
if (startIndex === -1) {
|
|
337
|
+
startIndex = scrollTop === 0 ? 0 : Math.max(rows.length - aproxRowsOnPage, 0);
|
|
338
|
+
}
|
|
339
|
+
if (lastIndex === -1) {
|
|
340
|
+
lastIndex = scrollTop === 0 ? aproxRowsOnPage : rows.length;
|
|
341
|
+
}
|
|
342
|
+
this.indexForDownIterate = startIndex;
|
|
343
|
+
this.indexForUpIterate = lastIndex;
|
|
344
|
+
rowsToRender = rows.slice(startIndex, lastIndex);
|
|
345
|
+
} else if ('rowHeight' in virtualScroll) {
|
|
346
|
+
var rowHeight = virtualScroll.rowHeight;
|
|
347
|
+
startIndex = Math.max(Math.floor(scrollTop / rowHeight) - prevPrepared, 0);
|
|
348
|
+
var _lastIndex2 = Math.min(Math.ceil((scrollTop + offsetHeight) / rowHeight) + nextPrepared, rows.length);
|
|
349
|
+
rowsToRender = rows.slice(startIndex, _lastIndex2);
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
startIndex = startIndex === -1 ? 0 : startIndex;
|
|
353
|
+
var rowMarginTop = (_this$rowsHeightMap$g5 = this.rowsHeightMap.get(startIndex - 1)) === null || _this$rowsHeightMap$g5 === void 0 ? void 0 : _this$rowsHeightMap$g5[1];
|
|
354
|
+
var emptyRow = null;
|
|
355
|
+
if (rowsToRender.length === 0) {
|
|
356
|
+
var _emptyRow;
|
|
357
|
+
emptyRow = (_emptyRow = {}, _defineProperty(_emptyRow, UNIQ_ROW_KEY, "".concat(uid, "_empty_data")), _defineProperty(_emptyRow, ROW_INDEX, 0), _defineProperty(_emptyRow, columns[0].name, new MergedColumnsCell(renderEmptyData(), {
|
|
358
|
+
dataKey: columns[0].name,
|
|
359
|
+
size: columns.length
|
|
360
|
+
})), _emptyRow);
|
|
361
|
+
}
|
|
362
|
+
return _ref3 = sstyled(styles), /*#__PURE__*/React.createElement(SBody, _ref3.cn("SBody", _objectSpread({}, _assignProps({
|
|
363
|
+
"__excludeProps": ['data']
|
|
364
|
+
}, _ref))), emptyRow && /*#__PURE__*/React.createElement(Body.Row, {
|
|
365
|
+
row: emptyRow,
|
|
366
|
+
offset: 0
|
|
367
|
+
}), typeof virtualScroll === 'boolean' && rowMarginTop && /*#__PURE__*/React.createElement(Box, _ref3.cn("Box", {
|
|
368
|
+
"h": rowMarginTop
|
|
369
|
+
})), rowsToRender.map(function (row, index) {
|
|
370
|
+
if (Array.isArray(row)) {
|
|
371
|
+
var _ref4;
|
|
372
|
+
return _ref4 = sstyled(styles), /*#__PURE__*/React.createElement(SRowGroup, _ref4.cn("SRowGroup", {
|
|
373
|
+
"role": 'rowgroup',
|
|
374
|
+
"key": "gg_".concat(row[0][UNIQ_ROW_KEY]),
|
|
375
|
+
"ref": _this3.handleRef(startIndex + index, row[0])
|
|
376
|
+
}), row.map(function (item, i) {
|
|
377
|
+
return /*#__PURE__*/React.createElement(Body.Row, {
|
|
378
|
+
key: item[UNIQ_ROW_KEY],
|
|
379
|
+
row: item
|
|
380
|
+
});
|
|
381
|
+
}));
|
|
382
|
+
}
|
|
383
|
+
return /*#__PURE__*/React.createElement(Body.Row, {
|
|
384
|
+
key: row[UNIQ_ROW_KEY],
|
|
385
|
+
row: row,
|
|
386
|
+
ref: _this3.handleRef(startIndex + index, row)
|
|
387
|
+
});
|
|
388
|
+
}), loading && /*#__PURE__*/React.createElement(SSpinContainer, _ref3.cn("SSpinContainer", {
|
|
389
|
+
"innerOutline": true,
|
|
390
|
+
"headerHeight": "".concat(headerHeight, "px"),
|
|
391
|
+
"tabIndex": -1,
|
|
392
|
+
"ref": spinnerRef,
|
|
393
|
+
"role": 'row'
|
|
394
|
+
}), /*#__PURE__*/React.createElement(Spin, _ref3.cn("Spin", {
|
|
395
|
+
"size": 'xxl',
|
|
396
|
+
"role": 'gridcell'
|
|
397
|
+
}))));
|
|
398
|
+
}
|
|
399
|
+
}, {
|
|
400
|
+
key: "isReactNode",
|
|
401
|
+
value: function isReactNode(obj) {
|
|
402
|
+
return typeof obj === 'string' || typeof obj === 'number' || /*#__PURE__*/React.isValidElement(obj) || typeof obj === 'boolean' || obj === undefined || obj === null;
|
|
403
|
+
}
|
|
404
|
+
}, {
|
|
405
|
+
key: "setRowHeight",
|
|
406
|
+
value: function setRowHeight(index, row) {
|
|
407
|
+
var _this$rowsHeightMap$g6, _node$children$item;
|
|
408
|
+
var expandedRows = this.asProps.expandedRows;
|
|
409
|
+
var node = (_this$rowsHeightMap$g6 = this.rowsHeightMap.get(index)) === null || _this$rowsHeightMap$g6 === void 0 ? void 0 : _this$rowsHeightMap$g6[2];
|
|
410
|
+
var firstChild = (node === null || node === void 0 ? void 0 : node.role) === 'rowgroup' ? node === null || node === void 0 ? void 0 : (_node$children$item = node.children.item(0)) === null || _node$children$item === void 0 ? void 0 : _node$children$item.children.item(0) : node === null || node === void 0 ? void 0 : node.children.item(0);
|
|
411
|
+
if (node && firstChild instanceof HTMLElement) {
|
|
412
|
+
var offset = firstChild.offsetTop - this.asProps.headerHeight;
|
|
413
|
+
var height = firstChild.getBoundingClientRect().height;
|
|
414
|
+
if (expandedRows.has(row[UNIQ_ROW_KEY]) && node.nextSibling instanceof HTMLElement) {
|
|
415
|
+
height = height + node.nextSibling.getBoundingClientRect().height;
|
|
416
|
+
}
|
|
417
|
+
this.rowsHeightMap.set(index, [offset, offset + height, node]);
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
}]);
|
|
421
|
+
return BodyRoot;
|
|
422
|
+
}(Component);
|
|
423
|
+
_defineProperty(BodyRoot, "displayName", 'Body');
|
|
424
|
+
_defineProperty(BodyRoot, "style", style);
|
|
425
|
+
export var Body = createComponent(BodyRoot, {
|
|
426
|
+
Row: Row,
|
|
427
|
+
Cell: Cell
|
|
428
|
+
});
|
|
429
|
+
//# sourceMappingURL=Body.js.map
|