package SL::Template::Plugin::JavaScript;
-use base qw( Template::Plugin::Filter );
+use base qw( Template::Plugin );
+use Template::Plugin;
use strict;
-my $cached_instance;
-
sub new {
- my $class = shift;
-
- return $cached_instance ||= $class->SUPER::new(@_);
-}
-
-sub init {
- my $self = shift;
-
- $self->install_filter($self->{ _ARGS }->[0] || 'js');
+ my ($class, $context, @args) = @_;
- return $self;
+ return bless {
+ CONTEXT => $context,
+ }, $class;
}
#
return $text;
}
-sub filter {
- my ($self, $text) = @_;
- return $self->escape($text);
-}
-
sub replace_with {
return _replace_helper('replaceWith', @_);
}
<input type="submit" value="Delete"
onclick="if (confirm('Do you really want to delete this: [% JavaScript.escape(obj.description) %]') return true; else return false;">
-You can also use the filter syntax instead:
-
- <input type="submit" value="Delete"
- onclick="if (confirm('Do you really want to delete this: [% obj.description | js %]') return true; else return false;">
-
=item C<replace_with $selector, $template, %locals>
Returns code replacing the DOM elements matched by C<$selector> with