From 93f8181fc8b49e6179d43dc2cd99e45bc0093453 Mon Sep 17 00:00:00 2001 From: Oliver Gorwits Date: Sat, 30 Dec 2017 08:58:04 +0000 Subject: [PATCH] implement show link speeds on links --- .../Netdisco/DB/Result/Virtual/DeviceLinks.pm | 5 +-- share/config.yml | 2 ++ share/public/css/netdisco.css | 8 ++++- share/views/ajax/device/netmap.tt | 35 +++++++++++++++++-- share/views/js/device.js | 5 +++ share/views/sidebar/device/netmap.tt | 2 ++ 6 files changed, 52 insertions(+), 5 deletions(-) diff --git a/lib/App/Netdisco/DB/Result/Virtual/DeviceLinks.pm b/lib/App/Netdisco/DB/Result/Virtual/DeviceLinks.pm index aab43dc4..429e3b05 100644 --- a/lib/App/Netdisco/DB/Result/Virtual/DeviceLinks.pm +++ b/lib/App/Netdisco/DB/Result/Virtual/DeviceLinks.pm @@ -11,10 +11,11 @@ __PACKAGE__->table('device_links'); __PACKAGE__->result_source_instance->is_virtual(1); __PACKAGE__->result_source_instance->view_definition(< form.nd_inline-form { } /* netmap maximise icon */ -#nd2_fullscreen_netmap { +#nd2_fullscreen-netmap { fill: black; font-size: 15px; } +/* netmap link labels */ +.nd_netmap-linklabel { + pointer-events: none; + font-weight: bold; +} + /* fixup for prepended checkbox in sidebar */ .nd_searchcheckbox { width: 121px; diff --git a/share/views/ajax/device/netmap.tt b/share/views/ajax/device/netmap.tt index 0bfe25fd..343a7bd1 100644 --- a/share/views/ajax/device/netmap.tt +++ b/share/views/ajax/device/netmap.tt @@ -153,9 +153,25 @@ $.getJSON('[% uri_for('/ajax/data/device/netmap') %]?[% my_query %]', function(m graph.inspect().main.force.on('end.setupfornetdisco', null); }); + graph.inspect().main.force.on('tick.movelinklabel', function() { + graph.inspect().dom.svg.selectAll('text.nd_netmap-linklabel') + .attr('x', function(d) { + var text = d3.select(this); + var sx = graph.nodeDataById(text.attr('data-source')).x; + var tx = graph.nodeDataById(text.attr('data-target')).x; + return ((sx + tx) / 2); + }) + .attr('y', function(d) { + var text = d3.select(this); + var sy = graph.nodeDataById(text.attr('data-source')).y; + var ty = graph.nodeDataById(text.attr('data-target')).y; + return ((sy + ty) / 2); + }); + }); + graph.inspect().dom.svg .append("svg:text") - .attr("id", "nd2_fullscreen_netmap") + .attr("id", "nd2_fullscreen-netmap") .attr("class", "link") .attr("x", (graph.width() - 17)) .attr("y", 17) @@ -183,6 +199,21 @@ $.getJSON('[% uri_for('/ajax/data/device/netmap') %]?[% my_query %]', function(m graph.start(netmapdata); d3.select("#nd2_netmap-spinner").call(spin); + graph.inspect().main.links.each(function(l) { + var link = d3.select(this); + var data = link.datum(); + graph.inspect().dom.svg.select('g.graph') + .append('svg:text') + .attr('class', 'nd_netmap-linklabel') + .attr('x', function(d) { return data.source.x; }) + .attr('y', function(d) { return data.source.y; }) + .attr('data-source', function(d) { return data.source.ID; }) + .attr('data-target', function(d) { return data.target.ID; }) + .attr('text-anchor', 'middle') + [% ".attr('fill', 'black')" IF params.showspeed %] + .text(function(d) { return data.SPEED; }); + }); + if ('[% params.mapshow %]' == 'neighbors') { setTimeout(function() { if ('[% params.dynamicsize %]' == 'on') { @@ -191,7 +222,7 @@ $.getJSON('[% uri_for('/ajax/data/device/netmap') %]?[% my_query %]', function(m var node = graph.nodeDataById( graph['nd2']['centernode'] ); graph.zoomSmooth(node.x, node.y, node.radius * 100); } - }, 1000); + }, 1500); } }); diff --git a/share/views/js/device.js b/share/views/js/device.js index 3383f00d..55a9058f 100644 --- a/share/views/js/device.js +++ b/share/views/js/device.js @@ -123,6 +123,11 @@ graph.wrapLabels(false).start(); } }); + $('#nd_showspeed').change(function() { + $('.nd_netmap-linklabel').css('fill', + ($(this).prop('checked') ? 'black' : 'none') + ); + }); // netmap pin/release controls $('#nd_netmap-releaseall').on('click', function(event) { diff --git a/share/views/sidebar/device/netmap.tt b/share/views/sidebar/device/netmap.tt index e20012a3..e4fc33dc 100644 --- a/share/views/sidebar/device/netmap.tt +++ b/share/views/sidebar/device/netmap.tt @@ -12,6 +12,7 @@