forked from react-bootstrap-table/react-bootstrap-table2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpagination-list.js
47 lines (42 loc) · 1.06 KB
/
pagination-list.js
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
37
38
39
40
41
42
43
44
45
46
47
import React from 'react';
import PropTypes from 'prop-types';
import PageButton from './page-button';
const PaginatonList = props => (
<ul className="pagination react-bootstrap-table-page-btns-ul">
{
props.pages.map((pageProps) => {
if (props.pageButtonRenderer) {
return props.pageButtonRenderer({
...pageProps,
onPageChange: props.onPageChange
});
}
return (
<PageButton
key={ pageProps.page }
{ ...pageProps }
onPageChange={ props.onPageChange }
/>
);
})
}
</ul>
);
PaginatonList.propTypes = {
pages: PropTypes.arrayOf(PropTypes.shape({
page: PropTypes.oneOfType([
PropTypes.node,
PropTypes.number,
PropTypes.string
]),
active: PropTypes.bool,
disable: PropTypes.bool,
title: PropTypes.string
})).isRequired,
onPageChange: PropTypes.func.isRequired,
pageButtonRenderer: PropTypes.func
};
PaginatonList.defaultProps = {
pageButtonRenderer: null
};
export default PaginatonList;