GUI -- [ONOS-344] - Ability to disable Details Pane (press the 'D' key).
Change-Id: Icc3ba464f6619745e775978dd0e26874b84c9a7b
diff --git a/web/gui/src/main/webapp/topo.js b/web/gui/src/main/webapp/topo.js
index 5b38483..e233f8c 100644
--- a/web/gui/src/main/webapp/topo.js
+++ b/web/gui/src/main/webapp/topo.js
@@ -142,9 +142,10 @@
O: [toggleSummary, 'Toggle ONOS summary pane'],
I: [toggleInstances, 'Toggle ONOS instances pane'],
+ D: [toggleDetails, 'Disable / enable details pane'],
B: [toggleBg, 'Toggle background image'],
H: [toggleHosts, 'Toggle host visibility'],
- L: [cycleLabels, 'Cycle Device labels'],
+ L: [cycleLabels, 'Cycle device labels'],
P: togglePorts,
U: [unpin, 'Unpin node (hover mouse over)'],
R: [resetZoomPan, 'Reset zoom / pan'],
@@ -201,7 +202,9 @@
portLabelsOn = false,
cat7 = d3u.cat7(),
colorAffinity = false,
- showHosts = false;
+ showHosts = false,
+ useDetails = true,
+ haveDetails = false;
// constants
var hoverModeAll = 1,
@@ -252,6 +255,10 @@
// ==============================
// Key Callbacks
+ function flash(txt) {
+ network.view.flash(txt);
+ }
+
function testMe(view) {
//view.alert('Theme is ' + view.getTheme());
//view.flash('This is some text');
@@ -320,7 +327,7 @@
function toggleHosts() {
showHosts = !showHosts;
updateHostVisibility();
- network.view.flash('Hosts ' + visVal(showHosts));
+ flash('Hosts ' + visVal(showHosts));
}
function cycleLabels() {
@@ -350,7 +357,7 @@
function handleEscape(view) {
if (oiShowMaster) {
cancelAffinity();
- } else if (detailPane.isVisible()) {
+ } else if (haveDetails) {
deselectAll();
} else if (oiBox.isVisible()) {
hideInstances();
@@ -775,8 +782,11 @@
function showDetails(data) {
evTrace(data);
+ haveDetails = true;
populateDetails(data.payload);
- showDetailPane();
+ if (useDetails) {
+ showDetailPane();
+ }
}
function showTraffic(data) {
@@ -904,6 +914,19 @@
hideSummaryPane();
}
+ function toggleDetails() {
+ useDetails = !useDetails;
+ if (useDetails) {
+ flash('Enable details pane');
+ if (haveDetails) {
+ showDetailPane();
+ }
+ } else {
+ flash('Disable details pane');
+ hideDetailPane();
+ }
+ }
+
// encapsulate interaction between summary and details panes
function showSummaryPane() {
if (detailPane.isVisible()) {
@@ -951,7 +974,7 @@
two: selectOrder[1],
ids: selectOrder
});
- network.view.flash('Host-to-Host flow added');
+ flash('Host-to-Host flow added');
}
function addMultiSourceIntentAction() {
@@ -960,7 +983,7 @@
dst: selectOrder[selectOrder.length - 1],
ids: selectOrder
});
- network.view.flash('Multi-Source flow added');
+ flash('Multi-Source flow added');
}
@@ -981,7 +1004,7 @@
function showTrafficAction() {
hoverMode = hoverModeIntents;
requestSelectTraffic();
- network.view.flash('Related Traffic');
+ flash('Related Traffic');
}
function requestSelectTraffic() {
@@ -1000,7 +1023,7 @@
function showDeviceLinkFlowsAction() {
hoverMode = hoverModeFlows;
requestDeviceLinkFlows();
- network.view.flash('Device Flows');
+ flash('Device Flows');
}
function requestDeviceLinkFlows() {
@@ -1018,7 +1041,7 @@
function showAllTrafficAction() {
hoverMode = hoverModeAll;
requestAllTraffic();
- network.view.flash('All Traffic');
+ flash('All Traffic');
}
function requestAllTraffic() {
@@ -2221,6 +2244,7 @@
}
function emptySelect() {
+ haveDetails = false;
hideDetailPane();
cancelTraffic();
}
@@ -2232,6 +2256,7 @@
}
function multiSelect() {
+ haveDetails = true;
populateMultiSelect();
requestTrafficForMode();
}