aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Reaction/UI/Widget
diff options
context:
space:
mode:
authorgroditi <groditi@03d0b0b2-0e1a-0410-a411-fdb2f4bd65d7>2007-12-31 22:16:22 +0000
committergroditi <groditi@03d0b0b2-0e1a-0410-a411-fdb2f4bd65d7>2007-12-31 22:16:22 +0000
commit2f670e13aa8f30bbf6ba910f2d8ef97aa8a9e3e5 (patch)
tree512313d4cac594a322e3d1e2d4c81e4736a50567 /lib/Reaction/UI/Widget
parent5353e3f64517073ba9f06e732dd610fd2e52a01f (diff)
downloadreaction-2f670e13aa8f30bbf6ba910f2d8ef97aa8a9e3e5.tar.gz
reaction-2f670e13aa8f30bbf6ba910f2d8ef97aa8a9e3e5.zip
renaming widget packages to match new viewports
Diffstat (limited to 'lib/Reaction/UI/Widget')
-rw-r--r--lib/Reaction/UI/Widget/Action.pm (renamed from lib/Reaction/UI/Widget/ActionForm.pm)22
-rw-r--r--lib/Reaction/UI/Widget/Action/Link.pm (renamed from lib/Reaction/UI/Widget/GridView/Action.pm)5
-rw-r--r--lib/Reaction/UI/Widget/Collection.pm19
-rw-r--r--lib/Reaction/UI/Widget/Collection/Grid.pm (renamed from lib/Reaction/UI/Widget/GridView.pm)12
-rw-r--r--lib/Reaction/UI/Widget/Collection/Grid/Member.pm (renamed from lib/Reaction/UI/Widget/DisplayField/String.pm)10
-rw-r--r--lib/Reaction/UI/Widget/Collection/Grid/Member/WithActions.pm (renamed from lib/Reaction/UI/Widget/GridView/Entity/WithActions.pm)6
-rw-r--r--lib/Reaction/UI/Widget/DisplayField.pm48
-rw-r--r--lib/Reaction/UI/Widget/DisplayField/Boolean.pm35
-rw-r--r--lib/Reaction/UI/Widget/DisplayField/DateTime.pm35
-rw-r--r--lib/Reaction/UI/Widget/DisplayField/Number.pm29
-rw-r--r--lib/Reaction/UI/Widget/Field.pm12
-rw-r--r--lib/Reaction/UI/Widget/Field/Boolean.pm14
-rw-r--r--lib/Reaction/UI/Widget/Field/Collection.pm (renamed from lib/Reaction/UI/Widget/DisplayField/Collection.pm)4
-rw-r--r--lib/Reaction/UI/Widget/Field/DateTime.pm4
-rw-r--r--lib/Reaction/UI/Widget/Field/List.pm (renamed from lib/Reaction/UI/Widget/DisplayField/List.pm)19
-rw-r--r--lib/Reaction/UI/Widget/Field/Mutable.pm24
-rw-r--r--lib/Reaction/UI/Widget/Field/Mutable/Boolean.pm37
-rw-r--r--lib/Reaction/UI/Widget/Field/Mutable/ChooseMany.pm (renamed from lib/Reaction/UI/Widget/Field/ChooseMany.pm)4
-rw-r--r--lib/Reaction/UI/Widget/Field/Mutable/ChooseOne.pm (renamed from lib/Reaction/UI/Widget/Field/ChooseOne.pm)4
-rw-r--r--lib/Reaction/UI/Widget/Field/Mutable/DateTime.pm35
-rw-r--r--lib/Reaction/UI/Widget/Field/Mutable/File.pm (renamed from lib/Reaction/UI/Widget/Field/File.pm)4
-rw-r--r--lib/Reaction/UI/Widget/Field/Mutable/HiddenArray.pm (renamed from lib/Reaction/UI/Widget/Field/HiddenArray.pm)5
-rw-r--r--lib/Reaction/UI/Widget/Field/Mutable/Number.pm29
-rw-r--r--lib/Reaction/UI/Widget/Field/Mutable/Password.pm (renamed from lib/Reaction/UI/Widget/Field/Password.pm)4
-rw-r--r--lib/Reaction/UI/Widget/Field/Mutable/String.pm29
-rw-r--r--lib/Reaction/UI/Widget/Field/Mutable/Text.pm (renamed from lib/Reaction/UI/Widget/DisplayField/Text.pm)8
-rw-r--r--lib/Reaction/UI/Widget/Field/Mutable/TimeRange.pm (renamed from lib/Reaction/UI/Widget/Field/TimeRange.pm)4
-rw-r--r--lib/Reaction/UI/Widget/Field/Number.pm4
-rw-r--r--lib/Reaction/UI/Widget/Field/RelatedObject.pm (renamed from lib/Reaction/UI/Widget/DisplayField/RelatedObject.pm)4
-rw-r--r--lib/Reaction/UI/Widget/Field/String.pm4
-rw-r--r--lib/Reaction/UI/Widget/GridView/Entity.pm52
-rw-r--r--lib/Reaction/UI/Widget/Object.pm (renamed from lib/Reaction/UI/Widget/ObjectView.pm)12
32 files changed, 251 insertions, 286 deletions
diff --git a/lib/Reaction/UI/Widget/ActionForm.pm b/lib/Reaction/UI/Widget/Action.pm
index 858d218..c7e1e04 100644
--- a/lib/Reaction/UI/Widget/ActionForm.pm
+++ b/lib/Reaction/UI/Widget/Action.pm
@@ -1,20 +1,20 @@
-package Reaction::UI::Widget::ActionForm;
+package Reaction::UI::Widget::Action;
use Reaction::UI::WidgetClass;
-class ActionForm, which {
+class Action is 'Reaction::UI::Widget::Object', which {
- #implements fragment widget {
+ #before fragment widget {
# arg form_id => $_{viewport}->location;
#};
- implements fragment field_list {
- render field => over $_{viewport}->ordered_fields;
- };
+ #implements fragment field_list {
+ # render field => over $_{viewport}->ordered_fields;
+ #};
- implements fragment field {
- render 'viewport';
- };
+ #implements fragment field {
+ # render 'viewport';
+ #};
implements fragment ok_button_fragment {
if (grep { $_ eq 'ok' } $_{viewport}->accept_events) {
@@ -48,7 +48,7 @@ __END__;
=head1 NAME
-Reaction::UI::Widget::ActionForm
+Reaction::UI::Widget::Action
=head1 DESCRIPTION
@@ -56,8 +56,6 @@ Reaction::UI::Widget::ActionForm
=head2 widget
-Additional variables available in topic hash: "viewport".
-
Renders "header", "field_list", "buttons" and "footer"
=head2 field_list
diff --git a/lib/Reaction/UI/Widget/GridView/Action.pm b/lib/Reaction/UI/Widget/Action/Link.pm
index d5336f3..4c766b2 100644
--- a/lib/Reaction/UI/Widget/GridView/Action.pm
+++ b/lib/Reaction/UI/Widget/Action/Link.pm
@@ -1,8 +1,9 @@
-package Reaction::UI::Widget::GridView::Action;
+package Reaction::UI::Widget::Action::Link;
use Reaction::UI::WidgetClass;
-class Action, which {
+#I want to change this at some point.
+class Link, which {
before fragment widget {
arg uri => $_{viewport}->uri;
diff --git a/lib/Reaction/UI/Widget/Collection.pm b/lib/Reaction/UI/Widget/Collection.pm
new file mode 100644
index 0000000..65e9d64
--- /dev/null
+++ b/lib/Reaction/UI/Widget/Collection.pm
@@ -0,0 +1,19 @@
+package Reaction::UI::Widget::Collection;
+
+use Reaction::UI::WidgetClass;
+
+class Collection, which {
+
+ implements fragment members {
+ render member => over $_{viewport}->members;
+ };
+
+ implements fragment member {
+ render 'viewport';
+ };
+
+};
+
+1;
+
+__END__;
diff --git a/lib/Reaction/UI/Widget/GridView.pm b/lib/Reaction/UI/Widget/Collection/Grid.pm
index c7c2530..13c59be 100644
--- a/lib/Reaction/UI/Widget/GridView.pm
+++ b/lib/Reaction/UI/Widget/Collection/Grid.pm
@@ -1,22 +1,14 @@
-package Reaction::UI::Widget::GridView;
+package Reaction::UI::Widget::Collection::Grid;
use Reaction::UI::WidgetClass;
-class GridView, which {
+class Grid is 'Reaction::UI::Widget::Collection', which {
implements fragment header_cells {
arg 'labels' => $_{viewport}->field_labels;
render header_cell => over $_{viewport}->field_order;
};
- implements fragment body_rows {
- render body_row => over $_{viewport}->entities;
- };
-
- implements fragment body_row {
- render 'viewport';
- };
-
implements fragment header_cell {
arg label => $_{labels}->{$_};
};
diff --git a/lib/Reaction/UI/Widget/DisplayField/String.pm b/lib/Reaction/UI/Widget/Collection/Grid/Member.pm
index 0301a15..a2a1b0a 100644
--- a/lib/Reaction/UI/Widget/DisplayField/String.pm
+++ b/lib/Reaction/UI/Widget/Collection/Grid/Member.pm
@@ -1,8 +1,9 @@
-package Reaction::UI::Widget::DisplayField::String;
+package Reaction::UI::Widget::Collection::Grid::Member;
use Reaction::UI::WidgetClass;
-class String is 'Reaction::UI::Widget::DisplayField', which {
+class Member is 'Reaction::UI::Widget::Object', which {
+
};
@@ -10,13 +11,14 @@ class String is 'Reaction::UI::Widget::DisplayField', which {
__END__;
+
=head1 NAME
-Reaction::UI::Widget::DisplayField::String
+Reaction::UI::Widget::Collection::Grid::Member
=head1 DESCRIPTION
-See L<Reaction::UI::Widget::DisplayField>
+=head1 FRAGMENTS
=head1 AUTHORS
diff --git a/lib/Reaction/UI/Widget/GridView/Entity/WithActions.pm b/lib/Reaction/UI/Widget/Collection/Grid/Member/WithActions.pm
index 1684356..0ed6727 100644
--- a/lib/Reaction/UI/Widget/GridView/Entity/WithActions.pm
+++ b/lib/Reaction/UI/Widget/Collection/Grid/Member/WithActions.pm
@@ -1,13 +1,13 @@
-package Reaction::UI::Widget::GridView::Entity::WithActions;
+package Reaction::UI::Widget::Collection::Grid::Member::WithActions;
use Reaction::UI::WidgetClass;
-class WithActions, is 'Reaction::UI::Widget::GridView::Entity', which {
+class WithActions, is 'Reaction::UI::Widget::Collection::Grid::Member', which {
implements fragment actions {
render action => over $_{viewport}->actions;
};
-
+
implements fragment action {
render 'viewport';
};
diff --git a/lib/Reaction/UI/Widget/DisplayField.pm b/lib/Reaction/UI/Widget/DisplayField.pm
deleted file mode 100644
index d881025..0000000
--- a/lib/Reaction/UI/Widget/DisplayField.pm
+++ /dev/null
@@ -1,48 +0,0 @@
-package Reaction::UI::Widget::DisplayField;
-
-use Reaction::UI::WidgetClass;
-
-class DisplayField, which {
-
- before fragment widget {
- arg label => $_{viewport}->label;
- arg value => $_{viewport}->value_string;
- };
-
-};
-
-1;
-
-__END__;
-
-=head1 NAME
-
-Reaction::UI::Widget::DisplayField
-
-=head1 DESCRIPTION
-
-=head1 FRAGMENTS
-
-=head2 widget
-
-Additional variables available in topic hash: "viewport".
-
-Renders "label" and "field"
-
-=head2 field
-
- C<content> will contain the value, if any, of the field.
-
-=head2 label
-
- C<content> will contain the label, if any, of the field.
-
-=head1 AUTHORS
-
-See L<Reaction::Class> for authors.
-
-=head1 LICENSE
-
-See L<Reaction::Class> for the license.
-
-=cut
diff --git a/lib/Reaction/UI/Widget/DisplayField/Boolean.pm b/lib/Reaction/UI/Widget/DisplayField/Boolean.pm
deleted file mode 100644
index 76ba41f..0000000
--- a/lib/Reaction/UI/Widget/DisplayField/Boolean.pm
+++ /dev/null
@@ -1,35 +0,0 @@
-package Reaction::UI::Widget::DisplayField::Boolean;
-
-use Reaction::UI::WidgetClass;
-
-class Boolean is 'Reaction::UI::Widget::DisplayField', which {
-
-};
-
-1;
-
-__END__;
-
-=head1 NAME
-
-Reaction::UI::Widget::DisplayField::Boolean
-
-=head1 DESCRIPTION
-
-See L<Reaction::UI::Widget::DisplayField>
-
-=head1 FRAGMENTS
-
-=head2 value
-
-C<content> contains the viewport's value_string
-
-=head1 AUTHORS
-
-See L<Reaction::Class> for authors.
-
-=head1 LICENSE
-
-See L<Reaction::Class> for the license.
-
-=cut
diff --git a/lib/Reaction/UI/Widget/DisplayField/DateTime.pm b/lib/Reaction/UI/Widget/DisplayField/DateTime.pm
deleted file mode 100644
index 35b2651..0000000
--- a/lib/Reaction/UI/Widget/DisplayField/DateTime.pm
+++ /dev/null
@@ -1,35 +0,0 @@
-package Reaction::UI::Widget::DisplayField::DateTime;
-
-use Reaction::UI::WidgetClass;
-
-class DateTime is 'Reaction::UI::Widget::DisplayField', which {
-
-};
-
-1;
-
-__END__;
-
-=head1 NAME
-
-Reaction::UI::Widget::DisplayField::DateTime
-
-=head1 DESCRIPTION
-
-See L<Reaction::UI::Widget::DisplayField>
-
-=head1 FRAGMENTS
-
-=head2 value
-
-C<content> contains the viewport's value_string
-
-=head1 AUTHORS
-
-See L<Reaction::Class> for authors.
-
-=head1 LICENSE
-
-See L<Reaction::Class> for the license.
-
-=cut
diff --git a/lib/Reaction/UI/Widget/DisplayField/Number.pm b/lib/Reaction/UI/Widget/DisplayField/Number.pm
deleted file mode 100644
index 9260c2e..0000000
--- a/lib/Reaction/UI/Widget/DisplayField/Number.pm
+++ /dev/null
@@ -1,29 +0,0 @@
-package Reaction::UI::Widget::DisplayField::Number;
-
-use Reaction::UI::WidgetClass;
-
-class Number is 'Reaction::UI::Widget::DisplayField', which {
-
-};
-
-1;
-
-__END__;
-
-=head1 NAME
-
-Reaction::UI::Widget::DisplayField::Numberx
-
-=head1 DESCRIPTION
-
-See L<Reaction::UI::Widget::DisplayField>
-
-=head1 AUTHORS
-
-See L<Reaction::Class> for authors.
-
-=head1 LICENSE
-
-See L<Reaction::Class> for the license.
-
-=cut
diff --git a/lib/Reaction/UI/Widget/Field.pm b/lib/Reaction/UI/Widget/Field.pm
index 9b22905..4d91afa 100644
--- a/lib/Reaction/UI/Widget/Field.pm
+++ b/lib/Reaction/UI/Widget/Field.pm
@@ -5,18 +5,10 @@ use Reaction::UI::WidgetClass;
class Field, which {
before fragment widget {
- arg 'field_id' => event_id 'value';
- arg 'field_name' => event_id 'value';
- arg 'field_type' => 'text';
if ($_{viewport}->can('value_string')) {
arg 'field_value' => $_{viewport}->value_string;
- }
- };
-
- implements fragment message_fragment {
- if (my $message = $_{viewport}->message) {
- arg message => $message;
- render 'message';
+ } else {
+ arg 'field_value' => $_{viewport}->value;
}
};
diff --git a/lib/Reaction/UI/Widget/Field/Boolean.pm b/lib/Reaction/UI/Widget/Field/Boolean.pm
index 986d7b0..a205e9f 100644
--- a/lib/Reaction/UI/Widget/Field/Boolean.pm
+++ b/lib/Reaction/UI/Widget/Field/Boolean.pm
@@ -4,14 +4,6 @@ use Reaction::UI::WidgetClass;
class Boolean is 'Reaction::UI::Widget::Field', which {
- implements fragment is_checked {
- if ($_{viewport}->value) {
- render 'is_checked_yes';
- } else {
- render 'is_checked_no';
- }
- };
-
};
1;
@@ -26,6 +18,12 @@ Reaction::UI::Widget::Field::Boolean
See L<Reaction::UI::Widget::Field>
+=head1 FRAGMENTS
+
+=head2 value
+
+C<content> contains the viewport's value_string
+
=head1 AUTHORS
See L<Reaction::Class> for authors.
diff --git a/lib/Reaction/UI/Widget/DisplayField/Collection.pm b/lib/Reaction/UI/Widget/Field/Collection.pm
index 40bedd3..7d01cbb 100644
--- a/lib/Reaction/UI/Widget/DisplayField/Collection.pm
+++ b/lib/Reaction/UI/Widget/Field/Collection.pm
@@ -1,4 +1,4 @@
-package Reaction::UI::Widget::DisplayField::Collection;
+package Reaction::UI::Widget::Field::Collection;
use Reaction::UI::WidgetClass;
@@ -25,7 +25,7 @@ __END__;
=head1 NAME
-Reaction::UI::Widget::DisplayField::Collection
+Reaction::UI::Widget::Field::Collection
=head1 DESCRIPTION
diff --git a/lib/Reaction/UI/Widget/Field/DateTime.pm b/lib/Reaction/UI/Widget/Field/DateTime.pm
index d174d0f..0ada1a4 100644
--- a/lib/Reaction/UI/Widget/Field/DateTime.pm
+++ b/lib/Reaction/UI/Widget/Field/DateTime.pm
@@ -20,9 +20,9 @@ See L<Reaction::UI::Widget::Field>
=head1 FRAGMENTS
-=head2 field
+=head2 value
-C<content> contains viewport's C<value_string>
+C<content> contains the viewport's value_string
=head1 AUTHORS
diff --git a/lib/Reaction/UI/Widget/DisplayField/List.pm b/lib/Reaction/UI/Widget/Field/List.pm
index f53b704..57f9d92 100644
--- a/lib/Reaction/UI/Widget/DisplayField/List.pm
+++ b/lib/Reaction/UI/Widget/Field/List.pm
@@ -1,12 +1,21 @@
-package Reaction::UI::Widget::DisplayField::List;
+package Reaction::UI::Widget::Field::List;
use Reaction::UI::WidgetClass;
class List, which {
- fragment widget [ qw/label list item/ ];
- fragment label [ string { $_{viewport}->label } ];
- fragment list [ item => over func('viewport', 'value_names') ];
- fragment item [ string { $_ } ];
+
+ before fragment widget {
+ arg 'label' => $_{viewport}->label;
+ };
+
+ implements fragment list {
+ render 'item' => over $_{viewport}->value_names;
+ };
+
+ implements fragment item {
+ arg 'name' => $_;
+ };
+
};
1;
diff --git a/lib/Reaction/UI/Widget/Field/Mutable.pm b/lib/Reaction/UI/Widget/Field/Mutable.pm
new file mode 100644
index 0000000..2ff669a
--- /dev/null
+++ b/lib/Reaction/UI/Widget/Field/Mutable.pm
@@ -0,0 +1,24 @@
+package Reaction::UI::Widget::Field::Mutable;
+
+use Reaction::UI::WidgetClass;
+
+class Field is 'Reaction::UI::Widget::Field', which {
+
+ before fragment widget {
+ arg 'field_id' => event_id 'value';
+ arg 'field_name' => event_id 'value';
+ arg 'field_type' => 'text';
+ };
+
+ implements fragment message_fragment {
+ if (my $message = $_{viewport}->message) {
+ arg message => $message;
+ render 'message';
+ }
+ };
+
+};
+
+1;
+
+__END__;
diff --git a/lib/Reaction/UI/Widget/Field/Mutable/Boolean.pm b/lib/Reaction/UI/Widget/Field/Mutable/Boolean.pm
new file mode 100644
index 0000000..0afb40c
--- /dev/null
+++ b/lib/Reaction/UI/Widget/Field/Mutable/Boolean.pm
@@ -0,0 +1,37 @@
+package Reaction::UI::Widget::Field::Mutable::Boolean;
+
+use Reaction::UI::WidgetClass;
+
+class Boolean is 'Reaction::UI::Widget::Field::Mutable', which {
+
+ implements fragment is_checked {
+ if ($_{viewport}->value) {
+ render 'is_checked_yes';
+ } else {
+ render 'is_checked_no';
+ }
+ };
+
+};
+
+1;
+
+__END__;
+
+=head1 NAME
+
+Reaction::UI::Widget::Field::Boolean
+
+=head1 DESCRIPTION
+
+See L<Reaction::UI::Widget::Field>
+
+=head1 AUTHORS
+
+See L<Reaction::Class> for authors.
+
+=head1 LICENSE
+
+See L<Reaction::Class> for the license.
+
+=cut
diff --git a/lib/Reaction/UI/Widget/Field/ChooseMany.pm b/lib/Reaction/UI/Widget/Field/Mutable/ChooseMany.pm
index efb100d..697e672 100644
--- a/lib/Reaction/UI/Widget/Field/ChooseMany.pm
+++ b/lib/Reaction/UI/Widget/Field/Mutable/ChooseMany.pm
@@ -1,8 +1,8 @@
-package Reaction::UI::Widget::Field::ChooseMany;
+package Reaction::UI::Widget::Field::Mutable::ChooseMany;
use Reaction::UI::WidgetClass;
-class ChooseMany is 'Reaction::UI::Widget::Field', which {
+class ChooseMany is 'Reaction::UI::Widget::Field::Mutable', which {
implements fragment action_buttons {
foreach my $event (
diff --git a/lib/Reaction/UI/Widget/Field/ChooseOne.pm b/lib/Reaction/UI/Widget/Field/Mutable/ChooseOne.pm
index cd6ed5e..79c75fc 100644
--- a/lib/Reaction/UI/Widget/Field/ChooseOne.pm
+++ b/lib/Reaction/UI/Widget/Field/Mutable/ChooseOne.pm
@@ -1,8 +1,8 @@
-package Reaction::UI::Widget::Field::ChooseOne;
+package Reaction::UI::Widget::Field::Mutable::ChooseOne;
use Reaction::UI::WidgetClass;
-class ChooseOne is 'Reaction::UI::Widget::Field', which {
+class ChooseOne is 'Reaction::UI::Widget::Field::Mutable', which {
implements fragment option_is_required {
if ($_{viewport}->attribute->is_required) {
diff --git a/lib/Reaction/UI/Widget/Field/Mutable/DateTime.pm b/lib/Reaction/UI/Widget/Field/Mutable/DateTime.pm
new file mode 100644
index 0000000..0095594
--- /dev/null
+++ b/lib/Reaction/UI/Widget/Field/Mutable/DateTime.pm
@@ -0,0 +1,35 @@
+package Reaction::UI::Widget::Field::Mutable::DateTime;
+
+use Reaction::UI::WidgetClass;
+
+class DateTime is 'Reaction::UI::Widget::Field::Mutable', which {
+
+};
+
+1;
+
+__END__;
+
+=head1 NAME
+
+Reaction::UI::Widget::Field::DateTime
+
+=head1 DESCRIPTION
+
+See L<Reaction::UI::Widget::Field>
+
+=head1 FRAGMENTS
+
+=head2 field
+
+C<content> contains viewport's C<value_string>
+
+=head1 AUTHORS
+
+See L<Reaction::Class> for authors.
+
+=head1 LICENSE
+
+See L<Reaction::Class> for the license.
+
+=cut
diff --git a/lib/Reaction/UI/Widget/Field/File.pm b/lib/Reaction/UI/Widget/Field/Mutable/File.pm
index 009eea3..42c1137 100644
--- a/lib/Reaction/UI/Widget/Field/File.pm
+++ b/lib/Reaction/UI/Widget/Field/Mutable/File.pm
@@ -1,8 +1,8 @@
-package Reaction::UI::Widget::Field::File;
+package Reaction::UI::Widget::Field::Mutable::File;
use Reaction::UI::WidgetClass;
-class File is 'Reaction::UI::Widget::Field', which {
+class File is 'Reaction::UI::Widget::Field::Mutable', which {
after fragment widget {
arg field_type => 'file';
diff --git a/lib/Reaction/UI/Widget/Field/HiddenArray.pm b/lib/Reaction/UI/Widget/Field/Mutable/HiddenArray.pm
index d64e4ca..675b2d1 100644
--- a/lib/Reaction/UI/Widget/Field/HiddenArray.pm
+++ b/lib/Reaction/UI/Widget/Field/Mutable/HiddenArray.pm
@@ -1,8 +1,9 @@
-package Reaction::UI::Widget::Field::HiddenArray;
+package Reaction::UI::Widget::Field::Mutable::HiddenArray;
use Reaction::UI::WidgetClass;
-class HiddenArray is 'Reaction::UI::Widget::Field', which {
+#move this to a normal list and let the hidden part be decided by the template..
+class HiddenArray is 'Reaction::UI::Widget::Field::Mutable', which {
implements fragment hidden_list {
render hidden_field => over $_{viewport}->value;
diff --git a/lib/Reaction/UI/Widget/Field/Mutable/Number.pm b/lib/Reaction/UI/Widget/Field/Mutable/Number.pm
new file mode 100644
index 0000000..d73079c
--- /dev/null
+++ b/lib/Reaction/UI/Widget/Field/Mutable/Number.pm
@@ -0,0 +1,29 @@
+package Reaction::UI::Widget::Field::Mutable::Number;
+
+use Reaction::UI::WidgetClass;
+
+class Number is 'Reaction::UI::Widget::Field::Mutable', which {
+
+};
+
+1;
+
+__END__;
+
+=head1 NAME
+
+Reaction::UI::Widget::Field::Number
+
+=head1 DESCRIPTION
+
+See L<Reaction::UI::Widget::Field>
+
+=head1 AUTHORS
+
+See L<Reaction::Class> for authors.
+
+=head1 LICENSE
+
+See L<Reaction::Class> for the license.
+
+=cut
diff --git a/lib/Reaction/UI/Widget/Field/Password.pm b/lib/Reaction/UI/Widget/Field/Mutable/Password.pm
index 472f929..c11a909 100644
--- a/lib/Reaction/UI/Widget/Field/Password.pm
+++ b/lib/Reaction/UI/Widget/Field/Mutable/Password.pm
@@ -1,8 +1,8 @@
-package Reaction::UI::Widget::Field::Password;
+package Reaction::UI::Widget::Field::Mutable::Password;
use Reaction::UI::WidgetClass;
-class Password is 'Reaction::UI::Widget::Field', which {
+class Password is 'Reaction::UI::Widget::Field::Mutable', which {
around fragment widget {
call_next;
diff --git a/lib/Reaction/UI/Widget/Field/Mutable/String.pm b/lib/Reaction/UI/Widget/Field/Mutable/String.pm
new file mode 100644
index 0000000..7405c4a
--- /dev/null
+++ b/lib/Reaction/UI/Widget/Field/Mutable/String.pm
@@ -0,0 +1,29 @@
+package Reaction::UI::Widget::Field::Mutable::String;
+
+use Reaction::UI::WidgetClass;
+
+class String is 'Reaction::UI::Widget::Field::Mutable', which {
+
+};
+
+1;
+
+__END__;
+
+=head1 NAME
+
+Reaction::UI::Widget::Field::String
+
+=head1 DESCRIPTION
+
+See L<Reaction::UI::Widget::Field>
+
+=head1 AUTHORS
+
+See L<Reaction::Class> for authors.
+
+=head1 LICENSE
+
+See L<Reaction::Class> for the license.
+
+=cut
diff --git a/lib/Reaction/UI/Widget/DisplayField/Text.pm b/lib/Reaction/UI/Widget/Field/Mutable/Text.pm
index d7c4c2e..2cb7134 100644
--- a/lib/Reaction/UI/Widget/DisplayField/Text.pm
+++ b/lib/Reaction/UI/Widget/Field/Mutable/Text.pm
@@ -1,8 +1,8 @@
-package Reaction::UI::Widget::DisplayField::Text;
+package Reaction::UI::Widget::Field::Mutable::Text;
use Reaction::UI::WidgetClass;
-class Text is 'Reaction::UI::Widget::DisplayField', which {
+class Text is 'Reaction::UI::Widget::Field::Mutable', which {
};
@@ -12,11 +12,11 @@ __END__;
=head1 NAME
-Reaction::UI::Widget::DisplayField::Text
+Reaction::UI::Widget::Field::Text
=head1 DESCRIPTION
-See L<Reaction::UI::Widget::DisplayField>
+See L<Reaction::UI::Widget::Field>
=head1 AUTHORS
diff --git a/lib/Reaction/UI/Widget/Field/TimeRange.pm b/lib/Reaction/UI/Widget/Field/Mutable/TimeRange.pm
index bc2ba05..0cdb4aa 100644
--- a/lib/Reaction/UI/Widget/Field/TimeRange.pm
+++ b/lib/Reaction/UI/Widget/Field/Mutable/TimeRange.pm
@@ -1,8 +1,8 @@
-package Reaction::UI::Widget::Field::TimeRange;
+package Reaction::UI::Widget::Field::Mutable::TimeRange;
use Reaction::UI::WidgetClass;
-class TimeRange is 'Reaction::UI::Widget::Field', which {
+class TimeRange is 'Reaction::UI::Widget::Field::Mutable', which {
};
diff --git a/lib/Reaction/UI/Widget/Field/Number.pm b/lib/Reaction/UI/Widget/Field/Number.pm
index 48ef120..f80144e 100644
--- a/lib/Reaction/UI/Widget/Field/Number.pm
+++ b/lib/Reaction/UI/Widget/Field/Number.pm
@@ -12,11 +12,11 @@ __END__;
=head1 NAME
-Reaction::UI::Widget::Field::Number
+Reaction::UI::Widget::DisplayField::Numberx
=head1 DESCRIPTION
-See L<Reaction::UI::Widget::Field>
+See L<Reaction::UI::Widget::DisplayField>
=head1 AUTHORS
diff --git a/lib/Reaction/UI/Widget/DisplayField/RelatedObject.pm b/lib/Reaction/UI/Widget/Field/RelatedObject.pm
index f6aef23..010e7c0 100644
--- a/lib/Reaction/UI/Widget/DisplayField/RelatedObject.pm
+++ b/lib/Reaction/UI/Widget/Field/RelatedObject.pm
@@ -1,8 +1,8 @@
-package Reaction::UI::Widget::DisplayField::RelatedObject;
+package Reaction::UI::Widget::Field::RelatedObject;
use Reaction::UI::WidgetClass;
-class RelatedObject is 'Reaction::UI::Widget::DisplayField', which {
+class RelatedObject is 'Reaction::UI::Widget::Field', which {
};
diff --git a/lib/Reaction/UI/Widget/Field/String.pm b/lib/Reaction/UI/Widget/Field/String.pm
index 7e64510..023c082 100644
--- a/lib/Reaction/UI/Widget/Field/String.pm
+++ b/lib/Reaction/UI/Widget/Field/String.pm
@@ -12,11 +12,11 @@ __END__;
=head1 NAME
-Reaction::UI::Widget::Field::String
+Reaction::UI::Widget::DisplayField::String
=head1 DESCRIPTION
-See L<Reaction::UI::Widget::Field>
+See L<Reaction::UI::Widget::DisplayField>
=head1 AUTHORS
diff --git a/lib/Reaction/UI/Widget/GridView/Entity.pm b/lib/Reaction/UI/Widget/GridView/Entity.pm
deleted file mode 100644
index 3efc1a4..0000000
--- a/lib/Reaction/UI/Widget/GridView/Entity.pm
+++ /dev/null
@@ -1,52 +0,0 @@
-package Reaction::UI::Widget::GridView::Entity;
-
-use Reaction::UI::WidgetClass;
-
-class Entity, which {
-
- implements fragment field_list {
- render 'field' => over $_{viewport}->fields;
- };
-
- implements fragment field {
- render 'viewport';
- };
-
-};
-
-1;
-
-__END__;
-
-
-=head1 NAME
-
-Reaction::UI::Widget::GridView::Entity
-
-=head1 DESCRIPTION
-
-=head1 FRAGMENTS
-
-=head2 widget
-
-Additional variables available in topic hash: "viewport".
-
-Renders "field_list"
-
-=head2 field_list
-
-Sequentially renders the C<fields> of the viewport as "field"
-
-=head2 field
-
-renders the cell value
-
-=head1 AUTHORS
-
-See L<Reaction::Class> for authors.
-
-=head1 LICENSE
-
-See L<Reaction::Class> for the license.
-
-=cut
diff --git a/lib/Reaction/UI/Widget/ObjectView.pm b/lib/Reaction/UI/Widget/Object.pm
index a3455ba..68b47f3 100644
--- a/lib/Reaction/UI/Widget/ObjectView.pm
+++ b/lib/Reaction/UI/Widget/Object.pm
@@ -1,8 +1,8 @@
-package Reaction::UI::Widget::ObjectView;
+package Reaction::UI::Widget::Object;
use Reaction::UI::WidgetClass;
-class ObjectView, which {
+class Object, which {
implements fragment field_list {
render field => over $_{viewport}->ordered_fields;
@@ -21,7 +21,7 @@ __END__;
=head1 NAME
-Reaction::UI::Widget::ObjectView
+Reaction::UI::Widget::Object
=head1 DESCRIPTION
@@ -29,13 +29,11 @@ Reaction::UI::Widget::ObjectView
=head2 widget
-Additional variables available in topic hash: "viewport".
-
-Renders "field_list"
+Renders C<field_list>
=head2 field_list
-Sequentially renders the C<ordered_fields> of the viewport
+Sequentially renders the C<ordered_fields> of the viewport.
=head1 AUTHORS