Commit | Line | Data |
2f670e13 |
1 | package Reaction::UI::Widget::Field::Mutable; |
2 | |
3 | use Reaction::UI::WidgetClass; |
4 | |
36d54b14 |
5 | class 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 | |
32 | 1; |
33 | |
34 | __END__; |