Commit | Line | Data |
---|---|---|
c8fbb8ad | 1 | package Reaction::UI::Widget::Field::Array; |
7b78a39d | 2 | |
3 | use Reaction::UI::WidgetClass; | |
4 | ||
bae75bee | 5 | use namespace::clean -except => [ qw(meta) ]; |
d7b00a50 | 6 | |
d7b00a50 | 7 | |
bae75bee | 8 | before fragment widget { |
d219104c | 9 | arg 'label' => localized $_{viewport}->label; |
bae75bee | 10 | }; |
d7b00a50 | 11 | |
bae75bee | 12 | implements fragment list { |
13 | render 'item' => over $_{viewport}->value_names; | |
14 | }; | |
d7b00a50 | 15 | |
bae75bee | 16 | implements fragment item { |
d219104c | 17 | arg 'name' => localized $_; |
7b78a39d | 18 | }; |
19 | ||
bae75bee | 20 | __PACKAGE__->meta->make_immutable; |
21 | ||
22 | ||
7b78a39d | 23 | 1; |
24 | ||
25 | __END__; | |
26 | ||
5a1a893e | 27 | =head1 NAME |
7b78a39d | 28 | |
f9b32c83 | 29 | Reaction::UI::Widget::Field::Array - A field representing an array of localised items |
7b78a39d | 30 | |
5a1a893e | 31 | =head1 DESCRIPTION |
7b78a39d | 32 | |
f9b32c83 | 33 | See L<Reaction::UI::Widget::Field::Collection>, of which this widget is not a subclass. |
34 | ||
5a1a893e | 35 | =head1 FRAGMENTS |
7b78a39d | 36 | |
5a1a893e | 37 | =head2 widget |
7b78a39d | 38 | |
5a1a893e | 39 | renders C<label> and C<list> passing additional variable "viewport" |
7b78a39d | 40 | |
5a1a893e | 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. | |
7b78a39d | 60 | |
61 | =cut |