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.