mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-12 22:56:34 +00:00
10_MQTT2_DEVICE.pm: add dashed lines to the map (Forum #101737)
git-svn-id: https://svn.fhem.de/fhem/trunk@19709 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
b86ee78ce5
commit
3b65781ed0
@ -657,12 +657,14 @@ MQTT2_DEVICE_nlData($)
|
|||||||
|
|
||||||
$h{$n}{title} = $v;
|
$h{$n}{title} = $v;
|
||||||
$fo = $n if(!$fo);
|
$fo = $n if(!$fo);
|
||||||
my @a;
|
my @a; $h{$n}{neighbors} = \@a;
|
||||||
$h{$n}{neighbors} = \@a;
|
my @b; $h{$n}{neighborstyles} = \@b;
|
||||||
|
|
||||||
} elsif($l =~ m/^\s*"([^"]+)"\s*->\s*"([^"]+)"\s\[label="([^"]*)"/) {
|
} elsif($l =~ m/^\s*"([^"]+)"\s*->\s*"([^"]+)".*label="([^"]*)"/) {
|
||||||
push @{$h{$1}{neighbors}}, $2;
|
my ($from,$to,$title) = ($1,$2,$3);
|
||||||
$h{$1}{title} .= "${div}lqi:$3";
|
push @{$h{$from}{neighbors}}, $to;
|
||||||
|
$h{$from}{title} .= "${div}lqi:$title";
|
||||||
|
push @{$h{$from}{neighborstyles}}, ($l =~ m/style="([^"]+)"/ ? $1 : "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -672,13 +674,15 @@ MQTT2_DEVICE_nlData($)
|
|||||||
|
|
||||||
for my $k (keys %h) {
|
for my $k (keys %h) {
|
||||||
my $n = $h{$k}{neighbors};
|
my $n = $h{$k}{neighbors};
|
||||||
|
my $ns = $h{$k}{neighborstyles};
|
||||||
push @ret, '"'.$k.'":{'.
|
push @ret, '"'.$k.'":{'.
|
||||||
'"class":"'.$h{$k}{class}.' col_link col_oddrow",'.
|
'"class":"'.$h{$k}{class}.' col_link col_oddrow",'.
|
||||||
'"img":"'.$h{$k}{img}.'",'.
|
'"img":"'.$h{$k}{img}.'",'.
|
||||||
'"txt":"'.$h{$k}{txt}.'",'.
|
'"txt":"'.$h{$k}{txt}.'",'.
|
||||||
'"title":"'.$h{$k}{title}.'",'.
|
'"title":"'.$h{$k}{title}.'",'.
|
||||||
'"pos":['.($dp{$k} ? $dp{$k} : '').'],'.
|
'"pos":['.($dp{$k} ? $dp{$k} : '').'],'.
|
||||||
'"neighbors":['. (@{$n} ? ('"'.join('","',@{$n}).'"'):'').']}';
|
'"neighbors":['. (@{$n} ? ('"'.join('","',@{$n}).'"'):'').'],'.
|
||||||
|
'"neighborstyles":['. (@{$ns} ? ('"'.join('","',@{$ns}).'"'):'').']}';
|
||||||
}
|
}
|
||||||
|
|
||||||
my $r = '{"firstObj":"'.$fo.'","el":{'.join(",",@ret).'},'.
|
my $r = '{"firstObj":"'.$fo.'","el":{'.join(",",@ret).'},'.
|
||||||
|
@ -169,6 +169,7 @@ svg.zw_nr .zwBox { stroke-width:2px; }
|
|||||||
svg.zw_nr .zwDongle { stroke:red; stroke-width:2px; }
|
svg.zw_nr .zwDongle { stroke:red; stroke-width:2px; }
|
||||||
svg.zw_nr .zwMargin { stroke-width:1px; fill:none; }
|
svg.zw_nr .zwMargin { stroke-width:1px; fill:none; }
|
||||||
svg.zw_nr .zwLine { stroke-width:1px; }
|
svg.zw_nr .zwLine { stroke-width:1px; }
|
||||||
|
svg.zw_nr .zwLine.dashed { stroke-dasharray:5,5 }
|
||||||
svg.zw_nr .zwArrowHead { stroke-width:1px; }
|
svg.zw_nr .zwArrowHead { stroke-width:1px; }
|
||||||
svg.zw_nr { height:auto; width:auto; margin:0; }
|
svg.zw_nr { height:auto; width:auto; margin:0; }
|
||||||
|
|
||||||
|
@ -96,7 +96,7 @@ zw_draw(fnRet, width, height)
|
|||||||
for(var o in h) {
|
for(var o in h) {
|
||||||
if(h[o].txt && h[o].neighbors)
|
if(h[o].txt && h[o].neighbors)
|
||||||
for(var i1=0; i1<h[o].neighbors.length; i1++)
|
for(var i1=0; i1<h[o].neighbors.length; i1++)
|
||||||
svg += zw_drawline(ld, h, o, h[o].neighbors[i1]);
|
svg += zw_drawline(ld, h, o, i1);
|
||||||
}
|
}
|
||||||
for(var o in h)
|
for(var o in h)
|
||||||
if(h[o].txt)
|
if(h[o].txt)
|
||||||
@ -179,8 +179,10 @@ zw_calcPos(o, n)
|
|||||||
}
|
}
|
||||||
|
|
||||||
function
|
function
|
||||||
zw_drawline(ld, h, o, n)
|
zw_drawline(ld, h, o, i1)
|
||||||
{
|
{
|
||||||
|
var n = h[o].neighbors[i1];
|
||||||
|
var ns = h[o].neighborstyles[i1];
|
||||||
if(!h[o] || !h[n])
|
if(!h[o] || !h[n])
|
||||||
return "";
|
return "";
|
||||||
var bidi = false;
|
var bidi = false;
|
||||||
@ -199,7 +201,7 @@ zw_drawline(ld, h, o, n)
|
|||||||
h[n].lines.push(cl);
|
h[n].lines.push(cl);
|
||||||
var fr = zw_calcPos(h[o], h[n]);
|
var fr = zw_calcPos(h[o], h[n]);
|
||||||
var to = zw_calcPos(h[n], h[o]);
|
var to = zw_calcPos(h[n], h[o]);
|
||||||
return '<line class="zwLine col_link" data-name="'+cl+
|
return '<line class="zwLine col_link '+ns+'" data-name="'+cl+
|
||||||
'" x1="'+fr.x+'" y1="'+fr.y+
|
'" x1="'+fr.x+'" y1="'+fr.y+
|
||||||
'" x2="'+to.x+'" y2="'+to.y+'"'+
|
'" x2="'+to.x+'" y2="'+to.y+'"'+
|
||||||
' marker-end="url(#endarrow)"'+
|
' marker-end="url(#endarrow)"'+
|
||||||
|
Loading…
x
Reference in New Issue
Block a user