widget documentation
[catagits/Reaction.git] / lib / Reaction / UI / Widget / Collection / Grid.pm
index 823afc6..2856793 100644 (file)
@@ -29,12 +29,130 @@ __END__;
 
 =head1 NAME
 
-Reaction::UI::Widget::Grid
+Reaction::UI::Widget::Grid - A collection with header and footer
 
 =head1 DESCRIPTION
 
+This widget is a subclass of L<Reaction::UI::Widget::Collection>. Additionally
+to its superclass, it provides abstract means of a header and a footer.
+
 =head1 FRAGMENTS
 
+=head2 header_cells
+
+Will set the C<labels> argument to the viewport's C<field_labels> attribute
+value.
+
+Afterwards, the C<header_cell> fragment will be rendered once for every entry
+in the viewport's C<computed_field_order>.
+
+Additionally, the C<header_action_cell> will be rendered when the current
+viewport's C<member_action_count> is larger than 0.
+
+=head2 header_cell
+
+Populates the C<label> argument with a localised value of the C<labels>
+hash reference argument. The used key is extracted from the C<_> topic
+argument.
+
+=head2 header_action_cell
+
+Populates the C<col_count> argument with the viewports C<member_action_count>
+attribute value.
+
+=head1 LAYOUT SETS
+
+=head2 base
+
+  share/skin/base/layout/collection/grid.tt
+
+The base grid layout set does not provide an markup, just abstract layouting.
+
+The following layouts are provided:
+
+=over 4
+
+=item widget
+
+Renders, in sequence, the C<header>, C<body> and C<footer> fragments.
+
+=item header
+
+Renders the C<header_row> fragment.
+
+=item header_row
+
+Renders the C<header_cells> fragment.
+
+=item header_cell
+
+Renders the C<header_cell_contents> fragment.
+
+=item header_cell_contents
+
+Renders the value of the C<label> argument.
+
+=item header_action_cell
+
+Renders the string C<Actions>.
+
+=item body
+
+Renders the C<members> fragment implemented in L<Reaction::UI::Widget::Collection>.
+
+=back
+
+=head2 default
+
+  share/skin/default/layout/collection/grid.tt
+
+This layout set extends the C<NEXT> in the skin inheritance hierarchy.
+
+It is meant to extend upon the layout set with the same name in the C<base> skin and
+provides the same abstract structure but with a table based markup.
+
+The following layouts are provided:
+
+=over 4
+
+=item widget
+
+Renders the next skin's C<widget> fragment surrounded by a C<table> element with the
+class attribute C<grid>.
+
+=item header
+
+Renders the next skin's C<header> fragment surrounded by a C<thead> element.
+
+=item header_row
+
+Wrap's the next skin's C<header_row> fragment in a C<tr> element.
+
+=item header_cell
+
+Wrap's the next skin's C<header_cell> fragment in a C<th> element.
+
+=item header_action_cell
+
+Wrap's the next skin's C<header_action_cell> fragment in a C<th> element with a C<colspan>
+attribute set to the number of actions found in the C<col_count> attribute
+
+=item body
+
+Wrap's the next skin's C<body> fragment in a C<tbody> element.
+
+=back
+
+=head1 SEE ALSO
+
+=over 4
+
+=item * L<Reaction::UI::Widget::Collection>
+
+=item * L<Reaction::UI::Widget::Collection::Grid::Member>
+
+=back
+
 =head1 AUTHORS
 
 See L<Reaction::Class> for authors.