fixed field_class
[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';
59554696 9 arg 'field_name' => event_id 'value_string' unless defined $_{field_name};
2f670e13 10 arg 'field_type' => 'text';
59554696 11 arg 'field_class' => "action-field " . $_{viewport}->name;
881dd557 12
13 # these two are to fire force_events in viewports
14 # where you can end up without an event for e.g.
15 # HTML checkbox fields
16
17 arg 'exists_event' => event_id 'exists';
18 arg 'exists_value' => 1;
2f670e13 19 };
20
21 implements fragment message_fragment {
22 if (my $message = $_{viewport}->message) {
23 arg message => $message;
24 render 'message';
25 }
26 };
27
dcba6edf 28 implements fragment field_is_required {
60e23d61 29 my $model = $_{viewport}->model;
30 my $attr = $_{viewport}->attribute;
31 if ( $model->attribute_is_required($attr) ) {
dcba6edf 32 render 'field_is_required_yes';
33 } else {
34 render 'field_is_required_no';
35 }
36 };
37
2f670e13 38};
39
401;
41
42__END__;