changes so far for new moose / mop
[catagits/Reaction.git] / lib / Reaction / UI / ViewPort / GridView / Role / Pager.pm
index c14b0a8..24841ba 100644 (file)
@@ -12,20 +12,23 @@ role Pager, which {
   has pager    => (isa => 'Data::Page', is => 'rw', lazy_build => 1);
   has page     => (isa => 'Int', is => 'rw', lazy_build => 1, trigger_adopt('page'));
   has per_page => (isa => 'Int', is => 'rw', lazy_build => 1, trigger_adopt('page'));
+  has per_page_max => (isa => 'Int', is => 'rw', lazy_build => 1);
 
-  implements build_page     => as { 1  };
-  implements build_per_page => as { 10 };
+  implements _build_page     => as { 1  };
+  implements _build_per_page => as { 10 };
+  implements _build_per_page_max => as { 100 };
 
-  implements build_pager => as { shift->current_collection->pager };
+  implements _build_pager => as { shift->current_collection->pager };
 
   implements adopt_page => as {
     my ($self) = @_;
     #$self->clear_paged_collection;
-    $self->clear_current_collection;
+
     $self->clear_pager;
+    $self->clear_current_collection;
   };
 
-  around accept_events => sub { ('page', shift->(@_)); };
+  around accept_events => sub { ('page','per_page', shift->(@_)); };
 
   #implements build_paged_collection => as {
   #  my ($self) = @_;
@@ -33,7 +36,7 @@ role Pager, which {
   #  return $collection->where(undef, {rows => $self->per_page})->page($self->page);
   #};
 
-  around build_current_collection => sub {
+  around _build_current_collection => sub {
     my $orig = shift;
     my ($self) = @_;
     my $collection = $orig->(@_);