Simon Hunt

Added port numbers to port labels. Still needs fine tuning, but good enough for the demo.

...@@ -89,9 +89,9 @@ ...@@ -89,9 +89,9 @@
89 marginLR: 3, 89 marginLR: 3,
90 marginTB: 2, 90 marginTB: 2,
91 port: { 91 port: {
92 - gap: 2, 92 + gap: 3,
93 - width: 12, 93 + width: 18,
94 - height: 12 94 + height: 14
95 } 95 }
96 }, 96 },
97 icons: { 97 icons: {
...@@ -315,6 +315,7 @@ ...@@ -315,6 +315,7 @@
315 portLabelsOn = !portLabelsOn; 315 portLabelsOn = !portLabelsOn;
316 var portVis = portLabelsOn ? 'visible' : 'hidden'; 316 var portVis = portLabelsOn ? 'visible' : 'hidden';
317 d3.selectAll('.port').style('visibility', portVis); 317 d3.selectAll('.port').style('visibility', portVis);
318 + d3.selectAll('.portText').style('visibility', portVis);
318 } 319 }
319 320
320 function unpin() { 321 function unpin() {
...@@ -577,30 +578,46 @@ ...@@ -577,30 +578,46 @@
577 class: 'portLayer' 578 class: 'portLayer'
578 }); 579 });
579 580
580 - var portVis = portLabelsOn ? 'visible' : 'hidden'; 581 + var portVis = portLabelsOn ? 'visible' : 'hidden',
582 + pw = config.labels.port.width,
583 + ph = config.labels.port.height;
581 584
582 network.link.filter('.infra').each(function(d, i) { 585 network.link.filter('.infra').each(function(d, i) {
583 network.linkSrcPort.append('rect').attr({ 586 network.linkSrcPort.append('rect').attr({
584 id: 'srcPort-' + d.id, 587 id: 'srcPort-' + d.id,
585 class: 'port', 588 class: 'port',
586 - width: 12, 589 + width: pw,
587 - height: 12, 590 + height: ph,
588 x: i * 20, 591 x: i * 20,
589 y: 0 592 y: 0
590 }) 593 })
591 - .style('visibility', portVis) 594 + .style('visibility', portVis);
592 - .append('text').text(d.srcPort);
593 595
594 network.linkTgtPort.append('rect').attr({ 596 network.linkTgtPort.append('rect').attr({
595 id: 'tgtPort-' + d.id, 597 id: 'tgtPort-' + d.id,
596 class: 'port', 598 class: 'port',
597 - width: 12, 599 + width: pw,
598 - height: 12, 600 + height: ph,
599 x: i * 20, 601 x: i * 20,
600 y: 20 602 y: 20
601 }) 603 })
602 .style('visibility', portVis); 604 .style('visibility', portVis);
603 605
606 + network.linkSrcPort.append('text').attr({
607 + id: 'srcText-' + d.id,
608 + class: 'portText',
609 + x: i * 20,
610 + y:0
611 + }).text(d.srcPort)
612 + .style('visibility', portVis);
613 +
614 + network.linkTgtPort.append('text').attr({
615 + id: 'tgtText-' + d.id,
616 + class: 'portText',
617 + x: i * 20,
618 + y:20
619 + }).text(d.tgtPort)
620 + .style('visibility', portVis);
604 }); 621 });
605 622
606 // ............................................................... 623 // ...............................................................
...@@ -982,6 +999,15 @@ ...@@ -982,6 +999,15 @@
982 .attr('x', pxt - portHalfW) 999 .attr('x', pxt - portHalfW)
983 .attr('y', pyt - portHalfH); 1000 .attr('y', pyt - portHalfH);
984 1001
1002 + // TODO: fit label rect to size of port number.
1003 + d3.select('#srcText-' + d.id)
1004 + .attr('x', pxs - 5)
1005 + .attr('y', pys + 3);
1006 +
1007 + d3.select('#tgtText-' + d.id)
1008 + .attr('x', pxt - 5)
1009 + .attr('y', pyt + 3);
1010 +
985 }); 1011 });
986 1012
987 // position each node by translating the node (group) by x,y 1013 // position each node by translating the node (group) by x,y
......
...@@ -112,6 +112,14 @@ svg g.portLayer rect.port { ...@@ -112,6 +112,14 @@ svg g.portLayer rect.port {
112 fill: white; 112 fill: white;
113 } 113 }
114 114
115 +svg g.portLayer text {
116 + stroke: #888;
117 + font-size: 8pt;
118 + text-align: center;
119 + font-weight: normal;
120 + pointer-events: none;
121 +}
122 +
115 svg .node.device rect { 123 svg .node.device rect {
116 stroke-width: 1.5px; 124 stroke-width: 1.5px;
117 125
......