fixup widgets to use fragment
matthewt [Fri, 9 Nov 2007 14:04:24 +0000 (14:04 +0000)]
27 files changed:
lib/ComponentUI/View/Site/Widget/Index.pm
lib/ComponentUI/View/Site/Widget/Layout.pm
lib/Reaction/UI/Widget/ActionForm.pm
lib/Reaction/UI/Widget/DisplayField.pm
lib/Reaction/UI/Widget/DisplayField/Boolean.pm
lib/Reaction/UI/Widget/DisplayField/Collection.pm
lib/Reaction/UI/Widget/DisplayField/DateTime.pm
lib/Reaction/UI/Widget/DisplayField/List.pm
lib/Reaction/UI/Widget/DisplayField/RelatedObject.pm
lib/Reaction/UI/Widget/Field.pm
lib/Reaction/UI/Widget/Field/ChooseMany.pm
lib/Reaction/UI/Widget/Field/ChooseOne.pm
lib/Reaction/UI/Widget/Field/DateTime.pm
lib/Reaction/UI/Widget/Field/HiddenArray.pm
lib/Reaction/UI/Widget/GridView.pm
lib/Reaction/UI/Widget/GridView/Action.pm
lib/Reaction/UI/Widget/GridView/Entity.pm
lib/Reaction/UI/Widget/GridView/Entity/WithActions.pm
lib/Reaction/UI/Widget/ListView.pm
lib/Reaction/UI/Widget/ObjectView.pm
lib/Reaction/UI/Widget/Value.pm
lib/Reaction/UI/Widget/Value/Collection.pm
lib/Reaction/UI/Widget/Value/List.pm
share/skin/default/layout/action_form.tt
share/skin/default/layout/grid_view/entity.tt
share/skin/default/layout/grid_view/entity/with_actions.tt
share/skin/default/layout/object_view.tt

index 21175ae..0d3df27 100644 (file)
@@ -4,7 +4,7 @@ use Reaction::UI::WidgetClass;
 
 class Index which {
 
-  widget renders  [ string {"DUMMY"} ];
+  fragment widget  [ string {"DUMMY"} ];
 
 };
 
index 5d1b57c..36276a2 100644 (file)
@@ -4,12 +4,12 @@ use Reaction::UI::WidgetClass;
 
 class Layout which {
 
-  widget renders  [ qw(menu sidebar header main_content) ];
+  fragment  widget [ qw(menu sidebar header main_content) ];
 
-  menu         renders [ string { "DUMMY" }        ];
-  sidebar      renders [ string { "Sidebar Shit" } ];
-  header       renders [ string { "DUMMY" }        ];
-  main_content renders [ viewport over func('viewport', 'inner')];
+  fragment menu         [ string { "DUMMY" }        ];
+  fragment sidebar      [ string { "Sidebar Shit" } ];
+  fragment header       [ string { "DUMMY" }        ];
+  fragment main_content [ viewport over func('viewport', 'inner')];
 
 };
 
index fc2df18..9b8e060 100644 (file)
@@ -3,16 +3,16 @@ package Reaction::UI::Widget::ActionForm;
 use Reaction::UI::WidgetClass;
 
 class ActionForm, which {
-  widget renders [ qw/header fields buttons footer/ ];
+  fragment widget [ qw/header field_list buttons footer/ ];
 
-  fields renders [field over func('viewport','ordered_fields')];
-  field  renders [ 'viewport' ];
+  fragment field_list [field over func('viewport','ordered_fields')];
+  fragment field  [ 'viewport' ];
 
   #move button logic here
-  buttons renders [ string {"DUMMY"} ],
+  fragment buttons [ string {"DUMMY"} ],
     {message => sub{ $_{viewport}->can('message') ? $_{viewport}->message : "" } };
-  header  renders [ string {"DUMMY"} ];
-  footer  renders [ string {"DUMMY"} ];
+  fragment header  [ string {"DUMMY"} ];
+  fragment footer  [ string {"DUMMY"} ];
 
 };
 
@@ -32,9 +32,9 @@ Reaction::UI::Widget::ActionForm
 
 Additional variables available in topic hash: "viewport".
 
-Renders "header", "fields", "buttons" and "footer"
+Renders "header", "field_list", "buttons" and "footer"
 
-=head2 fields
+=head2 field_list
 
 Sequentially renders the C<ordered_fields> of the viewport
 
index 86672a0..a688c28 100644 (file)
@@ -3,9 +3,9 @@ package Reaction::UI::Widget::DisplayField;
 use Reaction::UI::WidgetClass;
 
 class DisplayField, which {
-  widget renders [ qw/label value/ ];
-  label  renders [ string { $_{viewport}->label } ];
-  value  renders [ string { $_{viewport}->value } ];
+  fragment widget [ qw/label value/ ];
+  fragment label  [ string { $_{viewport}->label } ];
+  fragment value  [ string { $_{viewport}->value } ];
 };
 
 1;
index 93dfc59..82f3b22 100644 (file)
@@ -3,7 +3,7 @@ package Reaction::UI::Widget::DisplayField::Boolean;
 use Reaction::UI::WidgetClass;
 
 class Boolean is 'Reaction::UI::Widget::DisplayField', which {
-  value  renders [ string { $_{viewport}->value_string } ];
+  fragment value  [ string { $_{viewport}->value_string } ];
 };
 
 1;
index c4c16e7..e8d72bd 100644 (file)
@@ -3,10 +3,10 @@ package Reaction::UI::Widget::DisplayField::Collection;
 use Reaction::UI::WidgetClass;
 
 class Collection, which {
-  widget renders [ qw/label list/ ];
-  label  renders [ string { $_{viewport}->label } ];
-  list   renders [ item over func('viewport', 'value_names') ];
-  item   renders [ string { $_ } ];
+  fragment widget [ qw/label list/ ];
+  fragment label  [ string { $_{viewport}->label } ];
+  fragment list   [ item over func('viewport', 'value_names') ];
+  fragment item   [ string { $_ } ];
 };
 
 1;
index e403a9a..8f44d9e 100644 (file)
@@ -3,7 +3,7 @@ package Reaction::UI::Widget::DisplayField::DateTime;
 use Reaction::UI::WidgetClass;
 
 class DateTime is 'Reaction::UI::Widget::DisplayField', which {
-  value renders [ string { $_{viewport}->value_string } ];
+  fragment value [ string { $_{viewport}->value_string } ];
 };
 
 1;
index f8cfcce..e0f24d5 100644 (file)
@@ -3,10 +3,10 @@ package Reaction::UI::Widget::DisplayField::List;
 use Reaction::UI::WidgetClass;
 
 class List, which {
-  widget renders [ qw/label list item/ ];
-  label  renders [ string { $_{viewport}->label } ];
-  list   renders [ item over func('viewport', 'value_names') ];
-  item   renders [ string { $_ } ];
+  fragment widget [ qw/label list item/ ];
+  fragment label  [ string { $_{viewport}->label } ];
+  fragment list   [ item over func('viewport', 'value_names') ];
+  fragment item   [ string { $_ } ];
 };
 
 1;
index fa415e7..a477ef7 100644 (file)
@@ -3,7 +3,7 @@ package Reaction::UI::Widget::DisplayField::RelatedObject;
 use Reaction::UI::WidgetClass;
 
 class RelatedObject is 'Reaction::UI::Widget::DisplayField', which {
-  value  renders [ string { $_{viewport}->value_string } ];
+  fragment value  [ string { $_{viewport}->value_string } ];
 };
 
 1;
index 6e3fb2f..e27fdee 100644 (file)
@@ -10,15 +10,15 @@ class Field, which {
   implements build_id   => as { shift->viewport->event_id_for('value'); };
   implements build_name => as { shift->viewport->event_id_for('value'); };
 
-  widget renders [qw/label field message/
+  fragment widget [qw/label field message/
                   => { id       => func('self', 'id'),
                        name     => func('self', 'name'), }
                  ];
 
-  field   renders [ string { $_{viewport}->value },   ];
+  fragment field   [ string { $_{viewport}->value },   ];
 
-  label   renders [ string { $_{viewport}->label   }, ];
-  message renders [ string { $_{viewport}->message }, ];
+  fragment label   [ string { $_{viewport}->label   }, ];
+  fragment message [ string { $_{viewport}->message }, ];
 
 };
 
index 6e9ef47..23c8855 100644 (file)
@@ -4,15 +4,15 @@ use Reaction::UI::WidgetClass;
 
 class ChooseMany is 'Reaction::UI::Widget::Field', which {
 
-  field renders [qw/available_values action_buttons selected_values current_values/];
+  fragment field [qw/available_values action_buttons selected_values current_values/];
 
-  current_values renders [ hidden_value over func('viewport', 'current_value_choices')  ];
-  hidden_value   renders [ string { $_->{value} } ];
+  fragment current_values [ hidden_value over func('viewport', 'current_value_choices')  ];
+  fragment hidden_value   [ string { $_->{value} } ];
 
-  available_values renders [ option over func('viewport', 'available_value_choices') ];
-  selected_values  renders [ option over func('viewport', 'current_value_choices')   ];
-  option renders [string {"DUMMY"}], { v_value => sub {$_->{value}}, v_name => sub {$_->{name}} };
-  action_buttons renders [ string {"DUMMY"} ];
+  fragment available_values [ option over func('viewport', 'available_value_choices') ];
+  fragment selected_values  [ option over func('viewport', 'current_value_choices')   ];
+  fragment option [string {"DUMMY"}], { v_value => sub {$_->{value}}, v_name => sub {$_->{name}} };
+  fragment action_buttons [ string {"DUMMY"} ];
 
 };
 
index 9754e71..c1abf37 100644 (file)
@@ -4,10 +4,10 @@ use Reaction::UI::WidgetClass;
 
 class ChooseOne is 'Reaction::UI::Widget::Field', which {
 
-  field  renders [ option over func('viewport', 'value_choices') ],
+  fragment field  [ option over func('viewport', 'value_choices') ],
     { is_required => sub{ $_{viewport}->attribute->required } };
 
-  option renders [string {"DUMMY"}],
+  fragment option [string {"DUMMY"}],
     {
      v_value  => sub { $_->{value} },
      v_name   => sub { $_->{name}  },
index deea805..21e0069 100644 (file)
@@ -4,7 +4,7 @@ use Reaction::UI::WidgetClass;
 
 class DateTime is 'Reaction::UI::Widget::Field', which {
 
-  field renders [ string { $_{viewport}->value_string }, ];
+  fragment field [ string { $_{viewport}->value_string }, ];
 
 };
 
index 7ccead9..835d1c1 100644 (file)
@@ -4,8 +4,8 @@ use Reaction::UI::WidgetClass;
 
 class HiddenArray is 'Reaction::UI::Widget::Field', which {
 
-  field renders [ item over func('viewport', 'value') ];
-  item  renders [ string { $_ } ];
+  fragment field [ item over func('viewport', 'value') ];
+  fragment item  [ string { $_ } ];
 
 };
 
index d623d2f..ab21202 100644 (file)
@@ -3,19 +3,19 @@ package Reaction::UI::Widget::GridView;
 use Reaction::UI::WidgetClass;
 
 class GridView, which {
-  widget renders [ qw/header body footer/ ];
+  fragment widget [ qw/header body footer/ ];
 
-  header      renders [ 'header_row' ];
-  header_row  renders [ header_cell over func('viewport', 'field_order'),
+  fragment header      [ 'header_row' ];
+  fragment header_row  [ header_cell over func('viewport', 'field_order'),
                         { labels => func(viewport => 'field_labels') } ];
-  header_cell renders [ string { $_{labels}->{$_} } ], { field_name => $_ };
+  fragment header_cell [ string { $_{labels}->{$_} } ], { field_name => $_ };
 
-  footer      renders [ 'footer_row' ];
-  footer_row  renders [ footer_cell over func('viewport', 'field_order'),
+  fragment footer      [ 'footer_row' ];
+  fragment footer_row  [ footer_cell over func('viewport', 'field_order'),
                         { labels => func(viewport => 'field_labels') } ];
-  footer_cell renders [ string { $_{labels}->{$_} } ], { field_name => $_ };
+  fragment footer_cell [ string { $_{labels}->{$_} } ], { field_name => $_ };
 
-  body        renders [ viewport over func('viewport','entities')];
+  fragment body        [ viewport over func('viewport','entities')];
 
 };
 
index ceea339..a1988e5 100644 (file)
@@ -3,7 +3,7 @@ package Reaction::UI::Widget::GridView::Action;
 use Reaction::UI::WidgetClass;
 
 class Action, which {
-  widget renders [ string{ "DUMMY" } ],
+  fragment widget [ string{ "DUMMY" } ],
     { uri => func(viewport => 'uri'), label => func(viewport => 'label') };
 };
 
index 84ad162..573d758 100644 (file)
@@ -4,11 +4,11 @@ use Reaction::UI::WidgetClass;
 
 class Entity, which {
   #this could be flattened if i could do:
-  # widget renders [field over sub{ $_{self}->viewport->fields } ];
+  # fragment widget [field over sub{ $_{self}->viewport->fields } ];
   #to be honest, I think that the key viewport should be available by default in %_
-  widget renders [ 'fields' ];
-  fields renders [ field over func('viewport', 'fields') ];
-  field  renders [ 'viewport' ];
+  fragment widget     [ 'field_list' ];
+  fragment field_list [ field over func('viewport', 'fields') ];
+  fragment field      [ 'viewport' ];
 };
 
 1;
@@ -28,9 +28,9 @@ Reaction::UI::Widget::GridView::Entity
 
 Additional variables available in topic hash: "viewport".
 
-Renders "fields"
+Renders "field_list"
 
-=head2 fields
+=head2 field_list
 
 Sequentially renders the C<fields> of the viewport as "field"
 
index a68e662..ab63975 100644 (file)
@@ -4,12 +4,12 @@ use Reaction::UI::WidgetClass;
 
 #should I use inheritance here??
 class WithActions, which {
-  widget  renders [ qw/fields actions/ ];
-  fields  renders [ field  over func(viewport => 'fields') ];
-  field   renders [ 'viewport' ];
+  fragment widget     [ qw(field_list actions) ];
+  fragment field_list [ field over func('viewport', 'fields') ];
+  fragment field      [ 'viewport' ];
 
-  actions renders [ action over func(viewport => 'actions')];
-  action  renders [ 'viewport' ];
+  fragment actions [ action over func(viewport => 'actions')];
+  fragment action  [ 'viewport' ];
 };
 
 1;
index 26b1204..41041e7 100644 (file)
@@ -3,7 +3,7 @@ package Reaction::UI::Widget::ListView;
 use Reaction::UI::WidgetClass;
 
 class ListView is 'Reaction::UI::Widget::GridView', which {
-  widget renders [ qw/pager header body footer actions/,
+  fragment widget [ qw/pager header body footer actions/,
                    {
                     pager               => sub{ $_{viewport}->pager },
                     object_action_count => sub{ $_{viewport}->object_action_count },
@@ -11,7 +11,7 @@ class ListView is 'Reaction::UI::Widget::GridView', which {
                    }
                  ];
 
-  pager  renders
+  fragment pager
     [ qw/first_page previous_page current_page next_page last_page page_list/,
       {
        first_page    => sub{ $_{pager}->first_page    },
@@ -23,36 +23,36 @@ class ListView is 'Reaction::UI::Widget::GridView', which {
       }
     ];
 
-  first_page    renders [ string{ "First" } ],
+  fragment first_page    [ string{ "First" } ],
     { uri => sub{ $_{self}->connect_uri( {page => $_{first_page} } )    } };
 
-  previous_page renders [ string{ "Previous" } ],
+  fragment previous_page [ string{ "Previous" } ],
     { uri => sub{ $_{self}->connect_uri( {page => $_{previous_page} } ) } };
 
-  current_page  renders [ string{ "Current" } ],
+  fragment current_page  [ string{ "Current" } ],
     { uri => sub{ $_{self}->connect_uri( {page => $_{current_page} } )  } };
 
-  next_page     renders [ string{ "Next" } ],
+  fragment next_page     [ string{ "Next" } ],
     { uri => sub{ $_{self}->connect_uri( {page => $_{next_page} } )     } };
 
-  last_page     renders [ string{ "Last" } ],
+  fragment last_page     [ string{ "Last" } ],
     { uri => sub{ $_{self}->connect_uri( {page => $_{last_page} } )     } };
 
-  page_list renders [ page over $_{page_list} ];
-  page      renders [ string{ $_ } ],
+  fragment page_list [ page over $_{page_list} ];
+  fragment page      [ string{ $_ } ],
     { uri => sub{ $_{self}->connect_uri( {page => $_ } ) } };
 
-  actions renders [ action over func(viewport => 'actions') ];
-  action  renders [ 'viewport' ];
+  fragment actions [ action over func(viewport => 'actions') ];
+  fragment action  [ 'viewport' ];
 
-  header_cell renders [ string { $_{labels}->{$_} } ],
+  fragment header_cell [ string { $_{labels}->{$_} } ],
     { uri => sub{
         my $ev = {order_by => $_, order_by_desc => $_{viewport}->order_by_desc ? 0 : 1 };
         return $_{self}->connect_uri($ev);
       }
     };
 
-  footer_cell renders [ string { $_{labels}->{$_} } ],
+  fragment footer_cell [ string { $_{labels}->{$_} } ],
     { uri => sub{
         my $ev = {order_by => $_, order_by_desc => $_{viewport}->order_by_desc ? 0 : 1 };
         return $_{self}->connect_uri($ev);
index 923c592..29657ad 100644 (file)
@@ -3,9 +3,9 @@ package Reaction::UI::Widget::ObjectView;
 use Reaction::UI::WidgetClass;
 
 class ObjectView, which {
-  widget renders [ 'fields' ];
-  fields renders [ field over func('viewport', 'ordered_fields')   ];
-  field  renders [ 'viewport' ];
+  fragment widget [ 'field_list' ];
+  fragment field_list [ field over func('viewport', 'ordered_fields')   ];
+  fragment field  [ 'viewport' ];
 };
 
 1;
@@ -25,9 +25,9 @@ Reaction::UI::Widget::ObjectView
 
 Additional variables available in topic hash: "viewport".
 
-Renders "fields"
+Renders "field_list"
 
-=head2 fields
+=head2 field_list
 
 Sequentially renders the C<ordered_fields> of the viewport
 
index 959d72a..88d7eb6 100644 (file)
@@ -3,7 +3,7 @@ package Reaction::UI::Widget::Value;
 use Reaction::UI::WidgetClass;
 
 class Value, which {
-  widget renders [ string {""} ],
+  fragment widget [ string {""} ],
     { value => sub{
         my $vp = $_{viewport};
         $vp->can('value_string') ? $vp->value_string : $vp->value;
index aecd20f..a91aa74 100644 (file)
@@ -3,9 +3,9 @@ package Reaction::UI::Widget::Value::Collection;
 use Reaction::UI::WidgetClass;
 
 class Collection, which {
-  widget renders [ qw/list/ ];
-  list   renders [ item over func('viewport', 'value_names') ];
-  item   renders [ string {""} ], { value => $_ };
+  fragment widget [ qw/list/ ];
+  fragment list   [ item over func('viewport', 'value_names') ];
+  fragment item   [ string {""} ], { value => $_ };
 };
 
 1;
index fcae21b..32c45c1 100644 (file)
@@ -3,9 +3,9 @@ package Reaction::UI::Widget::Value::List;
 use Reaction::UI::WidgetClass;
 
 class List, which {
-  widget renders [ qw/list/ ];
-  list   renders [ item over func('viewport', 'value_names') ];
-  item   renders [ string {""} ], { value => $_ };
+  fragment widget [ qw/list/ ];
+  fragment list   [ item over func('viewport', 'value_names') ];
+  fragment item   [ string {""} ], { value => $_ };
 };
 
 1;
index 0e18a36..c4ba55f 100644 (file)
@@ -2,7 +2,7 @@
 
   <form action="" method="post" enctype="multipart/form-data">
     [% header  %]
-    [% fields  %]
+    [% field_list  %]
     [% buttons %]
     [% footer  %]
   </form>
@@ -11,7 +11,7 @@
 
 <h2>Le Header</h2>
 
-=for layout fields
+=for layout field_list
 
 <p> [% content %] </p>
 
index 9c69baf..c66af93 100644 (file)
@@ -4,7 +4,7 @@
   [% content %]
 <tr>
 
-=for layout fields
+=for layout field_list
 
 [% content %]
 
@@ -12,4 +12,4 @@
 
 <td>[% content %]</td>
 
-=cut
\ No newline at end of file
+=cut
index ea78ed8..438a168 100644 (file)
@@ -1,11 +1,11 @@
 =for layout widget
 
 <tr>
-  [% fields  %]
-  [% actions %]
+  [% field_list %]
+  [% actions    %]
 <tr>
 
-=for layout fields
+=for layout field_list
 
 [% content %]
 
@@ -22,4 +22,4 @@
 <td>[% content %]</td>
 
 
-=cut
\ No newline at end of file
+=cut
index 4e6e1b3..55b15bf 100644 (file)
@@ -1,8 +1,8 @@
 =for layout widget
 
-  [% fields %]
+  [% field_list %]
 
-=for layout fields
+=for layout field_list
 
  <p> [% content %] </p>