@integec/grid-tools
Version:
Integ Grid Tools
99 lines (84 loc) • 3.38 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _range = require('ramda/src/range');
var _range2 = _interopRequireDefault(_range);
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _templateObject = _taggedTemplateLiteral(['\n font-weight: ', ';\n color: ', ';\n height: 25px;\n'], ['\n font-weight: ', ';\n color: ', ';\n height: 25px;\n']),
_templateObject2 = _taggedTemplateLiteral(['\n height: 25px;\n margin-left: 5px;\n'], ['\n height: 25px;\n margin-left: 5px;\n']),
_templateObject3 = _taggedTemplateLiteral(['\n margin-left: 5px;\n margin-right: 5px;\n'], ['\n margin-left: 5px;\n margin-right: 5px;\n']);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _styledComponents = require('styled-components');
var _styledComponents2 = _interopRequireDefault(_styledComponents);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
var PageButton = _styledComponents2.default.button(_templateObject, function (props) {
return props.disabled ? 'bold' : 'normal';
}, function (props) {
return props.disabled ? 'brown' : 'black';
});
var Select = _styledComponents2.default.select(_templateObject2);
var TotalPages = _styledComponents2.default.span(_templateObject3);
var Pager = function Pager(_ref) {
var style = _ref.style,
className = _ref.className,
totalPages = _ref.totalPages,
currentPage = _ref.currentPage,
setCurrentPage = _ref.setCurrentPage,
incrementPage = _ref.incrementPage,
decrementPage = _ref.decrementPage;
return _react2.default.createElement(
'div',
{
style: _extends({}, style, {
display: 'flex',
alignItems: 'center',
justifyContent: 'center'
}),
className: className
},
totalPages <= 12 ? (0, _range2.default)(1, totalPages + 1).map(function (page) {
return _react2.default.createElement(
PageButton,
{
disabled: page === currentPage,
key: 'page' + page,
onClick: function onClick(e) {
return setCurrentPage(page);
}
},
page
);
}) : [_react2.default.createElement(
PageButton,
{ key: 'left', onClick: decrementPage },
'\u25C0'
), _react2.default.createElement(
Select,
{ key: 'select', value: currentPage, onChange: function onChange(e) {
return setCurrentPage(e.target.value);
} },
(0, _range2.default)(1, totalPages + 1).map(function (page) {
return _react2.default.createElement(
'option',
{ key: page, value: page },
page
);
})
), _react2.default.createElement(
TotalPages,
{ key: 'tp' },
'of ',
totalPages
), _react2.default.createElement(
PageButton,
{ key: 'right', onClick: incrementPage },
'\u25B6'
)]
);
};
//
exports.default = Pager;
//# sourceMappingURL=DefaultPager.js.map