NAME

Reaction::UI::Controller::Root - Base component for the Root Controller

SYNOPSIS

package MyApp::Controller::Root;
use base 'Reaction::UI::Controller::Root';

__PACKAGE__->config(
  view_name => 'Site',
  window_title => 'Reaction Test App',
  namespace => ''
);

# Create UI elements:
$c->self->push_viewport('Reaction::UI::ViewPort', %args);

# Access the window title in a template:
[% window.title %]

DESCRIPTION

Using this module as a base component for your Catalyst Root Controller provides automatic creation of a Reaction::UI::Window object containing an empty Reaction::UI::FocusStack for your UI elements. The stack is also resolved and rendered for you in the end action.

At the begin of each request, the Window object is created using the configured "view_name", "content_type" and "window_title". These thus should be directly changed on the stashed window object at runtime, if needed.

ATTRIBUTES

view_name

Arguments: $viewname?

Set or retrieve the classname of the view used to render the UI. Can also be set by a call to config. Defaults to 'XHTML'.

content_type

Arguments: $contenttype?

Set or retrieve the content type of the page created. Can also be set by a call to config or in a config file. Defaults to 'text/html'.

window_title

Arguments: $windowtitle?

Set or retrieve the title of the page created. Can also be set by a call to config or in a config file. No default.

ACTIONS

begin

Stuffs a new Reaction::UI::Window object into the stash, using the "view_name" and "content_type" provided in the configuration.

Make sure you call this base begin action if writing your own.

end

Draws the UI via the "flush" in Reaction::UI::Window method.

METHODS

error_404

Sets $c->res (the Catalyst::Response) body, status and content type to output a 404 (File not found) error.

error_403

Sets $c->res (the Catalyst::Response) body, status and content type to output a 403 (Forbidden) error.

AUTHORS

See Reaction::Class for authors.

LICENSE

See Reaction::Class for the license.