Maypole::Plugin::QuickTable - HTML::QuickTable convenience
use Maypole::Application qw( LinkTools QuickTable );
Returns a HTML::QuickTable object for formatting data.
print $request->quick_table( %args )->render( $data );
The method gathers arguments from the quicktable_defaults method on the model class. This is a Class::Data::Inheritable method, so you can set global defaults on the main model class, and then override them in model subclasses. To preserve most settings and override others, say something like
quicktable_defaults
$sub_model->quicktable_defaults( { %{ $model->quicktable_defaults }, %hash_of_overrides } );
Arguments passed in the method call override those stored on the model.
Arguments are passed directly to HTML::QuickTable->new, so see HTML::QuickTable for a description.
HTML::QuickTable->new
Additional arguments are:
object => a Maypole/CDBI object
Pass a Maypole/CDBI object in the object slot, and its data will be extracted and $qt->render called for you:
object
$qt->render
print $request->quick_table( %args, object => $object );
Related objects will be displayed as links to their view template.
If no object is supplied, a HTML::QuickTable object is returned. If an object is supplied, it is passed to tabulate to extract its data, and the data passed to the render method of the HTML::QuickTable object.
tabulate
render
To render a subset of an object's columns, say:
my @data = $request->tabulate( objects => $object, with_colnames => 1, fields => [ qw( foo bar ) ] ); $request->quick_table( @data );
Extract data from a Maypole/CDBI object (or multiple objects), ready to pass to quick_table->render. Data will start with a row of column names if $args{with_colnames} is true.
quick_table->render
$args{with_colnames}
A callback subref can be passed in $args{callback}. It will be called in turn with each object as its argument. The result(s) of the call will be added to the row of data for that object. See the list template in Maypole::FormBuilder, which uses this technique to add edit and delete buttons to each row.
$args{callback}
list
edit
delete
Similarly, a field_callback coderef will be called during rendering of each field, receiving the object and the current field as arguments. See the addmany template for an example.
field_callback
addmany
Arguments:
callback coderef field_callback coderef with_colnames boolean fields defaults to ( $request->model_class->display_columns, $request->model_class->related ) objects defaults to $request->objects
Build a link for a column header. Controls whether the table should be sorted by that column. Toggles sort direction.
The $model_class parameter is only necessary when building a table for a class different from the current model class for the request.
$model_class
David Baird, <cpan@riverside-cms.co.uk>
<cpan@riverside-cms.co.uk>
Please report any bugs or feature requests to bug-maypole-plugin-quicktable@rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Maypole-Plugin-QuickTable. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
bug-maypole-plugin-quicktable@rt.cpan.org
Copyright 2005 David Baird, All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Maypole::Plugin::QuickTable, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Maypole::Plugin::QuickTable
CPAN shell
perl -MCPAN -e shell install Maypole::Plugin::QuickTable
For more information on module installation, please visit the detailed CPAN module installation guide.