NAME¶
Jifty::Plugin::Chart - A charting API for Jifty
SYNOPSIS¶
In your
config.yml:
Plugins:
- Chart: {}
In your Mason templates:
<% Jifty->web->chart(
type => 'Bar',
width => 400,
height => 300,
data => [
[ '2004', '2005', '2006', '2007' ], # labels
[ 14, 15, 17, 22 ], # first data set
[ 22, 25, 20, 21 ], # second data set
],
) %>
DESCRIPTION¶
CAUTION: This plugin is experimental. The API
will change.
This plugin provides a charting API that can be used by Jifty applications to
build data visualizations without regard to the underlying rendering
mechanism.
As of this writing, the API is a barely veiled interface over Chart. However, I
intend to expand the interface to apply to something like Maani's XML/SWF
Charts or Imprise Javascript charts or even something like OpenLaszlo (or
something Open Source and Perl if I can find or build such a thing in time).
INTERFACE¶
By adding this method to the plugin configuration for your Jifty application,
you will cause Jifty::Web to inherit a new method, "chart", which is
the cornerstone of this API.
This method is described in Jifty::Plugin::Chart::Web and an example is shown in
the "SYNOPSIS" above.
CONFIGURATION¶
Here is an example configuration for
config.yml:
Plugins:
- Chart:
DefaultRenderer: PlotKit
PreloadRenderers:
- XMLSWF
- SimpleBars
- App::Renderer::Custom
The available options are:
- DefaultRenderer
- This is the name of the class to use as the default
renderer. Jifty::Plugin::Chart::Renderer::Chart is the current default,
but that could change in the future. It's recommended that you set this to
your preference.
- PreloadRenderers
- This is a list of other render classes to load during
initialization. If they are not loaded during initialization some
renderers may not work correctly the first time they are run because they
are not able to inform Jifty of the CSS or JS files they need before that
part of the page is already rendered. If you use the "renderer"
option of "chart" in Jifty::Plugin::Chart::Web, then you should
make sure any value you use is set here in the configuration to make sure
it works properly.
METHODS¶
init¶
Adds the "chart" in Jifty::Plugin::Chart::Web method to Jifty::Web.
init_renderer¶
my $renderer = $chart_plugin->init_renderer($renderer_class)
This is a helper method that is used by the API to initialize the renderer
class. This is handled automatically so you probably shouldn't use this.
SEE ALSO¶
Jifty::Plugin, Jifty::Web, Jifty::Plugin::Chart::Renderer,
Jifty::Plugin::Chart::Renderer::Chart, Jifty::Plugin::Chart::View
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 redistributed under the same terms
as Perl itself.