1.1.2 • Published 5 months ago

pagination-component v1.1.2

Weekly downloads
8
License
MIT
Repository
github
Last release
5 months ago

pagination-component npm pagination-component build

A React component that provides pagination utilities

Installation:

# npm
npm install --save pagination-component
# yarn
yarn add pagination-component

Example:

import React from "react";
import Pagination from "pagination-component";

const containerStyle = {
  backgroundColor: "black",
  padding: "10px",
  borderRadius: "10px",
  height: "100px"
};
const itemStyle = {
  float: "left",
  marginLeft: "5px",
  marginRight: "5px",
  backgroundColor: "white",
  color: "black",
  cursor: "pointer",
  width: "50px",
  textAlign: "center",
  borderRadius: "5px"
};

const Paginator = () => (
  <div style={containerStyle}>
    <Pagination initialPage={1} show={10} pageCount={1024} onChange={page => console.log(page)}>
      {({ setPage, page, index, currentPage, isPrev, isNext, isCurrentPage }) => {
        if (isPrev)
          return (
            <div style={itemStyle} onClick={() => setPage({ prev: true })}>
              Previous
            </div>
          );

        if (isNext)
          return (
            <div style={itemStyle} onClick={() => setPage({ next: true })}>
              Next
            </div>
          );

        return (
          <div
            key={index}
            style={{ ...itemStyle, backgroundColor: isCurrentPage ? "yellow" : "white" }}
            onClick={() => {
              console.log(`Navigating from page ${currentPage} to page ${page}`);
              setPage({ page });
            }}>
            <h1>{page}</h1>
          </div>
        );
      }}
    </Pagination>
  </div>
);

Pagination Props:

PropTypeDescriptionDefault
initialPagenumberPage to start paginating from.1
pageCountnumberTotal number of pages to paginate.N/A
shownumberNumber of page controls to show at once (excluding prev and next controls).10
onChange((page: number) => void) \| undefinedCallback that receives the next current page.undefined
children(renderProps: PaginationRenderProps) => ReactNodeRender props that receives PaginationRenderProps and returns a React Node (check table below for more info).undefined

Pagination render props

Render propTypeDescription
setPage(options: SetPageOptions) => voidCallback used to set the current page. Examples:setPage({ next: true }) // set current page to next page setPage({ prev: true }) // set current page to previous page setPage({ first: true }) // set current page to first page setPage({ last: true }) // set current page to last page setPage({ page: 4 }) // set current page to 4th page Check table below for more info.
pagenumberIndicates which page is currently being rendered.
indexnumberIndicates the index of the page that is currently being rendered (from 0 to show - 1).
currentPagenumberIndicates the active page in pagination.
isCurrentPagebooleanIndicates if the current page control being rendered is the active page control.
isPrevbooleanIndicates if the current page control being rendered should be treated as a control to go to the previous page.
isNextbooleanIndicates if the current page control being rendered should be treated as a control to go to the next page.

SetPageOptions

OptionTypeDescription
nextbooleanPaginate to the next page.
prevbooleanPaginate to the previous page.
firstbooleanPaginate to the first page.
lastbooleanPaginate to the last page.
pagenumberPaginate to a specified page.

Contributing

  1. Fork it :fork_and_knife:
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :smiley:

For more, check out CONTRIBUTING.md

1.1.2

5 months ago

1.1.1

2 years ago

1.0.0

3 years ago

0.4.0

3 years ago

0.2.1

3 years ago

0.3.2

3 years ago

0.3.1

3 years ago

0.2.2

3 years ago

0.1.0

3 years ago

0.1.2

3 years ago

0.2.0

3 years ago

0.1.1

3 years ago

0.1.4

3 years ago

0.1.6

3 years ago

0.1.5

3 years ago

1.6.0

6 years ago

1.5.8

6 years ago

1.5.7

7 years ago

1.5.6

7 years ago

1.5.5

7 years ago

1.5.4

7 years ago

1.5.3

7 years ago

1.5.2

7 years ago

1.5.1

7 years ago

1.5.0

7 years ago

1.4.3

7 years ago

1.4.2

7 years ago

1.4.1

7 years ago

1.4.0

7 years ago

1.3.3

7 years ago

1.3.2

7 years ago

1.3.1

7 years ago

1.2.1

7 years ago

1.1.0

2 years ago

1.0.2

7 years ago