Commit | Line | Data |
8f19d042 |
1 | package Reaction::UI::Widget::Field; |
2 | |
3 | use Reaction::UI::WidgetClass; |
4 | |
5 | class Field, which { |
6 | |
7 | has id => (isa => 'Str', is => 'ro', lazy_build => 1); |
8 | has name => (isa => 'Str', is => 'ro', lazy_build => 1); |
9 | |
10 | implements build_id => as { shift->viewport->event_id_for('value'); }; |
11 | implements build_name => as { shift->viewport->event_id_for('value'); }; |
12 | |
13 | widget renders [qw/label field message/ |
14 | => { id => func('self', 'id'), |
15 | name => func('self', 'name'), |
16 | viewport => func('self', 'viewport'), } |
17 | ]; |
18 | |
19 | label renders [ string { $_{viewport}->label }, ]; |
20 | message renders [ string { $_{viewport}->message }, ]; |
21 | |
22 | field renders [ string { $_{viewport}->value }, ]; |
23 | |
24 | }; |
25 | |
26 | 1; |
27 | |