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

NAME
Reaction::UI::ViewPort::Action::Role::Close - Integrate Close and Apply events into ViewPort

SYNOPSIS
  package MyApp::UI::ViewPort::SomeAction;
  use Reaction::Class;

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

  extends 'Reaction::UI::ViewPort::Object::Mutable';
  with    'Reaction::UI::ViewPort::Action::Role::Close';

  ...
  1;

DESCRIPTION
This role integrates a "close" event and inherits an apply event into the consuming viewport.

ATTRIBUTES

  close_label
Defaults to returned string value of "_build_close_label" ("close").

  close_label_close
Defaults to returned string value of "_build_close_label_close" ("close").

  close_label_cancel
This label is only shown when "changed" is true. It is initialised with the returned string value of "_build_close_label_cancel".

Default: 'cancel'

  on_close_callback
CodeRef. If set will be called on "close".

METHODS

  close
Calls "on_close_callback" if one is set.

  can_close
Returns true.

  apply
Extends "apply" in Reaction::UI::ViewPort::Action::Role::Apply and sets the "close_label" to "close_label_cancel" if the original call to "apply" was not successfull.

Returns the result of the original "apply" call.

  accept_events
Extends "accept_events" in Reaction::UI::ViewPort::Action::Role::Apply with the "close" event if an "on_close_callback" was provided.

SEE ALSO
Reaction::UI::ViewPort::Action::Role::Apply

Reaction::UI::ViewPort::Action::Role::OK

AUTHORS
See Reaction::Class for authors.

LICENSE
See Reaction::Class for the license.