| Reaction documentation | Contained in the Reaction distribution. |
Reaction::UI::Widget::Field::Mutable - Mutable fields
An extension of Reaction::UI::Widget::Field representing fields whose values can be mutated.
The following additional arguments are provided:
Contains the viewport's event id for value_string.
Defaults to the field_id argument unless already defined
Defaults to text.
A string containing the joined class attribute. Defaults to
action-field and the current viewport's name.
Contains the event id for exists.
Defaults to 1.
Renders nothing if the viewport doesn't have a message.
Otherwise, the message argument will be set to the localised string contained
in the viewport's message attribute and the message fragment will be rendered.
Will render either field_is_required_yes or field_is_required_no depending on
if value_is_required on the viewport returns true and the viewports value_string
is empty.
share/skin/base/layout/field/mutable.tt
The following layouts are provided:
Builds a span element with a class attribute set to the field_class argument.
The element contents will be the label_fragment, field and message_fragment
fragments.
Builds a label element with the for attribute set to the value of field_id and
the other attributes used from the field_is_required argument. The content will be
the label argument.
Sets the class attribute to required_field.
Empty.
Renders a span element with the message as content.
Renders the input field. The field_body fragment is used to set the value.
Creates the value attribute for the input element.
share/skin/default/layout/field/mutable.tt
The following layouts are provided:
Will render the original message fragment followed by a br element.
A widget allowing the manipulation of boolean values.
Allows the user to choose many items from a list of available values.
Allows the user to choose a single item from a list of available values.
A simple DateTime Reaction::UI::Widget::Field::Mutable subclass.
A simple file input field.
Renders an array reference value as a series of hidden fields.
A simple integer Reaction::UI::Widget::Field::Mutable.
Password input requiring that the password be entered twice, e.g. to input a new password.
A password input Reaction::UI::Widget::Field::Mutable.
A simple number Reaction::UI::Widget::Field::Mutable input field.
A simple string Reaction::UI::Widget::Field::Mutable input field.
A multiline input Reaction::UI::Widget::Field::Mutable.
See Reaction::Class for authors.
See Reaction::Class for the license.
| Reaction documentation | Contained in the Reaction distribution. |
package Reaction::UI::Widget::Field::Mutable; use Reaction::UI::WidgetClass; use namespace::clean -except => [ qw(meta) ]; extends 'Reaction::UI::Widget::Field'; before fragment widget { arg 'field_id' => event_id 'value_string'; arg 'field_name' => event_id 'value_string' unless defined $_{field_name}; arg 'field_type' => 'text'; arg 'field_class' => "action-field " . $_{viewport}->name; # these two are to fire force_events in viewports # where you can end up without an event for e.g. # HTML checkbox fields arg 'exists_event' => event_id 'exists'; arg 'exists_value' => 1; }; implements fragment message_fragment { my $vp = $_{viewport}; return unless $vp->has_message; my $message = $vp->message; if ($message) { arg message => localized $message; render 'message'; } }; implements fragment field_is_required { my $vp = $_{viewport}; if ( $vp->value_is_required && !$vp->value_string ) { render 'field_is_required_yes'; } else { render 'field_is_required_no'; } }; __PACKAGE__->meta->make_immutable; 1; __END__;