POD for Order role
groditi [Tue, 26 May 2009 14:17:32 +0000 (14:17 +0000)]
lib/Reaction/UI/ViewPort/Collection/Role/Order.pm
lib/Reaction/UI/ViewPort/Collection/Role/Pager.pm

index 648b8cd..48a5001 100644 (file)
@@ -63,6 +63,55 @@ around _build_current_collection => sub {
 
 around accept_events => sub { ('order_by', 'order_by_desc', shift->(@_)); };
 
+1;
 
+__END__;
 
-1;
+=head1 NAME
+
+Reaction::UI::ViewPort::Collection::Role::Order - Order support for collections
+
+=head1 DESCRIPTION
+
+Role to add order support to collection viewports.
+
+=head1 ATTRIBUTES
+
+=head2 enable_order_by
+
+Re-writable array reference. Optionally use this to manually specify a list of
+fields that support ordering, instead of the default of all fields. This is
+useful to exclude computed values or non-indexed columns from being sortable.
+
+=head2 coerce_order_by
+
+Re-writeable hash reference. Optionally use this to manually specify the way in
+which a field should be ordered. This is useful when the field name and the
+query to sort it differ. E.g. for a belongs_to item:
+
+    coerce_order_by => { foo => ['foo.last_name', 'foo.first_name'] },
+
+=head2  order_by
+
+Re-writeable string. Optionally set it to dictate which field to use when
+sorting.
+
+=head2 order_by_desc
+
+Re-writeable boolean. Optionally use descending order when sorting. Defaults to false.
+
+=head1 METHODS
+
+=head2 can_order_by $field_name
+
+Returns true if sorting by that field is supported, false otherwise.
+
+=head1 AUTHORS
+
+See L<Reaction::Class> for authors.
+
+=head1 LICENSE
+
+See L<Reaction::Class> for the license.
+
+=cut
index 5f7c8f2..5947752 100644 (file)
@@ -47,6 +47,6 @@ around _build_current_collection => sub {
   return $collection->where(undef, {rows => $self->per_page})->page($self->page);
 };
 
-
-
 1;
+
+__END__;