Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ainame/p5-data-paging
Data::Paging = Data::Page + Data::Page::Navigation + Data::Page::NoTotalEntries
https://github.com/ainame/p5-data-paging
Last synced: about 2 months ago
JSON representation
Data::Paging = Data::Page + Data::Page::Navigation + Data::Page::NoTotalEntries
- Host: GitHub
- URL: https://github.com/ainame/p5-data-paging
- Owner: ainame
- License: other
- Created: 2013-12-01T16:21:40.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2013-12-10T09:20:14.000Z (about 11 years ago)
- Last Synced: 2024-05-01T19:27:19.094Z (8 months ago)
- Language: Perl
- Homepage:
- Size: 211 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: Changes
- License: LICENSE
Awesome Lists containing this project
README
[![Build Status](https://travis-ci.org/ainame/p5-Data-Paging.png?branch=master)](https://travis-ci.org/ainame/p5-Data-Paging)
# NAMEData::Paging - pagination helper for view
# SYNOPSIS
use Data::Paging;
my $paging = Data::Paging->create({
entries => $entries,
total_count => 100,
per_page => 30,
current_page => 1,
});
$paging->has_next; #=> TRUE
$paging->has_prev; #=> FALSE
$paging->prev_page; #=> 0
$paging->next_page; #=> 2
$paging->begin_count; #=> 30
$paging->end_count; #=> 30
...
# If you use simple template engine like HTML::Template,
# you should use Data::Paging with renderer.
my $paging = Data::Paging->create({
entries => $entries,
total_count => 100,
per_page => 30,
current_page => 1,
}, '-NeighborLink'); # NeighborLink is the bundled renderer. You can load renderer like Plack::Middleware.
$paging->render #=> output HASHREF value
# DESCRIPTION
Data::Paging = Data::Page + Data::Page::Navigation + Data::Page::NoTotalEntries
Data::Paging is the helper library for implementation of paging.
Especialy, Data::Paging class is the factory class of Data::Paging::Collection.Data::Paging::Collection is the accessor of many pagination parameters like Data::Page, and then, that contain other Data::Page's brother features.
In addition, Data::Paging has renderer mechanism. That is convenience feature, when the application use rigid template engine like HTML::Template. Data::Paging bundle two default renderer to create common paging UI, also Data::Paging make application be able to define original renderer and load it as you like.
A point to notice is Data::Paging always has next or prev page number. This feature difference from Data::Page' one. You should use has\_next/has\_prev method, when check whether next\_page/prev\_page exist or not.
# LICENSE
Copyright (C) ainame.
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.# AUTHOR
ainame