GUI -- TopoView - Implemented show/hide summary 'O' keystroke.
Change-Id: Id5014614b8faec19423aa367ad3de1ca3140b882
diff --git a/web/gui/src/main/webapp/app/view/topo/topo.js b/web/gui/src/main/webapp/app/view/topo/topo.js
index a835d6b..08b99e1 100644
--- a/web/gui/src/main/webapp/app/view/topo/topo.js
+++ b/web/gui/src/main/webapp/app/view/topo/topo.js
@@ -28,7 +28,7 @@
];
// references to injected services etc.
- var $log, fs, ks, zs, gs, ms, sus, tfs, tis;
+ var $log, fs, ks, zs, gs, ms, sus, tes, tfs, tps, tis;
// DOM elements
var ovtopo, svg, defs, zoomLayer, mapG, forceG, noDevsLayer;
@@ -42,7 +42,7 @@
// key bindings need to be made after the services have been injected
// thus, deferred to here...
ks.keyBindings({
- //O: [toggleSummary, 'Toggle ONOS summary pane'],
+ O: [toggleSummary, 'Toggle ONOS summary pane'],
I: [toggleInstances, 'Toggle ONOS instances pane'],
//D: [toggleDetails, 'Disable / enable details pane'],
@@ -87,6 +87,15 @@
// --- Keystroke functions -------------------------------------------
+ function toggleSummary() {
+ if (tps.summaryVisible()) {
+ tes.sendEvent("cancelSummary");
+ tps.hideSummaryPanel();
+ } else {
+ tes.sendEvent('requestSummary');
+ }
+ }
+
function toggleInstances() {
tis.toggle();
tfs.updateDeviceColors();
@@ -213,7 +222,7 @@
'TopoInstService',
function ($scope, _$log_, $loc, $timeout, _fs_, mast,
- _ks_, _zs_, _gs_, _ms_, _sus_, tes, _tfs_, tps, _tis_) {
+ _ks_, _zs_, _gs_, _ms_, _sus_, _tes_, _tfs_, _tps_, _tis_) {
var self = this,
projection,
dim,
@@ -221,7 +230,7 @@
// provides function calls back into this space
showNoDevs: showNoDevs,
projection: function () { return projection; },
- sendEvent: tes.sendEvent
+ sendEvent: _tes_.sendEvent
};
$log = _$log_;
@@ -231,7 +240,9 @@
gs = _gs_;
ms = _ms_;
sus = _sus_;
+ tes = _tes_;
tfs = _tfs_;
+ tps = _tps_;
tis = _tis_;
self.notifyResize = function () {
diff --git a/web/gui/src/main/webapp/app/view/topo/topoEvent.js b/web/gui/src/main/webapp/app/view/topo/topoEvent.js
index edebb52..10ed6df 100644
--- a/web/gui/src/main/webapp/app/view/topo/topoEvent.js
+++ b/web/gui/src/main/webapp/app/view/topo/topoEvent.js
@@ -58,14 +58,15 @@
};
}
- var dispatcher = {
+ var nilApi = {},
+ dispatcher = {
handleEvent: function (ev) {
var eid = ev.event,
- api = evApis[eid] || {},
+ api = evApis[eid] || nilApi,
eh = api[eid];
if (eh) {
- $log.debug(' *EVENT* ', eid, ev.payload);
+ $log.debug(' << *Rx* ', eid, ev.payload);
eh(ev.payload);
} else {
$log.warn('Unknown event (ignored):', ev);
@@ -74,6 +75,7 @@
sendEvent: function (evType, payload) {
if (wsock) {
+ $log.debug(' *Tx* >> ', evType, payload);
wes.sendEvent(wsock, evType, payload);
} else {
$log.warn('sendEvent: no websocket open:', evType, payload);
diff --git a/web/gui/src/main/webapp/app/view/topo/topoPanel.js b/web/gui/src/main/webapp/app/view/topo/topoPanel.js
index 3053643..031ab53 100644
--- a/web/gui/src/main/webapp/app/view/topo/topoPanel.js
+++ b/web/gui/src/main/webapp/app/view/topo/topoPanel.js
@@ -143,7 +143,12 @@
function showSummaryPanel() {
summaryPanel.show();
- // TODO: augment, once we have the details pane also
+ // TODO: augment, for details panel move
+ }
+
+ function hideSummaryPanel() {
+ summaryPanel.hide();
+ // TODO: augment, for details panel move
}
function showDetailPanel() {
@@ -194,6 +199,7 @@
displayMulti: displayMulti,
addAction: addAction,
+ hideSummaryPanel: hideSummaryPanel,
showDetailPanel: showDetailPanel,
hideDetailPanel: hideDetailPanel,
diff --git a/web/gui/src/main/webapp/tests/app/view/topo/topoPanel-spec.js b/web/gui/src/main/webapp/tests/app/view/topo/topoPanel-spec.js
index fe8fd68..7f93eb7 100644
--- a/web/gui/src/main/webapp/tests/app/view/topo/topoPanel-spec.js
+++ b/web/gui/src/main/webapp/tests/app/view/topo/topoPanel-spec.js
@@ -40,6 +40,7 @@
'displaySingle',
'displayMulti',
'addAction',
+ 'hideSummaryPanel',
'showDetailPanel',
'hideDetailPanel',
'detailVisible',