fixup widgets to use fragment
[catagits/Reaction.git] / lib / Reaction / UI / Widget / Field / ChooseOne.pm
1 package Reaction::UI::Widget::Field::ChooseOne;
2
3 use Reaction::UI::WidgetClass;
4
5 class ChooseOne is 'Reaction::UI::Widget::Field', which {
6
7   fragment field  [ option over func('viewport', 'value_choices') ],
8     { is_required => sub{ $_{viewport}->attribute->required } };
9
10   fragment option [string {"DUMMY"}],
11     {
12      v_value  => sub { $_->{value} },
13      v_name   => sub { $_->{name}  },
14      is_selected => sub { $_{viewport}->is_current_value($_->{value}) },
15     };
16
17 };
18
19 1;
20
21 __END__;
22
23 =head1 NAME
24
25 Reaction::UI::Widget::Field::ChooseOne
26
27 =head1 DESCRIPTION
28
29 See L<Reaction::UI::Widget::Field>
30
31 =head1 FRAGMENTS
32
33 =head2 field
34
35 Renders a series fragment C<option> for each C<value_choices> in the viewport
36
37 Additional varibles set: C<is_required> - Boolean, self-explanatory
38
39 =head2 option
40
41 C<content> is a dummy variable, but th additional variables C<v_value>, C<v_name>
42 and C<is_selected> are set
43
44 =head1 AUTHORS
45
46 See L<Reaction::Class> for authors.
47
48 =head1 LICENSE
49
50 See L<Reaction::Class> for the license.
51
52 =cut