Jifty::View::Declare::Helpers - Additional subroutines for Jifty TD templates


Jifty documentation  | view source Contained in the Jifty distribution.

Index


NAME

Top

Jifty::View::Declare::Helpers - Additional subroutines for Jifty TD templates

DESCRIPTION

Top

This library provides mixins to help build your application's user interface.

METHODS

Top

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.

Forms and actions

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

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


Jifty documentation  | view source Contained in the Jifty distribution.