react-bootstrap
Version:
Bootstrap 3 components build with React
85 lines (60 loc) • 2.58 kB
JavaScript
;
var _extends = require('babel-runtime/helpers/extends')['default'];
var _objectWithoutProperties = require('babel-runtime/helpers/object-without-properties')['default'];
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
exports.__esModule = true;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _classnames = require('classnames');
var _classnames2 = _interopRequireDefault(_classnames);
var _BootstrapMixin = require('./BootstrapMixin');
var _BootstrapMixin2 = _interopRequireDefault(_BootstrapMixin);
var _utilsCreateSelectedEvent = require('./utils/createSelectedEvent');
var _utilsCreateSelectedEvent2 = _interopRequireDefault(_utilsCreateSelectedEvent);
var _utilsCustomPropTypes = require('./utils/CustomPropTypes');
var _utilsCustomPropTypes2 = _interopRequireDefault(_utilsCustomPropTypes);
var PaginationButton = _react2['default'].createClass({
displayName: 'PaginationButton',
mixins: [_BootstrapMixin2['default']],
propTypes: {
className: _react2['default'].PropTypes.string,
eventKey: _react2['default'].PropTypes.oneOfType([_react2['default'].PropTypes.string, _react2['default'].PropTypes.number]),
onSelect: _react2['default'].PropTypes.func,
disabled: _react2['default'].PropTypes.bool,
active: _react2['default'].PropTypes.bool,
/**
* You can use a custom element for this component
*/
buttonComponentClass: _utilsCustomPropTypes2['default'].elementType
},
getDefaultProps: function getDefaultProps() {
return {
active: false,
disabled: false
};
},
handleClick: function handleClick(event) {
if (this.props.onSelect) {
var selectedEvent = _utilsCreateSelectedEvent2['default'](this.props.eventKey);
this.props.onSelect(event, selectedEvent);
}
},
render: function render() {
var classes = _extends({
active: this.props.active,
disabled: this.props.disabled
}, this.getBsClassSet());
var _props = this.props;
var className = _props.className;
var anchorProps = _objectWithoutProperties(_props, ['className']);
var ButtonComponentClass = this.props.buttonComponentClass;
return _react2['default'].createElement(
'li',
{ className: _classnames2['default'](className, classes) },
_react2['default'].createElement(ButtonComponentClass, _extends({}, anchorProps, {
onClick: this.handleClick }))
);
}
});
exports['default'] = PaginationButton;
module.exports = exports['default'];