diff options
author | matthewt <matthewt@03d0b0b2-0e1a-0410-a411-fdb2f4bd65d7> | 2008-08-13 11:43:07 +0000 |
---|---|---|
committer | matthewt <matthewt@03d0b0b2-0e1a-0410-a411-fdb2f4bd65d7> | 2008-08-13 11:43:07 +0000 |
commit | bae75beec20b3b73faa2118db8ebfa5b93c9918a (patch) | |
tree | 9a6155b95af1ca9f1fe8db75b5facda89f8a878a /lib/Reaction/UI/Widget/Field | |
parent | a3c28d596b414a9d98d9f60b69d2bb4811fbafc8 (diff) | |
download | reaction-bae75beec20b3b73faa2118db8ebfa5b93c9918a.tar.gz reaction-bae75beec20b3b73faa2118db8ebfa5b93c9918a.zip |
remove class blocks from widget code
Diffstat (limited to 'lib/Reaction/UI/Widget/Field')
24 files changed, 294 insertions, 202 deletions
diff --git a/lib/Reaction/UI/Widget/Field/Array.pm b/lib/Reaction/UI/Widget/Field/Array.pm index cf318c9..d8d8c58 100644 --- a/lib/Reaction/UI/Widget/Field/Array.pm +++ b/lib/Reaction/UI/Widget/Field/Array.pm @@ -2,22 +2,24 @@ package Reaction::UI::Widget::Field::Array; use Reaction::UI::WidgetClass; -class Array, which { +use namespace::clean -except => [ qw(meta) ]; - before fragment widget { - arg 'label' => $_{viewport}->label; - }; - implements fragment list { - render 'item' => over $_{viewport}->value_names; - }; +before fragment widget { + arg 'label' => $_{viewport}->label; +}; - implements fragment item { - arg 'name' => $_; - }; +implements fragment list { + render 'item' => over $_{viewport}->value_names; +}; +implements fragment item { + arg 'name' => $_; }; +__PACKAGE__->meta->make_immutable; + + 1; __END__; diff --git a/lib/Reaction/UI/Widget/Field/Boolean.pm b/lib/Reaction/UI/Widget/Field/Boolean.pm index a205e9f..e53a724 100644 --- a/lib/Reaction/UI/Widget/Field/Boolean.pm +++ b/lib/Reaction/UI/Widget/Field/Boolean.pm @@ -2,9 +2,13 @@ package Reaction::UI::Widget::Field::Boolean; use Reaction::UI::WidgetClass; -class Boolean is 'Reaction::UI::Widget::Field', which { +use namespace::clean -except => [ qw(meta) ]; +extends 'Reaction::UI::Widget::Field'; + + + +__PACKAGE__->meta->make_immutable; -}; 1; diff --git a/lib/Reaction/UI/Widget/Field/Collection.pm b/lib/Reaction/UI/Widget/Field/Collection.pm index 7d01cbb..2cb6c78 100644 --- a/lib/Reaction/UI/Widget/Field/Collection.pm +++ b/lib/Reaction/UI/Widget/Field/Collection.pm @@ -2,22 +2,24 @@ package Reaction::UI::Widget::Field::Collection; use Reaction::UI::WidgetClass; -class Collection, which { +use namespace::clean -except => [ qw(meta) ]; - before fragment widget { - arg 'label' => $_{viewport}->label; - }; - implements fragment list { - render 'item' => over $_{viewport}->value_names; - }; +before fragment widget { + arg 'label' => $_{viewport}->label; +}; - implements fragment item { - arg 'name' => $_; - }; +implements fragment list { + render 'item' => over $_{viewport}->value_names; +}; +implements fragment item { + arg 'name' => $_; }; +__PACKAGE__->meta->make_immutable; + + 1; __END__; diff --git a/lib/Reaction/UI/Widget/Field/DateTime.pm b/lib/Reaction/UI/Widget/Field/DateTime.pm index 0ada1a4..c449e50 100644 --- a/lib/Reaction/UI/Widget/Field/DateTime.pm +++ b/lib/Reaction/UI/Widget/Field/DateTime.pm @@ -2,9 +2,13 @@ package Reaction::UI::Widget::Field::DateTime; use Reaction::UI::WidgetClass; -class DateTime is 'Reaction::UI::Widget::Field', which { +use namespace::clean -except => [ qw(meta) ]; +extends 'Reaction::UI::Widget::Field'; + + + +__PACKAGE__->meta->make_immutable; -}; 1; diff --git a/lib/Reaction/UI/Widget/Field/Image.pm b/lib/Reaction/UI/Widget/Field/Image.pm index 1759d98..839545e 100644 --- a/lib/Reaction/UI/Widget/Field/Image.pm +++ b/lib/Reaction/UI/Widget/Field/Image.pm @@ -2,17 +2,21 @@ package Reaction::UI::Widget::Field::Image; use Reaction::UI::WidgetClass; -class Image is 'Reaction::UI::Widget::Field', which { - - implements fragment image { - if($_{viewport}->value_string) { - arg uri => $_{viewport}->uri; - render 'has_image'; - } else { - render 'no_image'; - } - }; +use namespace::clean -except => [ qw(meta) ]; +extends 'Reaction::UI::Widget::Field'; + + +implements fragment image { + if($_{viewport}->value_string) { + arg uri => $_{viewport}->uri; + render 'has_image'; + } else { + render 'no_image'; + } }; +__PACKAGE__->meta->make_immutable; + + 1; diff --git a/lib/Reaction/UI/Widget/Field/Integer.pm b/lib/Reaction/UI/Widget/Field/Integer.pm index 5b5e724..671227d 100644 --- a/lib/Reaction/UI/Widget/Field/Integer.pm +++ b/lib/Reaction/UI/Widget/Field/Integer.pm @@ -2,9 +2,13 @@ package Reaction::UI::Widget::Field::Integer; use Reaction::UI::WidgetClass; -class Integer is 'Reaction::UI::Widget::Field', which { +use namespace::clean -except => [ qw(meta) ]; +extends 'Reaction::UI::Widget::Field'; + + + +__PACKAGE__->meta->make_immutable; -}; 1; diff --git a/lib/Reaction/UI/Widget/Field/Mutable.pm b/lib/Reaction/UI/Widget/Field/Mutable.pm index 6e6674c..2f9c9da 100644 --- a/lib/Reaction/UI/Widget/Field/Mutable.pm +++ b/lib/Reaction/UI/Widget/Field/Mutable.pm @@ -2,40 +2,44 @@ package Reaction::UI::Widget::Field::Mutable; use Reaction::UI::WidgetClass; -class Mutable is 'Reaction::UI::Widget::Field', which { - - before fragment widget { - arg 'field_id' => event_id 'value_string'; - arg 'field_name' => event_id 'value_string' unless defined $_{field_name}; - arg 'field_type' => 'text'; - arg 'field_class' => "action-field " . $_{viewport}->name; - - # these two are to fire force_events in viewports - # where you can end up without an event for e.g. - # HTML checkbox fields - - arg 'exists_event' => event_id 'exists'; - arg 'exists_value' => 1; - }; - - implements fragment message_fragment { - if (my $message = $_{viewport}->message) { - arg message => $message; - render 'message'; - } - }; - - implements fragment field_is_required { - my $model = $_{viewport}->model; - my $attr = $_{viewport}->attribute; - if ( $model->attribute_is_required($attr) ) { - render 'field_is_required_yes'; - } else { - render 'field_is_required_no'; - } - }; - -}; +use namespace::clean -except => [ qw(meta) ]; +extends 'Reaction::UI::Widget::Field'; + + + + before fragment widget { + arg 'field_id' => event_id 'value_string'; + arg 'field_name' => event_id 'value_string' unless defined $_{field_name}; + arg 'field_type' => 'text'; + arg 'field_class' => "action-field " . $_{viewport}->name; + + # these two are to fire force_events in viewports + # where you can end up without an event for e.g. + # HTML checkbox fields + + arg 'exists_event' => event_id 'exists'; + arg 'exists_value' => 1; + }; + + implements fragment message_fragment { + if (my $message = $_{viewport}->message) { + arg message => $message; + render 'message'; + } + }; + + implements fragment field_is_required { + my $model = $_{viewport}->model; + my $attr = $_{viewport}->attribute; + if ( $model->attribute_is_required($attr) ) { + render 'field_is_required_yes'; + } else { + render 'field_is_required_no'; + } + }; + +__PACKAGE__->meta->make_immutable; + 1; diff --git a/lib/Reaction/UI/Widget/Field/Mutable/Boolean.pm b/lib/Reaction/UI/Widget/Field/Mutable/Boolean.pm index b94eaa0..97c1803 100644 --- a/lib/Reaction/UI/Widget/Field/Mutable/Boolean.pm +++ b/lib/Reaction/UI/Widget/Field/Mutable/Boolean.pm @@ -2,22 +2,26 @@ package Reaction::UI::Widget::Field::Mutable::Boolean; use Reaction::UI::WidgetClass; -class Boolean is 'Reaction::UI::Widget::Field::Mutable', which { - - after fragment widget { - arg 'field_type' => 'checkbox'; - }; - - implements fragment is_checked { - if ($_{viewport}->value_string) { - render 'is_checked_yes'; - } else { - render 'is_checked_no'; - } - }; +use namespace::clean -except => [ qw(meta) ]; +extends 'Reaction::UI::Widget::Field::Mutable'; + + +after fragment widget { + arg 'field_type' => 'checkbox'; +}; + +implements fragment is_checked { + if ($_{viewport}->value_string) { + render 'is_checked_yes'; + } else { + render 'is_checked_no'; + } }; +__PACKAGE__->meta->make_immutable; + + 1; __END__; diff --git a/lib/Reaction/UI/Widget/Field/Mutable/ChooseMany.pm b/lib/Reaction/UI/Widget/Field/Mutable/ChooseMany.pm index 4078bdc..bb80615 100644 --- a/lib/Reaction/UI/Widget/Field/Mutable/ChooseMany.pm +++ b/lib/Reaction/UI/Widget/Field/Mutable/ChooseMany.pm @@ -2,49 +2,53 @@ package Reaction::UI::Widget::Field::Mutable::ChooseMany; use Reaction::UI::WidgetClass; -class ChooseMany is 'Reaction::UI::Widget::Field::Mutable', which { - - implements fragment action_buttons { - foreach my $event ( - qw(add_all_values do_add_values do_remove_values remove_all_values) - ) { - arg "event_id_${event}" => event_id $event; - } - }; - - implements fragment current_values { - my $current_choices = $_{viewport}->current_value_choices; - if( @$current_choices ){ - arg field_name => event_id 'value'; - render hidden_value => over $current_choices; - } else { - arg field_name => event_id 'no_current_value'; - arg '_' => {value => 1}; - render 'hidden_value'; - } - }; - - implements fragment selected_values { - arg event_id_remove_values => event_id 'remove_values'; - render value_option => over $_{viewport}->current_value_choices; - }; - - implements fragment available_values { - arg event_id_add_values => event_id 'add_values'; - render value_option => over $_{viewport}->available_value_choices; - }; - - implements fragment value_option { - arg option_name => $_->{name}; - arg option_value => $_->{value}; - }; - - implements fragment hidden_value { - arg hidden_value => $_->{value}; - }; +use namespace::clean -except => [ qw(meta) ]; +extends 'Reaction::UI::Widget::Field::Mutable'; + + +implements fragment action_buttons { + foreach my $event ( + qw(add_all_values do_add_values do_remove_values remove_all_values) + ) { + arg "event_id_${event}" => event_id $event; + } +}; + +implements fragment current_values { + my $current_choices = $_{viewport}->current_value_choices; + if( @$current_choices ){ + arg field_name => event_id 'value'; + render hidden_value => over $current_choices; + } else { + arg field_name => event_id 'no_current_value'; + arg '_' => {value => 1}; + render 'hidden_value'; + } +}; + +implements fragment selected_values { + arg event_id_remove_values => event_id 'remove_values'; + render value_option => over $_{viewport}->current_value_choices; +}; + +implements fragment available_values { + arg event_id_add_values => event_id 'add_values'; + render value_option => over $_{viewport}->available_value_choices; +}; + +implements fragment value_option { + arg option_name => $_->{name}; + arg option_value => $_->{value}; }; +implements fragment hidden_value { + arg hidden_value => $_->{value}; +}; + +__PACKAGE__->meta->make_immutable; + + 1; __END__; diff --git a/lib/Reaction/UI/Widget/Field/Mutable/ChooseOne.pm b/lib/Reaction/UI/Widget/Field/Mutable/ChooseOne.pm index b0ab7b3..98b9b7d 100644 --- a/lib/Reaction/UI/Widget/Field/Mutable/ChooseOne.pm +++ b/lib/Reaction/UI/Widget/Field/Mutable/ChooseOne.pm @@ -2,35 +2,39 @@ package Reaction::UI::Widget::Field::Mutable::ChooseOne; use Reaction::UI::WidgetClass; -class ChooseOne is 'Reaction::UI::Widget::Field::Mutable', which { - - implements fragment option_is_required { - if ($_{viewport}->value_is_required) { - render 'option_is_required_yes'; - } else { - render 'option_is_required_no'; - } - }; - - implements fragment option_list { - render option => over $_{viewport}->value_choices; - }; - - implements fragment option { - arg option_name => $_->{name}; - arg option_value => $_->{value}; - }; - - implements fragment option_is_selected { - if ($_{viewport}->is_current_value($_->{value})) { - render 'option_is_selected_yes'; - } else { - render 'option_is_selected_no'; - } - }; +use namespace::clean -except => [ qw(meta) ]; +extends 'Reaction::UI::Widget::Field::Mutable'; + + +implements fragment option_is_required { + if ($_{viewport}->value_is_required) { + render 'option_is_required_yes'; + } else { + render 'option_is_required_no'; + } +}; + +implements fragment option_list { + render option => over $_{viewport}->value_choices; +}; + +implements fragment option { + arg option_name => $_->{name}; + arg option_value => $_->{value}; +}; + +implements fragment option_is_selected { + if ($_{viewport}->is_current_value($_->{value})) { + render 'option_is_selected_yes'; + } else { + render 'option_is_selected_no'; + } }; +__PACKAGE__->meta->make_immutable; + + 1; __END__; diff --git a/lib/Reaction/UI/Widget/Field/Mutable/DateTime.pm b/lib/Reaction/UI/Widget/Field/Mutable/DateTime.pm index f4a28e8..ab626fa 100644 --- a/lib/Reaction/UI/Widget/Field/Mutable/DateTime.pm +++ b/lib/Reaction/UI/Widget/Field/Mutable/DateTime.pm @@ -2,13 +2,17 @@ package Reaction::UI::Widget::Field::Mutable::DateTime; use Reaction::UI::WidgetClass; -class DateTime is 'Reaction::UI::Widget::Field::Mutable', which { +use namespace::clean -except => [ qw(meta) ]; +extends 'Reaction::UI::Widget::Field::Mutable'; - after fragment widget { - arg 'field_name' => event_id 'value_string'; - }; -}; + +after fragment widget { + arg 'field_name' => event_id 'value_string'; + }; + +__PACKAGE__->meta->make_immutable; + 1; diff --git a/lib/Reaction/UI/Widget/Field/Mutable/File.pm b/lib/Reaction/UI/Widget/Field/Mutable/File.pm index 42c1137..b8d399f 100644 --- a/lib/Reaction/UI/Widget/Field/Mutable/File.pm +++ b/lib/Reaction/UI/Widget/Field/Mutable/File.pm @@ -2,14 +2,18 @@ package Reaction::UI::Widget::Field::Mutable::File; use Reaction::UI::WidgetClass; -class File is 'Reaction::UI::Widget::Field::Mutable', which { +use namespace::clean -except => [ qw(meta) ]; +extends 'Reaction::UI::Widget::Field::Mutable'; - after fragment widget { - arg field_type => 'file'; - }; + +after fragment widget { + arg field_type => 'file'; }; +__PACKAGE__->meta->make_immutable; + + 1; __END__; diff --git a/lib/Reaction/UI/Widget/Field/Mutable/HiddenArray.pm b/lib/Reaction/UI/Widget/Field/Mutable/HiddenArray.pm index 82d2965..0cecc5e 100644 --- a/lib/Reaction/UI/Widget/Field/Mutable/HiddenArray.pm +++ b/lib/Reaction/UI/Widget/Field/Mutable/HiddenArray.pm @@ -3,18 +3,22 @@ package Reaction::UI::Widget::Field::Mutable::HiddenArray; use Reaction::UI::WidgetClass; #move this to a normal list and let the hidden part be decided by the template.. -class HiddenArray is 'Reaction::UI::Widget::Field::Mutable', which { +use namespace::clean -except => [ qw(meta) ]; +extends 'Reaction::UI::Widget::Field::Mutable'; - implements fragment hidden_list { - render hidden_field => over $_{viewport}->value; - }; - implements fragment hidden_field { - arg field_value => $_; - }; +implements fragment hidden_list { + render hidden_field => over $_{viewport}->value; }; +implements fragment hidden_field { + arg field_value => $_; +}; + +__PACKAGE__->meta->make_immutable; + + 1; __END__; diff --git a/lib/Reaction/UI/Widget/Field/Mutable/Integer.pm b/lib/Reaction/UI/Widget/Field/Mutable/Integer.pm index 677082d..5125eab 100644 --- a/lib/Reaction/UI/Widget/Field/Mutable/Integer.pm +++ b/lib/Reaction/UI/Widget/Field/Mutable/Integer.pm @@ -2,9 +2,13 @@ package Reaction::UI::Widget::Field::Mutable::Integer; use Reaction::UI::WidgetClass; -class Integer is 'Reaction::UI::Widget::Field::Mutable', which { +use namespace::clean -except => [ qw(meta) ]; +extends 'Reaction::UI::Widget::Field::Mutable'; + + + +__PACKAGE__->meta->make_immutable; -}; 1; diff --git a/lib/Reaction/UI/Widget/Field/Mutable/MatchingPasswords.pm b/lib/Reaction/UI/Widget/Field/Mutable/MatchingPasswords.pm index 02ec220..2812f89 100644 --- a/lib/Reaction/UI/Widget/Field/Mutable/MatchingPasswords.pm +++ b/lib/Reaction/UI/Widget/Field/Mutable/MatchingPasswords.pm @@ -3,23 +3,27 @@ package Reaction::UI::Widget::Field::Mutable::MatchingPasswords; use Reaction::UI::WidgetClass; use aliased 'Reaction::UI::Widget::Field::Mutable::Password'; -class MatchingPasswords is Password, which { +use namespace::clean -except => [ qw(meta) ]; +extends Password; - implements fragment check_field { - arg 'field_id' => event_id 'check_value'; - arg 'field_name' => event_id 'check_value'; - arg 'label' => 'Confirm:'; - render 'field'; #piggyback! - }; - implements fragment check_label { - if (my $label = $_{viewport}->check_label) { - arg label => $label; - render 'label'; - } - }; +implements fragment check_field { + arg 'field_id' => event_id 'check_value'; + arg 'field_name' => event_id 'check_value'; + arg 'label' => 'Confirm:'; + render 'field'; #piggyback! +}; +implements fragment check_label { + if (my $label = $_{viewport}->check_label) { + arg label => $label; + render 'label'; + } }; + +__PACKAGE__->meta->make_immutable; + + 1; diff --git a/lib/Reaction/UI/Widget/Field/Mutable/Number.pm b/lib/Reaction/UI/Widget/Field/Mutable/Number.pm index d73079c..2ee3f46 100644 --- a/lib/Reaction/UI/Widget/Field/Mutable/Number.pm +++ b/lib/Reaction/UI/Widget/Field/Mutable/Number.pm @@ -2,9 +2,13 @@ package Reaction::UI::Widget::Field::Mutable::Number; use Reaction::UI::WidgetClass; -class Number is 'Reaction::UI::Widget::Field::Mutable', which { +use namespace::clean -except => [ qw(meta) ]; +extends 'Reaction::UI::Widget::Field::Mutable'; + + + +__PACKAGE__->meta->make_immutable; -}; 1; diff --git a/lib/Reaction/UI/Widget/Field/Mutable/Password.pm b/lib/Reaction/UI/Widget/Field/Mutable/Password.pm index 890770e..e83b564 100644 --- a/lib/Reaction/UI/Widget/Field/Mutable/Password.pm +++ b/lib/Reaction/UI/Widget/Field/Mutable/Password.pm @@ -2,16 +2,20 @@ package Reaction::UI::Widget::Field::Mutable::Password; use Reaction::UI::WidgetClass; -class Password is 'Reaction::UI::Widget::Field::Mutable', which { +use namespace::clean -except => [ qw(meta) ]; +extends 'Reaction::UI::Widget::Field::Mutable'; - around fragment widget { - call_next; - arg field_type => 'password'; - arg field_value => ''; # no sending password to user. really. - }; + +around fragment widget { + call_next; + arg field_type => 'password'; + arg field_value => ''; # no sending password to user. really. }; +__PACKAGE__->meta->make_immutable; + + 1; __END__; diff --git a/lib/Reaction/UI/Widget/Field/Mutable/String.pm b/lib/Reaction/UI/Widget/Field/Mutable/String.pm index 7405c4a..f93a087 100644 --- a/lib/Reaction/UI/Widget/Field/Mutable/String.pm +++ b/lib/Reaction/UI/Widget/Field/Mutable/String.pm @@ -2,9 +2,13 @@ package Reaction::UI::Widget::Field::Mutable::String; use Reaction::UI::WidgetClass; -class String is 'Reaction::UI::Widget::Field::Mutable', which { +use namespace::clean -except => [ qw(meta) ]; +extends 'Reaction::UI::Widget::Field::Mutable'; + + + +__PACKAGE__->meta->make_immutable; -}; 1; diff --git a/lib/Reaction/UI/Widget/Field/Mutable/Text.pm b/lib/Reaction/UI/Widget/Field/Mutable/Text.pm index 2cb7134..d902f18 100644 --- a/lib/Reaction/UI/Widget/Field/Mutable/Text.pm +++ b/lib/Reaction/UI/Widget/Field/Mutable/Text.pm @@ -2,9 +2,13 @@ package Reaction::UI::Widget::Field::Mutable::Text; use Reaction::UI::WidgetClass; -class Text is 'Reaction::UI::Widget::Field::Mutable', which { +use namespace::clean -except => [ qw(meta) ]; +extends 'Reaction::UI::Widget::Field::Mutable'; + + + +__PACKAGE__->meta->make_immutable; -}; 1; diff --git a/lib/Reaction/UI/Widget/Field/Mutable/TimeRange.pm b/lib/Reaction/UI/Widget/Field/Mutable/TimeRange.pm index 0cdb4aa..aad4895 100644 --- a/lib/Reaction/UI/Widget/Field/Mutable/TimeRange.pm +++ b/lib/Reaction/UI/Widget/Field/Mutable/TimeRange.pm @@ -2,9 +2,13 @@ package Reaction::UI::Widget::Field::Mutable::TimeRange; use Reaction::UI::WidgetClass; -class TimeRange is 'Reaction::UI::Widget::Field::Mutable', which { +use namespace::clean -except => [ qw(meta) ]; +extends 'Reaction::UI::Widget::Field::Mutable'; + + + +__PACKAGE__->meta->make_immutable; -}; 1; diff --git a/lib/Reaction/UI/Widget/Field/Number.pm b/lib/Reaction/UI/Widget/Field/Number.pm index 0691768..a986afd 100644 --- a/lib/Reaction/UI/Widget/Field/Number.pm +++ b/lib/Reaction/UI/Widget/Field/Number.pm @@ -2,9 +2,13 @@ package Reaction::UI::Widget::Field::Number; use Reaction::UI::WidgetClass; -class Number is 'Reaction::UI::Widget::Field', which { +use namespace::clean -except => [ qw(meta) ]; +extends 'Reaction::UI::Widget::Field'; + + + +__PACKAGE__->meta->make_immutable; -}; 1; diff --git a/lib/Reaction/UI/Widget/Field/RelatedObject.pm b/lib/Reaction/UI/Widget/Field/RelatedObject.pm index 010e7c0..0fd0938 100644 --- a/lib/Reaction/UI/Widget/Field/RelatedObject.pm +++ b/lib/Reaction/UI/Widget/Field/RelatedObject.pm @@ -2,9 +2,13 @@ package Reaction::UI::Widget::Field::RelatedObject; use Reaction::UI::WidgetClass; -class RelatedObject is 'Reaction::UI::Widget::Field', which { +use namespace::clean -except => [ qw(meta) ]; +extends 'Reaction::UI::Widget::Field'; + + + +__PACKAGE__->meta->make_immutable; -}; 1; diff --git a/lib/Reaction/UI/Widget/Field/String.pm b/lib/Reaction/UI/Widget/Field/String.pm index 023c082..3a4a4ae 100644 --- a/lib/Reaction/UI/Widget/Field/String.pm +++ b/lib/Reaction/UI/Widget/Field/String.pm @@ -2,9 +2,13 @@ package Reaction::UI::Widget::Field::String; use Reaction::UI::WidgetClass; -class String is 'Reaction::UI::Widget::Field', which { +use namespace::clean -except => [ qw(meta) ]; +extends 'Reaction::UI::Widget::Field'; + + + +__PACKAGE__->meta->make_immutable; -}; 1; diff --git a/lib/Reaction/UI/Widget/Field/Text.pm b/lib/Reaction/UI/Widget/Field/Text.pm index 9d5e603..293c6da 100644 --- a/lib/Reaction/UI/Widget/Field/Text.pm +++ b/lib/Reaction/UI/Widget/Field/Text.pm @@ -2,9 +2,13 @@ package Reaction::UI::Widget::Field::Text; use Reaction::UI::WidgetClass; -class Text is 'Reaction::UI::Widget::Field', which { +use namespace::clean -except => [ qw(meta) ]; +extends 'Reaction::UI::Widget::Field'; + + + +__PACKAGE__->meta->make_immutable; -}; 1; |