All files / src/common/components/pagination Pagination.js

80% Statements 4/5
100% Branches 0/0
50% Functions 1/2
80% Lines 4/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36          2x 1x                               2x       2x                  
import React from 'react'
import * as PropTypes from 'prop-types'
import PaginationLib from 'react-responsive-pagination'
import './Pagination.scss'
 
const Pagination = ({ current, total, onPageChange, label, translate }) => (
  <nav
    role="slider"
    aria-label={label}
    aria-valuenow={Math.floor(current)}
    aria-valuemin="1"
    aria-valuemax={Math.ceil(total)}
    aria-valuetext={translate('Page {num}', { num: current })}
  >
    <PaginationLib
      current={Math.floor(current)}
      total={Math.ceil(total)}
      onPageChange={onPageChange}
    />
  </nav>
)
 
Pagination.defaultProps = {
  translate: (value) => value,
}
 
Pagination.propTypes = {
  current: PropTypes.number,
  total: PropTypes.number,
  onPageChange: PropTypes.func,
  label: PropTypes.string,
  translate: PropTypes.func,
}
 
export default Pagination