diff options
Diffstat (limited to 'lib/Reaction')
-rw-r--r-- | lib/Reaction/Class.pm | 2 | ||||
-rw-r--r-- | lib/Reaction/Object.pm | 2 | ||||
-rw-r--r-- | lib/Reaction/UI/Controller.pm | 3 | ||||
-rw-r--r-- | lib/Reaction/UI/Skin.pm | 3 | ||||
-rw-r--r-- | lib/Reaction/UI/ViewPort/ListViewWithSearch.pm | 2 | ||||
-rw-r--r-- | lib/Reaction/UI/ViewPort/Role/Actions.pm | 2 | ||||
-rw-r--r-- | lib/Reaction/UI/ViewPort/SearchableListViewContainer.pm | 2 |
7 files changed, 11 insertions, 5 deletions
diff --git a/lib/Reaction/Class.pm b/lib/Reaction/Class.pm index a57dcdf..9f61bbf 100644 --- a/lib/Reaction/Class.pm +++ b/lib/Reaction/Class.pm @@ -233,6 +233,8 @@ sub next_import { sub next_import_package { 'Moose' } +__PACKAGE__->meta->make_immutable; + 1; #---------#---------#---------#---------#---------#---------#---------#--------# diff --git a/lib/Reaction/Object.pm b/lib/Reaction/Object.pm index 7440bd3..de4c740 100644 --- a/lib/Reaction/Object.pm +++ b/lib/Reaction/Object.pm @@ -7,6 +7,8 @@ use Moose qw(extends); extends 'Moose::Object'; +__PACKAGE__->meta->make_immutable; + no Moose; 1; diff --git a/lib/Reaction/UI/Controller.pm b/lib/Reaction/UI/Controller.pm index 8ed781f..2d1b843 100644 --- a/lib/Reaction/UI/Controller.pm +++ b/lib/Reaction/UI/Controller.pm @@ -11,7 +11,8 @@ with 'Catalyst::Component::InstancePerContext'; sub build_per_context_instance { my ($self, $c, @args) = @_; - my $newself = $self->new($self->_application, {%$self, context => $c, @args}); + my $class = ref($self) || $self; + my $newself = $class->new($self->_application, {%$self, context => $c, @args}); return $newself; } diff --git a/lib/Reaction/UI/Skin.pm b/lib/Reaction/UI/Skin.pm index 237279d..0683258 100644 --- a/lib/Reaction/UI/Skin.pm +++ b/lib/Reaction/UI/Skin.pm @@ -71,6 +71,7 @@ sub _find_skin_dir { }; sub _load_skin_config { my ($self, $args) = @_; + my $class = ref($self) || $self; my $base = $self->skin_dir; my $lst = sub { (ref $_[0] eq 'ARRAY') ? $_[0] : [$_[0]] }; my @files = ( @@ -84,7 +85,7 @@ sub _load_skin_config { })} ); if (my $super_name = $cfg{extends}) { - my $super = $self->new( + my $super = $class->new( name => $super_name, view => $self->view, skin_base_dir => $args->{skin_base_dir}, diff --git a/lib/Reaction/UI/ViewPort/ListViewWithSearch.pm b/lib/Reaction/UI/ViewPort/ListViewWithSearch.pm index ee5f738..c199f7d 100644 --- a/lib/Reaction/UI/ViewPort/ListViewWithSearch.pm +++ b/lib/Reaction/UI/ViewPort/ListViewWithSearch.pm @@ -6,8 +6,6 @@ extends 'Reaction::UI::ViewPort::Collection::Grid'; with 'Reaction::UI::ViewPort::Collection::Role::UseSearchSpec'; with 'Reaction::UI::ViewPort::Collection::Role::Order'; -with 'Reaction::UI::ViewPort::Collection::Role::Pager'; -with 'Reaction::UI::ViewPort::Role::Actions'; __PACKAGE__->meta->make_immutable; diff --git a/lib/Reaction/UI/ViewPort/Role/Actions.pm b/lib/Reaction/UI/ViewPort/Role/Actions.pm index 32c7bbb..89b5ae3 100644 --- a/lib/Reaction/UI/ViewPort/Role/Actions.pm +++ b/lib/Reaction/UI/ViewPort/Role/Actions.pm @@ -62,12 +62,14 @@ sub _build_actions { my $uri = $proto->{uri} or confess('uri is required in prototype action'); my $label = exists $proto->{label} ? $proto->{label} : $proto_name; my $layout = exists $proto->{layout} ? $proto->{layout} : 'uri'; + my $layout_args = exists $proto->{layout_args} ? $proto->{layout_args} : {}; my $action = Reaction::UI::ViewPort::URI->new( location => join ('-', $loc, 'action', $i++), uri => ( ref($uri) eq 'CODE' ? $uri->($target, $ctx) : $uri ), display => ( ref($label) eq 'CODE' ? $label->($target, $ctx) : $label ), layout => ( ref($layout) eq 'CODE' ? $layout->($target, $ctx) : $layout ), + layout_args => ( ref($layout_args) eq 'CODE' ? $layout_args->($target, $ctx) : $layout_args ), ); push(@act, $action); } diff --git a/lib/Reaction/UI/ViewPort/SearchableListViewContainer.pm b/lib/Reaction/UI/ViewPort/SearchableListViewContainer.pm index d83941b..4468275 100644 --- a/lib/Reaction/UI/ViewPort/SearchableListViewContainer.pm +++ b/lib/Reaction/UI/ViewPort/SearchableListViewContainer.pm @@ -74,7 +74,7 @@ override BUILDARGS => sub { }; override child_event_sinks => method () { - ((map $self->$_, 'listview', 'search_form'), super); + ((map $self->$_, 'search_form', 'listview'), super); }; 1; |