UNPKG

choerodon-ui

Version:

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

52 lines (42 loc) 1.57 kB
import React, { useContext, useMemo } from 'react'; import { observer } from 'mobx-react-lite'; import { get } from 'mobx'; import isEqual from 'lodash/isEqual'; import { pxToRem } from '../../../es/_util/UnitConvertor'; import TableContext from './TableContext'; import { columnWidth, minColumnWidth } from './Column'; var TableCol = function TableCol(props) { var column = props.column, last = props.last; var _useContext = useContext(TableContext), tableStore = _useContext.tableStore, prefixCls = _useContext.prefixCls; var lastEmptyWidthColumn = tableStore.getLastEmptyWidthColumn; var width = last && !tableStore.hasEmptyWidthColumn ? undefined : tableStore.overflowX ? columnWidth(column, tableStore) : get(column, 'width'); var innerClassName = []; if (tableStore.isBuiltInColumn(column)) { innerClassName.push(get(column, 'headerClassName')); } if (tableStore.tableColumnResizeTransition) { innerClassName.push("".concat(prefixCls, "-col")); } var minWidth = minColumnWidth(column, tableStore); if (lastEmptyWidthColumn && isEqual(column, lastEmptyWidthColumn)) { width = undefined; } else { width = pxToRem(width, true); } var style = useMemo(function () { return { width: width, minWidth: pxToRem(minWidth, true) }; }, [width, minWidth]); return /*#__PURE__*/React.createElement("col", { className: innerClassName.join(' '), style: style }); }; TableCol.displayName = 'TableCol'; export default observer(TableCol); //# sourceMappingURL=TableCol.js.map