zent
Version:
一套前端设计语言和基于React的实现
88 lines (68 loc) • 2.04 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _parser = require('../data/parser');
var _parser2 = _interopRequireDefault(_parser);
var _Pager = require('./Pager');
var _Pager2 = _interopRequireDefault(_Pager);
var _Jump = require('./Jump');
var _Jump2 = _interopRequireDefault(_Jump);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _React$PropTypes = _react2['default'].PropTypes,
number = _React$PropTypes.number,
func = _React$PropTypes.func;
var CorePagination = _react2['default'].createClass({
displayName: 'CorePagination',
propTypes: {
current: number,
total: number,
onChange: func
},
renderPager: function renderPager(item, index) {
if (!item) {
return null;
}
if (item.type === 'input') {
return _react2['default'].createElement(_Jump2['default'], {
key: index,
content: item.content,
total: item.total,
onChange: this.props.onChange
});
}
return _react2['default'].createElement(_Pager2['default'], {
key: index,
content: item.content,
current: item.current,
target: item.target,
type: item.type,
onChange: this.props.onChange
});
},
render: function render() {
var self = this;
var _props = this.props,
current = _props.current,
total = _props.total,
maxPageToShow = _props.maxPageToShow;
if (maxPageToShow && maxPageToShow > 0) {
total = Math.min(total, maxPageToShow);
}
var pages = _parser2['default'].getPages({
current: current,
total: total
});
return _react2['default'].createElement(
'div',
{ className: 'pagination-list' },
pages.map(function (item, index) {
return self.renderPager(item, index);
})
);
}
});
exports['default'] = CorePagination;
module.exports = exports['default'];