diff options
author | groditi <groditi@03d0b0b2-0e1a-0410-a411-fdb2f4bd65d7> | 2007-09-29 20:40:12 +0000 |
---|---|---|
committer | groditi <groditi@03d0b0b2-0e1a-0410-a411-fdb2f4bd65d7> | 2007-09-29 20:40:12 +0000 |
commit | 6ab43711ccd779eedce107001b300043e2056a0c (patch) | |
tree | edb162ef7eaaf0aeda8a3e8fac49e4d07a637df8 /lib/ComponentUI/View | |
parent | ff460bc0b2bc0dc060f45cc8ac9e85d275fabcd0 (diff) | |
download | reaction-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.pm | 36 | ||||
-rw-r--r-- | lib/ComponentUI/View/Site/Widget/Index.pm | 11 | ||||
-rw-r--r-- | lib/ComponentUI/View/Site/Widget/Layout.pm | 17 |
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; |