NAME

Yukki::Web::View - base class for Yukki::Web views

VERSION

version 0.991_004

DESCRIPTION

This is the base class for all Yukki::Web views.

ATTRIBUTES

app

This is the Yukki::Web singleton.

markdown

This is the Text::MultiMarkdown object for rendering "yukkitext". Do not use.

Provides a format_markdown method delegated to markdown. Do not use.

messages_template

This is the template used to render info, warning, and error messages to the page.

This is the template object used to render links.

confirm_template

The template used by "render_confirmation".

METHODS

page_template

  my $template = $self->page_template('default');

Returns the template used to render pages for the given style name.

prepare_template

  my $template = $self->prepare_template({
      template   => 'foo.html',
      directives => { ... },
  });

This prepares a template for later rendering.

The template is the name of the template file to use.

The directives are the Template::Pure directives to apply data given at render time to modify the template to create the output.

render_confirmation

    my $document = $self->render_confirmation({
        context   => $ctx,
        question  => 'What are you confirming?',
        yes_label => 'Do The Thing',
        no_link   => 'go/back',
    });

The standard Yukki confirmation screen.

render_page

  my $document = $self->render_page({
      template => 'foo.html',
      context  => $ctx,
      vars     => { ... },
  });

This renders the given template and places it into the content section of the shell.html template.

The context is used to render parts of the shell template.

The vars are processed against the given template with Template::Pure.

available_menu_items

  my @items = $self->available_menu_items($ctx, 'menu_name');

Retrieves the navigation menu from the Yukki::Web::Response and purges any links that the current user does not have access to.

  my $document = $self->render_links($ctx, \@navigation_links);

This renders a set of links using the links.html template.

render

  my $document = $self->render({
      template => $template,
      vars     => { ... },
  });

This renders the given Template::Pure. The vars are used as the ones passed to the process method.

AUTHOR

Andrew Sterling Hanenkamp <hanenkamp@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2017 by Qubling Software 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.