HTML-TableContent
view release on metacpan or search on metacpan
lib/HTML/TableContent/Template/Base.pm view on Meta::CPAN
$string = defined $string ? sprintf('%s_%s', $num, $string) : sprintf('%s', $num);
$count++;
}
return $string;
}
}
1;
__END__
=head1 Name
HTML::TableContent::Template::Base - Base for Templates.
=head1 VERSION
Version 1.01
=cut
=head1 SYNOPSIS
package MyApp::Table::Demo;
use Moo;
use HTML::TableContent::Template;
sub table_spec {
return {
id => 'first-table-id',
}
}
header id => (
class => 'table-header',
id => 'header-id',
cells => {
inner_html => ['<b>%s</b>'],
increment_id => 'some-id-',
}
);
header name => ( );
row odd => (
class => 'odd-rows',
inner_html => '_even_rows',
);
row even => ( class => 'even-rows' );
cell all => ( alternate_classes => qw['one', 'two'] );
sub _render_header {
my ($self, $header) = @_;
return ['<a href="some/endpoint?sort=%s">%s</a>', 'template_attr', 'text'];
}
sub _even_rows {
return ['<div>%s</div>', '_render_element'];
}
....
my $template = Framework::Tables::Demo->new({ data => $aoh });
$template->render;
=head1 DESCRIPTION
Base Role for Table Templates.
=head1 SUBROUTINES/METHODS
=head2 data
You need to pass data or define a _data method in your template class for this to work.
Data can be either an array of arrays or an array of hashes.
sub _data {
return [
[qw/id name/],
['1', 'frank'],
['2', 'turn']
];
}
=head2 OPTIONS
=head3 class
Set element class.
class => 'some-class';
=head3 alternate_classes
Alternate classes on rows or cells
alternate_classes => ['class-1', 'class-2', 'class-3']
=head3 id
Set Element id if found.
id => 'element-id';
=head3 increment_id
Increment Id on rows or cells.
increment_id => 'cell-id-',
=head3 text
Set element text, if not set defaults to attributes name.
( run in 0.701 second using v1.01-cache-2.11-cpan-39bf76dae61 )