/[Frey]/trunk/lib/Frey/Pager.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/lib/Frey/Pager.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 206 by dpavlin, Wed Jul 16 21:23:27 2008 UTC revision 207 by dpavlin, Fri Oct 31 15:33:15 2008 UTC
# Line 33  has 'items' => ( Line 33  has 'items' => (
33          },          },
34  );  );
35    
36    has 'range_around' => (
37            is => 'rw',
38            isa => 'Int',
39            default => 10,
40    );
41    
42  sub first_item {  sub first_item {
43          my $self = shift;          my $self = shift;
44          $self->items->[0];          $self->items->[0];
# Line 110  sub render_pager { Line 116  sub render_pager {
116    
117          my $pager = $self->pager;          my $pager = $self->pager;
118    
119            my @show_pages;
120            my $after_current = 0;
121    
122            if ( $pager->current_page <= $self->range_around + 2 ) {
123                    @show_pages = ( $pager->first_page .. $pager->current_page );
124                    $after_current = $self->range_around - $pager->current_page;
125            } else {
126                    @show_pages = ( $pager->first_page, '', $pager->current_page - $self->range_around .. $pager->current_page );
127            }
128    
129            if ( $pager->current_page + $self->range_around + 1 >= $pager->last_page ) {
130                    push @show_pages, ( $pager->current_page + 1 .. $pager->last_page );
131            } else {
132                    push @show_pages, ( $pager->current_page + 1 .. $pager->current_page + $after_current + $self->range_around, '', $pager->last_page );
133            }
134    
135            warn "## show_pages = ",dump( @show_pages );
136    
137          return join( ' ',          return join( ' ',
138                          qq|<div class="notice">|,                          qq|<div class="notice">|,
139                          'Showing',                          'Showing',
# Line 121  sub render_pager { Line 145  sub render_pager {
145                          Frey::Web::Links->new(                          Frey::Web::Links->new(
146                                  name => 'page',                                  name => 'page',
147                                  current => $pager->current_page,                                  current => $pager->current_page,
148                                  values => [ $pager->first_page .. $pager->last_page ],                                  values => \@show_pages,
149                                    empty => '...',
150                                    current_tag => 'b',
151                          )->links,                          )->links,
152                          qq|</div>|                          qq|</div>|
153                  );                  );

Legend:
Removed from v.206  
changed lines
  Added in v.207

  ViewVC Help
Powered by ViewVC 1.1.26