From f3ba26014206c9f7716adf9a1030f7a30089ddd5 Mon Sep 17 00:00:00 2001 From: Oliver Gorwits Date: Sat, 30 Dec 2017 22:42:09 +0000 Subject: [PATCH] maxnoderadius is now based on dynamic size calc --- lib/App/Netdisco/Web/Plugin/Device/Neighbors.pm | 6 ++++++ share/views/ajax/device/netmap.tt | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/App/Netdisco/Web/Plugin/Device/Neighbors.pm b/lib/App/Netdisco/Web/Plugin/Device/Neighbors.pm index 990eee3e..0c0c8040 100644 --- a/lib/App/Netdisco/Web/Plugin/Device/Neighbors.pm +++ b/lib/App/Netdisco/Web/Plugin/Device/Neighbors.pm @@ -93,6 +93,7 @@ ajax '/ajax/data/device/netmap' => require_login sub { grep { defined } @{ $devgrp }; my %ok_dev = (); + my %logvals = (); my %metadata = (); my %data = ( nodes => [], links => [] ); my $domain = quotemeta( setting('domain_suffix') || '' ); @@ -152,7 +153,9 @@ ajax '/ajax/data/device/netmap' => require_login sub { first { check_acl_only($device, setting('host_groups')->{$_}) } @hgrplist; next DEVICE if $mapshow eq 'only' and not $first_hgrp; + ++$logvals{ $device->get_column('log') || 1 }; (my $name = lc($device->dns || $device->name || $device->ip)) =~ s/$domain$//; + my $node = { ID => $device->ip, SIZEVALUE => (param('dynamicsize') ? @@ -178,6 +181,9 @@ ajax '/ajax/data/device/netmap' => require_login sub { if $qdev and $qdev->in_storage and $device->ip eq $qdev->ip; } + # to help get a sensible range of node sizes + $metadata{'numsizes'} = scalar keys %logvals; + content_type('application/json'); to_json({ data => \%data, %metadata }); }; diff --git a/share/views/ajax/device/netmap.tt b/share/views/ajax/device/netmap.tt index 96584e23..b3d9ea50 100644 --- a/share/views/ajax/device/netmap.tt +++ b/share/views/ajax/device/netmap.tt @@ -30,7 +30,7 @@ $.getJSON('[% uri_for('/ajax/data/device/netmap') %]?[% my_query %]', function(m .nodeEventToOpenLink('dblclick') .nodeLinkTarget('none') .minNodeRadius(4) - .maxNodeRadius(12) + .maxNodeRadius(4 + (mapdata['numsizes'] || 0)) .minZoomFactor(0.1) .maxZoomFactor(10) .labelDistance(2)