diff options
-rw-r--r-- | lib/Reaction/UI/Controller.pm | 2 | ||||
-rw-r--r-- | lib/Reaction/UI/ViewPort/Action/Link.pm | 2 | ||||
-rw-r--r-- | lib/Reaction/UI/ViewPort/Collection.pm | 5 | ||||
-rw-r--r-- | lib/Reaction/UI/ViewPort/Object.pm | 5 |
4 files changed, 8 insertions, 6 deletions
diff --git a/lib/Reaction/UI/Controller.pm b/lib/Reaction/UI/Controller.pm index 9093fd3..a6ff6ef 100644 --- a/lib/Reaction/UI/Controller.pm +++ b/lib/Reaction/UI/Controller.pm @@ -22,7 +22,7 @@ sub push_viewport { if (my $conf_class = delete $vp_attr->{class}) { $class = $conf_class; } - %args = (%$vp_attr, @proto_args); + %args = %{ $self->merge_config_hashes($vp_attr, {@proto_args}) }; } else { $class = $vp_attr; %args = @proto_args; diff --git a/lib/Reaction/UI/ViewPort/Action/Link.pm b/lib/Reaction/UI/ViewPort/Action/Link.pm index 8bc8da8..c364fd7 100644 --- a/lib/Reaction/UI/ViewPort/Action/Link.pm +++ b/lib/Reaction/UI/ViewPort/Action/Link.pm @@ -10,7 +10,7 @@ class Link is 'Reaction::UI::ViewPort', which { has target => (isa => 'Object', is => 'rw', required => 1); has action => (isa => 'CodeRef', is => 'rw', required => 1); - implements BUILD => as{ + implements BUILD => as { my $self = shift; $self->label( $self->label->($self->target) ) if ref $self->label eq 'CODE'; }; diff --git a/lib/Reaction/UI/ViewPort/Collection.pm b/lib/Reaction/UI/ViewPort/Collection.pm index eba5f80..35701c5 100644 --- a/lib/Reaction/UI/ViewPort/Collection.pm +++ b/lib/Reaction/UI/ViewPort/Collection.pm @@ -17,8 +17,9 @@ class Collection is 'Reaction::UI::ViewPort', which { implements BUILD => as { my ($self, $args) = @_; - my $member_args = delete $args->{Member}; - $self->member_args( $member_args ) if ref $member_args; + if( my $member_args = delete $args->{Member} ){ + $self->member_args( $member_args ); + } }; implements _build_member_args => as{ {} }; diff --git a/lib/Reaction/UI/ViewPort/Object.pm b/lib/Reaction/UI/ViewPort/Object.pm index c3bdd3c..5c56e90 100644 --- a/lib/Reaction/UI/ViewPort/Object.pm +++ b/lib/Reaction/UI/ViewPort/Object.pm @@ -31,8 +31,9 @@ class Object is 'Reaction::UI::ViewPort', which { implements BUILD => as { my ($self, $args) = @_; - my $field_args = delete $args->{Field}; - $self->field_args( $field_args ) if ref $field_args; + if( my $field_args = delete $args->{Field} ){ + $self->field_args( $field_args ); + } }; implements _build_excluded_fields => as { [] }; |