Reaction::UI::ViewPort::Action(3)

NAME
Reaction::UI::ViewPort::Action - Provide user with a form with OK, Apply and Close.

SYNOPSIS
  $controller->push_viewport('Reaction::UI::ViewPort::Action',
    model           => $interface_model_action,
    field_order     => [qw( firstname lastname )],
    excluded_fields => [qw( password )],
  );

DESCRIPTION
This subclass of Reaction::UI::ViewPort::Object::Mutable is used for rendering a complete form supporting Apply, Close and OK.

ATTRIBUTES

  message

  model
Inherited from Reaction::UI::ViewPort::Object::Mutable. Must be a Reaction::InterfaceModel::Action.

Also handles "error_message" and "has_error_message" methods.

  method
post / get

  changed
Returns true if a field has been edited.

METHODS

  can_apply
Returns true if no field "needs_sync" and the "model" "can_apply".

  do_apply
Delegates to "do_apply" on the "model", which is a Reaction::InterfaceModel::Action.

  sync_action_from_fields
Firstly calls "sync_to_action" on every Reaction::UI::ViewPort::Field::Mutable in fields. Then it calls "sync_all" on the Reaction::InterfaceModel::Action in "model". Next it will call "sync_from_action" on every field to repopulate them from the "model".

SUBCLASSING
  package MyApp::UI::ViewPort::Action;
  use Reaction::Class;
  use MooseX::Types::Moose qw( Int );

  use namespace::clean -except => 'meta';

  extends 'Reaction::UI::ViewPort::Action';

  has render_timestamp => (
    is       => 'ro',
    isa      => Int,
    default  => sub { time },
    required => 1,
  );

  has '+field_order' => (default => sub {[qw( firstname lastname )]});

  1;

SEE ALSO
Reaction::UI::ViewPort

Reaction::UI::ViewPort::Object

Reaction::UI::ViewPort::Object::Mutable

Reaction::InterfaceModel::Action::Role::Apply

Reaction::InterfaceModel::Action::Role::Close

Reaction::InterfaceModel::Action::Role::OK

AUTHORS
See Reaction::Class for authors.

LICENSE
See Reaction::Class for the license.