UNPKG

zent

Version:

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

146 lines (103 loc) 4.2 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); 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 _pagination = require('../pagination'); var _pagination2 = _interopRequireDefault(_pagination); var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames); var _size = require('lodash/size'); var _size2 = _interopRequireDefault(_size); var _get = require('lodash/get'); var _get2 = _interopRequireDefault(_get); var _has = require('lodash/has'); var _has2 = _interopRequireDefault(_has); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var defaultPageInfo = { current: 1, pageSize: 10 }; var Footer = function (_ref) { (0, _inherits3['default'])(Footer, _ref); function Footer(props) { (0, _classCallCheck3['default'])(this, Footer); var _this = (0, _possibleConstructorReturn3['default'])(this, (Footer.__proto__ || Object.getPrototypeOf(Footer)).call(this, props)); _this.handlePageChange = function (current) { if ((0, _get2['default'])(_this.state, 'pageInfo.current', 1) !== current) { _this.props.onChange({ current: current }); } }; _this.renderPage = function () { var prefix = _this.props.prefix; var pageInfo = _this.state.pageInfo; return pageInfo ? _react2['default'].createElement( 'div', { className: (0, _classnames2['default'])(prefix + '-grid-tfoot-page') }, _react2['default'].createElement(_pagination2['default'], (0, _extends3['default'])({}, pageInfo, { onChange: _this.handlePageChange })) ) : null; }; _this.state = { pageInfo: _this.getDefaultPagination(props) }; return _this; } (0, _createClass3['default'])(Footer, [{ key: 'hasPagination', value: function hasPagination(props) { var _ref2 = props || this.props, pageInfo = _ref2.pageInfo; return pageInfo && (0, _size2['default'])(pageInfo); } }, { key: 'getDefaultPagination', value: function getDefaultPagination(props) { var pageInfo = props.pageInfo; return this.hasPagination(props) ? (0, _extends3['default'])({}, pageInfo, { current: pageInfo.current || defaultPageInfo.current, pageSize: pageInfo.pageSize || defaultPageInfo.pageSize }) : null; } }, { key: 'componentWillReceiveProps', value: function componentWillReceiveProps(nextProps) { var _this2 = this; if ((0, _has2['default'])(nextProps, 'pageInfo') || (0, _has2['default'])(this.props, 'pageInfo')) { this.setState(function (previousState) { var newPagination = (0, _extends3['default'])({}, previousState.pageInfo, nextProps.pageInfo); newPagination.current = newPagination.current || defaultPageInfo.current; newPagination.pageSize = newPagination.pageSize || defaultPageInfo.pageSize; return { pageInfo: _this2.hasPagination(nextProps) ? newPagination : null }; }); } } }, { key: 'render', value: function render() { var prefix = this.props.prefix; if (this.state.pageInfo) { return _react2['default'].createElement( 'div', { className: prefix + '-grid-tfoot' }, this.renderPage() ); } return null; } }]); return Footer; }(_react.PureComponent || _react.Component); exports['default'] = Footer;