aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Reaction/UI/Widget/ListView.pm
diff options
context:
space:
mode:
authormatthewt <matthewt@03d0b0b2-0e1a-0410-a411-fdb2f4bd65d7>2008-08-13 11:43:07 +0000
committermatthewt <matthewt@03d0b0b2-0e1a-0410-a411-fdb2f4bd65d7>2008-08-13 11:43:07 +0000
commitbae75beec20b3b73faa2118db8ebfa5b93c9918a (patch)
tree9a6155b95af1ca9f1fe8db75b5facda89f8a878a /lib/Reaction/UI/Widget/ListView.pm
parenta3c28d596b414a9d98d9f60b69d2bb4811fbafc8 (diff)
downloadreaction-bae75beec20b3b73faa2118db8ebfa5b93c9918a.tar.gz
reaction-bae75beec20b3b73faa2118db8ebfa5b93c9918a.zip
remove class blocks from widget code
Diffstat (limited to 'lib/Reaction/UI/Widget/ListView.pm')
-rw-r--r--lib/Reaction/UI/Widget/ListView.pm148
1 files changed, 76 insertions, 72 deletions
diff --git a/lib/Reaction/UI/Widget/ListView.pm b/lib/Reaction/UI/Widget/ListView.pm
index ab041e6..9c0e7d1 100644
--- a/lib/Reaction/UI/Widget/ListView.pm
+++ b/lib/Reaction/UI/Widget/ListView.pm
@@ -2,95 +2,99 @@ package Reaction::UI::Widget::ListView;
use Reaction::UI::WidgetClass;
-class ListView is 'Reaction::UI::Widget::Collection::Grid', which {
+use namespace::clean -except => [ qw(meta) ];
+extends 'Reaction::UI::Widget::Collection::Grid';
- after fragment widget {
- 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;
- };
+after fragment widget {
+ arg pager_obj => $_{viewport}->pager;
+};
- implements fragment action {
- render 'viewport';
- };
+implements fragment pager_fragment {
+ my $pager = $_{pager_obj};
+ if( $pager->last_page > $pager->first_page ) {
+ render 'pager';
+ }
+};
- after fragment header_cells {
- if ($_{viewport}->object_action_count) {
- render 'header_action_cell';
- }
- };
+implements fragment actions {
+ render action => over $_{viewport}->actions;
+};
- around fragment header_cell {
- arg order_uri => event_uri {
- order_by => $_,
- order_by_desc => ((($_{viewport}->order_by||'') ne $_
- || $_{viewport}->order_by_desc) ? 0 : 1)
- };
- call_next;
- };
+implements fragment action {
+ render 'viewport';
+};
- implements fragment header_action_cell {
- arg col_count => $_{viewport}->object_action_count;
- };
+after fragment header_cells {
+ if ($_{viewport}->object_action_count) {
+ render 'header_action_cell';
+ }
+};
- implements fragment page_list {
- render numbered_page_fragment
- => over [ $_{pager_obj}->first_page .. $_{pager_obj}->last_page ];
+around fragment header_cell {
+ arg order_uri => event_uri {
+ order_by => $_,
+ order_by_desc => ((($_{viewport}->order_by||'') ne $_
+ || $_{viewport}->order_by_desc) ? 0 : 1)
};
+ call_next;
+};
- implements fragment numbered_page_fragment {
- arg page_uri => event_uri { page => $_ };
- arg page_number => $_;
- if ($_{pager_obj}->current_page == $_) {
- render 'numbered_page_this_page';
- } else {
- render 'numbered_page';
- }
- };
+implements fragment header_action_cell {
+ arg col_count => $_{viewport}->object_action_count;
+};
- implements fragment first_page {
- arg page_uri => event_uri { page => $_{pager_obj}->first_page };
- arg page_name => 'First';
- render 'named_page';
- };
+implements fragment page_list {
+ render numbered_page_fragment
+ => over [ $_{pager_obj}->first_page .. $_{pager_obj}->last_page ];
+};
- implements fragment last_page {
- arg page_uri => event_uri { page => $_{pager_obj}->last_page };
- arg page_name => 'Last';
- render 'named_page';
- };
+implements fragment numbered_page_fragment {
+ arg page_uri => event_uri { page => $_ };
+ arg page_number => $_;
+ if ($_{pager_obj}->current_page == $_) {
+ render 'numbered_page_this_page';
+ } else {
+ render 'numbered_page';
+ }
+};
- implements fragment next_page {
- arg page_name => 'Next';
- if (my $page = $_{pager_obj}->next_page) {
- arg page_uri => event_uri { page => $page };
- render 'named_page';
- } else {
- render 'named_page_no_page';
- }
- };
+implements fragment first_page {
+ arg page_uri => event_uri { page => $_{pager_obj}->first_page };
+ arg page_name => 'First';
+ render 'named_page';
+};
- implements fragment previous_page {
- arg page_name => 'Previous';
- if (my $page = $_{pager_obj}->previous_page) {
- arg page_uri => event_uri { page => $page };
- render 'named_page';
- } else {
- render 'named_page_no_page';
- }
- };
+implements fragment last_page {
+ arg page_uri => event_uri { page => $_{pager_obj}->last_page };
+ arg page_name => 'Last';
+ render 'named_page';
+};
+implements fragment next_page {
+ arg page_name => 'Next';
+ if (my $page = $_{pager_obj}->next_page) {
+ arg page_uri => event_uri { page => $page };
+ render 'named_page';
+ } else {
+ render 'named_page_no_page';
+ }
};
+implements fragment previous_page {
+ arg page_name => 'Previous';
+ if (my $page = $_{pager_obj}->previous_page) {
+ arg page_uri => event_uri { page => $page };
+ render 'named_page';
+ } else {
+ render 'named_page_no_page';
+ }
+};
+
+__PACKAGE__->meta->make_immutable;
+
+
1;
__END__;