ONOS-3128 : Web UI - Traffic overlay as default overlay.
- fixed bug in radiobuttonset which failed to update button selection state via programmatic selectedIndex() call. - default overlay configured at beginning of topoToolbar.js Change-Id: I54c82e402b3c3955c3d83a264c6d8ac14127ce70
Showing
4 changed files
with
21 additions
and
5 deletions
| ... | @@ -224,7 +224,9 @@ | ... | @@ -224,7 +224,9 @@ |
| 224 | } else { | 224 | } else { |
| 225 | if (x >= 0 && x < rads.length) { | 225 | if (x >= 0 && x < rads.length) { |
| 226 | if (currIdx !== x) { | 226 | if (currIdx !== x) { |
| 227 | + rads[currIdx].el.classed('selected', false); | ||
| 227 | currIdx = x; | 228 | currIdx = x; |
| 229 | + rads[currIdx].el.classed('selected', true); | ||
| 228 | invokeCurrent(); | 230 | invokeCurrent(); |
| 229 | } else { | 231 | } else { |
| 230 | $log.warn('current index already selected:', x); | 232 | $log.warn('current index already selected:', x); | ... | ... |
| ... | @@ -525,6 +525,7 @@ | ... | @@ -525,6 +525,7 @@ |
| 525 | 525 | ||
| 526 | // temporary solution for persisting user settings | 526 | // temporary solution for persisting user settings |
| 527 | restoreConfigFromPrefs(); | 527 | restoreConfigFromPrefs(); |
| 528 | + ttbs.setDefaultOverlay(); | ||
| 528 | 529 | ||
| 529 | $log.debug('registered overlays...', tov.list()); | 530 | $log.debug('registered overlays...', tov.list()); |
| 530 | $log.log('OvTopoCtrl has been created'); | 531 | $log.log('OvTopoCtrl has been created'); | ... | ... |
| ... | @@ -113,7 +113,11 @@ | ... | @@ -113,7 +113,11 @@ |
| 113 | } | 113 | } |
| 114 | 114 | ||
| 115 | // add a radio button for each registered overlay | 115 | // add a radio button for each registered overlay |
| 116 | + // return an overlay id to index map | ||
| 116 | function augmentRbset(rset, switchFn) { | 117 | function augmentRbset(rset, switchFn) { |
| 118 | + var map = {}, | ||
| 119 | + idx = 1; | ||
| 120 | + | ||
| 117 | angular.forEach(overlays, function (ov) { | 121 | angular.forEach(overlays, function (ov) { |
| 118 | rset.push({ | 122 | rset.push({ |
| 119 | gid: ov._glyphId, | 123 | gid: ov._glyphId, |
| ... | @@ -122,7 +126,9 @@ | ... | @@ -122,7 +126,9 @@ |
| 122 | tbSelection(ov.overlayId, switchFn); | 126 | tbSelection(ov.overlayId, switchFn); |
| 123 | } | 127 | } |
| 124 | }); | 128 | }); |
| 129 | + map[ov.overlayId] = idx++; | ||
| 125 | }); | 130 | }); |
| 131 | + return map; | ||
| 126 | } | 132 | } |
| 127 | 133 | ||
| 128 | // an overlay was selected via toolbar radio button press from user | 134 | // an overlay was selected via toolbar radio button press from user | ... | ... |
| ... | @@ -30,13 +30,14 @@ | ... | @@ -30,13 +30,14 @@ |
| 30 | // setUpKeys | 30 | // setUpKeys |
| 31 | 31 | ||
| 32 | // internal state | 32 | // internal state |
| 33 | - var toolbar, keyData, cachedState, thirdRow; | 33 | + var toolbar, keyData, cachedState, thirdRow, ovRset, ovIndex; |
| 34 | 34 | ||
| 35 | // constants | 35 | // constants |
| 36 | var name = 'topo-tbar', | 36 | var name = 'topo-tbar', |
| 37 | cooktag = 'topo_prefs', | 37 | cooktag = 'topo_prefs', |
| 38 | soa = 'switchOverlayActions: ', | 38 | soa = 'switchOverlayActions: ', |
| 39 | - selOver = 'Select overlay here ⇧'; | 39 | + selOver = 'Select overlay here ⇧', |
| 40 | + defaultOverlay = 'traffic'; | ||
| 40 | 41 | ||
| 41 | 42 | ||
| 42 | // key to button mapping data | 43 | // key to button mapping data |
| ... | @@ -172,8 +173,8 @@ | ... | @@ -172,8 +173,8 @@ |
| 172 | tov.tbSelection(null, switchOverlayActions); | 173 | tov.tbSelection(null, switchOverlayActions); |
| 173 | } | 174 | } |
| 174 | }]; | 175 | }]; |
| 175 | - tov.augmentRbset(rset, switchOverlayActions); | 176 | + ovIndex = tov.augmentRbset(rset, switchOverlayActions); |
| 176 | - toolbar.addRadioSet('topo-overlays', rset); | 177 | + ovRset = toolbar.addRadioSet('topo-overlays', rset); |
| 177 | } | 178 | } |
| 178 | 179 | ||
| 179 | // invoked by overlay service to switch out old buttons and switch in new | 180 | // invoked by overlay service to switch out old buttons and switch in new |
| ... | @@ -261,6 +262,11 @@ | ... | @@ -261,6 +262,11 @@ |
| 261 | toolbar.toggle(); | 262 | toolbar.toggle(); |
| 262 | } | 263 | } |
| 263 | 264 | ||
| 265 | + function setDefaultOverlay() { | ||
| 266 | + var idx = ovIndex[defaultOverlay] || 0; | ||
| 267 | + ovRset.selectedIndex(idx); | ||
| 268 | + } | ||
| 269 | + | ||
| 264 | angular.module('ovTopo') | 270 | angular.module('ovTopo') |
| 265 | .factory('TopoToolbarService', | 271 | .factory('TopoToolbarService', |
| 266 | ['$log', 'FnService', 'ToolbarService', 'PrefsService', | 272 | ['$log', 'FnService', 'ToolbarService', 'PrefsService', |
| ... | @@ -278,7 +284,8 @@ | ... | @@ -278,7 +284,8 @@ |
| 278 | createToolbar: createToolbar, | 284 | createToolbar: createToolbar, |
| 279 | destroyToolbar: destroyToolbar, | 285 | destroyToolbar: destroyToolbar, |
| 280 | keyListener: keyListener, | 286 | keyListener: keyListener, |
| 281 | - toggleToolbar: toggleToolbar | 287 | + toggleToolbar: toggleToolbar, |
| 288 | + setDefaultOverlay: setDefaultOverlay | ||
| 282 | }; | 289 | }; |
| 283 | }]); | 290 | }]); |
| 284 | }()); | 291 | }()); |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
-
Please register or login to post a comment