more Widget updates. this breaks old-style templates, also changed how VPs behave...
[catagits/Reaction.git] / lib / Reaction / UI / Widget / Field.pm
CommitLineData
8f19d042 1package Reaction::UI::Widget::Field;
2
3use Reaction::UI::WidgetClass;
4
5class 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
261;
27