aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/Reaction/UI/Controller/Collection.pm4
-rw-r--r--lib/Reaction/UI/Controller/Collection/CRUD.pm2
-rw-r--r--lib/Reaction/UI/Widget/ListView.pm7
-rw-r--r--share/skin/default/layout/list_view.tt4
4 files changed, 13 insertions, 4 deletions
diff --git a/lib/Reaction/UI/Controller/Collection.pm b/lib/Reaction/UI/Controller/Collection.pm
index 683473e..265ff79 100644
--- a/lib/Reaction/UI/Controller/Collection.pm
+++ b/lib/Reaction/UI/Controller/Collection.pm
@@ -5,7 +5,7 @@ use warnings;
use base 'Reaction::UI::Controller';
use Reaction::Class;
-use aliased 'Reaction::UI::ViewPort::ListView';
+use aliased 'Reaction::UI::ViewPort::Collection::Grid';
use aliased 'Reaction::UI::ViewPort::Object';
has 'model_name' => (isa => 'Str', is => 'rw', required => 1);
@@ -16,7 +16,7 @@ has action_viewport_args => (isa => 'HashRef', is => 'rw', lazy_build => 1);
sub _build_action_viewport_map {
return {
- list => ListView,
+ list => Grid,
view => Object,
};
}
diff --git a/lib/Reaction/UI/Controller/Collection/CRUD.pm b/lib/Reaction/UI/Controller/Collection/CRUD.pm
index a44054c..ab0fc9b 100644
--- a/lib/Reaction/UI/Controller/Collection/CRUD.pm
+++ b/lib/Reaction/UI/Controller/Collection/CRUD.pm
@@ -6,9 +6,11 @@ use base 'Reaction::UI::Controller::Collection';
use Reaction::Class;
use aliased 'Reaction::UI::ViewPort::Action';
+use aliased 'Reaction::UI::ViewPort::ListView';
sub _build_action_viewport_map {
my $map = shift->next::method(@_);
+ $map->{list} = ListView;
$map->{$_} = Action for qw/create update delete delete_all/;
return $map;
}
diff --git a/lib/Reaction/UI/Widget/ListView.pm b/lib/Reaction/UI/Widget/ListView.pm
index baf6105..ab041e6 100644
--- a/lib/Reaction/UI/Widget/ListView.pm
+++ b/lib/Reaction/UI/Widget/ListView.pm
@@ -8,6 +8,13 @@ class ListView is 'Reaction::UI::Widget::Collection::Grid', which {
arg pager_obj => $_{viewport}->pager;
};
+ implements fragment pager_fragment {
+ my $pager = $_{pager_obj};
+ if( $pager->last_page > $pager->first_page ) {
+ render 'pager';
+ }
+ };
+
implements fragment actions {
render action => over $_{viewport}->actions;
};
diff --git a/share/skin/default/layout/list_view.tt b/share/skin/default/layout/list_view.tt
index f4f6501..f7a4ef4 100644
--- a/share/skin/default/layout/list_view.tt
+++ b/share/skin/default/layout/list_view.tt
@@ -2,11 +2,11 @@
=for layout widget
-[% pager %]
+[% pager_fragment %]
[% call_next %]
-[% pager %]
+[% pager_fragment %]
[% actions %]