NAME
Catalyst::Plugin::RapidApp::TabGui - Instant tabbed Ajax admin navigation interface
SYNOPSIS
package MyApp;
use Catalyst qw/ RapidApp::TabGui /;
DESCRIPTION
The TabGui plugin is the primary high-level turn-key interface paradigm provided by the RapidApp distribution for top-most level GUIs (i.e. to be loaded in a full-browser, not within another interface). It provides a standard admin-style interface, based on ExtJS, with an (optional) navigation tree on the left-hand side and a tabbed content panel on the right, with an optional banner section at the top.
The content area hooks into a RESTful URL navigation scheme to load various kinds of content at public paths in the application, including both RapidApp-specific Module views as well as ordinary HTML content returned by ordinary controllers.
The interface is pure Ajax with no browser page loads whatsoever, with simulated client-side URLs triggered via the hash section/mechanism of the URL. These are fully-valid, RESTful URLs are called "hashnav paths" which start with #!/
such as:
/#!/some/url/path
The above URL loads the content of /some/url/path
with a new tab (or existing tab if already open) and works just as well if the TabGui is already loaded as accessing the url from a fresh browser window.
The TabGui is loaded at the root module, which defaults to root of the Catalyst app /
for a dedicated application, but can also be changed to provide an admin section for an existing app by setting the module_root_namespace
RapidApp config:
# in the main catalyst app class:
__PACKAGE__->config(
# ...
'RapidApp' => {
module_root_namespace => 'adm',
# ...
}
);
In this case, the interface would be accessible via /adm
, and in turn, the previous hashnav URL example would be:
/adm/#!/some/url/path
The TabGui is automatically loaded and configured by other high-level plugins, most notably, RapidDbic.
Thus, the following are exactly equivalent:
use Catalyst qw/
RapidApp::TabGui
RapidApp::RapidDbic
/
use Catalyst qw/
RapidApp::RapidDbic
/
Additionally, there are multiple extra plugins with provide high-level functionality which assume, build upon and/or otherwise interact with the TabGui as the primary navigation interface, such as NavCore and CoreSchemaAdmin.
The TabGui plugin itself is just a configuration layer. Internally, it assembles and automatically configures a number of RapidApp modules which provide the actual functionality, including RapidApp::Module::Explorer, RapidApp::Module::Tree and others.
SEE ALSO
AUTHOR
Henry Van Styn <vanstyn@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2013 by IntelliTree Solutions llc.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.