linkmore-design
Version:
π πlmη»δ»ΆεΊγπ
59 lines (57 loc) β’ 2.08 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var React = _interopRequireWildcard(require("react"));
var _Cell = _interopRequireDefault(require("../Cell"));
var _ExpandedRowContext = _interopRequireDefault(require("../context/ExpandedRowContext"));
var _TableContext = _interopRequireDefault(require("../context/TableContext"));
var _ContextSelector = require("../ContextSelector");
function ExpandedRow({
prefixCls,
children,
component: Component,
cellComponent,
className,
expanded,
colSpan,
isEmpty
}) {
const scrollbarSize = (0, _ContextSelector.useContextSelector)(_TableContext.default, 'scrollbarSize');
const {
fixHeader,
fixColumn,
componentWidth,
horizonScroll
} = (0, _ContextSelector.useContextSelector)(_ExpandedRowContext.default, ['fixHeader', 'fixColumn', 'componentWidth', 'horizonScroll']);
// Cache render node
return React.useMemo(() => {
let contentNode = children;
if (isEmpty ? horizonScroll : fixColumn) {
contentNode = /*#__PURE__*/React.createElement("div", {
style: {
width: componentWidth - (fixHeader ? scrollbarSize : 0),
position: 'sticky',
left: 0,
overflow: 'hidden'
},
className: `${prefixCls}-expanded-row-fixed`
}, componentWidth !== 0 && contentNode);
}
return /*#__PURE__*/React.createElement(Component, {
className: className,
style: {
display: expanded ? null : 'none'
}
}, /*#__PURE__*/React.createElement(_Cell.default, {
component: cellComponent,
prefixCls: prefixCls,
colSpan: colSpan
}, contentNode));
}, [children, Component, className, expanded, colSpan, isEmpty, scrollbarSize, componentWidth, fixColumn, fixHeader, horizonScroll]);
}
var _default = ExpandedRow;
exports.default = _default;