Security News
Cloudflare Adds Security.txt Setup Wizard
Cloudflare has launched a setup wizard allowing users to easily create and manage a security.txt file for vulnerability disclosure on their websites.
generic-paginate
Advanced tools
A simple class that calculates pagination params that is easly usable in a View
A simple Javascript function for calculating pagination data which can be easily integrated into any view-layer
npm i generic-paginate -S
this module exports a single function called paginate
Calculate pagination data using given params
Param | Type | Default | Description |
---|---|---|---|
total | Number | Total number of records | |
skip | Number | Number of records to be skiped. AKA offset | |
[limit] | Number | 10 | Number of items per page |
[opts] | Object | {} | additional options |
[opts.buttonCount] | Number | 5 | length of pagination button list. Eg:
|
[opts.activeClass] | string | "'active'" | HTML class attribute to be applied for current page button |
[opts.inactiveClass] | string | "''" | HTML class attribute to be applied for button other than current page b |
Name | Type | Description |
---|---|---|
next | Number | undefined | next page number. undefined if there is no next page |
prev | Number | undefined | previous page number. undefined if there is no previous page |
currentPage | Number | current page number |
totalPages | Number | total number of pages |
totalItems | Number | total number of items |
limit | Number | items per page. copied from argument |
skip | Number | no of skipped records. copied from argument |
buttons | Array.<Object> | array of buttons in the pagination list |
buttons[].page | Number | page number of button |
buttons[].class | string | html class of button. current page will have opts.inactiveClass and all others will have opts.activeClass |
var Paginate = require('generic-paginate');
// 37 total items,
// 10 items/page,
// skipping first 20 => current page is 3
var paginationData = Paginate( 37, 20, 10 );
console.log( paginationData );
/*
Output will be
{ next: 4,
prev: 2,
currentPage: 3,
buttons:
[ { page: 1, class: 'inactive' },
{ page: 2, class: 'inactive' },
{ page: 3, class: 'active' },
{ page: 4, class: 'inactive' } ],
totalPages: 4,
totalItems: 37,
limit: 10,
skip: 20 }
*/
<script src="https://unpkg.com/generic-paginate" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
var pagintionData = GenericPaginate( 37, 20, 10 );
console.log( pagintionData );
/*
Output will be
{ next: 4,
prev: 2,
currentPage: 3,
buttons:
[ { page: 1, class: 'inactive' },
{ page: 2, class: 'inactive' },
{ page: 3, class: 'active' },
{ page: 4, class: 'inactive' } ],
totalPages: 4,
totalItems: 37,
limit: 10,
skip: 20 }
*/
</script>
<ul class="pagination">
<li ng-enable="pagination.prev" >
<a href="/mangoes?page={{ pagination.prev }}">«</a>
</li>
<li ng-repeat="button in pagination.buttons" ng-class="{{ button.class }}">
<a href="/mangoes?page={{ button.page }}">{{ button.page }}</a>
</li>
<li ng-enable="pagination.next">
<a href="/mangoes?page={{ pagination.next }}">»</a>
</li>
</ul>
<span>Showing page: {{ pagination.currentPage}}/{{pagination.totalPages}} </span>
<span>Total items: {{ pagination.totalItems}}</span>
FAQs
A simple class that calculates pagination params that is easly usable in a View
The npm package generic-paginate receives a total of 1 weekly downloads. As such, generic-paginate popularity was classified as not popular.
We found that generic-paginate demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Cloudflare has launched a setup wizard allowing users to easily create and manage a security.txt file for vulnerability disclosure on their websites.
Security News
The Socket Research team breaks down a malicious npm package targeting the legitimate DOMPurify library. It uses obfuscated code to hide that it is exfiltrating browser and crypto wallet data.
Security News
ENISA’s 2024 report highlights the EU’s top cybersecurity threats, including rising DDoS attacks, ransomware, supply chain vulnerabilities, and weaponized AI.