SVG legende und notitle bug

Begonnen von justme1968, 21 November 2014, 22:17:13

Vorheriges Thema - Nächstes Thema

justme1968

ich habe eben beim testen bemerkt das die legende der SVG plots mit der zuordnung zwischen titel und line_id/style durcheinander kommt wenn man nach einem plot mit notitle wieder einen mit title verwendet. d.h. die folgenden label werden in der legende mit falschem titel un der falschen id eingebaut. beim klick auf so ein falsches label werden dann falsche kurven ausgeblendet.

das liegt daran das zeilen mit notitle im $conf{lTitle} array übersprungen werden. die folgenden zwei zeilen änderung beheben das.


--- 98_SVG.pm 2014-11-17 21:07:07.000000000 +0100
+++ 98_SVG.pm.new 2014-11-21 22:10:47.000000000 +0100
@@ -973,7 +973,7 @@
   my (@lAxis,@lTitle,@lType,@lStyle,@lWidth);
   my ($i, $pTemp);
   $pTemp = $plot; $i = 0; $pTemp =~ s/ axes (\w+)/$lAxis[$i++]=$1/gse;
-  $pTemp = $plot; $i = 0; $pTemp =~ s/ title '([^']*)'/$lTitle[$i++]=$1/gse;
+  $pTemp = $plot; $i = 0; $pTemp =~ s/title( '([^']*)')?/$lTitle[$i++]=$2/gse;
   $pTemp = $plot; $i = 0; $pTemp =~ s/ with (\w+)/$lType[$i++]=$1/gse;
   $pTemp = $plot; $i = 0; $pTemp =~ s/ ls (\w+)/$lStyle[$i++]=$1/gse;
   $pTemp = $plot; $i = 0; $pTemp =~ s/ lw ([\w.]+)/$lWidth[$i++]=$1/gse;
@@ -1142,6 +1142,7 @@
   for my $i (0..int(@{$conf{lTitle}})-1) {
     my $j = $i+1;
     my $t = $conf{lTitle}[$i];
+    next if( !$t );
     my $desc = "";
     if(defined($data{"min$j"}) && $data{"min$j"} ne "undef") {
       $desc = sprintf("%s: Min:%g Max:%g Last:%g",
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

rudolfkoenig