1 package Reaction::UI::Widget::Field::Mutable::ChooseMany;
3 use Reaction::UI::WidgetClass;
5 class ChooseMany is 'Reaction::UI::Widget::Field::Mutable', which {
7 implements fragment action_buttons {
9 qw(add_all_values do_add_values do_remove_values remove_all_values)
11 arg "event_id_${event}" => event_id $event;
15 implements fragment current_values {
16 render hidden_value => over $_{viewport}->current_value_choices;
19 implements fragment selected_values {
20 arg event_id_remove_values => event_id 'remove_values';
21 render value_option => over $_{viewport}->current_value_choices;
24 implements fragment available_values {
25 arg event_id_add_values => event_id 'add_values';
26 render value_option => over $_{viewport}->available_value_choices;
29 implements fragment value_option {
30 arg option_name => $_->{name};
31 arg option_value => $_->{value};
34 implements fragment hidden_value {
35 arg hidden_value => $_->{value};
46 Reaction::UI::Widget::Field::ChooseMany
50 See L<Reaction::UI::Widget::Field>
52 This needs a refactor to not be tied to a dual select box, but ENOTIME
58 renders C<available_values>, C<action_buttons>, C<selected_values> and C<current_values>
62 renders the viewport's current_value_choices over hidden_value
66 C<content> is the value of the current choice
68 =head2 available_value
70 rendersthe viewport's current_available_value_choices over the option fragment
74 rendersthe viewport's current_selected_value_choices over the option fragment
78 C<content> is a dummy value but C<v_value> and C<v_name> are both set.
82 See L<Reaction::Class> for authors.
86 See L<Reaction::Class> for the license.