@semcore/data-table 3.3.4 → 3.4.1
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 +13 -0
- package/lib/cjs/Body.js +11 -7
- package/lib/cjs/Body.js.map +1 -1
- package/lib/cjs/DataTable.js +63 -71
- package/lib/cjs/DataTable.js.map +1 -1
- package/lib/cjs/Head.js +15 -7
- package/lib/cjs/Head.js.map +1 -1
- package/lib/cjs/style/scroll-area.shadow.css +4 -0
- package/lib/cjs/types.js.map +1 -1
- package/lib/es6/Body.js +11 -7
- package/lib/es6/Body.js.map +1 -1
- package/lib/es6/DataTable.js +63 -71
- package/lib/es6/DataTable.js.map +1 -1
- package/lib/es6/Head.js +15 -7
- package/lib/es6/Head.js.map +1 -1
- package/lib/es6/style/scroll-area.shadow.css +4 -0
- package/lib/es6/types.js.map +1 -1
- package/lib/types/Body.d.ts +1 -0
- package/lib/types/DataTable.d.ts +7 -0
- package/lib/types/Head.d.ts +1 -0
- package/lib/types/types.d.ts +6 -2
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
|
|
4
4
|
|
|
5
|
+
## [3.4.1] - 2022-10-28
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- Version patch update due to children dependencies update (`@semcore/icon` [3.1.1 ~> 3.1.2], `@semcore/utils` [3.40.0 ~> 3.40.0]).
|
|
10
|
+
|
|
11
|
+
## [3.4.0] - 2022-10-25
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
|
|
15
|
+
- Added `disabledScroll` property that disables scrolling in tables.
|
|
16
|
+
- Added the ability(`flex="inherit"`) to inherit the size from the top table.
|
|
17
|
+
|
|
5
18
|
## [3.3.4] - 2022-10-24
|
|
6
19
|
|
|
7
20
|
### Changed
|
package/lib/cjs/Body.js
CHANGED
|
@@ -71,14 +71,16 @@ var scrollStyles = (
|
|
|
71
71
|
/*__reshadow_css_start__*/
|
|
72
72
|
_core.sstyled.insert(
|
|
73
73
|
/*__inner_css_start__*/
|
|
74
|
-
".
|
|
74
|
+
".___SShadowHorizontal_ki0ko_gg_:before {\n left: var(--left_ki0ko) !important;\n}\n.___SShadowHorizontal_ki0ko_gg_:after {\n right: var(--right_ki0ko) !important;\n}\n.___SContainer_ki0ko_gg_.__disabledScroll_ki0ko_gg_ {\n overflow: visible;\n}\n"
|
|
75
75
|
/*__inner_css_end__*/
|
|
76
|
-
, "
|
|
76
|
+
, "ki0ko_gg_")
|
|
77
77
|
/*__reshadow_css_end__*/
|
|
78
78
|
, {
|
|
79
|
-
"__SShadowHorizontal": "
|
|
80
|
-
"--left": "--
|
|
81
|
-
"--right": "--
|
|
79
|
+
"__SShadowHorizontal": "___SShadowHorizontal_ki0ko_gg_",
|
|
80
|
+
"--left": "--left_ki0ko",
|
|
81
|
+
"--right": "--right_ki0ko",
|
|
82
|
+
"__SContainer": "___SContainer_ki0ko_gg_",
|
|
83
|
+
"_disabledScroll": "__disabledScroll_ki0ko_gg_"
|
|
82
84
|
});
|
|
83
85
|
var testEnv = process.env.NODE_ENV === 'test';
|
|
84
86
|
|
|
@@ -379,7 +381,8 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
379
381
|
$scrollRef = _this$asProps3.$scrollRef,
|
|
380
382
|
virtualScroll = _this$asProps3.virtualScroll,
|
|
381
383
|
onResize = _this$asProps3.onResize,
|
|
382
|
-
onScroll = _this$asProps3.onScroll
|
|
384
|
+
onScroll = _this$asProps3.onScroll,
|
|
385
|
+
disabledScroll = _this$asProps3.disabledScroll;
|
|
383
386
|
var columnsInitialized = columns.reduce(function (sum, _ref10) {
|
|
384
387
|
var width = _ref10.width;
|
|
385
388
|
return sum + width;
|
|
@@ -408,7 +411,8 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
408
411
|
"onResize": (0, _assignProps2.callAllEventHandlers)(onResize, this.handleScrollAreaResize),
|
|
409
412
|
"onScroll": (0, _assignProps2.callAllEventHandlers)(onScroll, this.handleScrollAreaScroll)
|
|
410
413
|
}), /*#__PURE__*/_react["default"].createElement(_scrollArea["default"].Container, {
|
|
411
|
-
ref: $scrollRef
|
|
414
|
+
ref: $scrollRef,
|
|
415
|
+
disabledScroll: disabledScroll
|
|
412
416
|
}, /*#__PURE__*/_react["default"].createElement(SBody, _ref5.cn("SBody", _objectSpread({}, (0, _core.assignProps)({
|
|
413
417
|
"role": "rowgroup"
|
|
414
418
|
}, _ref))), holdHeight && /*#__PURE__*/_react["default"].createElement(SHeightHold, _ref5.cn("SHeightHold", {
|
package/lib/cjs/Body.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Body.js","names":["testEnv","process","env","NODE_ENV","getCellsByColumn","cells","flattenCells","flat","Object","fromEntries","map","cell","name","data","Body","rowHeight","undefined","scrollAreaHeight","scrollOffset","React","createRef","virtualScroll","asProps","rowHeightFromProps","state","trottle","entries","contentRect","height","setState","oldState","event","target","scrollTop","firstRowRef","current","firstRowResizeObserver","ResizeObserver","handleFirstRowResize","observe","rowData","index","SCell","Flex","styles","columns","use","Array","isArray","SGroupCell","sstyled","renderRows","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 role=\"rowgroup\" 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\n key={cell.name}\n role=\"cell\"\n {...props}\n fixed={cell.fixed}\n theme={props.theme}\n use={use}\n />,\n ) as React.ReactElement;\n }\n }, [] as React.ReactElement[]);\n }\n\n renderRow(\n cells: NestedCells,\n { dataIndex, topOffset, nested }: { dataIndex: number; topOffset?: number; nested: boolean },\n ) {\n const SRow = Box;\n const { styles, rowPropsLayers, uniqueKey, virtualScroll } = this.asProps;\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n\n const rowData = cells.flatRowData || getCellsByColumn(cells);\n const key = rowData[uniqueKey] ? String(rowData[uniqueKey]) : `row_${dataIndex}`;\n const needToMeasureHeight = dataIndex === 0 && !nested && !rowHeightFromProps;\n\n let props = {\n children: this.renderCells(cells, rowData, dataIndex),\n theme: undefined,\n active: undefined,\n positioned: topOffset !== undefined,\n top: topOffset,\n ref: needToMeasureHeight ? this.firstRowRef : undefined,\n key,\n 'aria-rowindex': dataIndex + 1,\n };\n\n for (const rowPropsLayer of rowPropsLayers) {\n const { childrenPropsGetter = (p) => p, ...other } = rowPropsLayer;\n const propsRow = assignProps(other, props);\n props = assignProps(childrenPropsGetter(propsRow, rowData, dataIndex), propsRow);\n }\n\n return sstyled(styles)(<SRow role=\"row\" {...props} />);\n }\n\n renderRows(rows: NestedCells[]) {\n return rows.map((cells, dataIndex) => this.renderRow(cells, { dataIndex, nested: false }));\n }\n\n renderVirtualizedRows(rows: NestedCells[]) {\n if (rows.length === 0) return [];\n\n const { virtualScroll } = this.asProps;\n const { scrollOffset, scrollAreaHeight } = this.state;\n const rowHeight = this.getRowHeight();\n\n const tollerance = (typeof virtualScroll === 'object' ? virtualScroll?.tollerance : 2) ?? 2;\n const startIndex = Math.max(Math.floor(scrollOffset / rowHeight!) - tollerance, 0);\n const lastIndex = Math.min(\n Math.ceil((scrollOffset + scrollAreaHeight!) / rowHeight!) + tollerance,\n rows.length,\n );\n\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n const needToMeasureFirstRowHeight = !rowHeightFromProps;\n\n const firstRow = { cells: rows[0], dataIndex: 0, topOffset: 0 };\n const visibleRows = rowHeight !== undefined ? rows.slice(startIndex, lastIndex) : [];\n const processedVisibleRows = visibleRows.map((cells, index) => ({\n cells,\n dataIndex: startIndex + index,\n topOffset: rowHeight! * (startIndex + index),\n }));\n if (needToMeasureFirstRowHeight && startIndex !== 0) {\n processedVisibleRows.unshift(firstRow);\n }\n\n return processedVisibleRows.map(({ cells, dataIndex, topOffset }) =>\n this.renderRow(cells, { dataIndex, topOffset, nested: false }),\n );\n }\n\n handleFirstRowResize = trottle((entries: ResizeObserverEntry[]) => {\n const { contentRect } = entries[0];\n const { height } = contentRect;\n this.setState((oldState: State) => {\n if (oldState.rowHeight === height) return oldState;\n return { rowHeight: height };\n });\n });\n\n handleScrollAreaResize = trottle((entries: ResizeObserverEntry[]) => {\n const { virtualScroll } = this.asProps;\n if (!virtualScroll) return;\n const { contentRect } = entries[0];\n const { height } = contentRect;\n this.setState((oldState: State) => {\n if (oldState.scrollAreaHeight === height) return oldState;\n return { scrollAreaHeight: height };\n });\n });\n\n handleScrollAreaScroll = (event: React.SyntheticEvent<HTMLElement>) => {\n const { scrollTop } = event.target as HTMLElement;\n const { virtualScroll } = this.asProps;\n if (virtualScroll) {\n this.setState((oldState: State) => {\n if (oldState.scrollOffset === scrollTop) return oldState;\n return { scrollOffset: scrollTop };\n });\n }\n };\n\n setupRowSizeObserver = () => {\n if (!this.firstRowRef.current) return;\n if (!this.asProps.virtualScroll) return;\n this.firstRowResizeObserver = new ResizeObserver(this.handleFirstRowResize);\n this.firstRowResizeObserver.observe(this.firstRowRef.current);\n };\n\n componentWillUnmount() {\n this.firstRowResizeObserver?.disconnect();\n }\n\n render() {\n const SBody = Root;\n const SBodyWrapper = Box;\n const SScrollAreaBar = ScrollArea.Bar;\n const SHeightHold = Box;\n const { 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} role=\"rowgroup\">\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":"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"}
|
|
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","disabledScroll","columnsInitialized","reduce","sum","getScrollOffsetValue","offsetLeftSum","offsetRightSum","offsetSum","holdHeight","Promise","setupRowSizeObserver","scrollStyles","callAllEventHandlers","handleScrollAreaResize","handleScrollAreaScroll","renderVirtualizedRows","origin","Component"],"sources":["../../src/Body.tsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box, Flex, IBoxProps } from '@semcore/flex-box';\nimport ScrollArea from '@semcore/scroll-area';\nimport { getFixedStyle, getScrollOffsetValue } from './utils';\nimport { RowData, Column, NestedCells, PropsLayer, Cell } from './types';\nimport assignProps, { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport scrollStyles from './style/scroll-area.shadow.css';\nimport syncScroll from '@semcore/utils/lib/syncScroll';\nimport trottle from '@semcore/utils/lib/rafTrottle';\n\nconst testEnv = process.env.NODE_ENV === 'test';\n\nconst getCellsByColumn = (cells: NestedCells): RowData => {\n const flattenCells = cells.flat(20) as Cell[];\n return Object.fromEntries(flattenCells.map((cell) => [cell.name, cell.data]));\n};\n\ntype AsProps = {\n rows: NestedCells[];\n columns: Column[];\n $scrollRef: ReturnType<ReturnType<typeof syncScroll>>;\n onResize: ResizeObserverCallback;\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n rowPropsLayers: PropsLayer[];\n use: 'primary' | 'secondary';\n uniqueKey: string;\n virtualScroll?: boolean | { tollerance?: number; rowHeight?: number };\n disabledScroll?: boolean;\n};\n\ntype State = {\n rowHeight: number | undefined;\n scrollAreaHeight: undefined | number;\n scrollOffset: number;\n};\n\nclass Body extends Component<AsProps, State> {\n state: State = {\n rowHeight: undefined,\n scrollAreaHeight: undefined,\n scrollOffset: 0,\n };\n\n firstRowRef = React.createRef<HTMLElement>();\n firstRowResizeObserver: ResizeObserver | null = null;\n\n getRowHeight = () => {\n const { virtualScroll } = this.asProps;\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n return rowHeightFromProps || this.state.rowHeight;\n };\n\n renderCells(cells: NestedCells, rowData: RowData, index: number) {\n const SCell = Flex;\n const { styles, columns, use } = this.asProps;\n return cells.map((cell) => {\n if (Array.isArray(cell)) {\n const SGroupCell = 'div';\n return sstyled(styles)(\n <SGroupCell role=\"rowgroup\" data-ui-name=\"group-cell\">\n {this.renderRows(cell as NestedCells[])}\n </SGroupCell>,\n );\n } else {\n const 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\n key={cell.name}\n role=\"cell\"\n {...props}\n fixed={cell.fixed}\n theme={props.theme}\n use={use}\n />,\n ) as React.ReactElement;\n }\n }, [] as React.ReactElement[]);\n }\n\n renderRow(\n cells: NestedCells,\n { dataIndex, topOffset, nested }: { dataIndex: number; topOffset?: number; nested: boolean },\n ) {\n const SRow = Box;\n const { styles, rowPropsLayers, uniqueKey, virtualScroll } = this.asProps;\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n\n const rowData = cells.flatRowData || getCellsByColumn(cells);\n const key = rowData[uniqueKey] ? String(rowData[uniqueKey]) : `row_${dataIndex}`;\n const needToMeasureHeight = dataIndex === 0 && !nested && !rowHeightFromProps;\n\n let props = {\n children: this.renderCells(cells, rowData, dataIndex),\n theme: undefined,\n active: undefined,\n positioned: topOffset !== undefined,\n top: topOffset,\n ref: needToMeasureHeight ? this.firstRowRef : undefined,\n key,\n 'aria-rowindex': dataIndex + 1,\n };\n\n for (const rowPropsLayer of rowPropsLayers) {\n const { childrenPropsGetter = (p) => p, ...other } = rowPropsLayer;\n const propsRow = assignProps(other, props);\n props = assignProps(childrenPropsGetter(propsRow, rowData, dataIndex), propsRow);\n }\n\n return sstyled(styles)(<SRow role=\"row\" {...props} />);\n }\n\n renderRows(rows: NestedCells[]) {\n return rows.map((cells, dataIndex) => this.renderRow(cells, { dataIndex, nested: false }));\n }\n\n renderVirtualizedRows(rows: NestedCells[]) {\n if (rows.length === 0) return [];\n\n const { virtualScroll } = this.asProps;\n const { scrollOffset, scrollAreaHeight } = this.state;\n const rowHeight = this.getRowHeight();\n\n const tollerance = (typeof virtualScroll === 'object' ? virtualScroll?.tollerance : 2) ?? 2;\n const startIndex = Math.max(Math.floor(scrollOffset / rowHeight!) - tollerance, 0);\n const lastIndex = Math.min(\n Math.ceil((scrollOffset + scrollAreaHeight!) / rowHeight!) + tollerance,\n rows.length,\n );\n\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n const needToMeasureFirstRowHeight = !rowHeightFromProps;\n\n const firstRow = { cells: rows[0], dataIndex: 0, topOffset: 0 };\n const visibleRows = rowHeight !== undefined ? rows.slice(startIndex, lastIndex) : [];\n const processedVisibleRows = visibleRows.map((cells, index) => ({\n cells,\n dataIndex: startIndex + index,\n topOffset: rowHeight! * (startIndex + index),\n }));\n if (needToMeasureFirstRowHeight && startIndex !== 0) {\n processedVisibleRows.unshift(firstRow);\n }\n\n return processedVisibleRows.map(({ cells, dataIndex, topOffset }) =>\n this.renderRow(cells, { dataIndex, topOffset, nested: false }),\n );\n }\n\n handleFirstRowResize = trottle((entries: ResizeObserverEntry[]) => {\n const { contentRect } = entries[0];\n const { height } = contentRect;\n this.setState((oldState: State) => {\n if (oldState.rowHeight === height) return oldState;\n return { rowHeight: height };\n });\n });\n\n handleScrollAreaResize = trottle((entries: ResizeObserverEntry[]) => {\n const { virtualScroll } = this.asProps;\n if (!virtualScroll) return;\n const { contentRect } = entries[0];\n const { height } = contentRect;\n this.setState((oldState: State) => {\n if (oldState.scrollAreaHeight === height) return oldState;\n return { scrollAreaHeight: height };\n });\n });\n\n handleScrollAreaScroll = (event: React.SyntheticEvent<HTMLElement>) => {\n const { scrollTop } = event.target as HTMLElement;\n const { virtualScroll } = this.asProps;\n if (virtualScroll) {\n this.setState((oldState: State) => {\n if (oldState.scrollOffset === scrollTop) return oldState;\n return { scrollOffset: scrollTop };\n });\n }\n };\n\n setupRowSizeObserver = () => {\n if (!this.firstRowRef.current) return;\n if (!this.asProps.virtualScroll) return;\n this.firstRowResizeObserver = new ResizeObserver(this.handleFirstRowResize);\n this.firstRowResizeObserver.observe(this.firstRowRef.current);\n };\n\n componentWillUnmount() {\n this.firstRowResizeObserver?.disconnect();\n }\n\n render() {\n const SBody = Root;\n const SBodyWrapper = Box;\n const SScrollAreaBar = ScrollArea.Bar;\n const SHeightHold = Box;\n const {\n Children,\n styles,\n rows,\n columns,\n $scrollRef,\n virtualScroll,\n onResize,\n onScroll,\n disabledScroll,\n } = this.asProps;\n\n const columnsInitialized = columns.reduce((sum, { width }) => sum + width, 0) > 0 || testEnv;\n\n const [offsetLeftSum, offsetRightSum] = getScrollOffsetValue(columns);\n const offsetSum = offsetLeftSum + offsetRightSum;\n\n const rowHeight = this.getRowHeight();\n const holdHeight =\n rowHeight !== undefined && virtualScroll ? rowHeight * rows.length : undefined;\n\n if (virtualScroll && columnsInitialized && !rowHeight) {\n new Promise(() => this.setupRowSizeObserver());\n }\n\n return sstyled(styles)(\n <SBodyWrapper>\n <ScrollArea\n shadow\n styles={scrollStyles}\n use:left={`${offsetLeftSum}px`}\n use:right={`${offsetRightSum}px`}\n onResize={callAllEventHandlers(onResize, this.handleScrollAreaResize)}\n onScroll={callAllEventHandlers(onScroll, this.handleScrollAreaScroll)}\n >\n <ScrollArea.Container ref={$scrollRef} disabledScroll={disabledScroll}>\n <SBody render={Box} role=\"rowgroup\">\n {holdHeight && <SHeightHold hMin={holdHeight} aria-hidden={true} />}\n {columnsInitialized && !virtualScroll ? this.renderRows(rows) : null}\n {columnsInitialized && virtualScroll ? this.renderVirtualizedRows(rows) : null}\n </SBody>\n </ScrollArea.Container>\n <SScrollAreaBar\n orientation=\"horizontal\"\n left={`${offsetLeftSum}px`}\n right={`${offsetRightSum}px`}\n offsetSum={`${offsetSum}px`}\n />\n <SScrollAreaBar orientation=\"vertical\" />\n </ScrollArea>\n {Children.origin}\n </SBodyWrapper>,\n );\n }\n}\n\nexport default Body;\n"],"mappings":"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"}
|
package/lib/cjs/DataTable.js
CHANGED
|
@@ -43,7 +43,7 @@ var _Head = _interopRequireDefault(require("./Head"));
|
|
|
43
43
|
|
|
44
44
|
var _Body = _interopRequireDefault(require("./Body"));
|
|
45
45
|
|
|
46
|
-
var _excluded = ["children", "name", "fixed", "resizable", "sortable"],
|
|
46
|
+
var _excluded = ["children", "name", "fixed", "resizable", "sortable", "flex"],
|
|
47
47
|
_excluded2 = ["name", "children"];
|
|
48
48
|
|
|
49
49
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -69,46 +69,46 @@ var style = (
|
|
|
69
69
|
/*__reshadow_css_start__*/
|
|
70
70
|
_core.sstyled.insert(
|
|
71
71
|
/*__inner_css_start__*/
|
|
72
|
-
":root {\n\n /* DEPRECATED START\n Deprecated variables should never be used in\n components styles but preserved for backward\n compatibility if they used in projects\n like `<Badge bg=\"red\">alpha</Badge>`\n */\n /* DEPRECATED END */\n}\n\n.
|
|
72
|
+
":root {\n\n /* DEPRECATED START\n Deprecated variables should never be used in\n components styles but preserved for backward\n compatibility if they used in projects\n like `<Badge bg=\"red\">alpha</Badge>`\n */\n /* DEPRECATED END */\n}\n\n.___SDataTable_35v88_gg_ {\n position: relative;\n}\n\n.___SHeadWrapper_35v88_gg_ {\n position: relative;\n}\n\n.___SHeadWrapper_35v88_gg_.__sticky_35v88_gg_ {\n position: sticky;\n top: 0;\n z-index: 2;\n}\n\n.___SHead_35v88_gg_ {\n display: flex;\n position: relative;\n flex-direction: row;\n min-width: -moz-fit-content;\n min-width: fit-content;\n z-index: 0;\n}\n\n.___SColumn_35v88_gg_ {\n display: flex;\n align-items: center;\n flex-grow: 1;\n font-size: 12px;\n color: #191b23;\n box-sizing: border-box;\n position: relative\n}\n\n.___SColumn_35v88_gg_:focus {\n outline: none;\n box-shadow: 0 0 0 3px rgba(0, 143, 248, 0.2);\n }\n\n.___SColumn_35v88_gg_.__hidden_35v88_gg_ {\n height: 0 !important;\n padding: 0 !important;\n overflow: hidden !important;\n border: none !important;\n}\n\n.___SColumn_35v88_gg_._use_primary_35v88_gg_ {\n padding: 12px;\n border-right: 1px solid #e0e1e9;\n border-bottom: 1px solid #e0e1e9;\n background-color: #f4f5f9;\n}\n\n.___SColumn_35v88_gg_._use_secondary_35v88_gg_ {\n padding: 8px;\n border-bottom: 1px solid #a9abb6;\n background-color: #ffffff;\n}\n\n.___SColumn_35v88_gg_.__use_35v88_gg_:last-child {\n border-right: none;\n}\n\n.___SColumn_35v88_gg_.__group_35v88_gg_.__use_35v88_gg_ {\n display: flex;\n flex-wrap: wrap;\n flex-direction: column;\n align-items: normal;\n border-bottom: none;\n padding: 0;\n}\n\n.___SColumn_35v88_gg_.__groupHead_35v88_gg_.__use_35v88_gg_ {\n justify-content: center;\n border-right: none;\n /* for resizable */\n z-index: 1;\n}\n\n.___SColumn_35v88_gg_.__groupHead_35v88_gg_._use_primary_35v88_gg_ {\n border-bottom: 1px solid #e0e1e9;\n}\n\n.___SColumn_35v88_gg_.__groupHead_35v88_gg_._use_secondary_35v88_gg_ {\n border-bottom: 1px solid #e0e1e9;\n}\n\n.___SColumn_35v88_gg_.__sortable_35v88_gg_ {\n cursor: pointer\n}\n\n.___SColumn_35v88_gg_.__sortable_35v88_gg_._use_primary_35v88_gg_:hover {\n background-color: #e0e1e9;\n }\n\n.___SColumn_35v88_gg_.__active_35v88_gg_._use_primary_35v88_gg_ {\n background-color: #e0e1e9;\n}\n\n.___SColumn_35v88_gg_.__resizable_35v88_gg_:hover:after {\n background: #e0e1e9;\n }\n\n.___SColumn_35v88_gg_.__resizable_35v88_gg_:after {\n content: '';\n position: absolute;\n bottom: 0;\n right: -1px;\n height: 100vh;\n width: 1px;\n background: transparent;\n cursor: col-resize;\n }\n\n.___SColumn_35v88_gg_.__fixed_35v88_gg_ {\n position: sticky;\n /* because up resizable */\n z-index: 2;\n}\n\n.___SSortIcon_35v88_gg_ {\n fill: #a9abb6;\n margin-left: 6px;\n}\n\n.___SSortIcon_35v88_gg_.__active_35v88_gg_ {\n fill: #8a8e9b;\n}\n\n.___SBodyWrapper_35v88_gg_ {\n position: relative;\n}\n\n.___SBody_35v88_gg_ {\n display: flex;\n flex-direction: column;\n position: relative;\n min-width: -moz-fit-content;\n min-width: fit-content;\n}\n\n.___SRow_35v88_gg_ {\n display: flex;\n flex-direction: row;\n position: relative;\n}\n\n/* DEFAULT THEME */\n\n.___SRow_35v88_gg_.__active_35v88_gg_ > .___SCell_35v88_gg_:not(.__theme_35v88_gg_),\n.___SRow_35v88_gg_:hover > .___SCell_35v88_gg_:not(.__theme_35v88_gg_),\n.___SRow_35v88_gg_ .___SCell_35v88_gg_:hover + .___SGroupCell_35v88_gg_ .___SCell_35v88_gg_:not(.__theme_35v88_gg_) {\n background-color: rgb(240, 240, 244);\n}\n\n/* MUTED THEME */\n\n.___SRow_35v88_gg_._theme_muted_35v88_gg_ .___SCell_35v88_gg_:not(.__theme_35v88_gg_) {\n background-color: #f2f3f4;\n}\n\n.___SRow_35v88_gg_:hover > .___SCell_35v88_gg_._theme_muted_35v88_gg_,\n.___SRow_35v88_gg_._theme_muted_35v88_gg_.__active_35v88_gg_ > .___SCell_35v88_gg_:not(.__theme_35v88_gg_),\n.___SRow_35v88_gg_._theme_muted_35v88_gg_:hover > .___SCell_35v88_gg_:not(.__theme_35v88_gg_),\n.___SRow_35v88_gg_._theme_muted_35v88_gg_ .___SCell_35v88_gg_:hover + .___SGroupCell_35v88_gg_ .___SCell_35v88_gg_:not(.__theme_35v88_gg_) {\n background-color: #f6f7f7;\n}\n\n/* INFO THEME */\n\n.___SRow_35v88_gg_._theme_info_35v88_gg_ .___SCell_35v88_gg_:not(.__theme_35v88_gg_) {\n background-color: #e9f7ff;\n}\n\n.___SRow_35v88_gg_:hover > .___SCell_35v88_gg_._theme_info_35v88_gg_,\n.___SRow_35v88_gg_._theme_info_35v88_gg_.__active_35v88_gg_ > .___SCell_35v88_gg_:not(.__theme_35v88_gg_),\n.___SRow_35v88_gg_._theme_info_35v88_gg_:hover > .___SCell_35v88_gg_:not(.__theme_35v88_gg_),\n.___SRow_35v88_gg_._theme_info_35v88_gg_ .___SCell_35v88_gg_:hover + .___SGroupCell_35v88_gg_ .___SCell_35v88_gg_:not(.__theme_35v88_gg_) {\n background-color: #c4e5fe;\n}\n\n/* SUCCESS THEME */\n\n.___SRow_35v88_gg_._theme_success_35v88_gg_ .___SCell_35v88_gg_:not(.__theme_35v88_gg_) {\n background-color: #dbfee8;\n}\n\n.___SRow_35v88_gg_:hover > .___SCell_35v88_gg_._theme_success_35v88_gg_,\n.___SRow_35v88_gg_._theme_success_35v88_gg_.__active_35v88_gg_ > .___SCell_35v88_gg_:not(.__theme_35v88_gg_),\n.___SRow_35v88_gg_._theme_success_35v88_gg_:hover > .___SCell_35v88_gg_:not(.__theme_35v88_gg_),\n.___SRow_35v88_gg_._theme_success_35v88_gg_ .___SCell_35v88_gg_:hover + .___SGroupCell_35v88_gg_ .___SCell_35v88_gg_:not(.__theme_35v88_gg_) {\n background-color: #9ef2c9;\n}\n\n/* WARNING THEME */\n\n.___SRow_35v88_gg_._theme_warning_35v88_gg_ .___SCell_35v88_gg_:not(.__theme_35v88_gg_) {\n background-color: #fff3d9;\n}\n\n.___SRow_35v88_gg_:hover > .___SCell_35v88_gg_._theme_warning_35v88_gg_,\n.___SRow_35v88_gg_._theme_warning_35v88_gg_.__active_35v88_gg_ > .___SCell_35v88_gg_:not(.__theme_35v88_gg_),\n.___SRow_35v88_gg_._theme_warning_35v88_gg_:hover > .___SCell_35v88_gg_:not(.__theme_35v88_gg_),\n.___SRow_35v88_gg_._theme_warning_35v88_gg_ .___SCell_35v88_gg_:hover + .___SGroupCell_35v88_gg_ .___SCell_35v88_gg_:not(.__theme_35v88_gg_) {\n background-color: #ffdca2;\n}\n\n/* DANGER THEME */\n\n.___SRow_35v88_gg_._theme_danger_35v88_gg_ .___SCell_35v88_gg_:not(.__theme_35v88_gg_) {\n background-color: #fff0f7;\n}\n\n.___SRow_35v88_gg_:hover > .___SCell_35v88_gg_._theme_danger_35v88_gg_,\n.___SRow_35v88_gg_._theme_danger_35v88_gg_.__active_35v88_gg_ > .___SCell_35v88_gg_:not(.__theme_35v88_gg_),\n.___SRow_35v88_gg_._theme_danger_35v88_gg_:hover > .___SCell_35v88_gg_:not(.__theme_35v88_gg_),\n.___SRow_35v88_gg_._theme_danger_35v88_gg_ .___SCell_35v88_gg_:hover + .___SGroupCell_35v88_gg_ .___SCell_35v88_gg_:not(.__theme_35v88_gg_) {\n background-color: #ffd7df;\n}\n\n.___SRow_35v88_gg_.__positioned_35v88_gg_ {\n position: absolute;\n}\n\n.___SCell_35v88_gg_ {\n display: flex;\n flex: 1;\n flex-basis: auto;\n font-size: 14px;\n line-height: 1.42;\n color: #191b23;\n box-sizing: border-box;\n border-bottom: 1px solid #e0e1e9;\n overflow: hidden;\n white-space: nowrap;\n}\n\n.___SCell_35v88_gg_._use_primary_35v88_gg_ {\n padding: 12px;\n min-height: 45px;\n background-color: #ffffff;\n}\n\n.___SCell_35v88_gg_._use_secondary_35v88_gg_ {\n padding: 8px;\n min-height: 37px;\n background-color: #ffffff;\n}\n\n.___SCell_35v88_gg_.__fixed_35v88_gg_ {\n position: sticky;\n z-index: 1;\n}\n\n.___SCell_35v88_gg_._theme_muted_35v88_gg_ {\n background-color: #f2f3f4;\n}\n\n.___SCell_35v88_gg_._theme_info_35v88_gg_ {\n background-color: #e9f7ff;\n}\n\n.___SCell_35v88_gg_._theme_success_35v88_gg_ {\n background-color: #dbfee8;\n}\n\n.___SCell_35v88_gg_._theme_warning_35v88_gg_ {\n background-color: #fff3d9;\n}\n\n.___SCell_35v88_gg_._theme_danger_35v88_gg_ {\n background-color: #fff0f7;\n}\n\n.___SScrollAreaBar_35v88_gg_._orientation_horizontal_35v88_gg_ {\n position: sticky;\n bottom: 0;\n left: 0;\n margin-top: -12px;\n z-index: 2;\n}\n\n.___SScrollAreaBar_35v88_gg_._orientation_vertical_35v88_gg_ {\n width: 12px;\n}\n\n.___SScrollAreaBar_35v88_gg_._orientation_horizontal_35v88_gg_ {\n margin-left: calc(var(--left_35v88) + 4px);\n margin-right: calc(var(--right_35v88) + 4px);\n width: calc(100% - var(--offsetSum_35v88) - 8px);\n}\n\n.___SHeightHold_35v88_gg_ {\n position: absolute;\n top: 0;\n width: 100%;\n pointer-events: none;\n /* should be under other layers */\n z-index: -1;\n}\n"
|
|
73
73
|
/*__inner_css_end__*/
|
|
74
|
-
, "
|
|
74
|
+
, "35v88_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_35v88_gg_",
|
|
78
|
+
"__SHeadWrapper": "___SHeadWrapper_35v88_gg_",
|
|
79
|
+
"_sticky": "__sticky_35v88_gg_",
|
|
80
|
+
"__SHead": "___SHead_35v88_gg_",
|
|
81
|
+
"__SColumn": "___SColumn_35v88_gg_",
|
|
82
|
+
"_hidden": "__hidden_35v88_gg_",
|
|
83
|
+
"_use_primary": "_use_primary_35v88_gg_",
|
|
84
|
+
"_use_secondary": "_use_secondary_35v88_gg_",
|
|
85
|
+
"_use": "__use_35v88_gg_",
|
|
86
|
+
"_group": "__group_35v88_gg_",
|
|
87
|
+
"_groupHead": "__groupHead_35v88_gg_",
|
|
88
|
+
"_sortable": "__sortable_35v88_gg_",
|
|
89
|
+
"_active": "__active_35v88_gg_",
|
|
90
|
+
"_resizable": "__resizable_35v88_gg_",
|
|
91
|
+
"_fixed": "__fixed_35v88_gg_",
|
|
92
|
+
"__SSortIcon": "___SSortIcon_35v88_gg_",
|
|
93
|
+
"__SBodyWrapper": "___SBodyWrapper_35v88_gg_",
|
|
94
|
+
"__SBody": "___SBody_35v88_gg_",
|
|
95
|
+
"__SRow": "___SRow_35v88_gg_",
|
|
96
|
+
"__SCell": "___SCell_35v88_gg_",
|
|
97
|
+
"_theme": "__theme_35v88_gg_",
|
|
98
|
+
"__SGroupCell": "___SGroupCell_35v88_gg_",
|
|
99
|
+
"_theme_muted": "_theme_muted_35v88_gg_",
|
|
100
|
+
"_theme_info": "_theme_info_35v88_gg_",
|
|
101
|
+
"_theme_success": "_theme_success_35v88_gg_",
|
|
102
|
+
"_theme_warning": "_theme_warning_35v88_gg_",
|
|
103
|
+
"_theme_danger": "_theme_danger_35v88_gg_",
|
|
104
|
+
"_positioned": "__positioned_35v88_gg_",
|
|
105
|
+
"__SScrollAreaBar": "___SScrollAreaBar_35v88_gg_",
|
|
106
|
+
"_orientation_horizontal": "_orientation_horizontal_35v88_gg_",
|
|
107
|
+
"_orientation_vertical": "_orientation_vertical_35v88_gg_",
|
|
108
|
+
"--left": "--left_35v88",
|
|
109
|
+
"--right": "--right_35v88",
|
|
110
|
+
"--offsetSum": "--offsetSum_35v88",
|
|
111
|
+
"__SHeightHold": "___SHeightHold_35v88_gg_"
|
|
112
112
|
});
|
|
113
113
|
var REVERSED_SORT_DIRECTION = {
|
|
114
114
|
desc: 'asc',
|
|
@@ -173,26 +173,10 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
173
173
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
174
174
|
var _column = _step.value;
|
|
175
175
|
|
|
176
|
-
if (
|
|
177
|
-
var
|
|
178
|
-
_step2;
|
|
176
|
+
if (_column.setVar) {
|
|
177
|
+
var _this$tableRef$curren2;
|
|
179
178
|
|
|
180
|
-
|
|
181
|
-
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
182
|
-
var _this$tableRef$curren2;
|
|
183
|
-
|
|
184
|
-
var cssVar = _step2.value;
|
|
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"));
|
|
186
|
-
}
|
|
187
|
-
} catch (err) {
|
|
188
|
-
_iterator2.e(err);
|
|
189
|
-
} finally {
|
|
190
|
-
_iterator2.f();
|
|
191
|
-
}
|
|
192
|
-
} else {
|
|
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"));
|
|
179
|
+
(_this$tableRef$curren2 = this.tableRef.current) === null || _this$tableRef$curren2 === void 0 ? void 0 : _this$tableRef$curren2.style.setProperty(_column.varWidth, "".concat(_column.width, "px"));
|
|
196
180
|
}
|
|
197
181
|
}
|
|
198
182
|
} catch (err) {
|
|
@@ -224,9 +208,10 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
224
208
|
fixed = _ref3$fixed === void 0 ? options.fixed : _ref3$fixed,
|
|
225
209
|
resizable = _ref3.resizable,
|
|
226
210
|
sortable = _ref3.sortable,
|
|
211
|
+
flex = _ref3.flex,
|
|
227
212
|
props = (0, _objectWithoutProperties2["default"])(_ref3, _excluded);
|
|
228
213
|
var isGroup = !name;
|
|
229
|
-
var columns
|
|
214
|
+
var columns;
|
|
230
215
|
|
|
231
216
|
if (isGroup) {
|
|
232
217
|
columns = _this2.childrenToColumns(children, {
|
|
@@ -246,7 +231,7 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
246
231
|
return column.name === name;
|
|
247
232
|
});
|
|
248
233
|
|
|
249
|
-
|
|
234
|
+
var columnChildren = {
|
|
250
235
|
get width() {
|
|
251
236
|
var _this$props$ref$curre;
|
|
252
237
|
|
|
@@ -254,22 +239,29 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
254
239
|
},
|
|
255
240
|
|
|
256
241
|
name: name,
|
|
257
|
-
|
|
242
|
+
varWidth: createCssVarForWidth(name),
|
|
243
|
+
setVar: flex !== 'inherit',
|
|
258
244
|
fixed: fixed,
|
|
259
245
|
resizable: resizable,
|
|
260
246
|
active: sort[0] === name,
|
|
261
247
|
sortable: sortable,
|
|
262
248
|
sortDirection: sort[0] === name ? sort[1] : (column === null || column === void 0 ? void 0 : column.sortDirection) || (typeof sortable == 'string' ? sortable : DEFAULT_SORT_DIRECTION),
|
|
263
|
-
columns: columns,
|
|
264
249
|
props: _objectSpread(_objectSpread({
|
|
265
|
-
name: name
|
|
250
|
+
name: name,
|
|
251
|
+
flex: flex === 'inherit' ? undefined : flex
|
|
266
252
|
}, props), {}, {
|
|
267
253
|
// @ts-ignore
|
|
268
254
|
forwardRef: child.ref,
|
|
269
255
|
children: children,
|
|
270
256
|
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()
|
|
271
257
|
})
|
|
272
|
-
}
|
|
258
|
+
};
|
|
259
|
+
|
|
260
|
+
if (columns) {
|
|
261
|
+
columnChildren.columns = columns;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
columnsChildren.push(columnChildren);
|
|
273
265
|
});
|
|
274
266
|
|
|
275
267
|
return columnsChildren;
|
|
@@ -346,12 +338,12 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
346
338
|
var columnNames = rowKey.split('/');
|
|
347
339
|
|
|
348
340
|
if (columnNames.length >= 2) {
|
|
349
|
-
var
|
|
350
|
-
|
|
341
|
+
var _iterator2 = _createForOfIteratorHelper(columnNames),
|
|
342
|
+
_step2;
|
|
351
343
|
|
|
352
344
|
try {
|
|
353
|
-
for (
|
|
354
|
-
var _column2 =
|
|
345
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
346
|
+
var _column2 = _step2.value;
|
|
355
347
|
groupByName[_column2] = {
|
|
356
348
|
groupedColumns: columnNames,
|
|
357
349
|
groupData: row[rowKey]
|
|
@@ -359,9 +351,9 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
359
351
|
groupedColumns[rowKey] = true;
|
|
360
352
|
}
|
|
361
353
|
} catch (err) {
|
|
362
|
-
|
|
354
|
+
_iterator2.e(err);
|
|
363
355
|
} finally {
|
|
364
|
-
|
|
356
|
+
_iterator2.f();
|
|
365
357
|
}
|
|
366
358
|
} else {
|
|
367
359
|
ungroupedColumns[rowKey] = true;
|
|
@@ -394,7 +386,7 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
394
386
|
} else if (column.name in row) {
|
|
395
387
|
return {
|
|
396
388
|
name: column.name,
|
|
397
|
-
cssVar: column.
|
|
389
|
+
cssVar: column.varWidth,
|
|
398
390
|
fixed: column.fixed,
|
|
399
391
|
data: row[column.name],
|
|
400
392
|
cellPropsLayers: cellPropsLayers[column.name] || []
|
|
@@ -406,7 +398,7 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
406
398
|
} else if (!exclude[column.name] && !rowsGroupedNames[column.name]) {
|
|
407
399
|
return {
|
|
408
400
|
name: column.name,
|
|
409
|
-
cssVar: column.
|
|
401
|
+
cssVar: column.varWidth,
|
|
410
402
|
fixed: column.fixed,
|
|
411
403
|
data: null,
|
|
412
404
|
cellPropsLayers: cellPropsLayers[column.name] || []
|
package/lib/cjs/DataTable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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","forwardRef","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 ...props,\n // @ts-ignore\n forwardRef: child.ref,\n children,\n ref: column?.props?.ref || React.createRef(),\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, data } = this.asProps;\n\n return sstyled(styles)(\n <SDataTable\n render={Box}\n __excludeProps={['data']}\n ref={this.tableRef}\n role=\"table\"\n aria-rowcount={(data ?? []).length}\n >\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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"}
|
|
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","setVar","style","setProperty","varWidth","width","children","options","fixed","undefined","sort","asProps","columnsChildren","Children","forEach","child","isValidElement","type","DefinitionTable","Column","resizable","sortable","flex","isGroup","childrenToColumns","flattenColumns","map","join","length","toArray","filter","columnChildren","ref","getBoundingClientRect","forwardRef","push","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","cssVar","flatRowData","setVarStyle","SDataTable","Box","styles","sstyled","Component","ComponentDefinition","createComponent","Head","Body"],"sources":["../../src/DataTable.tsx"],"sourcesContent":["import React from 'react';\nimport { Property } from 'csstype';\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 /** Disabled scroll */\n disabledScroll?: 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 /** Fields to control the size of the column. */\n flex?: Property.Flex | 'inherit';\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 /** Disabled scroll */\n disabledScroll?: boolean;\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 (column.setVar) {\n this.tableRef.current?.style.setProperty(column.varWidth, `${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 flex,\n ...props\n } = child.props as Column['props'];\n const isGroup = !name;\n let columns: Column[] | undefined;\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\n const columnChildren = {\n get width() {\n return this.props.ref.current?.getBoundingClientRect().width || 0;\n },\n name,\n varWidth: createCssVarForWidth(name),\n setVar: flex !== 'inherit',\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 props: {\n name,\n flex: flex === 'inherit' ? undefined : flex,\n ...props,\n // @ts-ignore\n forwardRef: child.ref,\n children,\n ref: column?.props?.ref || React.createRef(),\n },\n } as Column;\n\n if (columns) {\n columnChildren.columns = columns;\n }\n columnsChildren.push(columnChildren);\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.varWidth,\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.varWidth,\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, data } = this.asProps;\n\n return sstyled(styles)(\n <SDataTable\n render={Box}\n __excludeProps={['data']}\n ref={this.tableRef}\n role=\"table\"\n aria-rowcount={(data ?? []).length}\n >\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
|
@@ -58,14 +58,16 @@ var scrollStyles = (
|
|
|
58
58
|
/*__reshadow_css_start__*/
|
|
59
59
|
_core.sstyled.insert(
|
|
60
60
|
/*__inner_css_start__*/
|
|
61
|
-
".
|
|
61
|
+
".___SShadowHorizontal_ki0ko_gg_:before {\n left: var(--left_ki0ko) !important;\n}\n.___SShadowHorizontal_ki0ko_gg_:after {\n right: var(--right_ki0ko) !important;\n}\n.___SContainer_ki0ko_gg_.__disabledScroll_ki0ko_gg_ {\n overflow: visible;\n}\n"
|
|
62
62
|
/*__inner_css_end__*/
|
|
63
|
-
, "
|
|
63
|
+
, "ki0ko_gg_")
|
|
64
64
|
/*__reshadow_css_end__*/
|
|
65
65
|
, {
|
|
66
|
-
"__SShadowHorizontal": "
|
|
67
|
-
"--left": "--
|
|
68
|
-
"--right": "--
|
|
66
|
+
"__SShadowHorizontal": "___SShadowHorizontal_ki0ko_gg_",
|
|
67
|
+
"--left": "--left_ki0ko",
|
|
68
|
+
"--right": "--right_ki0ko",
|
|
69
|
+
"__SContainer": "___SContainer_ki0ko_gg_",
|
|
70
|
+
"_disabledScroll": "__disabledScroll_ki0ko_gg_"
|
|
69
71
|
});
|
|
70
72
|
var SORTING_ICON = {
|
|
71
73
|
desc: _m["default"],
|
|
@@ -154,6 +156,10 @@ var Head = /*#__PURE__*/function (_Component) {
|
|
|
154
156
|
style[name] = value;
|
|
155
157
|
}
|
|
156
158
|
|
|
159
|
+
if (!column.setVar) {
|
|
160
|
+
style['flexBasis'] = "var(".concat(column.varWidth, ")");
|
|
161
|
+
}
|
|
162
|
+
|
|
157
163
|
return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SColumn, _ref2.cn("SColumn", _objectSpread(_objectSpread({
|
|
158
164
|
"role": isGroup ? undefined : 'columnheader',
|
|
159
165
|
"key": column.name,
|
|
@@ -193,7 +199,8 @@ var Head = /*#__PURE__*/function (_Component) {
|
|
|
193
199
|
columnsChildren = _this$asProps2.columnsChildren,
|
|
194
200
|
onResize = _this$asProps2.onResize,
|
|
195
201
|
$scrollRef = _this$asProps2.$scrollRef,
|
|
196
|
-
sticky = _this$asProps2.sticky
|
|
202
|
+
sticky = _this$asProps2.sticky,
|
|
203
|
+
disabledScroll = _this$asProps2.disabledScroll;
|
|
197
204
|
this.columns = (0, _utils.flattenColumns)(columnsChildren);
|
|
198
205
|
|
|
199
206
|
var _getScrollOffsetValue = (0, _utils.getScrollOffsetValue)(this.columns),
|
|
@@ -213,7 +220,8 @@ var Head = /*#__PURE__*/function (_Component) {
|
|
|
213
220
|
"shadow": true,
|
|
214
221
|
"onResize": onResize
|
|
215
222
|
}), /*#__PURE__*/_react["default"].createElement(_scrollArea["default"].Container, {
|
|
216
|
-
ref: $scrollRef
|
|
223
|
+
ref: $scrollRef,
|
|
224
|
+
disabledScroll: disabledScroll
|
|
217
225
|
}, /*#__PURE__*/_react["default"].createElement(SHead, _ref3.cn("SHead", _objectSpread({}, (0, _core.assignProps)({
|
|
218
226
|
"role": "row"
|
|
219
227
|
}, _ref))), this.renderColumns(columnsChildren, 100 / this.columns.length)))), Children.origin);
|