Committed by
Gerrit Code Review
GUI -- [ONOS-324] - making hosts invisible by default.
- press the 'H' key to toggle host visibility. - minor update to 'simple' scenario events. - cleanup of alert usage. Change-Id: I531417720e6b98e795c53729b0c30775b88f8fc1
Showing
5 changed files
with
60 additions
and
54 deletions
... | @@ -10,10 +10,13 @@ | ... | @@ -10,10 +10,13 @@ |
10 | "lng": -122.4167 | 10 | "lng": -122.4167 |
11 | }, | 11 | }, |
12 | "labels": [ | 12 | "labels": [ |
13 | - "0000ffffffff0008", | 13 | + "", |
14 | - "FF:FF:FF:FF:00:08", | ||
15 | "sw-8", | 14 | "sw-8", |
16 | - "" | 15 | + "0000ffffffff0008" |
17 | - ] | 16 | + ], |
17 | + "metaUi": { | ||
18 | + "x": 520, | ||
19 | + "y": 350 | ||
20 | + } | ||
18 | } | 21 | } |
19 | } | 22 | } | ... | ... |
... | @@ -4,16 +4,19 @@ | ... | @@ -4,16 +4,19 @@ |
4 | "id": "of:0000ffffffff0003", | 4 | "id": "of:0000ffffffff0003", |
5 | "type": "switch", | 5 | "type": "switch", |
6 | "online": false, | 6 | "online": false, |
7 | - "labels": [ | ||
8 | - "0000ffffffff0003", | ||
9 | - "FF:FF:FF:FF:00:03", | ||
10 | - "sw-3", | ||
11 | - "" | ||
12 | - ], | ||
13 | "location": { | 7 | "location": { |
14 | "type": "latlng", | 8 | "type": "latlng", |
15 | "lat": 40.7127, | 9 | "lat": 40.7127, |
16 | "lng": -74.0059 | 10 | "lng": -74.0059 |
11 | + }, | ||
12 | + "labels": [ | ||
13 | + "", | ||
14 | + "sw-3", | ||
15 | + "0000ffffffff0003" | ||
16 | + ], | ||
17 | + "metaUi": { | ||
18 | + "x": 800, | ||
19 | + "y": 280 | ||
17 | } | 20 | } |
18 | } | 21 | } |
19 | } | 22 | } | ... | ... |
... | @@ -5,10 +5,9 @@ | ... | @@ -5,10 +5,9 @@ |
5 | "type": "switch", | 5 | "type": "switch", |
6 | "online": true, | 6 | "online": true, |
7 | "labels": [ | 7 | "labels": [ |
8 | - "0000ffffffff0008", | 8 | + "", |
9 | - "FF:FF:FF:FF:00:08", | 9 | + "switch-8", |
10 | - "sw-8-yo", | 10 | + "0000ffffffff0008" |
11 | - "" | ||
12 | ], | 11 | ], |
13 | "metaUi": { | 12 | "metaUi": { |
14 | "x": 520, | 13 | "x": 520, | ... | ... |
... | @@ -5,10 +5,9 @@ | ... | @@ -5,10 +5,9 @@ |
5 | "type": "switch", | 5 | "type": "switch", |
6 | "online": true, | 6 | "online": true, |
7 | "labels": [ | 7 | "labels": [ |
8 | - "0000ffffffff0003", | 8 | + "", |
9 | - "FF:FF:FF:FF:00:03", | 9 | + "switch-3", |
10 | - "sw-3-yo", | 10 | + "0000ffffffff0003" |
11 | - "" | ||
12 | ], | 11 | ], |
13 | "metaUi": { | 12 | "metaUi": { |
14 | "x": 800, | 13 | "x": 800, | ... | ... |
... | @@ -143,6 +143,7 @@ | ... | @@ -143,6 +143,7 @@ |
143 | O: [toggleSummary, 'Toggle ONOS summary pane'], | 143 | O: [toggleSummary, 'Toggle ONOS summary pane'], |
144 | I: [toggleInstances, 'Toggle ONOS instances pane'], | 144 | I: [toggleInstances, 'Toggle ONOS instances pane'], |
145 | B: [toggleBg, 'Toggle background image'], | 145 | B: [toggleBg, 'Toggle background image'], |
146 | + H: [toggleHosts, 'Toggle host visibility'], | ||
146 | L: [cycleLabels, 'Cycle Device labels'], | 147 | L: [cycleLabels, 'Cycle Device labels'], |
147 | P: togglePorts, | 148 | P: togglePorts, |
148 | U: [unpin, 'Unpin node'], | 149 | U: [unpin, 'Unpin node'], |
... | @@ -170,8 +171,7 @@ | ... | @@ -170,8 +171,7 @@ |
170 | ctx: null, | 171 | ctx: null, |
171 | params: {}, | 172 | params: {}, |
172 | evNumber: 0, | 173 | evNumber: 0, |
173 | - view: null, | 174 | + view: null |
174 | - debug: false | ||
175 | }, | 175 | }, |
176 | webSock, | 176 | webSock, |
177 | sid = 0, | 177 | sid = 0, |
... | @@ -191,8 +191,10 @@ | ... | @@ -191,8 +191,10 @@ |
191 | oiShowMaster = false, | 191 | oiShowMaster = false, |
192 | portLabelsOn = false, | 192 | portLabelsOn = false, |
193 | cat7 = d3u.cat7(), | 193 | cat7 = d3u.cat7(), |
194 | - colorAffinity = false; | 194 | + colorAffinity = false, |
195 | + showHosts = false; | ||
195 | 196 | ||
197 | + // constants | ||
196 | var hoverModeAll = 1, | 198 | var hoverModeAll = 1, |
197 | hoverModeFlows = 2, | 199 | hoverModeFlows = 2, |
198 | hoverModeIntents = 3, | 200 | hoverModeIntents = 3, |
... | @@ -247,22 +249,9 @@ | ... | @@ -247,22 +249,9 @@ |
247 | cat7.testCard(svg); | 249 | cat7.testCard(svg); |
248 | } | 250 | } |
249 | 251 | ||
250 | - function abortIfLive() { | ||
251 | - if (config.useLiveData) { | ||
252 | - network.view.alert("Sorry, currently using live data.."); | ||
253 | - return true; | ||
254 | - } | ||
255 | - return false; | ||
256 | - } | ||
257 | - | ||
258 | - function testDebug(msg) { | ||
259 | - if (scenario.debug) { | ||
260 | - scenario.view.alert(msg); | ||
261 | - } | ||
262 | - } | ||
263 | - | ||
264 | function injectTestEvent(view) { | 252 | function injectTestEvent(view) { |
265 | - if (abortIfLive()) { return; } | 253 | + if (config.useLiveData) { return; } |
254 | + | ||
266 | var sc = scenario, | 255 | var sc = scenario, |
267 | evn = ++sc.evNumber, | 256 | evn = ++sc.evNumber, |
268 | pfx = sc.evDir + sc.ctx + sc.evPrefix + evn, | 257 | pfx = sc.evDir + sc.ctx + sc.evPrefix + evn, |
... | @@ -293,7 +282,6 @@ | ... | @@ -293,7 +282,6 @@ |
293 | v.alert('non-404 error:\n\n' + frame.url + '\n\n' + err); | 282 | v.alert('non-404 error:\n\n' + frame.url + '\n\n' + err); |
294 | } | 283 | } |
295 | } else { | 284 | } else { |
296 | - testDebug('loaded: ' + frame.url); | ||
297 | wsTrace('test', JSON.stringify(data)); | 285 | wsTrace('test', JSON.stringify(data)); |
298 | frame.cb(data); | 286 | frame.cb(data); |
299 | } | 287 | } |
... | @@ -308,7 +296,7 @@ | ... | @@ -308,7 +296,7 @@ |
308 | 296 | ||
309 | function injectStartupEvents(view) { | 297 | function injectStartupEvents(view) { |
310 | var last = scenario.params.lastAuto || 0; | 298 | var last = scenario.params.lastAuto || 0; |
311 | - if (abortIfLive()) { return; } | 299 | + if (config.useLiveData) { return; } |
312 | 300 | ||
313 | while (scenario.evNumber < last) { | 301 | while (scenario.evNumber < last) { |
314 | injectTestEvent(view); | 302 | injectTestEvent(view); |
... | @@ -317,7 +305,13 @@ | ... | @@ -317,7 +305,13 @@ |
317 | 305 | ||
318 | function toggleBg() { | 306 | function toggleBg() { |
319 | var vis = bgImg.style('visibility'); | 307 | var vis = bgImg.style('visibility'); |
320 | - bgImg.style('visibility', (vis === 'hidden') ? 'visible' : 'hidden'); | 308 | + bgImg.style('visibility', visVal(vis === 'hidden')); |
309 | + } | ||
310 | + | ||
311 | + function toggleHosts() { | ||
312 | + showHosts = !showHosts; | ||
313 | + updateHostVisibility(); | ||
314 | + network.view.flash('Hosts ' + visVal(showHosts)); | ||
321 | } | 315 | } |
322 | 316 | ||
323 | function cycleLabels() { | 317 | function cycleLabels() { |
... | @@ -332,7 +326,7 @@ | ... | @@ -332,7 +326,7 @@ |
332 | } | 326 | } |
333 | 327 | ||
334 | function togglePorts(view) { | 328 | function togglePorts(view) { |
335 | - view.alert('togglePorts() callback') | 329 | + //view.alert('togglePorts() callback') |
336 | } | 330 | } |
337 | 331 | ||
338 | function unpin() { | 332 | function unpin() { |
... | @@ -568,7 +562,6 @@ | ... | @@ -568,7 +562,6 @@ |
568 | 562 | ||
569 | function logicError(msg) { | 563 | function logicError(msg) { |
570 | // TODO, report logic error to server, via websock, so it can be logged | 564 | // TODO, report logic error to server, via websock, so it can be logged |
571 | - //network.view.alert('Logic Error:\n\n' + msg); | ||
572 | console.warn(msg); | 565 | console.warn(msg); |
573 | } | 566 | } |
574 | 567 | ||
... | @@ -822,7 +815,7 @@ | ... | @@ -822,7 +815,7 @@ |
822 | } | 815 | } |
823 | 816 | ||
824 | function unknownEvent(data) { | 817 | function unknownEvent(data) { |
825 | - network.view.alert('Unknown event type: "' + data.event + '"'); | 818 | + console.warn('Unknown event type: "' + data.event + '"', data); |
826 | } | 819 | } |
827 | 820 | ||
828 | function handleServerEvent(data) { | 821 | function handleServerEvent(data) { |
... | @@ -833,12 +826,6 @@ | ... | @@ -833,12 +826,6 @@ |
833 | // ============================== | 826 | // ============================== |
834 | // Out-going messages... | 827 | // Out-going messages... |
835 | 828 | ||
836 | - function userFeedback(msg) { | ||
837 | - // for now, use the alert pane as is. Maybe different alert style in | ||
838 | - // the future (centered on view; dismiss button?) | ||
839 | - network.view.alert(msg); | ||
840 | - } | ||
841 | - | ||
842 | function nSel() { | 829 | function nSel() { |
843 | return selectOrder.length; | 830 | return selectOrder.length; |
844 | } | 831 | } |
... | @@ -1221,6 +1208,10 @@ | ... | @@ -1221,6 +1208,10 @@ |
1221 | appendBadge(svg, 12, instCfg.uiDy, 30, '#uiAttached', 'uiBadge'); | 1208 | appendBadge(svg, 12, instCfg.uiDy, 30, '#uiAttached', 'uiBadge'); |
1222 | } | 1209 | } |
1223 | 1210 | ||
1211 | + function visVal(b) { | ||
1212 | + return b ? 'visible' : 'hidden'; | ||
1213 | + } | ||
1214 | + | ||
1224 | // ============================== | 1215 | // ============================== |
1225 | // force layout modification functions | 1216 | // force layout modification functions |
1226 | 1217 | ||
... | @@ -1319,6 +1310,10 @@ | ... | @@ -1319,6 +1310,10 @@ |
1319 | }); | 1310 | }); |
1320 | } | 1311 | } |
1321 | 1312 | ||
1313 | + function showHostVis(el) { | ||
1314 | + el.style('visibility', visVal(showHosts)); | ||
1315 | + } | ||
1316 | + | ||
1322 | var widthRatio = 1.4, | 1317 | var widthRatio = 1.4, |
1323 | linkScale = d3.scale.linear() | 1318 | linkScale = d3.scale.linear() |
1324 | .domain([1, 12]) | 1319 | .domain([1, 12]) |
... | @@ -1350,6 +1345,9 @@ | ... | @@ -1350,6 +1345,9 @@ |
1350 | // provide ref to element selection from backing data.... | 1345 | // provide ref to element selection from backing data.... |
1351 | d.el = link; | 1346 | d.el = link; |
1352 | restyleLinkElement(d); | 1347 | restyleLinkElement(d); |
1348 | + if (d.type() === 'hostLink') { | ||
1349 | + showHostVis(link); | ||
1350 | + } | ||
1353 | }); | 1351 | }); |
1354 | 1352 | ||
1355 | // operate on both existing and new links, if necessary | 1353 | // operate on both existing and new links, if necessary |
... | @@ -1663,6 +1661,12 @@ | ... | @@ -1663,6 +1661,12 @@ |
1663 | updateHostLabel(hostData); | 1661 | updateHostLabel(hostData); |
1664 | } | 1662 | } |
1665 | 1663 | ||
1664 | + function updateHostVisibility() { | ||
1665 | + var v = visVal(showHosts); | ||
1666 | + nodeG.selectAll('.host').style('visibility', v); | ||
1667 | + linkG.selectAll('.hostLink').style('visibility', v); | ||
1668 | + } | ||
1669 | + | ||
1666 | function nodeMouseOver(d) { | 1670 | function nodeMouseOver(d) { |
1667 | hovered = d; | 1671 | hovered = d; |
1668 | requestTrafficForMode(); | 1672 | requestTrafficForMode(); |
... | @@ -1692,7 +1696,6 @@ | ... | @@ -1692,7 +1696,6 @@ |
1692 | 1696 | ||
1693 | // operate on existing nodes... | 1697 | // operate on existing nodes... |
1694 | node.filter('.device').each(function (d) { | 1698 | node.filter('.device').each(function (d) { |
1695 | - //var node = d3.select(this); | ||
1696 | var node = d.el; | 1699 | var node = d.el; |
1697 | node.classed('online', d.online); | 1700 | node.classed('online', d.online); |
1698 | updateDeviceLabel(d); | 1701 | updateDeviceLabel(d); |
... | @@ -1747,13 +1750,12 @@ | ... | @@ -1747,13 +1750,12 @@ |
1747 | 1750 | ||
1748 | // provide ref to element from backing data.... | 1751 | // provide ref to element from backing data.... |
1749 | d.el = node; | 1752 | d.el = node; |
1753 | + showHostVis(node); | ||
1750 | 1754 | ||
1751 | node.append('circle').attr('r', r); | 1755 | node.append('circle').attr('r', r); |
1752 | - | ||
1753 | if (iid) { | 1756 | if (iid) { |
1754 | addHostIcon(node, r, iid); | 1757 | addHostIcon(node, r, iid); |
1755 | } | 1758 | } |
1756 | - | ||
1757 | node.append('text') | 1759 | node.append('text') |
1758 | .text(hostLabel) | 1760 | .text(hostLabel) |
1759 | .attr('dy', textDy) | 1761 | .attr('dy', textDy) |
... | @@ -2014,9 +2016,9 @@ | ... | @@ -2014,9 +2016,9 @@ |
2014 | if (webSock.ws) { | 2016 | if (webSock.ws) { |
2015 | webSock.ws.send(message); | 2017 | webSock.ws.send(message); |
2016 | } else if (config.useLiveData) { | 2018 | } else if (config.useLiveData) { |
2017 | - network.view.alert('no web socket open\n\n' + message); | 2019 | + console.warn('no web socket open', message); |
2018 | } else { | 2020 | } else { |
2019 | - console.log('WS Send: ' + JSON.stringify(message)); | 2021 | + console.log('WS Send: ', message); |
2020 | } | 2022 | } |
2021 | } | 2023 | } |
2022 | 2024 | ||
... | @@ -2607,7 +2609,7 @@ | ... | @@ -2607,7 +2609,7 @@ |
2607 | } | 2609 | } |
2608 | 2610 | ||
2609 | function showBg() { | 2611 | function showBg() { |
2610 | - return config.options.showBackground ? 'visible' : 'hidden'; | 2612 | + return visVal(config.options.showBackground); |
2611 | } | 2613 | } |
2612 | 2614 | ||
2613 | function loadStaticMap() { | 2615 | function loadStaticMap() { | ... | ... |
-
Please register or login to post a comment