TODO. please add tasks as appropriate since IRC is not a permanent place for importan...
[catagits/Reaction.git] / lib / Reaction / UI / Widget / Field / Mutable.pm
CommitLineData
2f670e13 1package Reaction::UI::Widget::Field::Mutable;
2
3use Reaction::UI::WidgetClass;
4
36d54b14 5class Mutable is 'Reaction::UI::Widget::Field', which {
2f670e13 6
7 before fragment widget {
62ffa273 8 arg 'field_id' => event_id 'value_string';
9 arg 'field_name' => event_id 'value_string' unless defined $_{field_name};
2f670e13 10 arg 'field_type' => 'text';
11 };
12
13 implements fragment message_fragment {
14 if (my $message = $_{viewport}->message) {
15 arg message => $message;
16 render 'message';
17 }
18 };
19
dcba6edf 20 implements fragment field_is_required {
60e23d61 21 my $model = $_{viewport}->model;
22 my $attr = $_{viewport}->attribute;
23 if ( $model->attribute_is_required($attr) ) {
dcba6edf 24 render 'field_is_required_yes';
25 } else {
26 render 'field_is_required_no';
27 }
28 };
29
2f670e13 30};
31
321;
33
34__END__;