UNPKG

dareway-rui

Version:

202 lines (173 loc) 7.47 kB
'use strict'; var _interopRequireDefault = require('@babel/runtime/helpers/interopRequireDefault'); Object.defineProperty(exports, '__esModule', { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(require('@babel/runtime/helpers/classCallCheck')); var _createClass2 = _interopRequireDefault(require('@babel/runtime/helpers/createClass')); var _possibleConstructorReturn2 = _interopRequireDefault(require('@babel/runtime/helpers/possibleConstructorReturn')); var _getPrototypeOf2 = _interopRequireDefault(require('@babel/runtime/helpers/getPrototypeOf')); var _assertThisInitialized2 = _interopRequireDefault(require('@babel/runtime/helpers/assertThisInitialized')); var _inherits2 = _interopRequireDefault(require('@babel/runtime/helpers/inherits')); var _defineProperty2 = _interopRequireDefault(require('@babel/runtime/helpers/defineProperty')); var _react = _interopRequireDefault(require('react')); var _propTypes = _interopRequireDefault(require('prop-types')); var _classnames = _interopRequireDefault(require('classnames')); var _reactResizable = require('react-resizable'); var _SortIcon = _interopRequireDefault(require('../sort/SortIcon')); var _ = require('../../'); var HeaderCell = /*#__PURE__*/ (function(_React$PureComponent) { (0, _inherits2.default)(HeaderCell, _React$PureComponent); function HeaderCell(props) { var _this; (0, _classCallCheck2.default)(this, HeaderCell); _this = (0, _possibleConstructorReturn2.default)( this, (0, _getPrototypeOf2.default)(HeaderCell).call(this, props) ); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), 'handleSort', function() { var _this$props = _this.props, name = _this$props.name, sortable = _this$props.sortable, onSort = _this$props.onSort; if (!sortable) { return; } if (onSort) { onSort(name); } }); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), 'genHeader', function() { var _this$props2 = _this.props, name = _this$props2.name, head = _this$props2.head, headBold = _this$props2.headBold, headFontColor = _this$props2.headFontColor, headOblique = _this$props2.headOblique, sortable = _this$props2.sortable, sortOrder = _this$props2.sortOrder, readonly = _this$props2.readonly, required = _this$props2.required, width = _this$props2.width; var thClass = (0, _classnames.default)({ 'rui-grid-column-has-sorter': sortable, 'rui-grid-column-sorted': sortOrder }); var style = { minWidth: width, maxWidth: width }; if (headFontColor) { style['color'] = headFontColor; } if (headBold) { style['fontWeight'] = 'bold'; } if (headOblique) { style['fontStyle'] = 'oblique'; } return _react.default.createElement( 'th', { name: name, className: thClass, title: head }, _react.default.createElement( 'div', { style: style, className: 'rui-grid-column-header-cell-wrapper', onClick: _this.handleSort }, required && _react.default.createElement( 'span', { className: 'rui-grid-column-header-required' }, '*' ), _react.default.createElement( 'span', { className: 'rui-grid-column-header-text' }, head ), sortable && _react.default.createElement( 'div', { className: 'rui-grid-column-sorter-container' }, _react.default.createElement(_SortIcon.default, { sortOrder: sortOrder }) ) ), !readonly && _react.default.createElement( 'span', { className: 'rui-grid-column-has-edit' }, _react.default.createElement(_.Icon, { type: 'rui_editable' }) ) ); }); return _this; } (0, _createClass2.default)(HeaderCell, [ { key: 'render', value: function render() { var _this$props3 = this.props, hidden = _this$props3.hidden, width = _this$props3.width, resizable = _this$props3.resizable, onResize = _this$props3.onResize; if (hidden) { return null; } return resizable ? _react.default.createElement( _reactResizable.Resizable, { width: width, height: 0, onResize: onResize }, this.genHeader() ) : this.genHeader(); } } ]); return HeaderCell; })(_react.default.PureComponent); exports.default = HeaderCell; (0, _defineProperty2.default)(HeaderCell, 'propTypes', { name: _propTypes.default.string, // head head: _propTypes.default.string, headBold: _propTypes.default.bool, headFontColor: _propTypes.default.string, headOblique: _propTypes.default.bool, // 排序相关属性 sortable: _propTypes.default.bool, onSort: _propTypes.default.func, sortOrder: _propTypes.default.string, // 只读、必填、隐藏 readonly: _propTypes.default.bool, required: _propTypes.default.bool, hidden: _propTypes.default.bool, // 宽度 width: _propTypes.default.number }); //@ sourceMappingURL=HeaderCell.js.map