NAME¶
Jifty::View::Declare::Helpers - Additional subroutines for Jifty TD templates
DESCRIPTION¶
This library provides mixins to help build your application's user interface.
METHODS¶
Arguments¶
get args
Returns arguments as set in the dispatcher or with "set" below. If
called in scalar context, pulls the first item in "args" and returns
it. If called in list context, returns the values of all items in
"args".
my $action = get('action');
my ($action, $object) = get(qw(action object));
set key => val [ key => val ...]
Sets arguments for later grabbing with get.
HTML pages and layouts¶
page
template 'foo' => page {{ title is 'Foo' } ... };
or
template 'foo' => page { title => 'Foo' } content { ... };
Renders an HTML page wrapped in "wrapper", after calling
"/_elements/nav" and setting a content type. Generally, you
shouldn't be using "/_elements/nav" but a Dispatcher rule instead.
If "page/content" calling convention is used, the return value of the
first sub will be passed into wrapper as the second argument as a hashref, as
well as the last argument for the content sub.
content
Helper function for page { ... } content { ... }, read "page" instead.
wrapper $coderef
Render a page. $coderef is a Template::Declare coderef. This badly wants to be
redone.
form CODE
Takes a subroutine reference or block of perl as its only argument and renders
it as a Jifty "form", for example:
my $action = new_action class => 'CreateTask';
form {
form_next_page url => '/';
render_action $action;
form_submit( label => _('Create') );
};
You can specify the form name using "with" in Template::Declare::Tags,
like so:
with (name => 'create_task'), form {
...
};
new_action
Shortcut for "new_action" in Jifty::Web.
render_action $action_object, $fields,
$args_to_pass_to_action
Renders an action out of whole cloth.
Arguments
- $action_object
- A Jifty::Action object which has already been
initialized
- $fields
- A reference to an array of fields that should be rendered
when displaying this action. If left undefined, all of the action's fields
will be rendered.
- $args_to_pass_to_action
- A hashref of arguments that should be passed to
$action->form_field for every field of this action.
render_param $action, $param, %args¶
Takes an action and one or more arguments to pass to
Jifty::Action->form_field.
render_hidden $action $name $default @args¶
Takes an action and one or more arguments to pass to Jifty::Action->hidden
form_return
Shortcut for "return" in Jifty::Web::Form.
form_submit
Shortcut for "submit" in Jifty::Web::Form.
form_next_page
Shortcut for "next_page" in Jifty::Web::Form.
Other functions and shortcuts¶
hyperlink
Shortcut for "link" in Jifty::Web.
tangent
Shortcut for "tangent" in Jifty::Web.
redirect
Shortcut for "redirect" in Jifty::Web.
render_region
A shortcut for "Jifty::Web::PageRegion->new(@_)->render" which
does the Template::Declare magic necessary to not mix its output with your
current page's.
request
Shortcut for "request" in Jifty::Web.
current_user
Shortcut for "current_user" in Jifty::Web.
js_handlers
Allows you to put javascript handlers, a la Jifty::Web::Form::Element, onto
arbitrary HTML elements:
div {
js_handlers {
onclick => { path => "/some/region/path" }
}
}
render_mason PATH, ARGS
Renders the Mason template at "PATH" (a string) with "ARGS"
(a hashref).