f80bf6732404edec79d6236b7e4a430ee716c004
[catagits/Reaction.git] / lib / Reaction / UI / Widget / Field / Array.pm
1 package Reaction::UI::Widget::Field::Array;
2
3 use Reaction::UI::WidgetClass;
4
5 use namespace::clean -except => [ qw(meta) ];
6
7
8 before fragment widget {
9   arg 'label' => localized $_{viewport}->label;
10 };
11
12 implements fragment list {
13   render 'item' => over $_{viewport}->value_names;
14 };
15
16 implements fragment item {
17   arg 'name' => localized $_;
18 };
19
20 __PACKAGE__->meta->make_immutable;
21
22
23 1;
24
25 __END__;
26
27 =head1 NAME
28
29 Reaction::UI::Widget::Field::Array - A field representing an array of localised items
30
31 =head1 DESCRIPTION
32
33 See L<Reaction::UI::Widget::Field::Collection>, of which this widget is not a subclass.
34
35 =head1 FRAGMENTS
36
37 =head2 widget
38
39 renders C<label> and C<list> passing additional variable "viewport"
40
41 =head2 label
42
43 C<content> contains the viewport's label
44
45 =head2 list
46
47 renders fragment item over the viewport's C<value_names>
48
49 =head2 item
50
51 C<content> contains the value of the current item ($_ / $_{_})
52
53 =head1 AUTHORS
54
55 See L<Reaction::Class> for authors.
56
57 =head1 LICENSE
58
59 See L<Reaction::Class> for the license.
60
61 =cut