From 99535516a8275b3c98a90cb037d2c88219c2b756 Mon Sep 17 00:00:00 2001 From: groditi Date: Fri, 10 Jul 2009 20:42:51 +0000 Subject: String fragment viewport --- lib/ComponentUI/Controller/TestModel/Baz.pm | 12 ++++++++++- lib/ComponentUI/UI/ViewPort/Baz/ListView/Member.pm | 23 ++++++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 lib/ComponentUI/UI/ViewPort/Baz/ListView/Member.pm (limited to 'lib/ComponentUI') diff --git a/lib/ComponentUI/Controller/TestModel/Baz.pm b/lib/ComponentUI/Controller/TestModel/Baz.pm index 2fece5a..6c88792 100644 --- a/lib/ComponentUI/Controller/TestModel/Baz.pm +++ b/lib/ComponentUI/Controller/TestModel/Baz.pm @@ -2,6 +2,7 @@ package ComponentUI::Controller::TestModel::Baz; use base 'Reaction::UI::Controller::Collection::CRUD'; use Reaction::Class; +use ComponentUI::UI::ViewPort::Baz::ListView::Member; __PACKAGE__->config( model_name => 'TestModel', @@ -10,7 +11,16 @@ __PACKAGE__->config( base => { Chained => '/base', PathPart => 'testmodel/baz' }, list => { ViewPort => { - enable_order_by => [qw/id name/], + enable_order_by => [qw/id name bool_field description/], + member_class => 'ComponentUI::UI::ViewPort::Baz::ListView::Member', + Member => { + Field => { + description => { + max_length => 40, + layout => 'value/string', + }, + }, + }, }, }, }, diff --git a/lib/ComponentUI/UI/ViewPort/Baz/ListView/Member.pm b/lib/ComponentUI/UI/ViewPort/Baz/ListView/Member.pm new file mode 100644 index 0000000..26740ce --- /dev/null +++ b/lib/ComponentUI/UI/ViewPort/Baz/ListView/Member.pm @@ -0,0 +1,23 @@ +package ComponentUI::UI::ViewPort::Baz::ListView::Member; + +use Reaction::Class; +use namespace::clean -except => [ qw(meta) ]; +use aliased 'Reaction::UI::ViewPort::Field::String::Fragment'; + +extends 'Reaction::UI::ViewPort::Collection::Grid::Member::WithActions'; + +sub _build_layout { + 'collection/grid/member/with_actions'; +} + +sub _build_fields_for_name_description { + my ($self, $attr, $args) = @_; + $self->_build_simple_field(attribute => $attr, class => Fragment, %$args); +} + +__PACKAGE__->meta->make_immutable; + +1; + +__END__; + -- cgit v1.2.3-54-g00ecf