material-ui-arrowy-pagination
Version:
An easy to use and customizable pagination component for Material-UI.
91 lines (74 loc) • 3.42 kB
Markdown
# material-ui-arrowy-pagination
An easy to use and customizable pagination component for [Material-UI](https://material-ui-next.com).

### Notice
This component require `material-ui` version >= v1.0.0
FYI
[material-ui@next](https://material-ui-next.com/)
### Quick Start
```sh
npm install material-ui-arrowy-pagination
```
```js
import Pagination from 'material-ui-arrowy-pagination';
```
### Usage
material-ui-pagination exposes one module called, `Pagination`, which accepts a few props:
Option | Description
---------------------|-----------------------------------------------
`total` | Total number of pages
`display` | Number of pages you want to show in the panel
`current` | Current page selected
`onChange` | Handles the change event of selected page: `function(pageNumber: integer, previousPageNumber: integer) => void`
`style` | Styles for root element
`styleFirstPageButton` | Styles for `FirstPageButton`. If not provided, a custom `IconButton` from `Material UI` will be rendered as default, otherwise `<div>` with styles will show up instead
`stylePreviousPageButton` | Styles for `PreviousPageButton`. If not provided, a custom `IconButton` from `Material UI` will be rendered as default, otherwise `<div>` with styles will show up instead
`styleNextPageButton` | Styles for `NextPageButton`. If not provided, a custom `IconButton` from `Material UI` will be rendered as default, otherwise `<div>` with styles will show up instead
`styleLastPageButton` | Styles for `LastPageBottub`. If not provided, a custom `IconButton` from `Material UI` will be rendered as default, otherwise `<div>` with styles will show up instead
`styleButton` | Styles for page number button. If not provided, a `IconButton` from `Material UI` will be rendered as default, otherwise `<div>` with styles will show up instead
`stylePrimary` | Styles for active page element. Requires the `styleButton`
`showFirstPageButton` | control render `FirstPageButton`, default is `false`
`showPreviousPageButton` | control render `PreviousPageButton`, default is `false`
`showPageNumberButton` | control render `showPageNumberButton`, default is `true`
`showNextPageButton` | control render `NextPageButton`, default is `false`
`showLastPageButton` | control render `LastPageButton`, default is `false`
### Run Local Demo
```sh
git clone https://github.com/shenxdtw/material-ui-arrowy-pagination
npm install
npm run dev-server
# visit http://localhost:7890/
```
### Run Test
```sh
git clone https://github.com/shenxdtw/material-ui-arrowy-pagination
npm install
npm run test
```
### Code Example
```js
import Pagination from 'material-ui-arrowy-pagination';
<Pagination
total={10}
current={1}
display={5}
onChange={(pageNumber, previousPageNumber) => {}}
showFirstPageButton
showPreviousPageButton
showNextPageButton
showLastPageButton
/>
```
### Thanks
This project is modified with reference to [material-ui-pagination](https://github.com/lo-tp/material-ui-pagination).
Thanks to the author of [material-ui-pagination](https://github.com/lo-tp/material-ui-pagination).
### License
MIT licensed.