remove class blocks from widget code
[catagits/Reaction.git] / lib / Reaction / UI / Widget / Field / Mutable / ChooseMany.pm
index 2f938d6..bb80615 100644 (file)
@@ -2,48 +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 ){
-      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__;