require Exporter;
our @ISA = qw(Exporter);
-our @EXPORT = qw(paginate);
+our @EXPORT = qw(paginate disable_paginating);
use List::MoreUtils qw(any);
map {
active => $_ != $cur,
page => $_,
- visible =>
+ visible => calc_visibility($cur, $max, $_),
}, 1 .. $max
];
}
sub calc_visibility {
my ($cur, $max, $this) = @_;
any { $_ } abs($cur - $this) < 5,
- $cur <= 3,
- $cur == $max,
- any { ! abs ($cur - $this) % $_ } 10, 50, 100, 500, 1000, 5000;
+ $this <= 3,
+ $this == $max,
+ any { abs ($cur - $this) == $_ } 10, 50, 100, 500, 1000, 5000;
+}
+
+sub disable_paginating {
+ my ($self, %params) = @_;
+
+ delete $params{args}{page};
+ delete $params{args}{per_page};
}
1;