Steven Burrows
Committed by Gerrit Code Review

Added keyboard shortcut to show/hide instance panel

Change-Id: I88bed44fe84a91ca870d67d0428b95c4a30dab85
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
2 'use strict'; 2 'use strict';
3 3
4 // injected refs 4 // injected refs
5 - var $log, ps, sus, gs, ts; 5 + var $log, ps, sus, gs, flash, ts;
6 6
7 // api from topo 7 // api from topo
8 var api; 8 var api;
...@@ -238,6 +238,26 @@ ...@@ -238,6 +238,26 @@
238 }); 238 });
239 } 239 }
240 240
241 + function toggle(x) {
242 + var kev = (x === 'keyev'),
243 + on,
244 + verb;
245 +
246 + if (kev) {
247 + on = oiBox.toggle();
248 + } else {
249 + on = Boolean(x);
250 + if (on) {
251 + oiBox.show();
252 + } else {
253 + oiBox.hide();
254 + }
255 + }
256 + verb = on ? 'Show' : 'Hide';
257 + flash.flash(verb + ' instances panel');
258 + return on;
259 + }
260 +
241 function destroy() { 261 function destroy() {
242 ts.removeListener(updateInstances); 262 ts.removeListener(updateInstances);
243 263
...@@ -250,20 +270,22 @@ ...@@ -250,20 +270,22 @@
250 270
251 angular.module('ovTopo2') 271 angular.module('ovTopo2')
252 .factory('Topo2InstanceService', 272 .factory('Topo2InstanceService',
253 - ['$log', 'PanelService', 'SvgUtilService', 'GlyphService', 273 + ['$log', 'PanelService', 'SvgUtilService', 'GlyphService', 'FlashService',
254 'ThemeService', 274 'ThemeService',
255 275
256 - function (_$log_, _ps_, _sus_, _gs_, _ts_) { 276 + function (_$log_, _ps_, _sus_, _gs_, _flash_, _ts_) {
257 $log = _$log_; 277 $log = _$log_;
258 ps = _ps_; 278 ps = _ps_;
259 sus = _sus_; 279 sus = _sus_;
260 gs = _gs_; 280 gs = _gs_;
281 + flash = _flash_;
261 ts = _ts_; 282 ts = _ts_;
262 283
263 return { 284 return {
264 initInst: initInst, 285 initInst: initInst,
265 allInstances: allInstances, 286 allInstances: allInstances,
266 - destroy: destroy 287 + destroy: destroy,
288 + toggle: toggle
267 }; 289 };
268 }]); 290 }]);
269 291
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
17 (function () { 17 (function () {
18 18
19 // Injected Services 19 // Injected Services
20 - var ks, t2ps, t2ms; 20 + var ks, t2ps, t2ms, ps, t2is;
21 var topo2ForceService; 21 var topo2ForceService;
22 22
23 // Commmands 23 // Commmands
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
25 L: [cycleDeviceLabels, 'Cycle device labels'], 25 L: [cycleDeviceLabels, 'Cycle device labels'],
26 G: [openMapSelection, 'Select background geo map'], 26 G: [openMapSelection, 'Select background geo map'],
27 B: [toggleMap, 'Toggle background geo map'], 27 B: [toggleMap, 'Toggle background geo map'],
28 + I: [toggleInstancePanel, 'Toggle ONOS Instance Panel']
28 }; 29 };
29 30
30 function init(t2fs) { 31 function init(t2fs) {
...@@ -45,6 +46,13 @@ ...@@ -45,6 +46,13 @@
45 ]); 46 ]);
46 } 47 }
47 48
49 + var prefsState = {};
50 +
51 + function updatePrefsState(what, b) {
52 + prefsState[what] = b ? 1 : 0;
53 + ps.setPrefs('topo_prefs', prefsState);
54 + }
55 +
48 function cycleDeviceLabels() { 56 function cycleDeviceLabels() {
49 var deviceLabelIndex = t2ps.get('dlbls') + 1; 57 var deviceLabelIndex = t2ps.get('dlbls') + 1;
50 t2ps.set('dlbls', deviceLabelIndex % 3); 58 t2ps.set('dlbls', deviceLabelIndex % 3);
...@@ -59,14 +67,20 @@ ...@@ -59,14 +67,20 @@
59 t2ms.toggle(x); 67 t2ms.toggle(x);
60 } 68 }
61 69
70 + function toggleInstancePanel(x) {
71 + updatePrefsState('insts', t2is.toggle(x));
72 + }
73 +
62 angular.module('ovTopo2') 74 angular.module('ovTopo2')
63 .factory('Topo2KeyCommandService', 75 .factory('Topo2KeyCommandService',
64 - ['KeyService', 'Topo2PrefsService', 'Topo2MapService', 76 + ['KeyService', 'Topo2PrefsService', 'Topo2MapService', 'PrefsService',
65 - 77 + 'Topo2InstanceService',
66 - function (_ks_, _t2ps_, _t2ms_) { 78 + function (_ks_, _t2ps_, _t2ms_, _ps_, _t2is_) {
67 79
68 t2ps = _t2ps_; 80 t2ps = _t2ps_;
69 t2ms = _t2ms_; 81 t2ms = _t2ms_;
82 + t2is = _t2is_;
83 + ps = _ps_;
70 ks = _ks_; 84 ks = _ks_;
71 85
72 return { 86 return {
......