UNPKG

zent

Version:

一套前端设计语言和基于React的实现

165 lines (126 loc) 5.38 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn'); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = require('babel-runtime/helpers/inherits'); var _inherits3 = _interopRequireDefault(_inherits2); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _reactDom = require('react-dom'); var _reactDom2 = _interopRequireDefault(_reactDom); var _pagination = require('../../pagination'); var _pagination2 = _interopRequireDefault(_pagination); var _checkbox = require('../../checkbox'); var _checkbox2 = _interopRequireDefault(_checkbox); var _isNil = require('lodash/isNil'); var _isNil2 = _interopRequireDefault(_isNil); var _helper = require('../helper.js'); var _helper2 = _interopRequireDefault(_helper); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var Foot = function (_ref) { (0, _inherits3['default'])(Foot, _ref); function Foot() { var _ref2; var _temp, _this, _ret; (0, _classCallCheck3['default'])(this, Foot); for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return _ret = (_temp = (_this = (0, _possibleConstructorReturn3['default'])(this, (_ref2 = Foot.__proto__ || Object.getPrototypeOf(Foot)).call.apply(_ref2, [this].concat(args))), _this), _this.onSelect = function (e) { var isChecked = false; if (e.target.checked) { isChecked = true; } _this.props.selection.onSelectAll(isChecked); }, _temp), (0, _possibleConstructorReturn3['default'])(_this, _ret); } (0, _createClass3['default'])(Foot, [{ key: 'renderBatchComps', // 拿到所有的选中的item value: function renderBatchComps(selectedRows, batchComponents) { return batchComponents.map(function (comp, index) { if (_helper2['default'].isReactComponent(comp)) { var Comp = comp; return _react2['default'].createElement(Comp, { key: index, data: selectedRows }); } if (typeof comp === 'function') { return comp(selectedRows, index); } return comp; }); } }, { key: 'componentWillReceiveProps', value: function componentWillReceiveProps(nextProps) { if (nextProps.batchComponentsFixed) { this.footStyleFixed = { height: _reactDom2['default'].findDOMNode(this.batch).getBoundingClientRect().height }; } else { this.footStyleFixed = {}; } } }, { key: 'render', value: function render() { var _this2 = this; var _props = this.props, onPageChange = _props.onPageChange, batchComponents = _props.batchComponents, selection = _props.selection, current = _props.current; var pageInfo = this.props.pageInfo || {}; var totalItem = pageInfo.totalItem, pageSize = pageInfo.pageSize, total = pageInfo.total, limit = pageInfo.limit, maxPageToShow = pageInfo.maxPageToShow; var needSelect = selection.needSelect, selectedRows = selection.selectedRows; var batchClassName = 'tfoot__batchcomponents'; var shouldRenderFoot = batchComponents && batchComponents.length > 0 || Object.keys(pageInfo).length !== 0; if (batchComponents && batchComponents.length > 0) { batchClassName += ' tfoot__batchcomponents--has-children'; } if (this.props.batchComponentsFixed) { batchClassName += ' tfoot__batchcomponents--fixed'; } return shouldRenderFoot && _react2['default'].createElement( 'div', { className: 'tfoot clearfix', style: this.footStyleFixed }, _react2['default'].createElement( 'div', { className: batchClassName, ref: function ref(c) { return _this2.batch = c; } }, needSelect && batchComponents && batchComponents.length > 0 && _react2['default'].createElement(_checkbox2['default'], { className: 'select-check', onChange: this.onSelect, checked: selection.isSelectAll, indeterminate: selection.isSelectPart }), batchComponents && batchComponents.length > 0 && this.renderBatchComps(selectedRows, batchComponents) ), _react2['default'].createElement( 'div', { className: 'tfoot__page' }, Object.keys(pageInfo).length > 0 && _react2['default'].createElement(_pagination2['default'], { current: current, totalItem: (0, _isNil2['default'])(totalItem) ? total : totalItem, pageSize: (0, _isNil2['default'])(pageSize) ? limit : pageSize, maxPageToShow: maxPageToShow, onChange: onPageChange }) ) ); } }]); return Foot; }(_react.PureComponent || _react.Component); exports['default'] = Foot;