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
index 2ff669a..98d7e9b 100644 (file)
@@ -2,11 +2,11 @@ package Reaction::UI::Widget::Field::Mutable;
 
 use Reaction::UI::WidgetClass;
 
-class Field is 'Reaction::UI::Widget::Field', which {
+class Mutable is 'Reaction::UI::Widget::Field', which {
 
    before fragment widget {
-     arg 'field_id' => event_id 'value';
-     arg 'field_name' => event_id 'value';
+     arg 'field_id' => event_id 'value_string';
+     arg 'field_name' => event_id 'value_string' unless defined $_{field_name};
      arg 'field_type' => 'text';
    };
 
@@ -17,6 +17,16 @@ class Field is 'Reaction::UI::Widget::Field', which {
      }
    };
 
+   implements fragment field_is_required {
+     my $model = $_{viewport}->model;
+     my $attr  = $_{viewport}->attribute;
+     if ( $model->attribute_is_required($attr) ) {
+         render 'field_is_required_yes';
+     } else {
+         render 'field_is_required_no';
+     }
+   };
+
 };
 
 1;