The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Jifty::Plugin::Chart::Renderer - Base class for chart rendering classes

SYNOPSIS

In your config.yml:

  Plugins:
    - Chart:
        renderer: MyApp::Renderer;

In lib/MyApp/Renderer.pm:

  package MyApp::Renderer;
  use base qw/ Jifty::Plugin::Chart::Renderer /;

  sub init {
      my $self = shift;

      # Handle any required initialization, like required CSS, JS, etc.
  }

  sub render {
      my $self = shift;
      my %args = @_;

      # Output your chart
      Jifty->web->out( #{ Output your chart here... } );

      # You could also return it as a string...
      return;
  }

METHODS

Your renderer implementation must subclass this package and implement the following methods:

new

This is the constructor. Don't override this directly. Instead implement "init".

init

  $renderer->init();

This is called by new immediately after constructing the object. It is passed a param hash from the config file. Subclasses should implement this method to do any required initialization such as letting Jifty know about required CSS files, JS files, etc.

render

  Jifty->web->out($renderer->render(%args));

See Jifty::Plugin::Chart::Web for the arguments. It must (at least) accept the arguments given to the "chart" in Jifty::Plugin::Chart::Web method.

The render method may either return it's output or print it out using Jifty::Web::out.

SEE ALSO

Jifty::Plugin::Chart::Web, Jifty::Plugin::Chart::Renderer::Chart

AUTHOR

Andrew Sterling Hanenkamp <andrew.hanenkamp@boomer.com>

COPYRIGHT AND LICENSE

Copyright 2007 Boomer Consulting, Inc.

This is free software and may be modified and distributed under the same terms as Perl itself.