UNPKG

choerodon-ui

Version:

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

124 lines (94 loc) 4.27 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")); var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireWildcard(require("react")); var _mobxReact = require("mobx-react"); var _omit = _interopRequireDefault(require("lodash/omit")); var _classnames = _interopRequireDefault(require("classnames")); var _UnitConvertor = require("../../../lib/_util/UnitConvertor"); var _TableContext = _interopRequireDefault(require("./TableContext")); var _utils = require("./utils"); var _enum = require("./enum"); var TableFooterCell = function TableFooterCell(props) { var columnGroup = props.columnGroup, style = props.style, className = props.className, colSpan = props.colSpan, right = props.right; var _useContext = (0, _react.useContext)(_TableContext["default"]), rowHeight = _useContext.rowHeight, dataSet = _useContext.dataSet, prefixCls = _useContext.prefixCls, tableStore = _useContext.tableStore; var column = columnGroup.column; var autoFootHeight = tableStore.autoFootHeight, footerRowHeight = tableStore.props.footerRowHeight; var footer = column.footer, footerClassName = column.footerClassName, _column$footerStyle = column.footerStyle, footerStyle = _column$footerStyle === void 0 ? {} : _column$footerStyle, align = column.align, name = column.name, command = column.command, lock = column.lock; var columnLock = (0, _utils.isStickySupport)() && tableStore.overflowX && (0, _utils.getColumnLock)(lock); var classString = (0, _classnames["default"])("".concat(prefixCls, "-cell"), (0, _defineProperty2["default"])({}, "".concat(prefixCls, "-cell-fix-").concat(columnLock), columnLock), className, footerClassName); var innerClassNames = ["".concat(prefixCls, "-cell-inner")]; var innerProps = {}; if (footerRowHeight !== 'auto' && rowHeight !== 'auto' && !autoFootHeight) { innerProps.style = { height: (0, _UnitConvertor.pxToRem)(footerRowHeight === undefined ? rowHeight : footerRowHeight) }; innerClassNames.push("".concat(prefixCls, "-cell-inner-row-height-fixed")); } var cellStyle = (0, _objectSpread2["default"])({ textAlign: align || (command ? _enum.ColumnAlign.center : tableStore.getConfig('tableColumnAlign')(column, dataSet.getField(name))) }, footerStyle, {}, style); if (columnLock) { if (columnLock === _enum.ColumnLock.left) { cellStyle.left = (0, _UnitConvertor.pxToRem)(columnGroup.left); } else if (columnLock === _enum.ColumnLock.right) { cellStyle.right = (0, _UnitConvertor.pxToRem)(colSpan && colSpan > 1 ? right : columnGroup.right + right); } } var getFooter = function getFooter() { switch ((0, _typeof2["default"])(footer)) { case 'function': { var footerHookOptions = { dataSet: dataSet, name: name }; try { return footer(footerHookOptions); } catch (e) { return footer(dataSet, name); } } case 'string': return _react["default"].createElement("span", null, footer); default: return footer; } }; return _react["default"].createElement("th", { className: classString, style: (0, _omit["default"])(cellStyle, ['width', 'height']), colSpan: colSpan, scope: "col" }, _react["default"].createElement("div", (0, _extends2["default"])({}, innerProps, { className: innerClassNames.join(' ') }), getFooter())); }; TableFooterCell.displayName = 'TableFooterCell'; var _default = (0, _mobxReact.observer)(TableFooterCell); exports["default"] = _default; //# sourceMappingURL=TableFooterCell.js.map