aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ComponentUI/View
diff options
context:
space:
mode:
authorgroditi <groditi@03d0b0b2-0e1a-0410-a411-fdb2f4bd65d7>2007-09-29 20:40:12 +0000
committergroditi <groditi@03d0b0b2-0e1a-0410-a411-fdb2f4bd65d7>2007-09-29 20:40:12 +0000
commit6ab43711ccd779eedce107001b300043e2056a0c (patch)
treeedb162ef7eaaf0aeda8a3e8fac49e4d07a637df8 /lib/ComponentUI/View
parentff460bc0b2bc0dc060f45cc8ac9e85d275fabcd0 (diff)
downloadreaction-6ab43711ccd779eedce107001b300043e2056a0c.tar.gz
reaction-6ab43711ccd779eedce107001b300043e2056a0c.zip
It is starting to look like this may actually work after all. Listview is the only one left i think, although the bar tests are still giving me trouble. TODO: add to the collection actions a truncate action. should be useful
Diffstat (limited to 'lib/ComponentUI/View')
-rw-r--r--lib/ComponentUI/View/Site.pm36
-rw-r--r--lib/ComponentUI/View/Site/Widget/Index.pm11
-rw-r--r--lib/ComponentUI/View/Site/Widget/Layout.pm17
3 files changed, 64 insertions, 0 deletions
diff --git a/lib/ComponentUI/View/Site.pm b/lib/ComponentUI/View/Site.pm
new file mode 100644
index 0000000..cbb2d28
--- /dev/null
+++ b/lib/ComponentUI/View/Site.pm
@@ -0,0 +1,36 @@
+package ComponentUI::View::Site;
+
+use Reaction::Class;
+use aliased 'Reaction::UI::View::TT';
+
+class Site is TT, which {
+
+};
+
+
+use Class::MOP;
+
+{
+ my @reflect_widgets = qw(ActionForm ObjectView ListView
+ Field::File
+ Field::Password
+ Field::Text DisplayField::Text
+ Field::Number DisplayField::Number
+ Field::String DisplayField::String
+ Field::Boolean DisplayField::Boolean
+ Field::DateTime DisplayField::DateTime
+ Field::ChooseOne DisplayField::RelatedObject
+ Field::ChooseMany DisplayField::Collection
+ Field::HiddenArray DisplayField::List
+ );
+
+
+ for (@reflect_widgets){
+ my $base = "Reaction::UI::Widget::${_}";
+ my $target = "ComponentUI::View::Site::Widget::${_}";
+ Class::MOP::load_class( $base );
+ $base->meta->create($target, superclasses => [$base]);
+ }
+}
+
+1;
diff --git a/lib/ComponentUI/View/Site/Widget/Index.pm b/lib/ComponentUI/View/Site/Widget/Index.pm
new file mode 100644
index 0000000..21175ae
--- /dev/null
+++ b/lib/ComponentUI/View/Site/Widget/Index.pm
@@ -0,0 +1,11 @@
+package ComponentUI::View::Site::Widget::Index;
+
+use Reaction::UI::WidgetClass;
+
+class Index which {
+
+ widget renders [ string {"DUMMY"} ];
+
+};
+
+1;
diff --git a/lib/ComponentUI/View/Site/Widget/Layout.pm b/lib/ComponentUI/View/Site/Widget/Layout.pm
new file mode 100644
index 0000000..380a03a
--- /dev/null
+++ b/lib/ComponentUI/View/Site/Widget/Layout.pm
@@ -0,0 +1,17 @@
+package ComponentUI::View::Site::Widget::Layout;
+
+use Reaction::UI::WidgetClass;
+
+class Layout which {
+
+ widget renders [ qw(menu sidebar header main_content) =>
+ { viewport => func('self', 'viewport') } ];
+
+ menu renders [ string { "DUMMY" } ];
+ sidebar renders [ string { "Sidebar Shit" } ];
+ header renders [ string { "DUMMY" } ];
+ main_content renders [ viewport over func('viewport', 'inner')];
+
+};
+
+1;