/** * * Paging * */ import React from 'react'; import { Pagination, PaginationItem, PaginationLink } from 'reactstrap'; import PropTypes from 'prop-types'; import { Paging as StyledPaging } from '@buffetjs/styles'; import Icon from '../Icon'; /* eslint-disable react/no-array-index-key */ function Paging(_ref) { var count = _ref.count, page = _ref.page, onChange = _ref.onChange, range = _ref.range; var pagesCount = Math.ceil(count / range); return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(StyledPaging, null), /*#__PURE__*/React.createElement(Pagination, { "aria-label": "Page navigation" }, /*#__PURE__*/React.createElement(PaginationItem, null, /*#__PURE__*/React.createElement(PaginationLink, { onClick: onChange, value: 0 }, /*#__PURE__*/React.createElement(Icon, { icon: "left" }))), Array(pagesCount).fill(1).map(function (item, index) { return /*#__PURE__*/React.createElement(React.Fragment, { key: index }, /*#__PURE__*/React.createElement(PaginationItem, { key: index, onClick: onChange, className: page === index * range ? 'selected' : '' }, /*#__PURE__*/React.createElement(PaginationLink, { onClick: onChange, value: index * range }, index + 1))); }), /*#__PURE__*/React.createElement(PaginationItem, null, /*#__PURE__*/React.createElement(PaginationLink, { onClick: onChange, value: (pagesCount - 1) * range }, /*#__PURE__*/React.createElement(Icon, { icon: "right" }))))); } Paging.defaultProps = { count: 0, onChange: function onChange() {}, page: 0, range: 15 }; Paging.propTypes = { count: PropTypes.number, onChange: PropTypes.func, page: PropTypes.number, range: PropTypes.number }; export default Paging;