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.