From: Moritz Bunkus Date: Mon, 14 Dec 2015 13:15:05 +0000 (+0100) Subject: JavaScript-Plugin: auch als Filter einsetzen können X-Git-Tag: release-3.4.1~517 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=20d730acdbb52b5b75af783aa010609e25b73024;p=kivitendo-erp.git JavaScript-Plugin: auch als Filter einsetzen können --- diff --git a/SL/Template/Plugin/JavaScript.pm b/SL/Template/Plugin/JavaScript.pm index 16989e9a2..48158307f 100644 --- a/SL/Template/Plugin/JavaScript.pm +++ b/SL/Template/Plugin/JavaScript.pm @@ -1,16 +1,23 @@ package SL::Template::Plugin::JavaScript; -use base qw( Template::Plugin ); -use Template::Plugin; +use base qw( Template::Plugin::Filter ); use strict; +my $cached_instance; + sub new { - my ($class, $context, @args) = @_; + my $class = shift; + + return $cached_instance ||= $class->SUPER::new(@_); +} + +sub init { + my $self = shift; + + $self->install_filter($self->{ _ARGS }->[0] || 'js'); - return bless { - CONTEXT => $context, - }, $class; + return $self; } # @@ -38,6 +45,11 @@ sub escape { return $text; } +sub filter { + my ($self, $text) = @_; + return $self->escape($text); +} + sub replace_with { return _replace_helper('replaceWith', @_); } @@ -92,6 +104,11 @@ value is not wrapped in quotes. Example: +You can also use the filter syntax instead: + + + =item C Returns code replacing the DOM elements matched by C<$selector> with