aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Reaction/UI/Widget/Field/Container.pm
blob: ba7fa28341ac5ffb5ee5af4fd010f123c66fcd41 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package Reaction::UI::Widget::Field::Container;

use Reaction::UI::WidgetClass;

use namespace::clean -except => [ qw(meta) ];

before fragment widget {
  arg name  => $_{viewport}->name;
};

implements fragment maybe_label {
  return unless $_{viewport}->has_label;
  arg label => $_{viewport}->label;
  render 'label';
};

implements fragment field_list {
  render field => over $_{viewport}->fields;
};

implements fragment field {
  render 'viewport';
};

__PACKAGE__->meta->make_immutable;

1;

__END__;

=head1 NAME

Reaction::UI::Widget::Field::Container

=head1 DESCRIPTION

=head1 FRAGMENTS

=head2 field_list

Sequentially renders the C<fields> of the viewport;

=head2 field

Renders the C<field> viewport passed by C<field_list>

=head1 AUTHORS

See L<Reaction::Class> for authors.

=head1 LICENSE

See L<Reaction::Class> for the license.

=cut