From 834c7869ddece519b95415fd55453c4435bf1c13 Mon Sep 17 00:00:00 2001
From: Leonardo Menezes <mail@lmenezes.com>
Date: Wed, 25 Oct 2017 19:57:22 +0200
Subject: [PATCH] call data service disconnect on navbar disconnect

---
 public/js/app.js                        | 8 ++++++++
 public/navbar.html                      | 6 ++++--
 src/app/components/navbar/controller.js | 8 ++++++++
 3 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/public/js/app.js b/public/js/app.js
index 27fd1ce..ae86c6f 100644
--- a/public/js/app.js
+++ b/public/js/app.js
@@ -703,6 +703,14 @@ angular.module('cerebro').controller('NavbarController', ['$scope', '$http',
       $scope.refreshInterval = interval;
     };
 
+    $scope.disconnect = function() {
+      $scope.status = undefined;
+      $scope.cluster_name = undefined;
+      $scope.host = undefined;
+      $scope.username = undefined;
+      DataService.disconnect();
+    };
+
     $scope.$watch(
       function() {
         return RefreshService.lastUpdate();
diff --git a/public/navbar.html b/public/navbar.html
index d881443..adceb08 100644
--- a/public/navbar.html
+++ b/public/navbar.html
@@ -1,4 +1,4 @@
-<nav class="navbar navbar-default navbar-fixed-top navbar-{{status}}" ng-controller="NavbarController">
+<nav class="navbar navbar-default navbar-fixed-top navbar-{{status}}" ng-controller="NavbarController" ng-show="host">
   <div class="container-fluid">
     <div class="navbar-header">
       <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
@@ -81,7 +81,9 @@
           </a>
         </li>
         <li>
-          <a href="#connect" class="nav-item nav-link hidden-xs"><i class="fa fa-plug"></i></a>
+          <a href="#connect" class="nav-item nav-link hidden-xs" ng-click="disconnect()">
+            <i class="fa fa-plug"></i>
+          </a>
         </li>
         <li>
           <form action="auth/logout" method="POST" ng-show="username">
diff --git a/src/app/components/navbar/controller.js b/src/app/components/navbar/controller.js
index bbe2120..d159981 100644
--- a/src/app/components/navbar/controller.js
+++ b/src/app/components/navbar/controller.js
@@ -13,6 +13,14 @@ angular.module('cerebro').controller('NavbarController', ['$scope', '$http',
       $scope.refreshInterval = interval;
     };
 
+    $scope.disconnect = function() {
+      $scope.status = undefined;
+      $scope.cluster_name = undefined;
+      $scope.host = undefined;
+      $scope.username = undefined;
+      DataService.disconnect();
+    };
+
     $scope.$watch(
       function() {
         return RefreshService.lastUpdate();
-- 
GitLab