@semcore/data-table 3.1.1 → 3.1.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 +6 -0
- package/lib/cjs/Body.js +23 -20
- package/lib/cjs/Body.js.map +1 -1
- package/lib/cjs/DataTable.js +57 -47
- package/lib/cjs/DataTable.js.map +1 -1
- package/lib/cjs/Head.js +7 -7
- package/lib/cjs/Head.js.map +1 -1
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/types.js.map +1 -1
- package/lib/cjs/utils.js.map +1 -1
- package/lib/es6/Body.js +23 -20
- package/lib/es6/Body.js.map +1 -1
- package/lib/es6/DataTable.js +57 -47
- package/lib/es6/DataTable.js.map +1 -1
- package/lib/es6/Head.js +7 -7
- package/lib/es6/Head.js.map +1 -1
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/types.js.map +1 -1
- package/lib/es6/utils.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
|
|
4
4
|
|
|
5
|
+
## [3.1.2] - 2022-07-22
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- Version patch update due to children dependencies update (`@semcore/utils` [3.34.0 ~> 3.35.0]).
|
|
10
|
+
|
|
5
11
|
## [3.1.1] - 2022-07-21
|
|
6
12
|
|
|
7
13
|
### Changed
|
package/lib/cjs/Body.js
CHANGED
|
@@ -71,14 +71,14 @@ var scrollStyles = (
|
|
|
71
71
|
/*__reshadow_css_start__*/
|
|
72
72
|
_core.sstyled.insert(
|
|
73
73
|
/*__inner_css_start__*/
|
|
74
|
-
".
|
|
74
|
+
".___SShadowHorizontal_1gzhg_gg_:before{left:var(--left_1gzhg)!important}.___SShadowHorizontal_1gzhg_gg_:after{right:var(--right_1gzhg)!important}"
|
|
75
75
|
/*__inner_css_end__*/
|
|
76
|
-
, "
|
|
76
|
+
, "1gzhg_gg_")
|
|
77
77
|
/*__reshadow_css_end__*/
|
|
78
78
|
, {
|
|
79
|
-
"__SShadowHorizontal": "
|
|
80
|
-
"--left": "--
|
|
81
|
-
"--right": "--
|
|
79
|
+
"__SShadowHorizontal": "___SShadowHorizontal_1gzhg_gg_",
|
|
80
|
+
"--left": "--left_1gzhg",
|
|
81
|
+
"--right": "--right_1gzhg"
|
|
82
82
|
});
|
|
83
83
|
var testEnv = process.env.NODE_ENV === 'test';
|
|
84
84
|
|
|
@@ -109,11 +109,11 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
109
109
|
scrollAreaHeight: undefined,
|
|
110
110
|
scrollOffset: 0
|
|
111
111
|
});
|
|
112
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "firstRowRef", _react["default"].createRef());
|
|
112
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "firstRowRef", /*#__PURE__*/_react["default"].createRef());
|
|
113
113
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "firstRowResizeObserver", null);
|
|
114
114
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getRowHeight", function () {
|
|
115
115
|
var virtualScroll = _this.asProps.virtualScroll;
|
|
116
|
-
var rowHeightFromProps = (0, _typeof2["default"])(virtualScroll) === 'object' && virtualScroll
|
|
116
|
+
var rowHeightFromProps = (0, _typeof2["default"])(virtualScroll) === 'object' && (virtualScroll === null || virtualScroll === void 0 ? void 0 : virtualScroll.rowHeight);
|
|
117
117
|
return rowHeightFromProps || _this.state.rowHeight;
|
|
118
118
|
});
|
|
119
119
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleFirstRowResize", (0, _rafTrottle["default"])(function (entries) {
|
|
@@ -183,7 +183,7 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
183
183
|
"data-ui-name": "group-cell"
|
|
184
184
|
}), _this2.renderRows(cell));
|
|
185
185
|
} else {
|
|
186
|
-
var _ref3;
|
|
186
|
+
var _ref3, _column$props;
|
|
187
187
|
|
|
188
188
|
var column = columns.find(function (c) {
|
|
189
189
|
return c.name === cell.name;
|
|
@@ -200,7 +200,7 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
200
200
|
var props = {
|
|
201
201
|
name: cell.name,
|
|
202
202
|
children: /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, cell.data),
|
|
203
|
-
justifyContent: column
|
|
203
|
+
justifyContent: column === null || column === void 0 ? void 0 : (_column$props = column.props) === null || _column$props === void 0 ? void 0 : _column$props.justifyContent,
|
|
204
204
|
style: {
|
|
205
205
|
width: vars.length === 1 ? vars[0] : "calc(".concat(vars.join(' + '), ")")
|
|
206
206
|
}
|
|
@@ -254,7 +254,7 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
254
254
|
rowPropsLayers = _this$asProps2.rowPropsLayers,
|
|
255
255
|
uniqueKey = _this$asProps2.uniqueKey,
|
|
256
256
|
virtualScroll = _this$asProps2.virtualScroll;
|
|
257
|
-
var rowHeightFromProps = (0, _typeof2["default"])(virtualScroll) === 'object' && virtualScroll
|
|
257
|
+
var rowHeightFromProps = (0, _typeof2["default"])(virtualScroll) === 'object' && (virtualScroll === null || virtualScroll === void 0 ? void 0 : virtualScroll.rowHeight);
|
|
258
258
|
var rowData = cells.flatRowData || getCellsByColumn(cells);
|
|
259
259
|
var key = rowData[uniqueKey] ? String(rowData[uniqueKey]) : "row_".concat(dataIndex);
|
|
260
260
|
var needToMeasureHeight = dataIndex === 0 && !nested && !rowHeightFromProps;
|
|
@@ -305,7 +305,8 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
305
305
|
}, {
|
|
306
306
|
key: "renderVirtualizedRows",
|
|
307
307
|
value: function renderVirtualizedRows(rows) {
|
|
308
|
-
var
|
|
308
|
+
var _ref8,
|
|
309
|
+
_this4 = this;
|
|
309
310
|
|
|
310
311
|
if (rows.length === 0) return [];
|
|
311
312
|
var virtualScroll = this.asProps.virtualScroll;
|
|
@@ -313,10 +314,10 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
313
314
|
scrollOffset = _this$state.scrollOffset,
|
|
314
315
|
scrollAreaHeight = _this$state.scrollAreaHeight;
|
|
315
316
|
var rowHeight = this.getRowHeight();
|
|
316
|
-
var tollerance = ((0, _typeof2["default"])(virtualScroll) === 'object' ? virtualScroll
|
|
317
|
+
var tollerance = (_ref8 = (0, _typeof2["default"])(virtualScroll) === 'object' ? virtualScroll === null || virtualScroll === void 0 ? void 0 : virtualScroll.tollerance : 2) !== null && _ref8 !== void 0 ? _ref8 : 2;
|
|
317
318
|
var startIndex = Math.max(Math.floor(scrollOffset / rowHeight) - tollerance, 0);
|
|
318
319
|
var lastIndex = Math.min(Math.ceil((scrollOffset + scrollAreaHeight) / rowHeight) + tollerance, rows.length);
|
|
319
|
-
var rowHeightFromProps = (0, _typeof2["default"])(virtualScroll) === 'object' && virtualScroll
|
|
320
|
+
var rowHeightFromProps = (0, _typeof2["default"])(virtualScroll) === 'object' && (virtualScroll === null || virtualScroll === void 0 ? void 0 : virtualScroll.rowHeight);
|
|
320
321
|
var needToMeasureFirstRowHeight = !rowHeightFromProps;
|
|
321
322
|
var firstRow = {
|
|
322
323
|
cells: rows[0],
|
|
@@ -336,10 +337,10 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
336
337
|
processedVisibleRows.unshift(firstRow);
|
|
337
338
|
}
|
|
338
339
|
|
|
339
|
-
return processedVisibleRows.map(function (
|
|
340
|
-
var cells =
|
|
341
|
-
dataIndex =
|
|
342
|
-
topOffset =
|
|
340
|
+
return processedVisibleRows.map(function (_ref9) {
|
|
341
|
+
var cells = _ref9.cells,
|
|
342
|
+
dataIndex = _ref9.dataIndex,
|
|
343
|
+
topOffset = _ref9.topOffset;
|
|
343
344
|
return _this4.renderRow(cells, {
|
|
344
345
|
dataIndex: dataIndex,
|
|
345
346
|
topOffset: topOffset,
|
|
@@ -350,7 +351,9 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
350
351
|
}, {
|
|
351
352
|
key: "componentWillUnmount",
|
|
352
353
|
value: function componentWillUnmount() {
|
|
353
|
-
|
|
354
|
+
var _this$firstRowResizeO;
|
|
355
|
+
|
|
356
|
+
(_this$firstRowResizeO = this.firstRowResizeObserver) === null || _this$firstRowResizeO === void 0 ? void 0 : _this$firstRowResizeO.disconnect();
|
|
354
357
|
}
|
|
355
358
|
}, {
|
|
356
359
|
key: "render",
|
|
@@ -372,8 +375,8 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
372
375
|
virtualScroll = _this$asProps3.virtualScroll,
|
|
373
376
|
onResize = _this$asProps3.onResize,
|
|
374
377
|
onScroll = _this$asProps3.onScroll;
|
|
375
|
-
var columnsInitialized = columns.reduce(function (sum,
|
|
376
|
-
var width =
|
|
378
|
+
var columnsInitialized = columns.reduce(function (sum, _ref10) {
|
|
379
|
+
var width = _ref10.width;
|
|
377
380
|
return sum + width;
|
|
378
381
|
}, 0) > 0 || testEnv;
|
|
379
382
|
|
package/lib/cjs/Body.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Body.tsx"],"names":["testEnv","process","env","NODE_ENV","getCellsByColumn","cells","flattenCells","flat","Object","fromEntries","map","cell","name","data","Body","rowHeight","undefined","scrollAreaHeight","scrollOffset","React","createRef","virtualScroll","asProps","rowHeightFromProps","state","entries","contentRect","height","setState","oldState","event","target","scrollTop","firstRowRef","current","firstRowResizeObserver","ResizeObserver","handleFirstRowResize","observe","rowData","index","SCell","Flex","styles","columns","use","Array","isArray","SGroupCell","renderRows","column","find","c","value","vars","cssVar","props","children","justifyContent","style","width","length","join","cellPropsLayers","cellPropLayer","childrenPropsGetter","p","other","propsCell","fixed","theme","dataIndex","topOffset","nested","SRow","Box","rowPropsLayers","uniqueKey","flatRowData","key","String","needToMeasureHeight","renderCells","active","positioned","top","ref","rowPropsLayer","propsRow","rows","renderRow","getRowHeight","tollerance","startIndex","Math","max","floor","lastIndex","min","ceil","needToMeasureFirstRowHeight","firstRow","visibleRows","slice","processedVisibleRows","unshift","disconnect","SBody","SBodyWrapper","SScrollAreaBar","ScrollArea","Bar","SHeightHold","Children","$scrollRef","onResize","onScroll","columnsInitialized","reduce","sum","offsetLeftSum","offsetRightSum","offsetSum","holdHeight","Promise","setupRowSizeObserver","scrollStyles","handleScrollAreaResize","handleScrollAreaScroll","renderVirtualizedRows","origin","Component"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box, Flex, IBoxProps } from '@semcore/flex-box';\nimport ScrollArea from '@semcore/scroll-area';\nimport { getFixedStyle, getScrollOffsetValue } from './utils';\nimport { RowData, Column, NestedCells, PropsLayer, Cell } from './types';\nimport assignProps, { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport scrollStyles from './style/scroll-area.shadow.css';\nimport syncScroll from '@semcore/utils/lib/syncScroll';\nimport trottle from '@semcore/utils/lib/rafTrottle';\n\nconst testEnv = process.env.NODE_ENV === 'test';\n\nconst getCellsByColumn = (cells: NestedCells): RowData => {\n const flattenCells = cells.flat(20) as Cell[];\n return Object.fromEntries(flattenCells.map((cell) => [cell.name, cell.data]));\n};\n\ntype AsProps = {\n rows: NestedCells[];\n columns: Column[];\n $scrollRef: ReturnType<ReturnType<typeof syncScroll>>;\n onResize: ResizeObserverCallback;\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n rowPropsLayers: PropsLayer[];\n use: 'primary' | 'secondary';\n uniqueKey: string;\n virtualScroll?: boolean | { tollerance?: number; rowHeight?: number };\n};\n\ntype State = {\n rowHeight: number | undefined;\n scrollAreaHeight: undefined | number;\n scrollOffset: number;\n};\n\nclass Body extends Component<AsProps, State> {\n state: State = {\n rowHeight: undefined,\n scrollAreaHeight: undefined,\n scrollOffset: 0,\n };\n\n firstRowRef = React.createRef<HTMLElement>();\n firstRowResizeObserver: ResizeObserver | null = null;\n\n getRowHeight = () => {\n const { virtualScroll } = this.asProps;\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n return rowHeightFromProps || this.state.rowHeight;\n };\n\n renderCells(cells: NestedCells, rowData: RowData, index: number) {\n const SCell = Flex;\n const { styles, columns, use } = this.asProps;\n return cells.map((cell) => {\n if (Array.isArray(cell)) {\n const SGroupCell = 'div';\n return sstyled(styles)(\n <SGroupCell data-ui-name=\"group-cell\">\n {this.renderRows(cell as NestedCells[])}\n </SGroupCell>,\n );\n } else {\n const column = columns.find((c) => c.name === cell.name);\n const [name, value] = getFixedStyle(cell, columns);\n const vars = (Array.isArray(cell.cssVar) ? cell.cssVar : [cell.cssVar]).map(\n (name) => `var(${name})`,\n );\n type CellProps = IBoxProps & {\n name: string;\n children: React.ReactNode;\n style: React.CSSProperties;\n };\n\n let props: CellProps = {\n name: cell.name,\n children: <>{cell.data}</>,\n justifyContent: column?.props?.justifyContent,\n style: {\n width: vars.length === 1 ? vars[0] : `calc(${vars.join(' + ')})`,\n },\n };\n if (name !== undefined && value !== undefined) {\n props.style[name] = value;\n }\n\n for (const cellPropLayer of cell.cellPropsLayers || []) {\n const { childrenPropsGetter = (p) => p, ...other } = cellPropLayer;\n const propsCell = assignProps(other, props);\n props = assignProps(childrenPropsGetter(propsCell, rowData, index), propsCell);\n }\n\n return sstyled(styles)(\n <SCell key={cell.name} {...props} fixed={cell.fixed} theme={props.theme} use={use} />,\n ) as React.ReactElement;\n }\n }, [] as React.ReactElement[]);\n }\n\n renderRow(\n cells: NestedCells,\n { dataIndex, topOffset, nested }: { dataIndex: number; topOffset?: number; nested: boolean },\n ) {\n const SRow = Box;\n const { styles, rowPropsLayers, uniqueKey, virtualScroll } = this.asProps;\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n\n const rowData = cells.flatRowData || getCellsByColumn(cells);\n const key = rowData[uniqueKey] ? String(rowData[uniqueKey]) : `row_${dataIndex}`;\n const needToMeasureHeight = dataIndex === 0 && !nested && !rowHeightFromProps;\n\n let props = {\n children: this.renderCells(cells, rowData, dataIndex),\n theme: undefined,\n active: undefined,\n positioned: topOffset !== undefined,\n top: topOffset,\n ref: needToMeasureHeight ? this.firstRowRef : undefined,\n key,\n };\n\n for (const rowPropsLayer of rowPropsLayers) {\n const { childrenPropsGetter = (p) => p, ...other } = rowPropsLayer;\n const propsRow = assignProps(other, props);\n props = assignProps(childrenPropsGetter(propsRow, rowData, dataIndex), propsRow);\n }\n\n return sstyled(styles)(<SRow {...props} />);\n }\n\n renderRows(rows: NestedCells[]) {\n return rows.map((cells, dataIndex) => this.renderRow(cells, { dataIndex, nested: false }));\n }\n\n renderVirtualizedRows(rows: NestedCells[]) {\n if (rows.length === 0) return [];\n\n const { virtualScroll } = this.asProps;\n const { scrollOffset, scrollAreaHeight } = this.state;\n const rowHeight = this.getRowHeight();\n\n const tollerance = (typeof virtualScroll === 'object' ? virtualScroll?.tollerance : 2) ?? 2;\n const startIndex = Math.max(Math.floor(scrollOffset / rowHeight!) - tollerance, 0);\n const lastIndex = Math.min(\n Math.ceil((scrollOffset + scrollAreaHeight!) / rowHeight!) + tollerance,\n rows.length,\n );\n\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n const needToMeasureFirstRowHeight = !rowHeightFromProps;\n\n const firstRow = { cells: rows[0], dataIndex: 0, topOffset: 0 };\n const visibleRows = rowHeight !== undefined ? rows.slice(startIndex, lastIndex) : [];\n const processedVisibleRows = visibleRows.map((cells, index) => ({\n cells,\n dataIndex: startIndex + index,\n topOffset: rowHeight! * (startIndex + index),\n }));\n if (needToMeasureFirstRowHeight && startIndex !== 0) {\n processedVisibleRows.unshift(firstRow);\n }\n\n return processedVisibleRows.map(({ cells, dataIndex, topOffset }) =>\n this.renderRow(cells, { dataIndex, topOffset, nested: false }),\n );\n }\n\n handleFirstRowResize = trottle((entries: ResizeObserverEntry[]) => {\n const { contentRect } = entries[0];\n const { height } = contentRect;\n this.setState((oldState: State) => {\n if (oldState.rowHeight === height) return oldState;\n return { rowHeight: height };\n });\n });\n\n handleScrollAreaResize = trottle((entries: ResizeObserverEntry[]) => {\n const { virtualScroll } = this.asProps;\n if (!virtualScroll) return;\n const { contentRect } = entries[0];\n const { height } = contentRect;\n this.setState((oldState: State) => {\n if (oldState.scrollAreaHeight === height) return oldState;\n return { scrollAreaHeight: height };\n });\n });\n\n handleScrollAreaScroll = (event: React.SyntheticEvent<HTMLElement>) => {\n const { scrollTop } = event.target as HTMLElement;\n const { virtualScroll } = this.asProps;\n if (virtualScroll) {\n this.setState((oldState: State) => {\n if (oldState.scrollOffset === scrollTop) return oldState;\n return { scrollOffset: scrollTop };\n });\n }\n };\n\n setupRowSizeObserver = () => {\n if (!this.firstRowRef.current) return;\n if (!this.asProps.virtualScroll) return;\n this.firstRowResizeObserver = new ResizeObserver(this.handleFirstRowResize);\n this.firstRowResizeObserver.observe(this.firstRowRef.current);\n };\n\n componentWillUnmount() {\n this.firstRowResizeObserver?.disconnect();\n }\n\n render() {\n const SBody = Root;\n const SBodyWrapper = Box;\n const SScrollAreaBar = ScrollArea.Bar;\n const SHeightHold = Box;\n const { Children, styles, rows, columns, $scrollRef, virtualScroll, onResize, onScroll } =\n this.asProps;\n\n const columnsInitialized = columns.reduce((sum, { width }) => sum + width, 0) > 0 || testEnv;\n\n const [offsetLeftSum, offsetRightSum] = getScrollOffsetValue(columns);\n const offsetSum = offsetLeftSum + offsetRightSum;\n\n const rowHeight = this.getRowHeight();\n const holdHeight =\n rowHeight !== undefined && virtualScroll ? rowHeight * rows.length : undefined;\n\n if (virtualScroll && columnsInitialized && !rowHeight) {\n new Promise(() => this.setupRowSizeObserver());\n }\n\n return sstyled(styles)(\n <SBodyWrapper>\n <ScrollArea\n shadow\n styles={scrollStyles}\n use:left={`${offsetLeftSum}px`}\n use:right={`${offsetRightSum}px`}\n onResize={callAllEventHandlers(onResize, this.handleScrollAreaResize)}\n onScroll={callAllEventHandlers(onScroll, this.handleScrollAreaScroll)}\n >\n <ScrollArea.Container ref={$scrollRef}>\n <SBody render={Box}>\n {holdHeight && <SHeightHold hMin={holdHeight} aria-hidden={true} />}\n {columnsInitialized && !virtualScroll ? this.renderRows(rows) : null}\n {columnsInitialized && virtualScroll ? this.renderVirtualizedRows(rows) : null}\n </SBody>\n </ScrollArea.Container>\n <SScrollAreaBar\n orientation=\"horizontal\"\n left={`${offsetLeftSum}px`}\n right={`${offsetRightSum}px`}\n offsetSum={`${offsetSum}px`}\n />\n <SScrollAreaBar orientation=\"vertical\" />\n </ScrollArea>\n {Children.origin}\n </SBodyWrapper>,\n );\n }\n}\n\nexport default Body;\n"],"file":"Body.js"}
|
|
1
|
+
{"version":3,"file":"Body.js","names":["testEnv","process","env","NODE_ENV","getCellsByColumn","cells","flattenCells","flat","Object","fromEntries","map","cell","name","data","Body","rowHeight","undefined","scrollAreaHeight","scrollOffset","React","createRef","virtualScroll","asProps","rowHeightFromProps","state","trottle","entries","contentRect","height","setState","oldState","event","target","scrollTop","firstRowRef","current","firstRowResizeObserver","ResizeObserver","handleFirstRowResize","observe","rowData","index","SCell","Flex","styles","columns","use","Array","isArray","SGroupCell","sstyled","renderRows","column","find","c","getFixedStyle","value","vars","cssVar","props","children","justifyContent","style","width","length","join","cellPropsLayers","cellPropLayer","childrenPropsGetter","p","other","propsCell","assignProps","fixed","theme","dataIndex","topOffset","nested","SRow","Box","rowPropsLayers","uniqueKey","flatRowData","key","String","needToMeasureHeight","renderCells","active","positioned","top","ref","rowPropsLayer","propsRow","rows","renderRow","getRowHeight","tollerance","startIndex","Math","max","floor","lastIndex","min","ceil","needToMeasureFirstRowHeight","firstRow","visibleRows","slice","processedVisibleRows","unshift","disconnect","SBody","SBodyWrapper","SScrollAreaBar","ScrollArea","Bar","SHeightHold","Children","$scrollRef","onResize","onScroll","columnsInitialized","reduce","sum","getScrollOffsetValue","offsetLeftSum","offsetRightSum","offsetSum","holdHeight","Promise","setupRowSizeObserver","scrollStyles","callAllEventHandlers","handleScrollAreaResize","handleScrollAreaScroll","renderVirtualizedRows","origin","Component"],"sources":["../../src/Body.tsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box, Flex, IBoxProps } from '@semcore/flex-box';\nimport ScrollArea from '@semcore/scroll-area';\nimport { getFixedStyle, getScrollOffsetValue } from './utils';\nimport { RowData, Column, NestedCells, PropsLayer, Cell } from './types';\nimport assignProps, { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport scrollStyles from './style/scroll-area.shadow.css';\nimport syncScroll from '@semcore/utils/lib/syncScroll';\nimport trottle from '@semcore/utils/lib/rafTrottle';\n\nconst testEnv = process.env.NODE_ENV === 'test';\n\nconst getCellsByColumn = (cells: NestedCells): RowData => {\n const flattenCells = cells.flat(20) as Cell[];\n return Object.fromEntries(flattenCells.map((cell) => [cell.name, cell.data]));\n};\n\ntype AsProps = {\n rows: NestedCells[];\n columns: Column[];\n $scrollRef: ReturnType<ReturnType<typeof syncScroll>>;\n onResize: ResizeObserverCallback;\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n rowPropsLayers: PropsLayer[];\n use: 'primary' | 'secondary';\n uniqueKey: string;\n virtualScroll?: boolean | { tollerance?: number; rowHeight?: number };\n};\n\ntype State = {\n rowHeight: number | undefined;\n scrollAreaHeight: undefined | number;\n scrollOffset: number;\n};\n\nclass Body extends Component<AsProps, State> {\n state: State = {\n rowHeight: undefined,\n scrollAreaHeight: undefined,\n scrollOffset: 0,\n };\n\n firstRowRef = React.createRef<HTMLElement>();\n firstRowResizeObserver: ResizeObserver | null = null;\n\n getRowHeight = () => {\n const { virtualScroll } = this.asProps;\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n return rowHeightFromProps || this.state.rowHeight;\n };\n\n renderCells(cells: NestedCells, rowData: RowData, index: number) {\n const SCell = Flex;\n const { styles, columns, use } = this.asProps;\n return cells.map((cell) => {\n if (Array.isArray(cell)) {\n const SGroupCell = 'div';\n return sstyled(styles)(\n <SGroupCell data-ui-name=\"group-cell\">\n {this.renderRows(cell as NestedCells[])}\n </SGroupCell>,\n );\n } else {\n const column = columns.find((c) => c.name === cell.name);\n const [name, value] = getFixedStyle(cell, columns);\n const vars = (Array.isArray(cell.cssVar) ? cell.cssVar : [cell.cssVar]).map(\n (name) => `var(${name})`,\n );\n type CellProps = IBoxProps & {\n name: string;\n children: React.ReactNode;\n style: React.CSSProperties;\n };\n\n let props: CellProps = {\n name: cell.name,\n children: <>{cell.data}</>,\n justifyContent: column?.props?.justifyContent,\n style: {\n width: vars.length === 1 ? vars[0] : `calc(${vars.join(' + ')})`,\n },\n };\n if (name !== undefined && value !== undefined) {\n props.style[name] = value;\n }\n\n for (const cellPropLayer of cell.cellPropsLayers || []) {\n const { childrenPropsGetter = (p) => p, ...other } = cellPropLayer;\n const propsCell = assignProps(other, props);\n props = assignProps(childrenPropsGetter(propsCell, rowData, index), propsCell);\n }\n\n return sstyled(styles)(\n <SCell key={cell.name} {...props} fixed={cell.fixed} theme={props.theme} use={use} />,\n ) as React.ReactElement;\n }\n }, [] as React.ReactElement[]);\n }\n\n renderRow(\n cells: NestedCells,\n { dataIndex, topOffset, nested }: { dataIndex: number; topOffset?: number; nested: boolean },\n ) {\n const SRow = Box;\n const { styles, rowPropsLayers, uniqueKey, virtualScroll } = this.asProps;\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n\n const rowData = cells.flatRowData || getCellsByColumn(cells);\n const key = rowData[uniqueKey] ? String(rowData[uniqueKey]) : `row_${dataIndex}`;\n const needToMeasureHeight = dataIndex === 0 && !nested && !rowHeightFromProps;\n\n let props = {\n children: this.renderCells(cells, rowData, dataIndex),\n theme: undefined,\n active: undefined,\n positioned: topOffset !== undefined,\n top: topOffset,\n ref: needToMeasureHeight ? this.firstRowRef : undefined,\n key,\n };\n\n for (const rowPropsLayer of rowPropsLayers) {\n const { childrenPropsGetter = (p) => p, ...other } = rowPropsLayer;\n const propsRow = assignProps(other, props);\n props = assignProps(childrenPropsGetter(propsRow, rowData, dataIndex), propsRow);\n }\n\n return sstyled(styles)(<SRow {...props} />);\n }\n\n renderRows(rows: NestedCells[]) {\n return rows.map((cells, dataIndex) => this.renderRow(cells, { dataIndex, nested: false }));\n }\n\n renderVirtualizedRows(rows: NestedCells[]) {\n if (rows.length === 0) return [];\n\n const { virtualScroll } = this.asProps;\n const { scrollOffset, scrollAreaHeight } = this.state;\n const rowHeight = this.getRowHeight();\n\n const tollerance = (typeof virtualScroll === 'object' ? virtualScroll?.tollerance : 2) ?? 2;\n const startIndex = Math.max(Math.floor(scrollOffset / rowHeight!) - tollerance, 0);\n const lastIndex = Math.min(\n Math.ceil((scrollOffset + scrollAreaHeight!) / rowHeight!) + tollerance,\n rows.length,\n );\n\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n const needToMeasureFirstRowHeight = !rowHeightFromProps;\n\n const firstRow = { cells: rows[0], dataIndex: 0, topOffset: 0 };\n const visibleRows = rowHeight !== undefined ? rows.slice(startIndex, lastIndex) : [];\n const processedVisibleRows = visibleRows.map((cells, index) => ({\n cells,\n dataIndex: startIndex + index,\n topOffset: rowHeight! * (startIndex + index),\n }));\n if (needToMeasureFirstRowHeight && startIndex !== 0) {\n processedVisibleRows.unshift(firstRow);\n }\n\n return processedVisibleRows.map(({ cells, dataIndex, topOffset }) =>\n this.renderRow(cells, { dataIndex, topOffset, nested: false }),\n );\n }\n\n handleFirstRowResize = trottle((entries: ResizeObserverEntry[]) => {\n const { contentRect } = entries[0];\n const { height } = contentRect;\n this.setState((oldState: State) => {\n if (oldState.rowHeight === height) return oldState;\n return { rowHeight: height };\n });\n });\n\n handleScrollAreaResize = trottle((entries: ResizeObserverEntry[]) => {\n const { virtualScroll } = this.asProps;\n if (!virtualScroll) return;\n const { contentRect } = entries[0];\n const { height } = contentRect;\n this.setState((oldState: State) => {\n if (oldState.scrollAreaHeight === height) return oldState;\n return { scrollAreaHeight: height };\n });\n });\n\n handleScrollAreaScroll = (event: React.SyntheticEvent<HTMLElement>) => {\n const { scrollTop } = event.target as HTMLElement;\n const { virtualScroll } = this.asProps;\n if (virtualScroll) {\n this.setState((oldState: State) => {\n if (oldState.scrollOffset === scrollTop) return oldState;\n return { scrollOffset: scrollTop };\n });\n }\n };\n\n setupRowSizeObserver = () => {\n if (!this.firstRowRef.current) return;\n if (!this.asProps.virtualScroll) return;\n this.firstRowResizeObserver = new ResizeObserver(this.handleFirstRowResize);\n this.firstRowResizeObserver.observe(this.firstRowRef.current);\n };\n\n componentWillUnmount() {\n this.firstRowResizeObserver?.disconnect();\n }\n\n render() {\n const SBody = Root;\n const SBodyWrapper = Box;\n const SScrollAreaBar = ScrollArea.Bar;\n const SHeightHold = Box;\n const { Children, styles, rows, columns, $scrollRef, virtualScroll, onResize, onScroll } =\n this.asProps;\n\n const columnsInitialized = columns.reduce((sum, { width }) => sum + width, 0) > 0 || testEnv;\n\n const [offsetLeftSum, offsetRightSum] = getScrollOffsetValue(columns);\n const offsetSum = offsetLeftSum + offsetRightSum;\n\n const rowHeight = this.getRowHeight();\n const holdHeight =\n rowHeight !== undefined && virtualScroll ? rowHeight * rows.length : undefined;\n\n if (virtualScroll && columnsInitialized && !rowHeight) {\n new Promise(() => this.setupRowSizeObserver());\n }\n\n return sstyled(styles)(\n <SBodyWrapper>\n <ScrollArea\n shadow\n styles={scrollStyles}\n use:left={`${offsetLeftSum}px`}\n use:right={`${offsetRightSum}px`}\n onResize={callAllEventHandlers(onResize, this.handleScrollAreaResize)}\n onScroll={callAllEventHandlers(onScroll, this.handleScrollAreaScroll)}\n >\n <ScrollArea.Container ref={$scrollRef}>\n <SBody render={Box}>\n {holdHeight && <SHeightHold hMin={holdHeight} aria-hidden={true} />}\n {columnsInitialized && !virtualScroll ? this.renderRows(rows) : null}\n {columnsInitialized && virtualScroll ? this.renderVirtualizedRows(rows) : null}\n </SBody>\n </ScrollArea.Container>\n <SScrollAreaBar\n orientation=\"horizontal\"\n left={`${offsetLeftSum}px`}\n right={`${offsetRightSum}px`}\n offsetSum={`${offsetSum}px`}\n />\n <SScrollAreaBar orientation=\"vertical\" />\n </ScrollArea>\n {Children.origin}\n </SBodyWrapper>,\n );\n }\n}\n\nexport default Body;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AADA;;AAEA;;AACA;;AACA;;AAEA;;AACA;;AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,OAAO,GAAGC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,MAAzC;;AAEA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,KAAD,EAAiC;EACxD,IAAMC,YAAY,GAAGD,KAAK,CAACE,IAAN,CAAW,EAAX,CAArB;EACA,OAAOC,MAAM,CAACC,WAAP,CAAmBH,YAAY,CAACI,GAAb,CAAiB,UAACC,IAAD;IAAA,OAAU,CAACA,IAAI,CAACC,IAAN,EAAYD,IAAI,CAACE,IAAjB,CAAV;EAAA,CAAjB,CAAnB,CAAP;AACD,CAHD;;IAuBMC,I;;;;;;;;;;;;;;;8FACW;MACbC,SAAS,EAAEC,SADE;MAEbC,gBAAgB,EAAED,SAFL;MAGbE,YAAY,EAAE;IAHD,C;iHAMDC,iBAAA,CAAMC,SAAN,E;+GACkC,I;qGAEjC,YAAM;MACnB,IAAQC,aAAR,GAA0B,MAAKC,OAA/B,CAAQD,aAAR;MACA,IAAME,kBAAkB,GAAG,yBAAOF,aAAP,MAAyB,QAAzB,KAAqCA,aAArC,aAAqCA,aAArC,uBAAqCA,aAAa,CAAEN,SAApD,CAA3B;MACA,OAAOQ,kBAAkB,IAAI,MAAKC,KAAL,CAAWT,SAAxC;IACD,C;6GAsHsB,IAAAU,sBAAA,EAAQ,UAACC,OAAD,EAAoC;MACjE,IAAQC,WAAR,GAAwBD,OAAO,CAAC,CAAD,CAA/B,CAAQC,WAAR;MACA,IAAQC,MAAR,GAAmBD,WAAnB,CAAQC,MAAR;;MACA,MAAKC,QAAL,CAAc,UAACC,QAAD,EAAqB;QACjC,IAAIA,QAAQ,CAACf,SAAT,KAAuBa,MAA3B,EAAmC,OAAOE,QAAP;QACnC,OAAO;UAAEf,SAAS,EAAEa;QAAb,CAAP;MACD,CAHD;IAID,CAPsB,C;+GASE,IAAAH,sBAAA,EAAQ,UAACC,OAAD,EAAoC;MACnE,IAAQL,aAAR,GAA0B,MAAKC,OAA/B,CAAQD,aAAR;MACA,IAAI,CAACA,aAAL,EAAoB;MACpB,IAAQM,WAAR,GAAwBD,OAAO,CAAC,CAAD,CAA/B,CAAQC,WAAR;MACA,IAAQC,MAAR,GAAmBD,WAAnB,CAAQC,MAAR;;MACA,MAAKC,QAAL,CAAc,UAACC,QAAD,EAAqB;QACjC,IAAIA,QAAQ,CAACb,gBAAT,KAA8BW,MAAlC,EAA0C,OAAOE,QAAP;QAC1C,OAAO;UAAEb,gBAAgB,EAAEW;QAApB,CAAP;MACD,CAHD;IAID,CATwB,C;+GAWA,UAACG,KAAD,EAA8C;MACrE,YAAsBA,KAAK,CAACC,MAA5B;MAAA,IAAQC,SAAR,SAAQA,SAAR;MACA,IAAQZ,aAAR,GAA0B,MAAKC,OAA/B,CAAQD,aAAR;;MACA,IAAIA,aAAJ,EAAmB;QACjB,MAAKQ,QAAL,CAAc,UAACC,QAAD,EAAqB;UACjC,IAAIA,QAAQ,CAACZ,YAAT,KAA0Be,SAA9B,EAAyC,OAAOH,QAAP;UACzC,OAAO;YAAEZ,YAAY,EAAEe;UAAhB,CAAP;QACD,CAHD;MAID;IACF,C;6GAEsB,YAAM;MAC3B,IAAI,CAAC,MAAKC,WAAL,CAAiBC,OAAtB,EAA+B;MAC/B,IAAI,CAAC,MAAKb,OAAL,CAAaD,aAAlB,EAAiC;MACjC,MAAKe,sBAAL,GAA8B,IAAIC,kCAAJ,CAAmB,MAAKC,oBAAxB,CAA9B;;MACA,MAAKF,sBAAL,CAA4BG,OAA5B,CAAoC,MAAKL,WAAL,CAAiBC,OAArD;IACD,C;;;;;;WAxJD,qBAAY9B,KAAZ,EAAgCmC,OAAhC,EAAkDC,KAAlD,EAAiE;MAAA;;MAC/D,IAAMC,KAAK,GAAGC,aAAd;MACA,oBAAiC,KAAKrB,OAAtC;MAAA,IAAQsB,MAAR,iBAAQA,MAAR;MAAA,IAAgBC,OAAhB,iBAAgBA,OAAhB;MAAA,IAAyBC,GAAzB,iBAAyBA,GAAzB;MACA,OAAOzC,KAAK,CAACK,GAAN,CAAU,UAACC,IAAD,EAAU;QACzB,IAAIoC,KAAK,CAACC,OAAN,CAAcrC,IAAd,CAAJ,EAAyB;UAAA;;UACvB,IAAMsC,UAAU,GAAG,KAAnB;UACA,eAAO,IAAAC,aAAA,EAAQN,MAAR,CAAP,eACE,gCAAC,UAAD;YAAA,gBAAyB;UAAzB,IACG,MAAI,CAACO,UAAL,CAAgBxC,IAAhB,CADH,CADF;QAKD,CAPD,MAOO;UAAA;;UACL,IAAMyC,MAAM,GAAGP,OAAO,CAACQ,IAAR,CAAa,UAACC,CAAD;YAAA,OAAOA,CAAC,CAAC1C,IAAF,KAAWD,IAAI,CAACC,IAAvB;UAAA,CAAb,CAAf;;UACA,qBAAsB,IAAA2C,oBAAA,EAAc5C,IAAd,EAAoBkC,OAApB,CAAtB;UAAA;UAAA,IAAOjC,IAAP;UAAA,IAAa4C,KAAb;;UACA,IAAMC,IAAI,GAAG,CAACV,KAAK,CAACC,OAAN,CAAcrC,IAAI,CAAC+C,MAAnB,IAA6B/C,IAAI,CAAC+C,MAAlC,GAA2C,CAAC/C,IAAI,CAAC+C,MAAN,CAA5C,EAA2DhD,GAA3D,CACX,UAACE,IAAD;YAAA,qBAAiBA,IAAjB;UAAA,CADW,CAAb;UASA,IAAI+C,KAAgB,GAAG;YACrB/C,IAAI,EAAED,IAAI,CAACC,IADU;YAErBgD,QAAQ,eAAE,kEAAGjD,IAAI,CAACE,IAAR,CAFW;YAGrBgD,cAAc,EAAET,MAAF,aAAEA,MAAF,wCAAEA,MAAM,CAAEO,KAAV,kDAAE,cAAeE,cAHV;YAIrBC,KAAK,EAAE;cACLC,KAAK,EAAEN,IAAI,CAACO,MAAL,KAAgB,CAAhB,GAAoBP,IAAI,CAAC,CAAD,CAAxB,kBAAsCA,IAAI,CAACQ,IAAL,CAAU,KAAV,CAAtC;YADF;UAJc,CAAvB;;UAQA,IAAIrD,IAAI,KAAKI,SAAT,IAAsBwC,KAAK,KAAKxC,SAApC,EAA+C;YAC7C2C,KAAK,CAACG,KAAN,CAAYlD,IAAZ,IAAoB4C,KAApB;UACD;;UAtBI,2CAwBuB7C,IAAI,CAACuD,eAAL,IAAwB,EAxB/C;UAAA;;UAAA;YAwBL,oDAAwD;cAAA,IAA7CC,aAA6C;cACtD,4BAAqDA,aAArD,CAAQC,mBAAR;cAAA,IAAQA,mBAAR,sCAA8B,UAACC,CAAD;gBAAA,OAAOA,CAAP;cAAA,CAA9B;cAAA,IAA2CC,KAA3C,6CAAqDH,aAArD;cACA,IAAMI,SAAS,GAAG,IAAAC,wBAAA,EAAYF,KAAZ,EAAmBX,KAAnB,CAAlB;cACAA,KAAK,GAAG,IAAAa,wBAAA,EAAYJ,mBAAmB,CAACG,SAAD,EAAY/B,OAAZ,EAAqBC,KAArB,CAA/B,EAA4D8B,SAA5D,CAAR;YACD;UA5BI;YAAA;UAAA;YAAA;UAAA;;UA8BL,eAAO,IAAArB,aAAA,EAAQN,MAAR,CAAP,eACE,gCAAC,KAAD;YAAA,OAAYjC,IAAI,CAACC;UAAjB,GAA2B+C,KAA3B;YAAA,SAAyChD,IAAI,CAAC8D,KAA9C;YAAA,SAA4Dd,KAAK,CAACe,KAAlE;YAAA,OAA8E5B;UAA9E,IADF;QAGD;MACF,CA1CM,EA0CJ,EA1CI,CAAP;IA2CD;;;WAED,mBACEzC,KADF,SAGE;MAAA;;MAAA,IADEsE,SACF,SADEA,SACF;MAAA,IADaC,SACb,SADaA,SACb;MAAA,IADwBC,MACxB,SADwBA,MACxB;MACA,IAAMC,IAAI,GAAGC,YAAb;MACA,qBAA6D,KAAKzD,OAAlE;MAAA,IAAQsB,MAAR,kBAAQA,MAAR;MAAA,IAAgBoC,cAAhB,kBAAgBA,cAAhB;MAAA,IAAgCC,SAAhC,kBAAgCA,SAAhC;MAAA,IAA2C5D,aAA3C,kBAA2CA,aAA3C;MACA,IAAME,kBAAkB,GAAG,yBAAOF,aAAP,MAAyB,QAAzB,KAAqCA,aAArC,aAAqCA,aAArC,uBAAqCA,aAAa,CAAEN,SAApD,CAA3B;MAEA,IAAMyB,OAAO,GAAGnC,KAAK,CAAC6E,WAAN,IAAqB9E,gBAAgB,CAACC,KAAD,CAArD;MACA,IAAM8E,GAAG,GAAG3C,OAAO,CAACyC,SAAD,CAAP,GAAqBG,MAAM,CAAC5C,OAAO,CAACyC,SAAD,CAAR,CAA3B,iBAAyDN,SAAzD,CAAZ;MACA,IAAMU,mBAAmB,GAAGV,SAAS,KAAK,CAAd,IAAmB,CAACE,MAApB,IAA8B,CAACtD,kBAA3D;MAEA,IAAIoC,KAAK,GAAG;QACVC,QAAQ,EAAE,KAAK0B,WAAL,CAAiBjF,KAAjB,EAAwBmC,OAAxB,EAAiCmC,SAAjC,CADA;QAEVD,KAAK,EAAE1D,SAFG;QAGVuE,MAAM,EAAEvE,SAHE;QAIVwE,UAAU,EAAEZ,SAAS,KAAK5D,SAJhB;QAKVyE,GAAG,EAAEb,SALK;QAMVc,GAAG,EAAEL,mBAAmB,GAAG,KAAKnD,WAAR,GAAsBlB,SANpC;QAOVmE,GAAG,EAAHA;MAPU,CAAZ;;MATA,4CAmB4BH,cAnB5B;MAAA;;MAAA;QAmBA,uDAA4C;UAAA,IAAjCW,aAAiC;UAC1C,4BAAqDA,aAArD,CAAQvB,mBAAR;UAAA,IAAQA,mBAAR,sCAA8B,UAACC,CAAD;YAAA,OAAOA,CAAP;UAAA,CAA9B;UAAA,IAA2CC,KAA3C,6CAAqDqB,aAArD;UACA,IAAMC,QAAQ,GAAG,IAAApB,wBAAA,EAAYF,KAAZ,EAAmBX,KAAnB,CAAjB;UACAA,KAAK,GAAG,IAAAa,wBAAA,EAAYJ,mBAAmB,CAACwB,QAAD,EAAWpD,OAAX,EAAoBmC,SAApB,CAA/B,EAA+DiB,QAA/D,CAAR;QACD;MAvBD;QAAA;MAAA;QAAA;MAAA;;MAyBA,eAAO,IAAA1C,aAAA,EAAQN,MAAR,CAAP,eAAuB,gCAAC,IAAD,qCAAUe,KAAV,GAAvB;IACD;;;WAED,oBAAWkC,IAAX,EAAgC;MAAA;;MAC9B,OAAOA,IAAI,CAACnF,GAAL,CAAS,UAACL,KAAD,EAAQsE,SAAR;QAAA,OAAsB,MAAI,CAACmB,SAAL,CAAezF,KAAf,EAAsB;UAAEsE,SAAS,EAATA,SAAF;UAAaE,MAAM,EAAE;QAArB,CAAtB,CAAtB;MAAA,CAAT,CAAP;IACD;;;WAED,+BAAsBgB,IAAtB,EAA2C;MAAA;MAAA;;MACzC,IAAIA,IAAI,CAAC7B,MAAL,KAAgB,CAApB,EAAuB,OAAO,EAAP;MAEvB,IAAQ3C,aAAR,GAA0B,KAAKC,OAA/B,CAAQD,aAAR;MACA,kBAA2C,KAAKG,KAAhD;MAAA,IAAQN,YAAR,eAAQA,YAAR;MAAA,IAAsBD,gBAAtB,eAAsBA,gBAAtB;MACA,IAAMF,SAAS,GAAG,KAAKgF,YAAL,EAAlB;MAEA,IAAMC,UAAU,YAAI,yBAAO3E,aAAP,MAAyB,QAAzB,GAAoCA,aAApC,aAAoCA,aAApC,uBAAoCA,aAAa,CAAE2E,UAAnD,GAAgE,CAApE,yCAA0E,CAA1F;MACA,IAAMC,UAAU,GAAGC,IAAI,CAACC,GAAL,CAASD,IAAI,CAACE,KAAL,CAAWlF,YAAY,GAAGH,SAA1B,IAAwCiF,UAAjD,EAA6D,CAA7D,CAAnB;MACA,IAAMK,SAAS,GAAGH,IAAI,CAACI,GAAL,CAChBJ,IAAI,CAACK,IAAL,CAAU,CAACrF,YAAY,GAAGD,gBAAhB,IAAqCF,SAA/C,IAA6DiF,UAD7C,EAEhBH,IAAI,CAAC7B,MAFW,CAAlB;MAKA,IAAMzC,kBAAkB,GAAG,yBAAOF,aAAP,MAAyB,QAAzB,KAAqCA,aAArC,aAAqCA,aAArC,uBAAqCA,aAAa,CAAEN,SAApD,CAA3B;MACA,IAAMyF,2BAA2B,GAAG,CAACjF,kBAArC;MAEA,IAAMkF,QAAQ,GAAG;QAAEpG,KAAK,EAAEwF,IAAI,CAAC,CAAD,CAAb;QAAkBlB,SAAS,EAAE,CAA7B;QAAgCC,SAAS,EAAE;MAA3C,CAAjB;MACA,IAAM8B,WAAW,GAAG3F,SAAS,KAAKC,SAAd,GAA0B6E,IAAI,CAACc,KAAL,CAAWV,UAAX,EAAuBI,SAAvB,CAA1B,GAA8D,EAAlF;MACA,IAAMO,oBAAoB,GAAGF,WAAW,CAAChG,GAAZ,CAAgB,UAACL,KAAD,EAAQoC,KAAR;QAAA,OAAmB;UAC9DpC,KAAK,EAALA,KAD8D;UAE9DsE,SAAS,EAAEsB,UAAU,GAAGxD,KAFsC;UAG9DmC,SAAS,EAAE7D,SAAS,IAAKkF,UAAU,GAAGxD,KAAlB;QAH0C,CAAnB;MAAA,CAAhB,CAA7B;;MAKA,IAAI+D,2BAA2B,IAAIP,UAAU,KAAK,CAAlD,EAAqD;QACnDW,oBAAoB,CAACC,OAArB,CAA6BJ,QAA7B;MACD;;MAED,OAAOG,oBAAoB,CAAClG,GAArB,CAAyB;QAAA,IAAGL,KAAH,SAAGA,KAAH;QAAA,IAAUsE,SAAV,SAAUA,SAAV;QAAA,IAAqBC,SAArB,SAAqBA,SAArB;QAAA,OAC9B,MAAI,CAACkB,SAAL,CAAezF,KAAf,EAAsB;UAAEsE,SAAS,EAATA,SAAF;UAAaC,SAAS,EAATA,SAAb;UAAwBC,MAAM,EAAE;QAAhC,CAAtB,CAD8B;MAAA,CAAzB,CAAP;IAGD;;;WAwCD,gCAAuB;MAAA;;MACrB,8BAAKzC,sBAAL,gFAA6B0E,UAA7B;IACD;;;WAED,kBAAS;MAAA;MAAA;MAAA;;MACP,IAAMC,KAAK,GA+BYhC,YA/BvB;MACA,IAAMiC,YAAY,GAAGjC,YAArB;MACA,IAAMkC,cAAc,GAAGC,sBAAA,CAAWC,GAAlC;MACA,IAAMC,WAAW,GAAGrC,YAApB;MACA,qBACE,KAAKzD,OADP;MAAA,IAAQ+F,QAAR,kBAAQA,QAAR;MAAA,IAAkBzE,MAAlB,kBAAkBA,MAAlB;MAAA,IAA0BiD,IAA1B,kBAA0BA,IAA1B;MAAA,IAAgChD,OAAhC,kBAAgCA,OAAhC;MAAA,IAAyCyE,UAAzC,kBAAyCA,UAAzC;MAAA,IAAqDjG,aAArD,kBAAqDA,aAArD;MAAA,IAAoEkG,QAApE,kBAAoEA,QAApE;MAAA,IAA8EC,QAA9E,kBAA8EA,QAA9E;MAGA,IAAMC,kBAAkB,GAAG5E,OAAO,CAAC6E,MAAR,CAAe,UAACC,GAAD;QAAA,IAAQ5D,KAAR,UAAQA,KAAR;QAAA,OAAoB4D,GAAG,GAAG5D,KAA1B;MAAA,CAAf,EAAgD,CAAhD,IAAqD,CAArD,IAA0D/D,OAArF;;MAEA,4BAAwC,IAAA4H,2BAAA,EAAqB/E,OAArB,CAAxC;MAAA;MAAA,IAAOgF,aAAP;MAAA,IAAsBC,cAAtB;;MACA,IAAMC,SAAS,GAAGF,aAAa,GAAGC,cAAlC;MAEA,IAAM/G,SAAS,GAAG,KAAKgF,YAAL,EAAlB;MACA,IAAMiC,UAAU,GACdjH,SAAS,KAAKC,SAAd,IAA2BK,aAA3B,GAA2CN,SAAS,GAAG8E,IAAI,CAAC7B,MAA5D,GAAqEhD,SADvE;;MAGA,IAAIK,aAAa,IAAIoG,kBAAjB,IAAuC,CAAC1G,SAA5C,EAAuD;QACrD,IAAIkH,OAAJ,CAAY;UAAA,OAAM,MAAI,CAACC,oBAAL,EAAN;QAAA,CAAZ;MACD;;MAED,eAAO,IAAAhF,aAAA,EAAQN,MAAR,CAAP,eACE,gCAAC,YAAD,6CACE,gCAAC,sBAAD;QAAA;QAAA,UAEUuF,YAFV;QAAA,sBAGeN,aAHf;QAAA,uBAIgBC,cAJhB;QAAA,YAKY,IAAAM,kCAAA,EAAqBb,QAArB,EAA+B,KAAKc,sBAApC,CALZ;QAAA,YAMY,IAAAD,kCAAA,EAAqBZ,QAArB,EAA+B,KAAKc,sBAApC;MANZ,iBAQE,gCAAC,sBAAD,CAAY,SAAZ;QAAsB,GAAG,EAAEhB;MAA3B,gBACE,gCAAC,KAAD,0EACGU,UAAU,iBAAI,gCAAC,WAAD;QAAA,QAAmBA,UAAnB;QAAA,eAA4C;MAA5C,GADjB,EAEGP,kBAAkB,IAAI,CAACpG,aAAvB,GAAuC,KAAK8B,UAAL,CAAgB0C,IAAhB,CAAvC,GAA+D,IAFlE,EAGG4B,kBAAkB,IAAIpG,aAAtB,GAAsC,KAAKkH,qBAAL,CAA2B1C,IAA3B,CAAtC,GAAyE,IAH5E,CADF,CARF,eAeE,gCAAC,cAAD;QAAA,eACc,YADd;QAAA,kBAEWgC,aAFX;QAAA,mBAGYC,cAHZ;QAAA,uBAIgBC,SAJhB;MAAA,GAfF,eAqBE,gCAAC,cAAD;QAAA,eAA4B;MAA5B,GArBF,CADF,EAwBGV,QAAQ,CAACmB,MAxBZ,CADF;IA4BD;;;EA/NgBC,e;;eAkOJ3H,I"}
|
package/lib/cjs/DataTable.js
CHANGED
|
@@ -69,46 +69,46 @@ var style = (
|
|
|
69
69
|
/*__reshadow_css_start__*/
|
|
70
70
|
_core.sstyled.insert(
|
|
71
71
|
/*__inner_css_start__*/
|
|
72
|
-
".
|
|
72
|
+
".___SDataTable_k33va_gg_{position:relative}.___SHeadWrapper_k33va_gg_{position:relative}.___SHeadWrapper_k33va_gg_.__sticky_k33va_gg_{position:-webkit-sticky;position:sticky;top:0;z-index:2}.___SHead_k33va_gg_{display:flex;position:relative;flex-direction:row;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;z-index:0}.___SColumn_k33va_gg_{display:flex;align-items:center;flex-grow:1;font-size:12px;color:#191b23;box-sizing:border-box;position:relative}.___SColumn_k33va_gg_:focus{outline:none;box-shadow:0 0 0 3px rgba(0, 143, 248, 0.2)}.___SColumn_k33va_gg_.__hidden_k33va_gg_{height:0!important;padding:0!important;overflow:hidden!important;border:none!important}.___SColumn_k33va_gg_._use_primary_k33va_gg_{padding:12px;border-right:1px solid #e0e1e9;border-bottom:1px solid #e0e1e9;background-color:#f4f5f9}.___SColumn_k33va_gg_._use_secondary_k33va_gg_{padding:8px;border-bottom:1px solid #a9abb6;background-color:#ffffff}.___SColumn_k33va_gg_.__use_k33va_gg_:last-child{border-right:none}.___SColumn_k33va_gg_.__group_k33va_gg_.__use_k33va_gg_{display:flex;flex-wrap:wrap;flex-direction:column;align-items:normal;border-bottom:none;padding:0}.___SColumn_k33va_gg_.__groupHead_k33va_gg_.__use_k33va_gg_{justify-content:center;border-right:none;z-index:1}.___SColumn_k33va_gg_.__groupHead_k33va_gg_._use_primary_k33va_gg_{border-bottom:1px solid #e0e1e9}.___SColumn_k33va_gg_.__groupHead_k33va_gg_._use_secondary_k33va_gg_{border-bottom:1px solid #e0e1e9}.___SColumn_k33va_gg_.__sortable_k33va_gg_{cursor:pointer}.___SColumn_k33va_gg_.__sortable_k33va_gg_._use_primary_k33va_gg_:hover{background-color:#e0e1e9}.___SColumn_k33va_gg_.__active_k33va_gg_._use_primary_k33va_gg_{background-color:#e0e1e9}.___SColumn_k33va_gg_.__resizable_k33va_gg_:hover:after{background:#e0e1e9}.___SColumn_k33va_gg_.__resizable_k33va_gg_:after{content:\"\";position:absolute;bottom:0;right:-1px;height:100vh;width:1px;background:transparent;cursor:col-resize}.___SColumn_k33va_gg_.__fixed_k33va_gg_{position:-webkit-sticky;position:sticky;z-index:2}.___SSortIcon_k33va_gg_{fill:#a9abb6;margin-left:6px}.___SSortIcon_k33va_gg_.__active_k33va_gg_{fill:#8a8e9b}.___SBodyWrapper_k33va_gg_{position:relative}.___SBody_k33va_gg_{display:flex;flex-direction:column;position:relative;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.___SRow_k33va_gg_{display:flex;flex-direction:row;position:relative}.___SRow_k33va_gg_:hover>.___SCell_k33va_gg_:not(.__theme_k33va_gg_),.___SRow_k33va_gg_.__active_k33va_gg_>.___SCell_k33va_gg_:not(.__theme_k33va_gg_),.___SRow_k33va_gg_ .___SCell_k33va_gg_:hover+.___SGroupCell_k33va_gg_ .___SCell_k33va_gg_:not(.__theme_k33va_gg_){background-color:#f0f0f4}.___SRow_k33va_gg_._theme_muted_k33va_gg_ .___SCell_k33va_gg_:not(.__theme_k33va_gg_){background-color:#f2f3f4}.___SRow_k33va_gg_:hover>.___SCell_k33va_gg_._theme_muted_k33va_gg_,.___SRow_k33va_gg_._theme_muted_k33va_gg_:hover>.___SCell_k33va_gg_:not(.__theme_k33va_gg_),.___SRow_k33va_gg_._theme_muted_k33va_gg_.__active_k33va_gg_>.___SCell_k33va_gg_:not(.__theme_k33va_gg_),.___SRow_k33va_gg_._theme_muted_k33va_gg_ .___SCell_k33va_gg_:hover+.___SGroupCell_k33va_gg_ .___SCell_k33va_gg_:not(.__theme_k33va_gg_){background-color:#f6f7f7}.___SRow_k33va_gg_._theme_info_k33va_gg_ .___SCell_k33va_gg_:not(.__theme_k33va_gg_){background-color:#e9f7ff}.___SRow_k33va_gg_:hover>.___SCell_k33va_gg_._theme_info_k33va_gg_,.___SRow_k33va_gg_._theme_info_k33va_gg_:hover>.___SCell_k33va_gg_:not(.__theme_k33va_gg_),.___SRow_k33va_gg_._theme_info_k33va_gg_.__active_k33va_gg_>.___SCell_k33va_gg_:not(.__theme_k33va_gg_),.___SRow_k33va_gg_._theme_info_k33va_gg_ .___SCell_k33va_gg_:hover+.___SGroupCell_k33va_gg_ .___SCell_k33va_gg_:not(.__theme_k33va_gg_){background-color:#c4e5fe}.___SRow_k33va_gg_._theme_success_k33va_gg_ .___SCell_k33va_gg_:not(.__theme_k33va_gg_){background-color:#dbfee8}.___SRow_k33va_gg_:hover>.___SCell_k33va_gg_._theme_success_k33va_gg_,.___SRow_k33va_gg_._theme_success_k33va_gg_:hover>.___SCell_k33va_gg_:not(.__theme_k33va_gg_),.___SRow_k33va_gg_._theme_success_k33va_gg_.__active_k33va_gg_>.___SCell_k33va_gg_:not(.__theme_k33va_gg_),.___SRow_k33va_gg_._theme_success_k33va_gg_ .___SCell_k33va_gg_:hover+.___SGroupCell_k33va_gg_ .___SCell_k33va_gg_:not(.__theme_k33va_gg_){background-color:#9ef2c9}.___SRow_k33va_gg_._theme_warning_k33va_gg_ .___SCell_k33va_gg_:not(.__theme_k33va_gg_){background-color:#fff3d9}.___SRow_k33va_gg_:hover>.___SCell_k33va_gg_._theme_warning_k33va_gg_,.___SRow_k33va_gg_._theme_warning_k33va_gg_:hover>.___SCell_k33va_gg_:not(.__theme_k33va_gg_),.___SRow_k33va_gg_._theme_warning_k33va_gg_.__active_k33va_gg_>.___SCell_k33va_gg_:not(.__theme_k33va_gg_),.___SRow_k33va_gg_._theme_warning_k33va_gg_ .___SCell_k33va_gg_:hover+.___SGroupCell_k33va_gg_ .___SCell_k33va_gg_:not(.__theme_k33va_gg_){background-color:#ffdca2}.___SRow_k33va_gg_._theme_danger_k33va_gg_ .___SCell_k33va_gg_:not(.__theme_k33va_gg_){background-color:#fff0f7}.___SRow_k33va_gg_:hover>.___SCell_k33va_gg_._theme_danger_k33va_gg_,.___SRow_k33va_gg_._theme_danger_k33va_gg_:hover>.___SCell_k33va_gg_:not(.__theme_k33va_gg_),.___SRow_k33va_gg_._theme_danger_k33va_gg_.__active_k33va_gg_>.___SCell_k33va_gg_:not(.__theme_k33va_gg_),.___SRow_k33va_gg_._theme_danger_k33va_gg_ .___SCell_k33va_gg_:hover+.___SGroupCell_k33va_gg_ .___SCell_k33va_gg_:not(.__theme_k33va_gg_){background-color:#ffd7df}.___SRow_k33va_gg_.__positioned_k33va_gg_{position:absolute}.___SCell_k33va_gg_{display:flex;flex:1;flex-basis:auto;font-size:14px;line-height:1.42;color:#191b23;box-sizing:border-box;border-bottom:1px solid #e0e1e9;overflow:hidden;white-space:nowrap}.___SCell_k33va_gg_._use_primary_k33va_gg_{padding:12px;min-height:45px;background-color:#ffffff}.___SCell_k33va_gg_._use_secondary_k33va_gg_{padding:8px;min-height:37px;background-color:#ffffff}.___SCell_k33va_gg_.__fixed_k33va_gg_{position:-webkit-sticky;position:sticky;z-index:1}.___SCell_k33va_gg_._theme_muted_k33va_gg_{background-color:#f2f3f4}.___SCell_k33va_gg_._theme_info_k33va_gg_{background-color:#e9f7ff}.___SCell_k33va_gg_._theme_success_k33va_gg_{background-color:#dbfee8}.___SCell_k33va_gg_._theme_warning_k33va_gg_{background-color:#fff3d9}.___SCell_k33va_gg_._theme_danger_k33va_gg_{background-color:#fff0f7}.___SScrollAreaBar_k33va_gg_._orientation_horizontal_k33va_gg_{position:-webkit-sticky;position:sticky;bottom:0;left:0;margin-top:-12px;z-index:2}.___SScrollAreaBar_k33va_gg_._orientation_vertical_k33va_gg_{width:12px}.___SScrollAreaBar_k33va_gg_._orientation_horizontal_k33va_gg_{margin-left:calc(var(--left_k33va) + 4px);margin-right:calc(var(--right_k33va) + 4px);width:calc(100% - var(--offsetSum_k33va) - 8px)}.___SHeightHold_k33va_gg_{position:absolute;top:0;width:100%;pointer-events:none;z-index:-1}"
|
|
73
73
|
/*__inner_css_end__*/
|
|
74
|
-
, "
|
|
74
|
+
, "k33va_gg_")
|
|
75
75
|
/*__reshadow_css_end__*/
|
|
76
76
|
, {
|
|
77
|
-
"__SDataTable": "
|
|
78
|
-
"__SHeadWrapper": "
|
|
79
|
-
"_sticky": "
|
|
80
|
-
"__SHead": "
|
|
81
|
-
"__SColumn": "
|
|
82
|
-
"_hidden": "
|
|
83
|
-
"_use_primary": "
|
|
84
|
-
"_use_secondary": "
|
|
85
|
-
"_use": "
|
|
86
|
-
"_group": "
|
|
87
|
-
"_groupHead": "
|
|
88
|
-
"_sortable": "
|
|
89
|
-
"_active": "
|
|
90
|
-
"_resizable": "
|
|
91
|
-
"_fixed": "
|
|
92
|
-
"__SSortIcon": "
|
|
93
|
-
"__SBodyWrapper": "
|
|
94
|
-
"__SBody": "
|
|
95
|
-
"__SRow": "
|
|
96
|
-
"__SCell": "
|
|
97
|
-
"_theme": "
|
|
98
|
-
"__SGroupCell": "
|
|
99
|
-
"_theme_muted": "
|
|
100
|
-
"_theme_info": "
|
|
101
|
-
"_theme_success": "
|
|
102
|
-
"_theme_warning": "
|
|
103
|
-
"_theme_danger": "
|
|
104
|
-
"_positioned": "
|
|
105
|
-
"__SScrollAreaBar": "
|
|
106
|
-
"_orientation_horizontal": "
|
|
107
|
-
"_orientation_vertical": "
|
|
108
|
-
"--left": "--
|
|
109
|
-
"--right": "--
|
|
110
|
-
"--offsetSum": "--
|
|
111
|
-
"__SHeightHold": "
|
|
77
|
+
"__SDataTable": "___SDataTable_k33va_gg_",
|
|
78
|
+
"__SHeadWrapper": "___SHeadWrapper_k33va_gg_",
|
|
79
|
+
"_sticky": "__sticky_k33va_gg_",
|
|
80
|
+
"__SHead": "___SHead_k33va_gg_",
|
|
81
|
+
"__SColumn": "___SColumn_k33va_gg_",
|
|
82
|
+
"_hidden": "__hidden_k33va_gg_",
|
|
83
|
+
"_use_primary": "_use_primary_k33va_gg_",
|
|
84
|
+
"_use_secondary": "_use_secondary_k33va_gg_",
|
|
85
|
+
"_use": "__use_k33va_gg_",
|
|
86
|
+
"_group": "__group_k33va_gg_",
|
|
87
|
+
"_groupHead": "__groupHead_k33va_gg_",
|
|
88
|
+
"_sortable": "__sortable_k33va_gg_",
|
|
89
|
+
"_active": "__active_k33va_gg_",
|
|
90
|
+
"_resizable": "__resizable_k33va_gg_",
|
|
91
|
+
"_fixed": "__fixed_k33va_gg_",
|
|
92
|
+
"__SSortIcon": "___SSortIcon_k33va_gg_",
|
|
93
|
+
"__SBodyWrapper": "___SBodyWrapper_k33va_gg_",
|
|
94
|
+
"__SBody": "___SBody_k33va_gg_",
|
|
95
|
+
"__SRow": "___SRow_k33va_gg_",
|
|
96
|
+
"__SCell": "___SCell_k33va_gg_",
|
|
97
|
+
"_theme": "__theme_k33va_gg_",
|
|
98
|
+
"__SGroupCell": "___SGroupCell_k33va_gg_",
|
|
99
|
+
"_theme_muted": "_theme_muted_k33va_gg_",
|
|
100
|
+
"_theme_info": "_theme_info_k33va_gg_",
|
|
101
|
+
"_theme_success": "_theme_success_k33va_gg_",
|
|
102
|
+
"_theme_warning": "_theme_warning_k33va_gg_",
|
|
103
|
+
"_theme_danger": "_theme_danger_k33va_gg_",
|
|
104
|
+
"_positioned": "__positioned_k33va_gg_",
|
|
105
|
+
"__SScrollAreaBar": "___SScrollAreaBar_k33va_gg_",
|
|
106
|
+
"_orientation_horizontal": "_orientation_horizontal_k33va_gg_",
|
|
107
|
+
"_orientation_vertical": "_orientation_vertical_k33va_gg_",
|
|
108
|
+
"--left": "--left_k33va",
|
|
109
|
+
"--right": "--right_k33va",
|
|
110
|
+
"--offsetSum": "--offsetSum_k33va",
|
|
111
|
+
"__SHeightHold": "___SHeightHold_k33va_gg_"
|
|
112
112
|
});
|
|
113
113
|
var REVERSED_SORT_DIRECTION = {
|
|
114
114
|
desc: 'asc',
|
|
@@ -134,7 +134,7 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
134
134
|
(0, _classCallCheck2["default"])(this, RootDefinitionTable);
|
|
135
135
|
_this = _super.call(this, props);
|
|
136
136
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "columns", []);
|
|
137
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "tableRef", _react["default"].createRef());
|
|
137
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "tableRef", /*#__PURE__*/_react["default"].createRef());
|
|
138
138
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "scrollBodyRef", null);
|
|
139
139
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "scrollHeadRef", null);
|
|
140
140
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handlerSortClick", function (name, event) {
|
|
@@ -148,7 +148,9 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
148
148
|
_this.forceUpdate();
|
|
149
149
|
});
|
|
150
150
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "scrollToUp", function () {
|
|
151
|
-
_this
|
|
151
|
+
var _this$tableRef, _this$tableRef$curren;
|
|
152
|
+
|
|
153
|
+
(_this$tableRef = _this.tableRef) === null || _this$tableRef === void 0 ? void 0 : (_this$tableRef$curren = _this$tableRef.current) === null || _this$tableRef$curren === void 0 ? void 0 : _this$tableRef$curren.scrollIntoView({
|
|
152
154
|
block: 'nearest',
|
|
153
155
|
inline: 'nearest',
|
|
154
156
|
behavior: 'smooth'
|
|
@@ -177,8 +179,10 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
177
179
|
|
|
178
180
|
try {
|
|
179
181
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
182
|
+
var _this$tableRef$curren2;
|
|
183
|
+
|
|
180
184
|
var cssVar = _step2.value;
|
|
181
|
-
this.tableRef.current
|
|
185
|
+
(_this$tableRef$curren2 = this.tableRef.current) === null || _this$tableRef$curren2 === void 0 ? void 0 : _this$tableRef$curren2.style.setProperty(cssVar, "".concat(_column.width, "px"));
|
|
182
186
|
}
|
|
183
187
|
} catch (err) {
|
|
184
188
|
_iterator2.e(err);
|
|
@@ -186,7 +190,9 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
186
190
|
_iterator2.f();
|
|
187
191
|
}
|
|
188
192
|
} else {
|
|
189
|
-
|
|
193
|
+
var _this$tableRef$curren3;
|
|
194
|
+
|
|
195
|
+
(_this$tableRef$curren3 = this.tableRef.current) === null || _this$tableRef$curren3 === void 0 ? void 0 : _this$tableRef$curren3.style.setProperty(_column.cssVar, "".concat(_column.width, "px"));
|
|
190
196
|
}
|
|
191
197
|
}
|
|
192
198
|
} catch (err) {
|
|
@@ -207,7 +213,9 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
207
213
|
var columnsChildren = [];
|
|
208
214
|
|
|
209
215
|
_react["default"].Children.forEach(children, function (child) {
|
|
210
|
-
|
|
216
|
+
var _column$props;
|
|
217
|
+
|
|
218
|
+
if (! /*#__PURE__*/_react["default"].isValidElement(child)) return;
|
|
211
219
|
if (child.type !== DefinitionTable.Column) return;
|
|
212
220
|
var _ref3 = child.props,
|
|
213
221
|
children = _ref3.children,
|
|
@@ -230,7 +238,7 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
230
238
|
}).join('/');
|
|
231
239
|
if (!columns.length) return;
|
|
232
240
|
children = _react["default"].Children.toArray(children).filter(function (child) {
|
|
233
|
-
return !(_react["default"].isValidElement(child) && child.type === DefinitionTable.Column);
|
|
241
|
+
return !( /*#__PURE__*/_react["default"].isValidElement(child) && child.type === DefinitionTable.Column);
|
|
234
242
|
});
|
|
235
243
|
}
|
|
236
244
|
|
|
@@ -240,7 +248,9 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
240
248
|
|
|
241
249
|
columnsChildren.push({
|
|
242
250
|
get width() {
|
|
243
|
-
|
|
251
|
+
var _this$props$ref$curre;
|
|
252
|
+
|
|
253
|
+
return ((_this$props$ref$curre = this.props.ref.current) === null || _this$props$ref$curre === void 0 ? void 0 : _this$props$ref$curre.getBoundingClientRect().width) || 0;
|
|
244
254
|
},
|
|
245
255
|
|
|
246
256
|
name: name,
|
|
@@ -249,11 +259,11 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
249
259
|
resizable: resizable,
|
|
250
260
|
active: sort[0] === name,
|
|
251
261
|
sortable: sortable,
|
|
252
|
-
sortDirection: sort[0] === name ? sort[1] : column
|
|
262
|
+
sortDirection: sort[0] === name ? sort[1] : (column === null || column === void 0 ? void 0 : column.sortDirection) || (typeof sortable == 'string' ? sortable : DEFAULT_SORT_DIRECTION),
|
|
253
263
|
columns: columns,
|
|
254
264
|
props: _objectSpread({
|
|
255
265
|
name: name,
|
|
256
|
-
ref: column
|
|
266
|
+
ref: (column === null || column === void 0 ? void 0 : (_column$props = column.props) === null || _column$props === void 0 ? void 0 : _column$props.ref) || /*#__PURE__*/_react["default"].createRef(),
|
|
257
267
|
children: children
|
|
258
268
|
}, props)
|
|
259
269
|
});
|
|
@@ -286,7 +296,7 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
286
296
|
var rowPropsLayers = [];
|
|
287
297
|
|
|
288
298
|
_react["default"].Children.forEach(props.children, function (child) {
|
|
289
|
-
if (_react["default"].isValidElement(child)) {
|
|
299
|
+
if ( /*#__PURE__*/_react["default"].isValidElement(child)) {
|
|
290
300
|
var _ref5 = child.props,
|
|
291
301
|
name = _ref5.name,
|
|
292
302
|
children = _ref5.children,
|
package/lib/cjs/DataTable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/DataTable.tsx"],"names":["REVERSED_SORT_DIRECTION","desc","asc","DEFAULT_SORT_DIRECTION","ROW_GROUP","Symbol","cssVarReg","createCssVarForWidth","name","replace","RootDefinitionTable","props","React","createRef","event","column","columns","find","active","sortDirection","forceUpdate","tableRef","current","scrollIntoView","block","inline","behavior","scrollBodyRef","scrollHeadRef","Array","isArray","cssVar","style","setProperty","width","children","options","fixed","undefined","sort","asProps","columnsChildren","Children","forEach","child","isValidElement","type","DefinitionTable","Column","resizable","sortable","isGroup","childrenToColumns","map","join","length","toArray","filter","push","ref","getBoundingClientRect","use","$onSortClick","handlerSortClick","scrollToUp","onResize","handlerResize","$scrollRef","data","uniqueKey","cellPropsLayers","rowPropsLayers","other","Cell","split","childrenPropsGetter","Row","rows","dataToRows","parseData","exclude","row","groupByName","groupedColumns","ungroupedColumns","rowKey","columnNames","groupData","rowsGroup","rowsGroupedNames","Object","fromEntries","subRow","keys","flat","key","cells","flatRowData","setVarStyle","SDataTable","Box","styles","Component","ComponentDefinition","Head","Body"],"mappings":"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","sourcesContent":["import React from 'react';\nimport createComponent, { Component, PropGetterFn, Root, sstyled } from '@semcore/core';\nimport { Box, IBoxProps, IFlexProps } from '@semcore/flex-box';\nimport syncScroll from '@semcore/utils/lib/syncScroll';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport fire from '@semcore/utils/lib/fire';\nimport { flattenColumns } from './utils';\nimport type {\n Column,\n NestedCells,\n PropsLayer,\n PseudoChildPropsGetter,\n RowData,\n SortDirection,\n} from './types';\nimport Head from './Head';\nimport Body from './Body';\n\nimport style from './style/data-table.shadow.css';\n\nconst REVERSED_SORT_DIRECTION: { [direction in SortDirection]: SortDirection } = {\n desc: 'asc',\n asc: 'desc',\n};\nconst DEFAULT_SORT_DIRECTION: SortDirection = 'desc';\n\nconst ROW_GROUP = Symbol('ROW_GROUP');\n\nconst cssVarReg = /[:;]/g;\n\nconst createCssVarForWidth = (name: string) => {\n return `--${name.replace(cssVarReg, '_')}_width`;\n};\n\ntype AsProps = {\n use: 'primary' | 'secondary';\n sort: SortDirection[];\n data: RowData[];\n uniqueKey: string;\n};\n\ntype HeadAsProps = {\n children: React.ReactChild;\n};\ntype BodyAsProps = {\n children: React.ReactChild;\n};\n\n/* utils type */\ntype CProps<Props, Ctx = {}, UCProps = {}> = Props & {\n children?: ((props: Props & Ctx, handlers: UCProps) => React.ReactNode) | React.ReactNode;\n};\ntype ReturnEl = React.ReactElement | null;\ntype ChildRenderFn<Props> = Props & {\n children?: (props: Props, column: DataTableData, index: number) => { [key: string]: unknown };\n};\n/* utils type */\n\nexport type DataTableData = { [key: string]: unknown };\nexport type DataTableSort = [string, 'desc' | 'asc'];\nexport type DataTableTheme = 'muted' | 'info' | 'success' | 'warning' | 'danger';\nexport type DataTableUse = 'primary' | 'secondary';\nexport type DataTableRow = DataTableCell[];\nexport type DataTableCell = {\n /** Name of column */\n name: string;\n /** Data of column */\n data: React.ReactNode;\n [key: string]: unknown;\n};\n\nexport interface IDataTableProps extends IBoxProps {\n /** Theme for table\n * @default primary\n * */\n use?: DataTableUse;\n /** Data for table */\n data?: DataTableData[];\n /** Active sort object */\n sort?: DataTableSort;\n /** Handler call when will request change sort */\n onSortChange?: (sort: DataTableSort, e?: React.SyntheticEvent) => void;\n /** Field name in one data entity that is unique accross all set of data\n * @default id\n */\n uniqueKey?: string;\n}\n\nexport interface IDataTableHeadProps extends IBoxProps {\n /** Sticky header table\n * @deprecated\n * */\n sticky?: boolean;\n\n /** Hidden header */\n hidden?: boolean;\n}\n\nexport interface IDataTableColumnProps extends IFlexProps {\n /** Unique name column */\n name?: string;\n /** Enable sort for column also if you pass string you can set default sort */\n sortable?: boolean | 'desc' | 'asc';\n /** Enable resize for column\n * @ignore */\n resizable?: boolean;\n /** Fixed column on the left/right */\n fixed?: 'left' | 'right';\n}\n\nexport interface IDataTableBodyProps extends IBoxProps {\n /** Rows table */\n rows?: DataTableRow[];\n /** When enabled, only visually acessable rows are rendered.\n * `tollerance` property controls how many rows outside of viewport are render.\n * `rowHeight` fixes the rows height if it known. If not provided, first row node height is measured.\n * @default { tollerance: 2 }\n */\n virtualScroll?: boolean | { tollerance?: number; rowHeight?: number };\n /**\n * Called every time user scrolls area\n */\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n}\n\nexport interface IDataTableRowProps extends IBoxProps {\n /** Theme for row */\n theme?: DataTableTheme;\n /** Displays row as active/hover */\n active?: boolean;\n}\n\nexport interface IDataTableCellProps extends IFlexProps {\n /** Unique name column or columns separated by / */\n name: string;\n /** Theme for cell */\n theme?: DataTableTheme;\n}\n\nclass RootDefinitionTable extends Component<AsProps> {\n static displayName = 'DefinitionTable';\n\n static style = style;\n\n static defaultProps = {\n use: 'primary',\n uniqueKey: 'id',\n sort: [],\n data: [],\n } as AsProps;\n\n columns: Column[] = [];\n\n tableRef = React.createRef<HTMLElement>();\n scrollBodyRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n scrollHeadRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n\n constructor(props: AsProps) {\n super(props);\n\n const createRef = syncScroll();\n // first create body ref for master scroll\n this.scrollBodyRef = createRef('body');\n this.scrollHeadRef = createRef('head');\n }\n\n handlerSortClick = (name: string, event: React.MouseEvent) => {\n const column = this.columns.find((column) => column.name === name)!;\n return fire(\n this,\n 'onSortChange',\n [\n column.name,\n column.active ? REVERSED_SORT_DIRECTION[column.sortDirection] : column.sortDirection,\n ],\n event,\n );\n };\n\n handlerResize = () => {\n this.forceUpdate();\n };\n\n scrollToUp = () => {\n this.tableRef?.current?.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n behavior: 'smooth',\n });\n };\n\n setVarStyle(columns: Column[]) {\n for (const column of columns) {\n if (Array.isArray(column.cssVar)) {\n for (const cssVar of column.cssVar) {\n this.tableRef.current?.style.setProperty(cssVar, `${column.width}px`);\n }\n } else {\n this.tableRef.current?.style.setProperty(column.cssVar, `${column.width}px`);\n }\n }\n }\n\n childrenToColumns(\n children: React.ReactNode,\n options: { fixed?: 'left' | 'right' } = { fixed: undefined },\n ) {\n const { sort } = this.asProps;\n const columnsChildren: Column[] = [];\n React.Children.forEach(children, (child) => {\n if (!React.isValidElement(child)) return;\n if (child.type !== DefinitionTable.Column) return;\n\n let {\n children,\n name,\n fixed = options.fixed,\n resizable,\n sortable,\n ...props\n } = child.props as Column['props'];\n const isGroup = !name;\n let columns: Column[] = [];\n\n if (isGroup) {\n columns = this.childrenToColumns(children, { fixed });\n name = flattenColumns(columns)\n .map(({ name }) => name)\n .join('/');\n if (!columns.length) return;\n children = React.Children.toArray(children).filter(\n (child) => !(React.isValidElement(child) && child.type === DefinitionTable.Column),\n );\n }\n\n const column = this.columns.find((column) => column.name === name);\n columnsChildren.push({\n get width() {\n return this.props.ref.current?.getBoundingClientRect().width || 0;\n },\n name,\n cssVar: createCssVarForWidth(name),\n fixed,\n resizable,\n active: sort[0] === name,\n sortable,\n sortDirection:\n sort[0] === name\n ? sort[1]\n : column?.sortDirection ||\n (typeof sortable == 'string' ? sortable : DEFAULT_SORT_DIRECTION),\n columns,\n props: {\n name,\n ref: column?.props?.ref || React.createRef(),\n children,\n ...props,\n },\n });\n });\n return columnsChildren;\n }\n\n getHeadProps(props: HeadAsProps) {\n const { use } = this.asProps;\n const columnsChildren = this.childrenToColumns(props.children);\n this.columns = flattenColumns(columnsChildren);\n return {\n $onSortClick: callAllEventHandlers(this.handlerSortClick, this.scrollToUp),\n columnsChildren,\n use,\n onResize: this.handlerResize,\n $scrollRef: this.scrollHeadRef,\n };\n }\n\n getBodyProps(props: BodyAsProps) {\n const { data, use, uniqueKey } = this.asProps;\n\n const cellPropsLayers: { [columnName: string]: PropsLayer[] } = {};\n const rowPropsLayers: PropsLayer[] = [];\n\n React.Children.forEach(props.children, (child) => {\n if (React.isValidElement(child)) {\n const { name, children, ...other } = child.props as {\n name?: string;\n children?: PseudoChildPropsGetter;\n } & { [propName: string]: unknown };\n if (child.type === DefinitionTable.Cell && name) {\n name.split('/').forEach((name) => {\n cellPropsLayers[name] = cellPropsLayers[name] || [];\n cellPropsLayers[name].push({\n ...other,\n childrenPropsGetter: children,\n });\n });\n }\n if (child.type === DefinitionTable.Row) {\n rowPropsLayers.push({\n ...other,\n childrenPropsGetter: children,\n });\n }\n }\n });\n\n return {\n columns: this.columns,\n rows: this.dataToRows(data, cellPropsLayers),\n uniqueKey,\n use,\n rowPropsLayers,\n $scrollRef: this.scrollBodyRef,\n };\n }\n\n dataToRows(data: RowData[], cellPropsLayers: { [columnName: string]: PropsLayer[] }) {\n const parseData = (data: RowData[], exclude: { [columnName: string]: true }) =>\n data.map((row) => {\n const groupByName: {\n [columnName: string]: {\n groupedColumns: string[];\n groupData: { [columnName: string]: unknown };\n };\n } = {};\n const groupedColumns: { [columnname: string]: true } = {};\n const ungroupedColumns: { [columnname: string]: true } = {};\n for (const rowKey in row) {\n const columnNames = rowKey.split('/');\n if (columnNames.length >= 2) {\n for (const column of columnNames) {\n groupByName[column] = {\n groupedColumns: columnNames,\n groupData: row[rowKey] as { [columnName: string]: unknown },\n };\n groupedColumns[rowKey] = true;\n }\n } else {\n ungroupedColumns[rowKey] = true;\n }\n }\n const rowsGroup = row[ROW_GROUP] || [];\n const rowsGroupedNames = Object.fromEntries(\n rowsGroup\n .map((subRow) => Object.keys(subRow))\n .flat()\n .map((key) => [key, true]),\n );\n\n let isGroup = false;\n\n const cells: NestedCells = this.columns\n .map((column) => {\n if (groupByName[column.name]) {\n const { groupedColumns, groupData } = groupByName[column.name];\n if (groupedColumns[0] === column.name) {\n return {\n name: groupedColumns.join('/'),\n cssVar: groupedColumns.map(createCssVarForWidth),\n fixed: column.fixed,\n data: groupData,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n } else if (column.name in row) {\n return {\n name: column.name,\n cssVar: column.cssVar,\n fixed: column.fixed,\n data: row[column.name],\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n } else if (!isGroup && rowsGroupedNames[column.name]) {\n // TODO: make it work not only with first group\n isGroup = true;\n return parseData(rowsGroup, {\n ...ungroupedColumns,\n ...groupedColumns,\n });\n } else if (!exclude[column.name] && !rowsGroupedNames[column.name]) {\n return {\n name: column.name,\n cssVar: column.cssVar,\n fixed: column.fixed,\n data: null,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n })\n .filter((column) => column !== undefined)\n .map((column) => column!);\n\n cells.flatRowData = row;\n return cells;\n });\n\n return parseData(data, {});\n }\n\n componentDidUpdate() {\n this.setVarStyle(this.columns);\n }\n\n render() {\n const SDataTable = Root;\n const { Children, styles } = this.asProps;\n\n return sstyled(styles)(\n <SDataTable render={Box} __excludeProps={['data']} ref={this.tableRef}>\n <Children />\n </SDataTable>,\n );\n }\n}\n\ninterface IDataTableCtx {\n getHeadProps: PropGetterFn;\n getBodyProps: PropGetterFn;\n}\n\nfunction ComponentDefinition() {\n return null;\n}\n\nconst DefinitionTable = createComponent(\n RootDefinitionTable,\n {\n Head,\n Body,\n Column: ComponentDefinition,\n Cell: ComponentDefinition,\n Row: ComponentDefinition,\n },\n {},\n) as (<T>(props: CProps<IDataTableProps & T, IDataTableCtx>) => ReturnEl) & {\n Head: <T>(props: IDataTableHeadProps & T) => ReturnEl;\n Body: <T>(props: IDataTableBodyProps & T) => ReturnEl;\n Column: <T>(props: IDataTableColumnProps & T) => ReturnEl;\n Cell: <T>(props: ChildRenderFn<IDataTableCellProps & T>) => ReturnEl;\n Row: <T>(props: ChildRenderFn<IDataTableRowProps & T>) => ReturnEl;\n};\n\nexport { ROW_GROUP };\nexport default DefinitionTable;\n"],"file":"DataTable.js"}
|
|
1
|
+
{"version":3,"file":"DataTable.js","names":["REVERSED_SORT_DIRECTION","desc","asc","DEFAULT_SORT_DIRECTION","ROW_GROUP","Symbol","cssVarReg","createCssVarForWidth","name","replace","RootDefinitionTable","props","React","createRef","event","column","columns","find","fire","active","sortDirection","forceUpdate","tableRef","current","scrollIntoView","block","inline","behavior","syncScroll","scrollBodyRef","scrollHeadRef","Array","isArray","cssVar","style","setProperty","width","children","options","fixed","undefined","sort","asProps","columnsChildren","Children","forEach","child","isValidElement","type","DefinitionTable","Column","resizable","sortable","isGroup","childrenToColumns","flattenColumns","map","join","length","toArray","filter","push","ref","getBoundingClientRect","use","$onSortClick","callAllEventHandlers","handlerSortClick","scrollToUp","onResize","handlerResize","$scrollRef","data","uniqueKey","cellPropsLayers","rowPropsLayers","other","Cell","split","childrenPropsGetter","Row","rows","dataToRows","parseData","exclude","row","groupByName","groupedColumns","ungroupedColumns","rowKey","columnNames","groupData","rowsGroup","rowsGroupedNames","Object","fromEntries","subRow","keys","flat","key","cells","flatRowData","setVarStyle","SDataTable","Box","styles","sstyled","Component","ComponentDefinition","createComponent","Head","Body"],"sources":["../../src/DataTable.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, PropGetterFn, Root, sstyled } from '@semcore/core';\nimport { Box, IBoxProps, IFlexProps } from '@semcore/flex-box';\nimport syncScroll from '@semcore/utils/lib/syncScroll';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport fire from '@semcore/utils/lib/fire';\nimport { flattenColumns } from './utils';\nimport type {\n Column,\n NestedCells,\n PropsLayer,\n PseudoChildPropsGetter,\n RowData,\n SortDirection,\n} from './types';\nimport Head from './Head';\nimport Body from './Body';\n\nimport style from './style/data-table.shadow.css';\n\nconst REVERSED_SORT_DIRECTION: { [direction in SortDirection]: SortDirection } = {\n desc: 'asc',\n asc: 'desc',\n};\nconst DEFAULT_SORT_DIRECTION: SortDirection = 'desc';\n\nconst ROW_GROUP = Symbol('ROW_GROUP');\n\nconst cssVarReg = /[:;]/g;\n\nconst createCssVarForWidth = (name: string) => {\n return `--${name.replace(cssVarReg, '_')}_width`;\n};\n\ntype AsProps = {\n use: 'primary' | 'secondary';\n sort: SortDirection[];\n data: RowData[];\n uniqueKey: string;\n};\n\ntype HeadAsProps = {\n children: React.ReactChild;\n};\ntype BodyAsProps = {\n children: React.ReactChild;\n};\n\n/* utils type */\ntype CProps<Props, Ctx = {}, UCProps = {}> = Props & {\n children?: ((props: Props & Ctx, handlers: UCProps) => React.ReactNode) | React.ReactNode;\n};\ntype ReturnEl = React.ReactElement | null;\ntype ChildRenderFn<Props> = Props & {\n children?: (props: Props, column: DataTableData, index: number) => { [key: string]: unknown };\n};\n/* utils type */\n\nexport type DataTableData = { [key: string]: unknown };\nexport type DataTableSort = [string, 'desc' | 'asc'];\nexport type DataTableTheme = 'muted' | 'info' | 'success' | 'warning' | 'danger';\nexport type DataTableUse = 'primary' | 'secondary';\nexport type DataTableRow = DataTableCell[];\nexport type DataTableCell = {\n /** Name of column */\n name: string;\n /** Data of column */\n data: React.ReactNode;\n [key: string]: unknown;\n};\n\nexport interface IDataTableProps extends IBoxProps {\n /** Theme for table\n * @default primary\n * */\n use?: DataTableUse;\n /** Data for table */\n data?: DataTableData[];\n /** Active sort object */\n sort?: DataTableSort;\n /** Handler call when will request change sort */\n onSortChange?: (sort: DataTableSort, e?: React.SyntheticEvent) => void;\n /** Field name in one data entity that is unique accross all set of data\n * @default id\n */\n uniqueKey?: string;\n}\n\nexport interface IDataTableHeadProps extends IBoxProps {\n /** Sticky header table\n * @deprecated\n * */\n sticky?: boolean;\n\n /** Hidden header */\n hidden?: boolean;\n}\n\nexport interface IDataTableColumnProps extends IFlexProps {\n /** Unique name column */\n name?: string;\n /** Enable sort for column also if you pass string you can set default sort */\n sortable?: boolean | 'desc' | 'asc';\n /** Enable resize for column\n * @ignore */\n resizable?: boolean;\n /** Fixed column on the left/right */\n fixed?: 'left' | 'right';\n}\n\nexport interface IDataTableBodyProps extends IBoxProps {\n /** Rows table */\n rows?: DataTableRow[];\n /** When enabled, only visually acessable rows are rendered.\n * `tollerance` property controls how many rows outside of viewport are render.\n * `rowHeight` fixes the rows height if it known. If not provided, first row node height is measured.\n * @default { tollerance: 2 }\n */\n virtualScroll?: boolean | { tollerance?: number; rowHeight?: number };\n /**\n * Called every time user scrolls area\n */\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n}\n\nexport interface IDataTableRowProps extends IBoxProps {\n /** Theme for row */\n theme?: DataTableTheme;\n /** Displays row as active/hover */\n active?: boolean;\n}\n\nexport interface IDataTableCellProps extends IFlexProps {\n /** Unique name column or columns separated by / */\n name: string;\n /** Theme for cell */\n theme?: DataTableTheme;\n}\n\nclass RootDefinitionTable extends Component<AsProps> {\n static displayName = 'DefinitionTable';\n\n static style = style;\n\n static defaultProps = {\n use: 'primary',\n uniqueKey: 'id',\n sort: [],\n data: [],\n } as AsProps;\n\n columns: Column[] = [];\n\n tableRef = React.createRef<HTMLElement>();\n scrollBodyRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n scrollHeadRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n\n constructor(props: AsProps) {\n super(props);\n\n const createRef = syncScroll();\n // first create body ref for master scroll\n this.scrollBodyRef = createRef('body');\n this.scrollHeadRef = createRef('head');\n }\n\n handlerSortClick = (name: string, event: React.MouseEvent) => {\n const column = this.columns.find((column) => column.name === name)!;\n return fire(\n this,\n 'onSortChange',\n [\n column.name,\n column.active ? REVERSED_SORT_DIRECTION[column.sortDirection] : column.sortDirection,\n ],\n event,\n );\n };\n\n handlerResize = () => {\n this.forceUpdate();\n };\n\n scrollToUp = () => {\n this.tableRef?.current?.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n behavior: 'smooth',\n });\n };\n\n setVarStyle(columns: Column[]) {\n for (const column of columns) {\n if (Array.isArray(column.cssVar)) {\n for (const cssVar of column.cssVar) {\n this.tableRef.current?.style.setProperty(cssVar, `${column.width}px`);\n }\n } else {\n this.tableRef.current?.style.setProperty(column.cssVar, `${column.width}px`);\n }\n }\n }\n\n childrenToColumns(\n children: React.ReactNode,\n options: { fixed?: 'left' | 'right' } = { fixed: undefined },\n ) {\n const { sort } = this.asProps;\n const columnsChildren: Column[] = [];\n React.Children.forEach(children, (child) => {\n if (!React.isValidElement(child)) return;\n if (child.type !== DefinitionTable.Column) return;\n\n let {\n children,\n name,\n fixed = options.fixed,\n resizable,\n sortable,\n ...props\n } = child.props as Column['props'];\n const isGroup = !name;\n let columns: Column[] = [];\n\n if (isGroup) {\n columns = this.childrenToColumns(children, { fixed });\n name = flattenColumns(columns)\n .map(({ name }) => name)\n .join('/');\n if (!columns.length) return;\n children = React.Children.toArray(children).filter(\n (child) => !(React.isValidElement(child) && child.type === DefinitionTable.Column),\n );\n }\n\n const column = this.columns.find((column) => column.name === name);\n columnsChildren.push({\n get width() {\n return this.props.ref.current?.getBoundingClientRect().width || 0;\n },\n name,\n cssVar: createCssVarForWidth(name),\n fixed,\n resizable,\n active: sort[0] === name,\n sortable,\n sortDirection:\n sort[0] === name\n ? sort[1]\n : column?.sortDirection ||\n (typeof sortable == 'string' ? sortable : DEFAULT_SORT_DIRECTION),\n columns,\n props: {\n name,\n ref: column?.props?.ref || React.createRef(),\n children,\n ...props,\n },\n });\n });\n return columnsChildren;\n }\n\n getHeadProps(props: HeadAsProps) {\n const { use } = this.asProps;\n const columnsChildren = this.childrenToColumns(props.children);\n this.columns = flattenColumns(columnsChildren);\n return {\n $onSortClick: callAllEventHandlers(this.handlerSortClick, this.scrollToUp),\n columnsChildren,\n use,\n onResize: this.handlerResize,\n $scrollRef: this.scrollHeadRef,\n };\n }\n\n getBodyProps(props: BodyAsProps) {\n const { data, use, uniqueKey } = this.asProps;\n\n const cellPropsLayers: { [columnName: string]: PropsLayer[] } = {};\n const rowPropsLayers: PropsLayer[] = [];\n\n React.Children.forEach(props.children, (child) => {\n if (React.isValidElement(child)) {\n const { name, children, ...other } = child.props as {\n name?: string;\n children?: PseudoChildPropsGetter;\n } & { [propName: string]: unknown };\n if (child.type === DefinitionTable.Cell && name) {\n name.split('/').forEach((name) => {\n cellPropsLayers[name] = cellPropsLayers[name] || [];\n cellPropsLayers[name].push({\n ...other,\n childrenPropsGetter: children,\n });\n });\n }\n if (child.type === DefinitionTable.Row) {\n rowPropsLayers.push({\n ...other,\n childrenPropsGetter: children,\n });\n }\n }\n });\n\n return {\n columns: this.columns,\n rows: this.dataToRows(data, cellPropsLayers),\n uniqueKey,\n use,\n rowPropsLayers,\n $scrollRef: this.scrollBodyRef,\n };\n }\n\n dataToRows(data: RowData[], cellPropsLayers: { [columnName: string]: PropsLayer[] }) {\n const parseData = (data: RowData[], exclude: { [columnName: string]: true }) =>\n data.map((row) => {\n const groupByName: {\n [columnName: string]: {\n groupedColumns: string[];\n groupData: { [columnName: string]: unknown };\n };\n } = {};\n const groupedColumns: { [columnname: string]: true } = {};\n const ungroupedColumns: { [columnname: string]: true } = {};\n for (const rowKey in row) {\n const columnNames = rowKey.split('/');\n if (columnNames.length >= 2) {\n for (const column of columnNames) {\n groupByName[column] = {\n groupedColumns: columnNames,\n groupData: row[rowKey] as { [columnName: string]: unknown },\n };\n groupedColumns[rowKey] = true;\n }\n } else {\n ungroupedColumns[rowKey] = true;\n }\n }\n const rowsGroup = row[ROW_GROUP] || [];\n const rowsGroupedNames = Object.fromEntries(\n rowsGroup\n .map((subRow) => Object.keys(subRow))\n .flat()\n .map((key) => [key, true]),\n );\n\n let isGroup = false;\n\n const cells: NestedCells = this.columns\n .map((column) => {\n if (groupByName[column.name]) {\n const { groupedColumns, groupData } = groupByName[column.name];\n if (groupedColumns[0] === column.name) {\n return {\n name: groupedColumns.join('/'),\n cssVar: groupedColumns.map(createCssVarForWidth),\n fixed: column.fixed,\n data: groupData,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n } else if (column.name in row) {\n return {\n name: column.name,\n cssVar: column.cssVar,\n fixed: column.fixed,\n data: row[column.name],\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n } else if (!isGroup && rowsGroupedNames[column.name]) {\n // TODO: make it work not only with first group\n isGroup = true;\n return parseData(rowsGroup, {\n ...ungroupedColumns,\n ...groupedColumns,\n });\n } else if (!exclude[column.name] && !rowsGroupedNames[column.name]) {\n return {\n name: column.name,\n cssVar: column.cssVar,\n fixed: column.fixed,\n data: null,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n })\n .filter((column) => column !== undefined)\n .map((column) => column!);\n\n cells.flatRowData = row;\n return cells;\n });\n\n return parseData(data, {});\n }\n\n componentDidUpdate() {\n this.setVarStyle(this.columns);\n }\n\n render() {\n const SDataTable = Root;\n const { Children, styles } = this.asProps;\n\n return sstyled(styles)(\n <SDataTable render={Box} __excludeProps={['data']} ref={this.tableRef}>\n <Children />\n </SDataTable>,\n );\n }\n}\n\ninterface IDataTableCtx {\n getHeadProps: PropGetterFn;\n getBodyProps: PropGetterFn;\n}\n\nfunction ComponentDefinition() {\n return null;\n}\n\nconst DefinitionTable = createComponent(\n RootDefinitionTable,\n {\n Head,\n Body,\n Column: ComponentDefinition,\n Cell: ComponentDefinition,\n Row: ComponentDefinition,\n },\n {},\n) as (<T>(props: CProps<IDataTableProps & T, IDataTableCtx>) => ReturnEl) & {\n Head: <T>(props: IDataTableHeadProps & T) => ReturnEl;\n Body: <T>(props: IDataTableBodyProps & T) => ReturnEl;\n Column: <T>(props: IDataTableColumnProps & T) => ReturnEl;\n Cell: <T>(props: ChildRenderFn<IDataTableCellProps & T>) => ReturnEl;\n Row: <T>(props: ChildRenderFn<IDataTableRowProps & T>) => ReturnEl;\n};\n\nexport { ROW_GROUP };\nexport default DefinitionTable;\n"],"mappings":"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"}
|
package/lib/cjs/Head.js
CHANGED
|
@@ -56,14 +56,14 @@ var scrollStyles = (
|
|
|
56
56
|
/*__reshadow_css_start__*/
|
|
57
57
|
_core.sstyled.insert(
|
|
58
58
|
/*__inner_css_start__*/
|
|
59
|
-
".
|
|
59
|
+
".___SShadowHorizontal_1gzhg_gg_:before{left:var(--left_1gzhg)!important}.___SShadowHorizontal_1gzhg_gg_:after{right:var(--right_1gzhg)!important}"
|
|
60
60
|
/*__inner_css_end__*/
|
|
61
|
-
, "
|
|
61
|
+
, "1gzhg_gg_")
|
|
62
62
|
/*__reshadow_css_end__*/
|
|
63
63
|
, {
|
|
64
|
-
"__SShadowHorizontal": "
|
|
65
|
-
"--left": "--
|
|
66
|
-
"--right": "--
|
|
64
|
+
"__SShadowHorizontal": "___SShadowHorizontal_1gzhg_gg_",
|
|
65
|
+
"--left": "--left_1gzhg",
|
|
66
|
+
"--right": "--right_1gzhg"
|
|
67
67
|
});
|
|
68
68
|
var SORTING_ICON = {
|
|
69
69
|
desc: _m["default"],
|
|
@@ -113,7 +113,7 @@ var Head = /*#__PURE__*/function (_Component) {
|
|
|
113
113
|
}, {
|
|
114
114
|
key: "renderColumn",
|
|
115
115
|
value: function renderColumn(column, width) {
|
|
116
|
-
var _ref2;
|
|
116
|
+
var _ref2, _column$columns;
|
|
117
117
|
|
|
118
118
|
var _this$asProps = this.asProps,
|
|
119
119
|
styles = _this$asProps.styles,
|
|
@@ -122,7 +122,7 @@ var Head = /*#__PURE__*/function (_Component) {
|
|
|
122
122
|
var SColumn = _flexBox.Flex;
|
|
123
123
|
var SHead = _flexBox.Box;
|
|
124
124
|
var SSortIcon = SORTING_ICON[column.sortDirection];
|
|
125
|
-
var isGroup = column.columns
|
|
125
|
+
var isGroup = ((_column$columns = column.columns) === null || _column$columns === void 0 ? void 0 : _column$columns.length) > 0;
|
|
126
126
|
var cSize = isGroup ? (0, _utils.flattenColumns)(column.columns).length : 1;
|
|
127
127
|
|
|
128
128
|
var _getFixedStyle = (0, _utils.getFixedStyle)(column, this.columns),
|