| Jifty documentation | Contained in the Jifty distribution. |
Jifty::View::Declare::BaseClass - Base class for Template::Declare views
This class provides a base class for your Template::Declare derived view classes.
Call this function in your view class to use your mason wrapper for Template::Declare templates, something like:
package TestApp::View;
use Jifty::View::Declare -base;
__PACKAGE__->use_mason_wrapper;
If you don't use mason then you can define a wrapper function in the view class to override
default page layouts. Default TD wrapper defined in Jifty::View::Declare::Helpers.
clkao owes documentation as to the meaning of this and when it would be acceptable to use it.
TODO Document this...
This is part of the client-caching system being developed for Perl to allow you to translate templates into JavaScript running on the client.
This function allows a developer to mark a Template::Declare template as static (unchanging), so that the compiled version can be cached on the client side and inserted with javascript.
TODO Document this...
This is part of the client-caching system being developed for Perl to allow you to translate templates into JavaScript running on the client.
This function allows a developer to mark a Template::Declare template as an action.
Jifty is Copyright 2005-2010 Best Practical Solutions, LLC. Jifty is distributed under the same terms as Perl itself.
| Jifty documentation | Contained in the Jifty distribution. |
package Jifty::View::Declare::BaseClass; use strict; use warnings; use base qw/Exporter Jifty::View::Declare::Helpers/; use Jifty::View::Declare::Helpers; our @EXPORT = ( @Jifty::View::Declare::Helpers::EXPORT);
sub use_mason_wrapper { my $class = shift; no strict 'refs'; no warnings 'redefine'; *{ $class . '::wrapper' } = sub { my $code = shift; my $args = shift || {}; my $interp = Jifty->handler->view('Jifty::View::Mason::Handler')->interp; my $req = $interp->make_request( comp => '/_elements/wrapper' ); my $wrapper = $interp->load("/_elements/wrapper"); local $HTML::Mason::Commands::m = $req; $req->comp( {content => sub {$code->()}}, $wrapper, %{$args} ); } } use Attribute::Handlers; our (%Static, %Action);
sub Static :ATTR(CODE,BEGIN) { $Static{$_[2]}++; }
sub Action :ATTR(CODE,BEGIN) { $Action{$_[2]}++; }
1;