From b27c05d659c377d0911e6b1bde6d4d92d6cc19e2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sven=20Sch=C3=B6ling?= Date: Mon, 10 Oct 2011 14:56:31 +0200 Subject: [PATCH] Fixes vom portieren --- SL/Template/Plugin/JSON.pm | 80 ++----------------- .../webpages/part/ajax_autocomplete.html | 3 +- 2 files changed, 8 insertions(+), 75 deletions(-) diff --git a/SL/Template/Plugin/JSON.pm b/SL/Template/Plugin/JSON.pm index 71e49c33d..3709d8f0a 100644 --- a/SL/Template/Plugin/JSON.pm +++ b/SL/Template/Plugin/JSON.pm @@ -2,7 +2,7 @@ package SL::Template::Plugin::JSON; use JSON (); use Carp qw(croak); -use parent qw(Template::Plugin); +use base qw(Template::Plugin); our $VERSION = "0.06"; @@ -11,7 +11,9 @@ sub new { my $self = bless {context => $context, json_args => $args }, $class; - $context->define_vmethod( $_ => json => sub { $self->json(@_) } ) for qw(hash list scalar); + $context->define_vmethod($_, json => sub { $self->json(@_) }) for qw(hash list scalar); + + return $self; } sub json_converter { @@ -35,11 +37,11 @@ sub json_converter { sub json { my ($self, $value) = @_; - $self->json_converter->encode($value) . join '-', map { "'$_'" }@_; + $self->json_converter->encode($value); } sub json_decode { - my ( $self, $context, $value ) = @_; + my ( $self, $value ) = @_; $self->json_converter->decode($value); } @@ -47,73 +49,3 @@ sub json_decode { 1; __END__ - -=pod - -=head1 NAME - -Template::Plugin::JSON - Adds a .json vmethod for all TT values. - -=head1 SYNOPSIS - - [% USE JSON ( pretty => 1 ) %]; - - - - or read in JSON - - [% USE JSON %] - [% data = JSON.json_decode(json) %] - [% data.thing %] - -=head1 DESCRIPTION - -This plugin provides a C<.json> vmethod to all value types when loaded. You -can also decode a json string back to a data structure. - -It will load the L module (you probably want L installed for -automatic speed ups). - -Any options on the USE line are passed through to the JSON object, much like L. - -=head1 SEE ALSO - -L, L - -=head1 VERSION CONTROL - -L - -=head1 AUTHOR - -Yuval Kogman - -=head1 COPYRIGHT & LICENSE - -Copyright (c) 2006, 2008 Infinity Interactive, Yuval Kogman. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - -=cut - - diff --git a/templates/webpages/part/ajax_autocomplete.html b/templates/webpages/part/ajax_autocomplete.html index 749cdc1a9..9d2a492c6 100644 --- a/templates/webpages/part/ajax_autocomplete.html +++ b/templates/webpages/part/ajax_autocomplete.html @@ -1,8 +1,9 @@ [%- USE HTML %][% USE JSON %][ [%- FOREACH part = SELF.parts %] +[%- ajax_autocomplete__label = part.partnumber _ " " _ part.description %] { - "label": [% JSON.json(part.partnumber _ " " _ part.description) %], "value": [% part.${SELF.value}.json %], + "label": [% ajax_autocomplete__label.json %], "id": [% part.id.json %], "partnumber": [% part.partnumber.json %], "description": [% part.description.json %], -- 2.20.1