UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

34 lines (29 loc) 1.27 kB
import _extends from "@babel/runtime/helpers/extends"; import React, { useContext } from 'react'; import { observer } from 'mobx-react-lite'; import { useInView } from 'react-intersection-observer'; import { pxToRem } from '../../../es/_util/UnitConvertor'; import TableContext from './TableContext'; import { VIRTUAL_ROOT_MARGIN } from './TableStore'; import TableCell from './TableCell'; var TableVirtualCell = function TableVirtualCell(props) { var _useContext = useContext(TableContext), node = _useContext.tableStore.node; var _useInView = useInView({ root: node.tableBodyWrap || node.element, rootMargin: "".concat(VIRTUAL_ROOT_MARGIN, "px"), initialInView: true }), intersectionRef = _useInView.ref, inView = _useInView.inView, entry = _useInView.entry; var height = !inView && entry && entry.target.offsetParent ? pxToRem(entry.boundingClientRect.height || entry.target.offsetHeight, true) : undefined; return /*#__PURE__*/React.createElement(TableCell, _extends({}, props, { intersectionRef: intersectionRef, inView: inView, virtualHeight: height })); }; TableVirtualCell.displayName = 'TableVirtualCell'; export default observer(TableVirtualCell); //# sourceMappingURL=TableVirtualCell.js.map