diff options
Diffstat (limited to 'framework/src/onos/web/gui/src/main/webapp/app/view/topo/topoD3.js')
-rw-r--r-- | framework/src/onos/web/gui/src/main/webapp/app/view/topo/topoD3.js | 70 |
1 files changed, 44 insertions, 26 deletions
diff --git a/framework/src/onos/web/gui/src/main/webapp/app/view/topo/topoD3.js b/framework/src/onos/web/gui/src/main/webapp/app/view/topo/topoD3.js index 1d2c5b10..5bf2eb4f 100644 --- a/framework/src/onos/web/gui/src/main/webapp/app/view/topo/topoD3.js +++ b/framework/src/onos/web/gui/src/main/webapp/app/view/topo/topoD3.js @@ -200,7 +200,6 @@ }; } - function updateDeviceRendering(d) { var label = trimLabel(deviceLabel(d)), noLabel = !label, @@ -237,31 +236,50 @@ // handle badge, if defined if (bdg) { - node.select('g.badge').remove(); - - bsel = node.append('g') - .classed('badge', true) - .classed(badgeStatus(bdg), true) - .attr('transform', sus.translate(dx + dim, dy)); - - bsel.append('circle') - .attr('r', bcr); - - if (bdg.txt) { - bsel.append('text') - .attr('dy', badgeConfig.yoff) - .attr('text-anchor', 'middle') - .text(bdg.txt); - } else if (bdg.gid) { - bsel.append('use') - .attr({ - width: bcgd * 2, - height: bcgd * 2, - transform: sus.translate(-bcgd, -bcgd), - 'xlink:href': '#' + bdg.gid - }); + renderBadge(node, bdg, { dx: dx + dim, dy: dy }); + } + } - } + function updateHostRendering(d) { + var node = d.el, + bdg = d.badge; + + updateHostLabel(d); + + // handle badge, if defined + if (bdg) { + renderBadge(node, bdg, icfg.host.badge); + } + } + + function renderBadge(node, bdg, boff) { + var bsel, + bcr = badgeConfig.radius, + bcgd = badgeConfig.gdelta; + + node.select('g.badge').remove(); + + bsel = node.append('g') + .classed('badge', true) + .classed(badgeStatus(bdg), true) + .attr('transform', sus.translate(boff.dx, boff.dy)); + + bsel.append('circle') + .attr('r', bcr); + + if (bdg.txt) { + bsel.append('text') + .attr('dy', badgeConfig.yoff) + .attr('text-anchor', 'middle') + .text(bdg.txt); + } else if (bdg.gid) { + bsel.append('use') + .attr({ + width: bcgd * 2, + height: bcgd * 2, + transform: sus.translate(-bcgd, -bcgd), + 'xlink:href': '#' + bdg.gid + }); } } @@ -292,7 +310,7 @@ } function hostExisting(d) { - updateHostLabel(d); + updateHostRendering(d); api.posNode(d, true); } |