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