r15165@deathmachine (orig r402): groditi | 2007-11-14 13:33:11 -0500
[catagits/Reaction.git] / lib / Reaction / UI / Widget / ActionForm.pm
index 484453c..fc2df18 100644 (file)
@@ -3,12 +3,14 @@ package Reaction::UI::Widget::ActionForm;
 use Reaction::UI::WidgetClass;
 
 class ActionForm, which {
-  widget renders [qw/header fields buttons footer/
-                  => { viewport => func('self','viewport') } ];
+  widget renders [ qw/header fields buttons footer/ ];
 
-  fields renders [viewport over func('self','ordered_fields')];
+  fields renders [field over func('viewport','ordered_fields')];
+  field  renders [ 'viewport' ];
 
-  buttons renders [ string {"DUMMY"} ], {message => func('viewport','message');
+  #move button logic here
+  buttons renders [ string {"DUMMY"} ],
+    {message => sub{ $_{viewport}->can('message') ? $_{viewport}->message : "" } };
   header  renders [ string {"DUMMY"} ];
   footer  renders [ string {"DUMMY"} ];
 
@@ -18,45 +20,43 @@ class ActionForm, which {
 
 __END__;
 
-=for layout widget
+=head1 NAME
 
-  <form action="" method="post" enctype="multipart/form-data">
-    [% header  %]
-    [% fields  %]
-    [% buttons %]
-    [% footer  %]
-  </form>
+Reaction::UI::Widget::ActionForm
 
-=for layout header
+=head1 DESCRIPTION
 
-<h2>Le Header</h2>
+=head1 FRAGMENTS
 
-=for layout fields
+=head2 widget
 
-[% content %] <br />
+Additional variables available in topic hash: "viewport".
 
-=for layout buttons
+Renders "header", "fields", "buttons" and "footer"
 
-  [% IF message; %]
-    <span>[% message %]</span> <br />
-  [% END; %]
+=head2 fields
 
-  [% allowed_events = viewport.accept_events; %]
-  [% IF allowed_events.grep('^ok$').size; %]
-    <input type="submit" name="[% viewport.event_id_for('ok')    | html%]" value="ok" />
-  [% END; %]
+Sequentially renders the C<ordered_fields> of the viewport
 
-  [% IF (viewport.ordered_fields.size != 0) && allowed_events.grep('^apply$').size; %]
-    <input type="submit" name="[% viewport.event_id_for('apply') | html%]" value="apply" />
-  [% END; %]
+=head2 buttons
 
-  [% IF allowed_events.grep('^close$').size; %]
-    <input type="submit" name="[% viewport.event_id_for('close') | html%]" value="cancel" />
-  [% END; %]
-  <br />
+Additional variables available in topic hash: "message"
 
-=for layout footer
+=head2 header
 
-  <h2>Le Footer</h2>
+Content is a dummy value
+
+=head2 footer
+
+Content is a dummy value
+
+=head1 AUTHORS
+
+See L<Reaction::Class> for authors.
+
+=head1 LICENSE
+
+See L<Reaction::Class> for the license.
 
 =cut
+