2.0.19 • Published 4 years ago

@app-elements/pagination v2.0.19

Weekly downloads
3
License
ISC
Repository
github
Last release
4 years ago

Pagination

Renders pagination for a given API endpoint response. This Component assumes the response will be formatted the same as Django Rest Framework's LimitOffsetPagination does.

Installation

npm install --save @app-elements/pagination

Usage

Pagination is usually used in conjuction with an API request. So, in our case, we'll rely on withRequest.

import Pagination from '@app-elements/pagination'
import withRequest from '@app-elements/with-request'

// Here's a Component that will render the results of an API request
// for a list of users. We're leaving out `UserDetail` in this example.
// But it would basically be `({ name, email }) => <div>{name} / {email}</div>`
// In this case we are assuming our Router would pass us the `pageId`:
//   {
//     users: {
//       path: '/users/:pageId',
//       component: UsersList
//     }
//   }
const UsersList = ({ pageId, isLoading, error, result }) =>
  <div>
    {isLoading && <p>Loading...</p>}
    {error != null && <strong>{error}</strong>}
    {result != null &&
      <div>
        {result.results.map(UserDetail)}
        <Pagination
          activePage={pageId}
          request={result}
          pageSize={25}
        />
      </div>
    }
  </div>

// Let's use withRequest to make a request on our API.
export default withRequest({
  endpoint: 'https://jsonplaceholder.typicode.com/users'
})(UsersList)

Props

PropTypeDefaultDescription
activePageNumberNoneThe current active page. First page would be 1 not 0
pageSizeNumberNoneHow many results to show per page
requestObjectNoneThe JSON returned from a list API endpoint formatted as LimitOffsetPagination
2.0.19

4 years ago

2.0.18

4 years ago

2.0.17

4 years ago

2.0.16

4 years ago

2.0.15

4 years ago

2.0.13

4 years ago

2.0.14

4 years ago

2.0.12

4 years ago

2.0.11

4 years ago

2.0.9

4 years ago

2.0.10

4 years ago

2.0.8

4 years ago

2.0.7

4 years ago

2.0.5

4 years ago

2.0.6

4 years ago

2.0.3

4 years ago

2.0.4

4 years ago

2.0.2

4 years ago

2.0.1

4 years ago

2.0.0-alpha.0

4 years ago

2.0.0

4 years ago

1.1.3

4 years ago

1.1.2

4 years ago

1.1.1

4 years ago

1.1.0

5 years ago

1.0.28

5 years ago

1.0.27

5 years ago

1.0.26

5 years ago

1.0.25

5 years ago

1.0.24

5 years ago

1.0.23

5 years ago

1.0.22

5 years ago

1.0.21

5 years ago

1.0.19

5 years ago

1.0.18

5 years ago

1.0.17

5 years ago

1.0.16

5 years ago

1.0.15

5 years ago

1.0.14

5 years ago

1.0.13

5 years ago

1.0.12

5 years ago

1.0.11

5 years ago

1.0.10

5 years ago

1.0.9

5 years ago

1.0.8

5 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago