The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Tags::HTML::Pager::Utils - Pager utilities.

SYNOPSIS

 use Tags::HTML::Pager::Utils qw(adjust_actual_page compute_index_values pages_num);

 my $actual_page = adjust_actual_page($input_actual_page, $pages);
 my ($begin_index, $end_index) = compute_index_values($items, $actual_page, $items_on_page);
 my $pages = pages_num($items, $items_on_page);

SUBROUTINES

adjust_actual_page

 my $actual_page = adjust_actual_page($input_actual_page, $pages);

Adjust actual page.

Arguments:

 - C<$input_actual_page> - Input value for actual page. This is value for adjust.
 - C<$pages> - Number of pages.

Returns number.

compute_index_values

 my ($begin_index, $end_index) = compute_index_values($items, $actual_page, $items_on_page);

Compute begin and end index in items list.

Arguments:

 - C<$items> - Number of items.
 - C<$actual_page> - Actual page of items.
 - C<$items_on_page> - Items on page.

Returns array with begin and end index.

pages_num

 my $pages = pages_num($items, $items_on_page);

Compute number of pages from $items and $items_on_page. If input arguments are undefined, returns 0.

Returns number.

ERRORS

 adjust_actual_page():
         Not defined number of pages.
         Number of pages must be a positive number.

EXAMPLE1

 use strict;
 use warnings;

 use Tags::HTML::Pager::Utils qw(adjust_actual_page);

 # Input informations.
 my $input_actual_page = 10;
 my $pages = 5;

 # Compute;
 my $actual_page = adjust_actual_page($input_actual_page, $pages);

 # Print out.
 print "Input actual page: $input_actual_page\n";
 print "Number of pages: $pages\n";
 print "Adjusted actual page: $actual_page\n";

 # Output:
 # Input actual page: 10
 # Number of pages: 5
 # Adjusted actual page: 5

EXAMPLE2

 use strict;
 use warnings;

 use Tags::HTML::Pager::Utils qw(compute_index_values);

 # Input informations.
 my $items = 55;
 my $actual_page = 2;
 my $items_on_page = 10;

 # Compute.
 my ($begin_index, $end_index) = compute_index_values($items, $actual_page, $items_on_page);

 # Print out.
 print "Items: $items\n";
 print "Actual page: $actual_page\n";
 print "Items on page: $items_on_page\n";
 print "Begin index: $begin_index\n";
 print "End index: $end_index\n";

 # Output:
 # Items: 55
 # Actual page: 2
 # Items on page: 10
 # Computed begin index: 10
 # Computed end index: 19

EXAMPLE3

 use strict;
 use warnings;

 use Tags::HTML::Pager::Utils qw(pages_num);

 # Input informations.
 my $items = 123;
 my $items_on_page = 20;

 # Compute.
 my $pages = pages_num($items, $items_on_page);

 # Print out.
 print "Items count: $items\n";
 print "Items on page: $items_on_page\n";
 print "Number of pages: $pages\n";

 # Output:
 # Items count: 123
 # Items on page: 20
 # Number of pages: 7 

DEPENDENCIES

Error::Pure, Exporter, POSIX, Readonly.

REPOSITORY

https://github.com/michal-josef-spacek/Tags-HTML-Pager

AUTHOR

Michal Josef Špaček mailto:skim@cpan.org

http://skim.cz

LICENSE AND COPYRIGHT

© 2022 Michal Josef Špaček

BSD 2-Clause License

VERSION

0.04