X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FReaction%2FUI%2FWidget%2FField%2FChooseMany.pm;h=689ad5c66b1afb2b9141d92c8f52bb5cdbcdf2d5;hb=da590aa1d089663564101c76cadd3d2d2ad19205;hp=efb100d98876188e932a4839ff4c71650c00e081;hpb=8d80af1678b87d06a3109bfe6db3cb65b6b10dbf;p=catagits%2FReaction.git diff --git a/lib/Reaction/UI/Widget/Field/ChooseMany.pm b/lib/Reaction/UI/Widget/Field/ChooseMany.pm index efb100d..689ad5c 100644 --- a/lib/Reaction/UI/Widget/Field/ChooseMany.pm +++ b/lib/Reaction/UI/Widget/Field/ChooseMany.pm @@ -4,22 +4,15 @@ use Reaction::UI::WidgetClass; class ChooseMany is 'Reaction::UI::Widget::Field', 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; - } - }; + fragment field [qw/available_values action_buttons selected_values current_values/]; - implements fragment current_values { - render hidden_value => over $_{viewport}->current_value_choices; - }; + fragment current_values [ hidden_value => over func('viewport', 'current_value_choices') ]; + fragment hidden_value [ string { $_->{value} } ]; - implements fragment selected_values { - arg event_id_remove_values => event_id 'remove_values'; - render value_option => over $_{viewport}->current_value_choices; - }; + fragment available_values [ option => over func('viewport', 'available_value_choices') ]; + fragment selected_values [ option => over func('viewport', 'current_value_choices') ]; + fragment option [string {"DUMMY"}], { v_value => sub {$_->{value}}, v_name => sub {$_->{name}} }; + fragment action_buttons [ string {"DUMMY"} ]; implements fragment available_values { arg event_id_add_values => event_id 'add_values';