Activator::Pager - Object to assist in implementing pagination interfaces
use Activator::Pager; my $pager = new Activator::Pager( $offset, $length, $count, $total );
Constructor to set internal variables.
Arguments: $offset - offset of the first item in this set ( 0 indexed ) $page_size - number of items per page $set_size - actual number of items in this set $total - total items available
Returns: $self
Sample:
n == highest possible offset p == highest possbile page $self = bless( { next_offset => 5, -- offset of next page ( 0..n ) or undef if you are on last page set_size => 5, -- constructor argument prev_offset => 0, -- offset of previous page ( 0..n ) or undef if you are on first page cur_page => 1, -- the current page number of $offset last_page => 21, -- the last page page for the total passed in ( 1..p ) last_offset => 100,-- the last possible offset based on number pages ( 0..n ) total => 103, -- constructor argument next_page => 2, -- the next possible page ( 1..p ) or undef if on last page ( offset == last_offset ) page_size => 5 -- constructor argument to => 5, -- the last member number of current page ( 1..n+1 ) from => 1, -- the first member number of current page ( offset+1 ) prev_page => 1, -- the previous page ( 1..p ) or undef if on first page ( offset == 0 ) offset => 0 -- constructor argument }, Activator::Pager );
NOTE: we need to document the assuption of offset not being $to
Implement getter functions if anyone wants it. We just access the vars directly at this time.
This module would be nicer if it did more magic such that I can include pagination trivially in a template.
Karim A. Nassar
Copyright (c) 2007 Karim A. Nassar <karim.nassar@acm.org>
You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the Perl README file.
To install Activator, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Activator
CPAN shell
perl -MCPAN -e shell install Activator
For more information on module installation, please visit the detailed CPAN module installation guide.