UNPKG

choerodon-ui

Version:

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

115 lines (90 loc) 3.85 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"]; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"]; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireWildcard(require("react")); var _mobxReactLite = require("mobx-react-lite"); var _classnames = _interopRequireDefault(require("classnames")); var _UnitConvertor = require("../../../lib/_util/UnitConvertor"); var _Column = require("./Column"); var _TableContext = _interopRequireDefault(require("./TableContext")); var _ExpandIcon = _interopRequireDefault(require("./ExpandIcon")); var TableGroupCellInner = function TableGroupCellInner(props) { var _useContext = (0, _react.useContext)(_TableContext["default"]), dataSet = _useContext.dataSet, rowHeight = _useContext.rowHeight, indentSize = _useContext.indentSize, tableStore = _useContext.tableStore, prefixCls = _useContext.prefixCls; var column = props.column, group = props.group, aggregationList = props.children, rowSpan = props.rowSpan; var children = group.children; var _column$renderer = column.renderer, renderer = _column$renderer === void 0 ? _Column.defaultAggregationRenderer : _column$renderer, __tableGroup = column.__tableGroup; var handleExpandChange = (0, _react.useCallback)(function () { tableStore.setGroupExpanded(group, !tableStore.isGroupExpanded(group)); }, [tableStore, group]); var record = group.totalRecords[0]; var text = renderer({ text: aggregationList || group.value, rowGroup: group, dataSet: dataSet, record: record }); var hasExpandIcon = Boolean(__tableGroup && __tableGroup.parentField); var renderExpandIcon = function renderExpandIcon() { if (hasExpandIcon) { var expandable = !!children; var expandIcon = tableStore.expandIcon; var isExpanded = tableStore.isGroupExpanded(group); if (typeof expandIcon === 'function') { return expandIcon({ prefixCls: prefixCls, expanded: isExpanded, expandable: expandable, needIndentSpaced: false, record: record, onExpand: handleExpandChange }); } return /*#__PURE__*/_react["default"].createElement(_ExpandIcon["default"], { prefixCls: prefixCls, expandable: expandable, onChange: handleExpandChange, expanded: isExpanded }); } }; var renderIndent = function renderIndent() { if (hasExpandIcon) { return /*#__PURE__*/_react["default"].createElement("span", { key: "indent", style: { paddingLeft: (0, _UnitConvertor.pxToRem)(indentSize * group.level) } }); } }; var cellProps = { className: (0, _classnames["default"])("".concat(prefixCls, "-cell-inner"), (0, _defineProperty2["default"])({}, "".concat(prefixCls, "-cell-inner-row-height-fixed"), rowHeight !== 'auto')) }; if (rowSpan === undefined && tableStore.isFixedRowHeight && rowHeight !== 'auto') { cellProps.style = { height: (0, _UnitConvertor.pxToRem)(rowHeight), lineHeight: (0, _UnitConvertor.pxToRem)(rowHeight - 2) }; } return /*#__PURE__*/_react["default"].createElement("span", (0, _extends2["default"])({}, cellProps), renderIndent(), renderExpandIcon(), text); }; TableGroupCellInner.displayName = 'TableGroupCellInner'; var _default = (0, _mobxReactLite.observer)(TableGroupCellInner); exports["default"] = _default; //# sourceMappingURL=TableGroupCellInner.js.map