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

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 %]

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.

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'.
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'.
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.

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.
Draws the UI via the "flush" in Reaction::UI::Window method.

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

See Reaction::Class for authors.

See Reaction::Class for the license.