/[Frey]/trunk/lib/Frey/ORM/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/ORM/Pager.pm

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

trunk/lib/Frey/Pager.pm revision 207 by dpavlin, Fri Oct 31 15:33:15 2008 UTC trunk/lib/Frey/ORM/Pager.pm revision 969 by dpavlin, Fri Jan 9 16:02:33 2009 UTC
# Line 1  Line 1 
1  package Frey::Pager;  package Frey::ORM::Pager;
2  use Moose;  use Moose;
3  use MooseX::AttributeHelpers;  use MooseX::AttributeHelpers;
4    
# Line 26  has 'item_constructor' => ( Line 26  has 'item_constructor' => (
26  has 'items' => (  has 'items' => (
27          metaclass => 'Collection::Array',          metaclass => 'Collection::Array',
28          is => 'rw',          is => 'rw',
29          isa => 'ArrayRef[Frey::Web::Item]',          isa => 'ArrayRef[Frey::ORM::Item]',
30          default => sub { [] },          default => sub { [] },
31          provides => {          provides => {
32                  'push' => 'add_item',                  'push' => 'add_item',
# Line 39  has 'range_around' => ( Line 39  has 'range_around' => (
39          default => 10,          default => 10,
40  );  );
41    
42    has 'page' => (
43            is => 'rw',
44            isa => 'Int',
45            required => 1,
46            default => 1,
47    );
48    
49    has 'per_page' => (
50            is => 'rw',
51            isa => 'Int',
52            required => 1,
53            default => 20,
54    );
55    
56    =head1 METHODS
57    
58    =cut
59    
60  sub first_item {  sub first_item {
61          my $self = shift;          my $self = shift;
62          $self->items->[0];          $self->items->[0];
# Line 81  sub update_collection { Line 99  sub update_collection {
99    
100  =head2 items_in_layout  =head2 items_in_layout
101    
102    my $html = $o->items_in_layout( $f );    my $html = $o->items_in_layout;
103    
104  =cut  =cut
105    
106  sub items_in_layout {  sub items_in_layout {
107          my ( $self, $f ) = @_;          my ( $self ) = @_;
   
         my $layout = delete( $f->{layout} );  
108    
109          # FIXME somehow, this seem cludgy          # FIXME somehow, this seem cludgy
110          if ( $f->{page} ) {          $self->pager->current_page( $self->page );
111                  $self->pager->current_page( $f->{page} );          $self->items( [] );
112                  $self->items( [] );          $self->update_collection;
                 $self->update_collection;  
         }  
113    
114          my $html = join('', map {          my $html = join('', map {
115                  $_->layout( $layout ) if $layout;                  $_->process
                 $_->process($f) || ''  
116          } @{ $self->items } );          } @{ $self->items } );
117    
118          return $html;          return $html;
# Line 142  sub render_pager { Line 155  sub render_pager {
155                          $pager->total_entries,                          $pager->total_entries,
156                          'results<br>',                          'results<br>',
157  #                       'page', $pager->current_page, '/', $pager->last_page,  #                       'page', $pager->current_page, '/', $pager->last_page,
158                          Frey::Web::Links->new(                          Frey::ORM::Links->new(
159                                  name => 'page',                                  name => 'page',
160                                  current => $pager->current_page,                                  current => $pager->current_page,
161                                  values => \@show_pages,                                  values => \@show_pages,

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

  ViewVC Help
Powered by ViewVC 1.1.26