@semcore/data-table 16.6.0-prerelease.1 → 16.6.0-prerelease.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -6
- package/lib/cjs/components/Body/Body.js +4 -3
- package/lib/cjs/components/Body/Body.js.map +1 -1
- package/lib/cjs/components/DataTable/DataTable.js +1 -1
- package/lib/cjs/components/DataTable/DataTable.js.map +1 -1
- package/lib/es6/components/Body/Body.js +4 -3
- package/lib/es6/components/Body/Body.js.map +1 -1
- package/lib/es6/components/DataTable/DataTable.js +1 -1
- package/lib/es6/components/DataTable/DataTable.js.map +1 -1
- package/lib/esm/components/Body/Body.mjs +4 -3
- package/lib/esm/components/DataTable/DataTable.mjs +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Body.js","names":["Box","Component","createComponent","Root","sstyled","canUseDOM","hasParent","Spin","React","MergedColumnsCell","Row","RowGroup","style","_sstyled","insert","GRID_ROW_INDEX","IS_EMPTY_DATA_ROW","ROW_INDEX","UNIQ_ROW_KEY","ROWS_BUFFER","APROX_ROWS_ON_PAGE","INDEX_OFFSET","BodyRoot","_Component","props","_this","_classCallCheck","_callSuper","_defineProperty","Map","createRef","requestAnimationFrame","_this$bodyRef$current","_this$bodyRef$current2","collapsedElements","bodyRef","current","querySelectorAll","forEach","collapsedElement","parent","parentElement","getAttribute","appendChild","visibleRows","row","index","HTMLElement","setAttribute","startIndex","toString","asProps","totalRows","_this$asProps$tableRe","_visibleRows$length","tableRef","length","node","rowsHeightMap","has","set","setRowHeight","component","rowsComponentsMap","_this$asProps","propsHeaderHeight","headerHeight","tableContainerRef","stickyHeader","scrollTop","spinContainerIsFocused","bind","_inherits","_createClass","key","value","componentDidMount","calculateAriaRowIndex","componentDidUpdate","prevProps","_this$asProps2","loading","activeElement","document","setTimeout","_tableRef$current","focus","_tableRef$current2","getRowProps","_rowProps","_this$asProps3","use","gridTemplateAreas","gridTemplateColumns","expandedRows","columns","onExpandRow","hasGroups","scrollAreaRef","uid","onBackFromAccordion","rowProps","rows","flatRows","sideIndents","selectedRows","onSelectRow","getFixedStyle","accordionDuration","accordionAnimationRows","getI18nText","renderCell","onCellClick","rawData","shadowVertical","accordionMode","virtualScroll","limit","variant","gridRowIndex","sideIndentsValue","calculatedRowProps","_objectSpread","rowIndex","inert","undefined","mergedRow","componentsMap","render","_ref","_ref2","_this$rowsHeightMap$g5","_this2","SBody","SSpinContainer","_this$asProps4","styles","spinnerRef","scrollDirection","renderEmptyData","renderCellOverlay","rowsToRender","lastIndex","_virtualScroll$rowsBu","_tableContainerRef$cu","_tableContainerRef$cu2","rowsBuffer","offsetHeight","prevPrepared","nextPrepared","_virtualScroll$aproxR","aproxRowsOnPage","_this$rowsHeightMap$g","_this$rowsHeightMap$g2","i","indexForDownIterate","size","get","valueFromToCompare","valueToToCompare","Math","max","min","_this$rowsHeightMap$g3","_this$rowsHeightMap$g4","indexForUpIterate","slice","rowHeight","floor","ceil","rowMarginTop","emptyRow","concat","name","dataKey","createElement","cn","_assignProps","Body","isNonInteractive","map","_row$UNIQ_ROW_KEY","Array","isArray","groupUniqKey","handleRef","handleComponentRef","ref","componentRef","getSpinnerTopOffset","handleFocusSpinContainer","handleBlurSpinContainer","_this$rowsHeightMap$g6","_node$children$item","firstChild","role","children","item","offset","offsetTop","height","getBoundingClientRect","nextSibling"],"sources":["../../../../src/components/Body/Body.tsx"],"sourcesContent":["import { Box } from '@semcore/base-components';\nimport { Component, createComponent, Root, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/core/lib/utils/canUseDOM';\nimport { hasParent } from '@semcore/core/lib/utils/hasParent';\nimport Spin from '@semcore/spin';\nimport * as React from 'react';\n\nimport type { BodyPropsInner, DataTableBodyProps, DataTableBodyType } from './Body.types';\nimport { MergedColumnsCell } from './MergedCells';\nimport type { RowRoot } from './Row';\nimport { Row } from './Row';\nimport type { DataTableRowType, DTRow, RowPropsInner } from './Row.types';\nimport { RowGroup } from './RowGroup';\nimport style from './style.shadow.css';\nimport {\n GRID_ROW_INDEX,\n IS_EMPTY_DATA_ROW,\n ROW_INDEX,\n UNIQ_ROW_KEY,\n} from '../DataTable/DataTable';\nimport type { DataTableData } from '../DataTable/DataTable.types';\n\nconst ROWS_BUFFER = 20;\nconst APROX_ROWS_ON_PAGE = 20;\nexport const INDEX_OFFSET = 2; // 1 - for header, 1 - because start not from 0, but from 1\n\nclass BodyRoot<Data extends DataTableData, UniqKeyType> extends Component<DataTableBodyProps<Data, UniqKeyType>, {}, {}, [], BodyPropsInner<Data, UniqKeyType>> {\n static displayName = 'Body';\n static style = style;\n\n rowsHeightMap = new Map<number, [number, number, HTMLElement]>();\n rowsComponentsMap = new Map<UniqKeyType, RowRoot<Data, UniqKeyType>>();\n\n indexForDownIterate = 0;\n indexForUpIterate = 0;\n\n startIndex = -1;\n\n bodyRef = React.createRef<HTMLDivElement>();\n spinContainerIsFocused = false;\n\n constructor(props: DataTableBodyProps<Data, UniqKeyType>) {\n super(props);\n this.setRowHeight = this.setRowHeight.bind(this);\n }\n\n componentDidMount() {\n this.calculateAriaRowIndex();\n }\n\n componentDidUpdate(prevProps: DataTableBodyProps<Data, UniqKeyType> & BodyPropsInner<Data, UniqKeyType>) {\n const { loading, tableRef } = this.asProps;\n if (prevProps.loading !== loading) {\n if (loading) {\n const activeElement = document.activeElement; // need to define it here because of FF\n setTimeout(() => {\n if ((tableRef.current && hasParent(activeElement, tableRef.current))) {\n tableRef.current?.focus();\n }\n });\n } else if (!loading && this.spinContainerIsFocused) {\n setTimeout(() => {\n tableRef.current?.focus();\n });\n this.spinContainerIsFocused = false;\n }\n }\n }\n\n calculateAriaRowIndex = () => {\n requestAnimationFrame(() => {\n const collapsedElements = this.bodyRef.current?.querySelectorAll('[role=row][data-ui-name=\"Collapse\"]:not([aria-hidden=true]):not(:scope [data-ui-name=\"DataTable\"] [role=row]:not([aria-hidden=true]))');\n\n collapsedElements?.forEach((collapsedElement) => {\n const parent = collapsedElement.parentElement;\n if (parent?.getAttribute('role') === 'rowgroup') {\n parent?.appendChild(collapsedElement);\n }\n });\n\n const visibleRows = this.bodyRef.current?.querySelectorAll('[role=row]:not([aria-hidden=true]):not(:scope [data-ui-name=\"DataTable\"] [role=row]:not([aria-hidden=true]))');\n\n visibleRows?.forEach((row, index) => {\n if (row instanceof HTMLElement) {\n row.setAttribute('aria-rowindex', (index + 2 + this.startIndex).toString());\n }\n });\n\n if (!this.asProps.totalRows) {\n this.asProps.tableRef.current?.setAttribute('aria-rowcount', (visibleRows?.length ?? 0).toString());\n }\n });\n };\n\n handleRef = (index: number, row: DTRow<UniqKeyType>) => (node: HTMLElement | null) => {\n if (!this.rowsHeightMap.has(index) && node) {\n this.rowsHeightMap.set(index, [0, 0, node]);\n this.setRowHeight(index, row);\n }\n };\n\n handleComponentRef = (row: DTRow<UniqKeyType>) => (component: RowRoot<Data, UniqKeyType> | null) => {\n requestAnimationFrame(() => {\n if (component) {\n this.rowsComponentsMap.set(row[UNIQ_ROW_KEY], component);\n } else {\n this.rowsComponentsMap.delete(row[UNIQ_ROW_KEY]);\n }\n });\n };\n\n getRowProps(props: { row: DTRow<UniqKeyType>; mergedRow?: boolean }): RowPropsInner<Data, UniqKeyType> {\n const {\n use,\n gridTemplateAreas,\n gridTemplateColumns,\n expandedRows,\n columns,\n onExpandRow,\n loading,\n hasGroups,\n scrollAreaRef,\n uid,\n onBackFromAccordion,\n rowProps,\n rows,\n flatRows,\n sideIndents,\n selectedRows,\n onSelectRow,\n getFixedStyle,\n accordionDuration,\n accordionAnimationRows,\n getI18nText,\n renderCell,\n tableRef,\n onCellClick,\n rawData,\n shadowVertical,\n accordionMode,\n virtualScroll,\n limit,\n variant,\n } = this.asProps;\n const row = props.row;\n const index = row[ROW_INDEX];\n const gridRowIndex = row[GRID_ROW_INDEX] + (hasGroups ? INDEX_OFFSET + 1 : INDEX_OFFSET); // 1 - for header, 1 - because start not from 0, but from 1\n\n const sideIndentsValue = variant === 'card' ? 'wide' : sideIndents;\n\n const calculatedRowProps = rowProps?.(row, index) ?? {};\n\n return {\n ...calculatedRowProps,\n use,\n uid,\n gridTemplateAreas,\n gridTemplateColumns,\n columns,\n rowIndex: index,\n gridRowIndex,\n rows,\n onBackFromAccordion,\n row,\n onExpandRow,\n selectedRows,\n onSelectRow,\n inert: loading ? '' : undefined,\n scrollAreaRef,\n sideIndents: sideIndentsValue,\n getFixedStyle,\n mergedRow: props.mergedRow,\n accordionDuration,\n accordionAnimationRows,\n flatRows,\n getI18nText,\n renderCell,\n tableRef,\n onCellClick,\n rawData,\n expandedRows,\n rowsHeightMap: this.rowsHeightMap,\n setRowHeight: this.setRowHeight,\n shadowVertical,\n accordionMode,\n componentsMap: this.rowsComponentsMap,\n calculateAriaRowIndex: this.calculateAriaRowIndex,\n virtualScroll,\n variant,\n limit,\n hasGroups,\n };\n }\n\n getSpinnerTopOffset = () => {\n const { headerHeight: propsHeaderHeight, tableContainerRef, stickyHeader } = this.asProps;\n\n let headerHeight = propsHeaderHeight;\n\n if (stickyHeader) {\n return headerHeight;\n }\n\n if (tableContainerRef.current) {\n if (tableContainerRef.current.scrollTop > headerHeight) {\n headerHeight = 0;\n } else {\n headerHeight = headerHeight - tableContainerRef.current.scrollTop;\n }\n }\n\n return headerHeight;\n };\n\n handleFocusSpinContainer = () => {\n this.spinContainerIsFocused = true;\n };\n\n handleBlurSpinContainer = () => {\n this.spinContainerIsFocused = false;\n };\n\n render() {\n const SBody = Root;\n const SSpinContainer = Box;\n const {\n styles,\n loading,\n spinnerRef,\n virtualScroll,\n scrollDirection,\n tableContainerRef,\n scrollTop,\n renderEmptyData,\n columns,\n uid,\n rows,\n renderCellOverlay,\n selectedRows,\n } = this.asProps;\n\n let rowsToRender = rows;\n\n let startIndex = -1;\n let lastIndex = -1;\n\n if (virtualScroll) {\n const rowsBuffer =\n typeof virtualScroll !== 'boolean' && 'rowsBuffer' in virtualScroll\n ? virtualScroll.rowsBuffer ?? ROWS_BUFFER\n : ROWS_BUFFER;\n const offsetHeight = tableContainerRef.current?.offsetHeight ?? 0;\n const prevPrepared = scrollDirection === 'up' ? rowsBuffer : 4;\n const nextPrepared = scrollDirection === 'up' ? 4 : rowsBuffer;\n\n if (typeof virtualScroll === 'boolean' || 'aproxRowsOnPage' in virtualScroll) {\n const aproxRowsOnPage =\n typeof virtualScroll !== 'boolean'\n ? virtualScroll.aproxRowsOnPage ?? APROX_ROWS_ON_PAGE\n : APROX_ROWS_ON_PAGE;\n if (scrollDirection === 'down') {\n for (let i = this.indexForDownIterate; i < this.rowsHeightMap.size - 1; i++) {\n const value = this.rowsHeightMap.get(i);\n if (!value) continue;\n const key = i;\n const valueFromToCompare = value[1];\n const valueToToCompare = value[0];\n if (startIndex === -1 && scrollTop < valueFromToCompare) {\n startIndex = Math.max(key - prevPrepared, 0);\n }\n\n if (startIndex !== -1 && scrollTop + offsetHeight < valueToToCompare) {\n lastIndex = Math.min(key + nextPrepared, rows.length);\n }\n\n if (startIndex !== -1 && lastIndex !== -1) {\n break;\n }\n }\n\n if (scrollTop + offsetHeight < (this.rowsHeightMap.get(lastIndex ?? 0)?.[1] ?? 0)) {\n lastIndex = lastIndex + aproxRowsOnPage;\n }\n } else if (scrollDirection === 'up') {\n for (let i = this.indexForUpIterate; i >= 0; i--) {\n const value = this.rowsHeightMap.get(i);\n if (!value) continue;\n const key = i;\n const valueFromToCompare = value[1];\n const valueToToCompare = value[0];\n\n if (lastIndex === -1 && scrollTop + offsetHeight > valueToToCompare) {\n lastIndex = Math.min(key + nextPrepared, rows.length);\n }\n\n if (lastIndex !== -1 && scrollTop < valueFromToCompare) {\n startIndex = Math.max(key - prevPrepared, 0);\n }\n\n if (startIndex !== -1 && lastIndex !== -1) {\n break;\n }\n }\n\n if (scrollTop < (this.rowsHeightMap.get(startIndex ?? 0)?.[0] ?? 0)) {\n startIndex = Math.max(startIndex - aproxRowsOnPage, 0);\n }\n }\n\n if (startIndex === -1) {\n startIndex = scrollTop === 0 ? 0 : Math.max(rows.length - aproxRowsOnPage, 0);\n }\n\n if (lastIndex === -1) {\n lastIndex = scrollTop === 0 ? aproxRowsOnPage : rows.length;\n }\n\n this.indexForDownIterate = startIndex;\n this.indexForUpIterate = lastIndex;\n\n rowsToRender = rows.slice(startIndex, lastIndex);\n } else if ('rowHeight' in virtualScroll) {\n const rowHeight = virtualScroll.rowHeight;\n\n startIndex = Math.max(Math.floor(scrollTop / rowHeight) - prevPrepared, 0);\n\n const lastIndex = Math.min(\n Math.ceil((scrollTop + offsetHeight) / rowHeight) + nextPrepared,\n rows.length,\n );\n\n rowsToRender = rows.slice(startIndex, lastIndex);\n }\n }\n\n this.startIndex = startIndex === -1 ? 0 : startIndex;\n const rowMarginTop = this.rowsHeightMap.get(this.startIndex - 1)?.[1];\n\n let emptyRow: DTRow<string> | null = null;\n\n if (rowsToRender.length === 0) {\n emptyRow = {\n [UNIQ_ROW_KEY]: `${uid}_empty_data`,\n [IS_EMPTY_DATA_ROW]: true,\n [ROW_INDEX]: 0,\n [GRID_ROW_INDEX]: 0,\n [columns[0].name]: new MergedColumnsCell(renderEmptyData(), {\n dataKey: columns[0].name,\n size: columns.length,\n }),\n };\n }\n\n if (canUseDOM()) {\n this.calculateAriaRowIndex();\n }\n\n return sstyled(styles)(\n <SBody render={Box} __excludeProps={['data']} ref={this.bodyRef}>\n {emptyRow && <Body.Row row={emptyRow} isNonInteractive />}\n {typeof virtualScroll === 'boolean' && rowMarginTop && <Box h={rowMarginTop} />}\n {rowsToRender.map((row, index) => {\n if (Array.isArray(row)) {\n const groupUniqKey = row[0][UNIQ_ROW_KEY];\n\n return (\n <RowGroup\n key={`gg_${groupUniqKey}`}\n rows={row}\n selectedRows={selectedRows}\n columns={columns}\n startIndex={this.startIndex}\n rowIndex={index}\n handleRef={this.handleRef}\n handleComponentRef={this.handleComponentRef}\n />\n );\n }\n\n return (\n <Body.Row\n key={row[UNIQ_ROW_KEY]?.toString()}\n row={row}\n ref={virtualScroll ? this.handleRef(this.startIndex + index, row) : undefined}\n componentRef={this.handleComponentRef(row)}\n />\n );\n })}\n {renderCellOverlay?.()}\n {loading && (\n <SSpinContainer\n innerOutline\n // @ts-ignore\n headerHeight={`${this.getSpinnerTopOffset()}px`}\n tabIndex={-1}\n ref={spinnerRef}\n role='row'\n onFocus={this.handleFocusSpinContainer}\n onBlur={this.handleBlurSpinContainer}\n >\n <Spin size='xxl' role='gridcell' />\n </SSpinContainer>\n )}\n </SBody>,\n );\n }\n\n private setRowHeight(index: number, row: DTRow<UniqKeyType>) {\n const { expandedRows } = this.asProps;\n const node = this.rowsHeightMap.get(index)?.[2];\n const firstChild =\n node?.role === 'rowgroup' ? node?.children.item(0)?.children.item(0) : node?.children.item(0);\n if (node && firstChild instanceof HTMLElement) {\n const offset = firstChild.offsetTop - this.asProps.headerHeight;\n let height = firstChild.getBoundingClientRect().height;\n\n if (expandedRows.has(row[UNIQ_ROW_KEY]) && node.nextSibling instanceof HTMLElement) {\n height = height + node.nextSibling.getBoundingClientRect().height;\n }\n\n this.rowsHeightMap.set(index, [offset, offset + height, node]);\n }\n }\n}\n\nexport const Body = createComponent(BodyRoot, {\n Row,\n}) as DataTableBodyType & {\n Row: DataTableRowType;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Body.js","names":["Box","Component","createComponent","Root","sstyled","canUseDOM","hasParent","Spin","React","MergedColumnsCell","Row","RowGroup","style","_sstyled","insert","GRID_ROW_INDEX","IS_EMPTY_DATA_ROW","ROW_INDEX","UNIQ_ROW_KEY","ROWS_BUFFER","APROX_ROWS_ON_PAGE","INDEX_OFFSET","BodyRoot","_Component","props","_this","_classCallCheck","_callSuper","_defineProperty","Map","createRef","requestAnimationFrame","_this$bodyRef$current","_this$bodyRef$current2","collapsedElements","bodyRef","current","querySelectorAll","forEach","collapsedElement","parent","parentElement","getAttribute","appendChild","visibleRows","row","index","HTMLElement","setAttribute","startIndex","toString","asProps","totalRows","_this$asProps$tableRe","_visibleRows$length","tableRef","length","node","rowsHeightMap","set","setRowHeight","component","rowsComponentsMap","_this$asProps","propsHeaderHeight","headerHeight","tableContainerRef","stickyHeader","scrollTop","spinContainerIsFocused","bind","_inherits","_createClass","key","value","componentDidMount","calculateAriaRowIndex","componentDidUpdate","prevProps","_this$asProps2","loading","activeElement","document","setTimeout","_tableRef$current","focus","_tableRef$current2","getRowProps","_rowProps","_this$asProps3","use","gridTemplateAreas","gridTemplateColumns","expandedRows","columns","onExpandRow","hasGroups","scrollAreaRef","uid","onBackFromAccordion","rowProps","rows","flatRows","sideIndents","selectedRows","onSelectRow","getFixedStyle","accordionDuration","accordionAnimationRows","getI18nText","renderCell","onCellClick","rawData","shadowVertical","accordionMode","virtualScroll","limit","variant","gridRowIndex","sideIndentsValue","calculatedRowProps","_objectSpread","rowIndex","inert","undefined","mergedRow","componentsMap","render","_ref","_ref2","_this$rowsHeightMap$g5","_this2","SBody","SSpinContainer","_this$asProps4","styles","spinnerRef","scrollDirection","renderEmptyData","renderCellOverlay","rowsToRender","lastIndex","_virtualScroll$rowsBu","_tableContainerRef$cu","_tableContainerRef$cu2","rowsBuffer","offsetHeight","prevPrepared","nextPrepared","_virtualScroll$aproxR","aproxRowsOnPage","_this$rowsHeightMap$g","_this$rowsHeightMap$g2","i","indexForDownIterate","size","get","valueFromToCompare","valueToToCompare","Math","max","min","_this$rowsHeightMap$g3","_this$rowsHeightMap$g4","indexForUpIterate","slice","rowHeight","floor","ceil","rowMarginTop","needMarginTop","emptyRow","concat","name","dataKey","createElement","cn","_assignProps","Body","isNonInteractive","map","_row$UNIQ_ROW_KEY","Array","isArray","groupUniqKey","handleRef","handleComponentRef","ref","componentRef","getSpinnerTopOffset","handleFocusSpinContainer","handleBlurSpinContainer","_this$rowsHeightMap$g6","_node$children$item","firstChild","role","children","item","offset","offsetTop","height","getBoundingClientRect","has","nextSibling"],"sources":["../../../../src/components/Body/Body.tsx"],"sourcesContent":["import { Box } from '@semcore/base-components';\nimport { Component, createComponent, Root, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/core/lib/utils/canUseDOM';\nimport { hasParent } from '@semcore/core/lib/utils/hasParent';\nimport Spin from '@semcore/spin';\nimport * as React from 'react';\n\nimport type { BodyPropsInner, DataTableBodyProps, DataTableBodyType } from './Body.types';\nimport { MergedColumnsCell } from './MergedCells';\nimport type { RowRoot } from './Row';\nimport { Row } from './Row';\nimport type { DataTableRowType, DTRow, RowPropsInner } from './Row.types';\nimport { RowGroup } from './RowGroup';\nimport style from './style.shadow.css';\nimport {\n GRID_ROW_INDEX,\n IS_EMPTY_DATA_ROW,\n ROW_INDEX,\n UNIQ_ROW_KEY,\n} from '../DataTable/DataTable';\nimport type { DataTableData } from '../DataTable/DataTable.types';\n\nconst ROWS_BUFFER = 20;\nconst APROX_ROWS_ON_PAGE = 20;\nexport const INDEX_OFFSET = 2; // 1 - for header, 1 - because start not from 0, but from 1\n\nclass BodyRoot<Data extends DataTableData, UniqKeyType> extends Component<DataTableBodyProps<Data, UniqKeyType>, {}, {}, [], BodyPropsInner<Data, UniqKeyType>> {\n static displayName = 'Body';\n static style = style;\n\n rowsHeightMap = new Map<number, [number, number, HTMLElement]>();\n rowsComponentsMap = new Map<UniqKeyType, RowRoot<Data, UniqKeyType>>();\n\n indexForDownIterate = 0;\n indexForUpIterate = 0;\n\n startIndex = -1;\n\n bodyRef = React.createRef<HTMLDivElement>();\n spinContainerIsFocused = false;\n\n constructor(props: DataTableBodyProps<Data, UniqKeyType>) {\n super(props);\n this.setRowHeight = this.setRowHeight.bind(this);\n }\n\n componentDidMount() {\n this.calculateAriaRowIndex();\n }\n\n componentDidUpdate(prevProps: DataTableBodyProps<Data, UniqKeyType> & BodyPropsInner<Data, UniqKeyType>) {\n const { loading, tableRef } = this.asProps;\n if (prevProps.loading !== loading) {\n if (loading) {\n const activeElement = document.activeElement; // need to define it here because of FF\n setTimeout(() => {\n if ((tableRef.current && hasParent(activeElement, tableRef.current))) {\n tableRef.current?.focus();\n }\n });\n } else if (!loading && this.spinContainerIsFocused) {\n setTimeout(() => {\n tableRef.current?.focus();\n });\n this.spinContainerIsFocused = false;\n }\n }\n }\n\n calculateAriaRowIndex = () => {\n requestAnimationFrame(() => {\n const collapsedElements = this.bodyRef.current?.querySelectorAll('[role=row][data-ui-name=\"Collapse\"]:not([aria-hidden=true]):not(:scope [data-ui-name=\"DataTable\"] [role=row]:not([aria-hidden=true]))');\n\n collapsedElements?.forEach((collapsedElement) => {\n const parent = collapsedElement.parentElement;\n if (parent?.getAttribute('role') === 'rowgroup') {\n parent?.appendChild(collapsedElement);\n }\n });\n\n const visibleRows = this.bodyRef.current?.querySelectorAll('[role=row]:not([aria-hidden=true]):not(:scope [data-ui-name=\"DataTable\"] [role=row]:not([aria-hidden=true]))');\n\n visibleRows?.forEach((row, index) => {\n if (row instanceof HTMLElement) {\n row.setAttribute('aria-rowindex', (index + 2 + this.startIndex).toString());\n }\n });\n\n if (!this.asProps.totalRows) {\n this.asProps.tableRef.current?.setAttribute('aria-rowcount', (visibleRows?.length ?? 0).toString());\n }\n });\n };\n\n handleRef = (index: number, row: DTRow<UniqKeyType>) => (node: HTMLElement | null) => {\n if (node) {\n this.rowsHeightMap.set(index, [0, 0, node]);\n this.setRowHeight(index, row);\n }\n };\n\n handleComponentRef = (row: DTRow<UniqKeyType>) => (component: RowRoot<Data, UniqKeyType> | null) => {\n requestAnimationFrame(() => {\n if (component) {\n this.rowsComponentsMap.set(row[UNIQ_ROW_KEY], component);\n } else {\n this.rowsComponentsMap.delete(row[UNIQ_ROW_KEY]);\n }\n });\n };\n\n getRowProps(props: { row: DTRow<UniqKeyType>; mergedRow?: boolean }): RowPropsInner<Data, UniqKeyType> {\n const {\n use,\n gridTemplateAreas,\n gridTemplateColumns,\n expandedRows,\n columns,\n onExpandRow,\n loading,\n hasGroups,\n scrollAreaRef,\n uid,\n onBackFromAccordion,\n rowProps,\n rows,\n flatRows,\n sideIndents,\n selectedRows,\n onSelectRow,\n getFixedStyle,\n accordionDuration,\n accordionAnimationRows,\n getI18nText,\n renderCell,\n tableRef,\n onCellClick,\n rawData,\n shadowVertical,\n accordionMode,\n virtualScroll,\n limit,\n variant,\n } = this.asProps;\n const row = props.row;\n const index = row[ROW_INDEX];\n const gridRowIndex = row[GRID_ROW_INDEX] + (hasGroups ? INDEX_OFFSET + 1 : INDEX_OFFSET); // 1 - for header, 1 - because start not from 0, but from 1\n\n const sideIndentsValue = variant === 'card' ? 'wide' : sideIndents;\n\n const calculatedRowProps = rowProps?.(row, index) ?? {};\n\n return {\n ...calculatedRowProps,\n use,\n uid,\n gridTemplateAreas,\n gridTemplateColumns,\n columns,\n rowIndex: index,\n gridRowIndex,\n rows,\n onBackFromAccordion,\n row,\n onExpandRow,\n selectedRows,\n onSelectRow,\n inert: loading ? '' : undefined,\n scrollAreaRef,\n sideIndents: sideIndentsValue,\n getFixedStyle,\n mergedRow: props.mergedRow,\n accordionDuration,\n accordionAnimationRows,\n flatRows,\n getI18nText,\n renderCell,\n tableRef,\n onCellClick,\n rawData,\n expandedRows,\n rowsHeightMap: this.rowsHeightMap,\n setRowHeight: this.setRowHeight,\n shadowVertical,\n accordionMode,\n componentsMap: this.rowsComponentsMap,\n calculateAriaRowIndex: this.calculateAriaRowIndex,\n virtualScroll,\n variant,\n limit,\n hasGroups,\n };\n }\n\n getSpinnerTopOffset = () => {\n const { headerHeight: propsHeaderHeight, tableContainerRef, stickyHeader } = this.asProps;\n\n let headerHeight = propsHeaderHeight;\n\n if (stickyHeader) {\n return headerHeight;\n }\n\n if (tableContainerRef.current) {\n if (tableContainerRef.current.scrollTop > headerHeight) {\n headerHeight = 0;\n } else {\n headerHeight = headerHeight - tableContainerRef.current.scrollTop;\n }\n }\n\n return headerHeight;\n };\n\n handleFocusSpinContainer = () => {\n this.spinContainerIsFocused = true;\n };\n\n handleBlurSpinContainer = () => {\n this.spinContainerIsFocused = false;\n };\n\n render() {\n const SBody = Root;\n const SSpinContainer = Box;\n const {\n styles,\n loading,\n spinnerRef,\n virtualScroll,\n scrollDirection,\n tableContainerRef,\n scrollTop,\n renderEmptyData,\n columns,\n uid,\n rows,\n renderCellOverlay,\n selectedRows,\n } = this.asProps;\n\n let rowsToRender = rows;\n\n let startIndex = -1;\n let lastIndex = -1;\n\n if (virtualScroll) {\n const rowsBuffer =\n typeof virtualScroll !== 'boolean' && 'rowsBuffer' in virtualScroll\n ? virtualScroll.rowsBuffer ?? ROWS_BUFFER\n : ROWS_BUFFER;\n const offsetHeight = tableContainerRef.current?.offsetHeight ?? 0;\n const prevPrepared = scrollDirection === 'up' ? rowsBuffer : 4;\n const nextPrepared = scrollDirection === 'up' ? 4 : rowsBuffer;\n\n if (typeof virtualScroll === 'boolean' || !('rowHeight' in virtualScroll)) {\n const aproxRowsOnPage =\n typeof virtualScroll !== 'boolean'\n ? virtualScroll.aproxRowsOnPage ?? APROX_ROWS_ON_PAGE\n : APROX_ROWS_ON_PAGE;\n if (scrollDirection === 'down') {\n for (let i = this.indexForDownIterate; i < this.rowsHeightMap.size - 1; i++) {\n const value = this.rowsHeightMap.get(i);\n if (!value) continue;\n const key = i;\n const valueFromToCompare = value[1];\n const valueToToCompare = value[0];\n if (startIndex === -1 && scrollTop < valueFromToCompare) {\n startIndex = Math.max(key - prevPrepared, 0);\n }\n\n if (startIndex !== -1 && scrollTop + offsetHeight < valueToToCompare) {\n lastIndex = Math.min(key + nextPrepared, rows.length);\n }\n\n if (startIndex !== -1 && lastIndex !== -1) {\n break;\n }\n }\n\n if (scrollTop + offsetHeight < (this.rowsHeightMap.get(lastIndex ?? 0)?.[1] ?? 0)) {\n lastIndex = lastIndex + aproxRowsOnPage;\n }\n } else if (scrollDirection === 'up') {\n for (let i = this.indexForUpIterate; i >= 0; i--) {\n const value = this.rowsHeightMap.get(i);\n if (!value) continue;\n const key = i;\n const valueFromToCompare = value[1];\n const valueToToCompare = value[0];\n\n if (lastIndex === -1 && scrollTop + offsetHeight > valueToToCompare) {\n lastIndex = Math.min(key + nextPrepared, rows.length);\n }\n\n if (lastIndex !== -1 && scrollTop < valueFromToCompare) {\n startIndex = Math.max(key - prevPrepared, 0);\n }\n\n if (startIndex !== -1 && lastIndex !== -1) {\n break;\n }\n }\n\n if (scrollTop < (this.rowsHeightMap.get(startIndex ?? 0)?.[0] ?? 0)) {\n startIndex = Math.max(startIndex - aproxRowsOnPage, 0);\n }\n }\n\n if (startIndex === -1) {\n startIndex = scrollTop === 0 ? 0 : Math.max(rows.length - aproxRowsOnPage, 0);\n }\n\n if (lastIndex === -1) {\n lastIndex = scrollTop === 0 ? aproxRowsOnPage : rows.length;\n }\n\n this.indexForDownIterate = startIndex;\n this.indexForUpIterate = lastIndex;\n\n rowsToRender = rows.slice(startIndex, lastIndex);\n } else if ('rowHeight' in virtualScroll) {\n const rowHeight = virtualScroll.rowHeight;\n\n startIndex = Math.max(Math.floor(scrollTop / rowHeight) - prevPrepared, 0);\n\n const lastIndex = Math.min(\n Math.ceil((scrollTop + offsetHeight) / rowHeight) + nextPrepared,\n rows.length,\n );\n\n rowsToRender = rows.slice(startIndex, lastIndex);\n }\n }\n\n this.startIndex = startIndex === -1 ? 0 : startIndex;\n const rowMarginTop = this.rowsHeightMap.get(this.startIndex - 1)?.[1];\n const needMarginTop = typeof virtualScroll === 'boolean' || (virtualScroll && !('rowHeight' in virtualScroll));\n\n let emptyRow: DTRow<string> | null = null;\n\n if (rowsToRender.length === 0) {\n emptyRow = {\n [UNIQ_ROW_KEY]: `${uid}_empty_data`,\n [IS_EMPTY_DATA_ROW]: true,\n [ROW_INDEX]: 0,\n [GRID_ROW_INDEX]: 0,\n [columns[0].name]: new MergedColumnsCell(renderEmptyData(), {\n dataKey: columns[0].name,\n size: columns.length,\n }),\n };\n }\n\n if (canUseDOM()) {\n this.calculateAriaRowIndex();\n }\n\n return sstyled(styles)(\n <SBody render={Box} __excludeProps={['data']} ref={this.bodyRef}>\n {emptyRow && <Body.Row row={emptyRow} isNonInteractive />}\n {needMarginTop && rowMarginTop && <Box h={rowMarginTop} />}\n {rowsToRender.map((row, index) => {\n if (Array.isArray(row)) {\n const groupUniqKey = row[0][UNIQ_ROW_KEY];\n\n return (\n <RowGroup\n key={`gg_${groupUniqKey}`}\n rows={row}\n selectedRows={selectedRows}\n columns={columns}\n startIndex={this.startIndex}\n rowIndex={index}\n handleRef={this.handleRef}\n handleComponentRef={this.handleComponentRef}\n />\n );\n }\n\n return (\n <Body.Row\n key={row[UNIQ_ROW_KEY]?.toString()}\n row={row}\n ref={virtualScroll ? this.handleRef(this.startIndex + index, row) : undefined}\n componentRef={this.handleComponentRef(row)}\n />\n );\n })}\n {renderCellOverlay?.()}\n {loading && (\n <SSpinContainer\n innerOutline\n // @ts-ignore\n headerHeight={`${this.getSpinnerTopOffset()}px`}\n tabIndex={-1}\n ref={spinnerRef}\n role='row'\n onFocus={this.handleFocusSpinContainer}\n onBlur={this.handleBlurSpinContainer}\n >\n <Spin size='xxl' role='gridcell' />\n </SSpinContainer>\n )}\n </SBody>,\n );\n }\n\n private setRowHeight(index: number, row: DTRow<UniqKeyType>) {\n const { expandedRows } = this.asProps;\n const node = this.rowsHeightMap.get(index)?.[2];\n const firstChild =\n node?.role === 'rowgroup' ? node?.children.item(0)?.children.item(0) : node?.children.item(0);\n if (node && firstChild instanceof HTMLElement) {\n const offset = firstChild.offsetTop - this.asProps.headerHeight;\n let height = firstChild.getBoundingClientRect().height;\n\n if (expandedRows.has(row[UNIQ_ROW_KEY]) && node.nextSibling instanceof HTMLElement) {\n height = height + node.nextSibling.getBoundingClientRect().height;\n }\n\n this.rowsHeightMap.set(index, [offset, offset + height, node]);\n }\n }\n}\n\nexport const Body = createComponent(BodyRoot, {\n Row,\n}) as DataTableBodyType & {\n Row: DataTableRowType;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -885,7 +885,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
|
|
|
885
885
|
}) ? '100%' : undefined;
|
|
886
886
|
var gridTemplateRows = undefined;
|
|
887
887
|
if (virtualScroll && typeof virtualScroll !== 'boolean' && 'rowHeight' in virtualScroll) {
|
|
888
|
-
gridTemplateRows = "auto auto repeat(".concat(this.totalRows, ", minmax(").concat(virtualScroll.rowHeight, "px, auto)");
|
|
888
|
+
gridTemplateRows = "auto auto repeat(".concat(this.totalRows, ", minmax(").concat(virtualScroll.rowHeight, "px, auto))");
|
|
889
889
|
}
|
|
890
890
|
return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(ScrollArea, _ref2.cn("ScrollArea", {
|
|
891
891
|
"leftOffset": offsetLeftSum,
|