r8852@llin: dpavlin | 2005-11-13 23:55:23 +0100
authorDobrica Pavlinusic <dpavlin@rot13.org>
Mon, 14 Nov 2005 16:12:01 +0000 (16:12 +0000)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Mon, 14 Nov 2005 16:12:01 +0000 (16:12 +0000)
 generalize TT filter to tt_filter_type; d('Tag') = display in TT

git-svn-id: svn+ssh://mjesec/home/dpavlin/svn/webpac2/trunk@43 07558da8-63fa-0310-ba24-9fe276d99e06

conf/output/tt/html_ffzg.tt
lib/WebPAC/Output/TT.pm

index 11d8a1e..64e7676 100644 (file)
@@ -35,7 +35,7 @@
 <tr class="line2">
   <td class="label">Naslov</td>
   <td>
-       [% d('TitleProper') %] : [% d('Subtitle') %] = [% d('ParallelTitle') %] / [% d('Responsibility') %]. [% d('TitleProper2') %]
+       [% d('TitleProper') %] : [% d('Subtitle') %] <small>= [% d('ParallelTitle') %] </small> / [% d('Responsibility') %]. [% d('TitleProper2') %]
   </td>
 </tr>
 
index 289fbcc..17019d2 100644 (file)
@@ -88,33 +88,49 @@ sub apply {
 
        # filter to return value from @ds
 
-       sub tt_filter_d {
+       sub tt_filter_type {
+               my ($data,$type) = @_;
+               
+               die "no data?" unless ($data);
+               $type ||= 'display';
 
-               my ($name,$join) = @_;
+               my $default_delimiter = {
+                       'display' => '&#182;<br/>',
+                       'index' => '\n',
+               };
 
-print "### name = ",Dumper($name);
+               return sub {
 
-               my $item = first { $_->{'name'} eq $name } @{ $args->{'data'} };
+print "### data = ",Dumper($data);
 
-               return unless($item);
+                       my ($name,$join) = @_;
+
+                       die "no data array" unless ($data->{'data'} && ref($data->{'data'}) eq 'ARRAY');
+
+print "### name, join = ",Dumper($name);
+
+                       my $item = first { $_->{'name'} eq $name } @{ $data->{'data'} };
+
+                       return unless($item);
 
 print "### item = ",Dumper($item);
 
-               my $v = $item->{'display'} || return;
+                       my $v = $item->{$type} || return;
 
-               if (ref($v) eq 'ARRAY') {
-                       if ($#{$v} == 0) {
-                               $v = $v->[0];
-                       } else {
-                               $join = '&#182;<br/>' unless defined($join);
-                               $v = join($join, @{$v});
+                       if (ref($v) eq 'ARRAY') {
+                               if ($#{$v} == 0) {
+                                       $v = $v->[0];
+                               } else {
+                                       $join = $default_delimiter->{$type} unless defined($join);
+                                       $v = join($join, @{$v});
+                               }
                        }
-               }
 print "### v = $v\n";
-               return $v;
+                       return $v;
+               }
        }
-       $args->{'d'} = \&tt_filter_d;
 
+       $args->{'d'} = tt_filter_type($args, 'display');
 
        my $out;