NAME
OpusVL::AppKit::RolesFor::Controller::GUI
VERSION
version 2.29
SYNOPSIS
package MyApp::Controller::SomeFunkyThing;
use Moose;
BEGIN{ extends 'Catalyst::Controller' };
with 'OpusVL::AppKit::RolesFor::Controller::GUI';
__PACKAGE__->config( appkit_name => 'My Funky App' );
__PACKAGE__->config( appkit_icon => 'static/funkster/me.gif' );
__PACKAGE__->config( appkit_myclass => 'MyApp' );
sub index
:Path
:Args(0)
:NavigationHome
:NavigationName("Funky Home")
:PortletName("Funky Portlet")
:AppKitForm
{
# .. do some funky stuff ..
}
DESCRIPTION
If you use this Moose::Role with a controller it can be intergrated into the OpusVL::AppKit.
You can just do:
use Moose;
with 'OpusVL::AppKit::RolesFor::Controller::GUI';
Give your Controller a name within the GUI:
__PACKAGE__->config( appkit_name => 'Some Name' );
To make use of the additional features you will have to use one of the following
action method attributes:
NavigationHome
This tells the GUI this action is the 'Home' action for this controller.
NavigationName
Tells the GUI this action is a navigation item and what its name should be.
PortletName
Tells the GUI this action is a portlet action, so calling is only garented to fill
out the 'portlet' stash key.
AppKitForm
Behaves like FormConfig option in FormFu Controller, except it loads form from the
ShareDir of namespace passed in 'appkit_myclass'
SearchName
Tells the GUI this action is a search action and what its name should be
NAME
OpusVL::AppKit::RolesFor::Controller::GUI - Role for Controllers wanting to interact with AppKit
METHODS
home_action
This should be the hash of action details that pertain the the 'home action' of a controller.
If there is none defined for a controller, it should be undef.
navigation_actions
This should be an Array Ref of HashRef's pertaining the actions that make up the navigation
navigation_actions_grouped
This should be an Array Ref of HashRef's pertaining the actions that make up the navigation
grouped by appkit_method_group.
portlet_actions
This should be an Array Ref of HashRef's pertaining the actions that are Portlet's
search_actions
This should be an Array Ref of HashRef's pertaining the actions that are Portlet's
create_action
Hook into the creation of the actions.
Here we read the action attributes and act accordingly.
intranet_action_list
Returns a sorted list of actions for the menu filtered by what the user can access.
application_action_list
Returns a sorted list of actions for the menu filtered by what the user can access.
It returns a list of hashes containing two keys, group (the group name) and actions, a list of the actions for that group.
date_long
Provides a standard DateTime formatting function that is also mirrored (and called) from TT using the date_long() function.
Monday, 10 May 2010
date_short
Provides a short date format function for DD-MM-YYYY display.
time_long
Provides a long time format function, HH:MM:SS
time_short
Provides a short time format function, HH:MM
add_breadcrumb
Adds the a breadcrumb on your breadcrumb trial. Pass it the context object and the breadcumb info,
$self->add_breadcrumb($c, { name => 'Title', url => $search_url });
add_final_crumb
Adds the final breadcrumb on your trial. Simply pass it the title of the breadcrumb.
$self->add_final_crumb($c, 'Title');
flag_callback_error
Flags an HTML::FormFu callback error.
Setup a callback constraint on your form,
- type: Text
name: project
label: Project
constraints:
- type: Callback
message: Project is invalid
Then within your controller you can do,
$self->flag_callback_error($c, 'project');
This will terminate the processing of the action too, by doing a $c->detach;
SEE ALSO
L<CatalystX::AppBuilder>,
L<OpusVL::AppKit>,
L<Catalyst>
AUTHOR
OpusVL - www.opusvl.com
COPYRIGHT AND LICENSE
This software is copyright (c) 2010 by OpusVL - www.opusvl.com.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.