--- trunk/lib/Frey/Pager.pm 2008/10/31 15:33:15 207 +++ trunk/lib/Frey/ORM/Pager.pm 2009/01/09 16:02:33 969 @@ -1,4 +1,4 @@ -package Frey::Pager; +package Frey::ORM::Pager; use Moose; use MooseX::AttributeHelpers; @@ -26,7 +26,7 @@ has 'items' => ( metaclass => 'Collection::Array', is => 'rw', - isa => 'ArrayRef[Frey::Web::Item]', + isa => 'ArrayRef[Frey::ORM::Item]', default => sub { [] }, provides => { 'push' => 'add_item', @@ -39,6 +39,24 @@ default => 10, ); +has 'page' => ( + is => 'rw', + isa => 'Int', + required => 1, + default => 1, +); + +has 'per_page' => ( + is => 'rw', + isa => 'Int', + required => 1, + default => 20, +); + +=head1 METHODS + +=cut + sub first_item { my $self = shift; $self->items->[0]; @@ -81,25 +99,20 @@ =head2 items_in_layout - my $html = $o->items_in_layout( $f ); + my $html = $o->items_in_layout; =cut sub items_in_layout { - my ( $self, $f ) = @_; - - my $layout = delete( $f->{layout} ); + my ( $self ) = @_; # FIXME somehow, this seem cludgy - if ( $f->{page} ) { - $self->pager->current_page( $f->{page} ); - $self->items( [] ); - $self->update_collection; - } + $self->pager->current_page( $self->page ); + $self->items( [] ); + $self->update_collection; my $html = join('', map { - $_->layout( $layout ) if $layout; - $_->process($f) || '' + $_->process } @{ $self->items } ); return $html; @@ -142,7 +155,7 @@ $pager->total_entries, 'results
', # 'page', $pager->current_page, '/', $pager->last_page, - Frey::Web::Links->new( + Frey::ORM::Links->new( name => 'page', current => $pager->current_page, values => \@show_pages,