From 52f5355964f2dad7ca073432b5d4c9114aa4b6a0 Mon Sep 17 00:00:00 2001
From: Jeffrey Phillips Freeman <jeffrey.freeman@syncleus.com>
Date: Sat, 11 Jul 2015 21:35:42 -0400
Subject: [PATCH] Made the analyzer navigation information into a service to
 ensure the tab is always insync with the current view.

---
 dist/index.html                            |  1 +
 dist/js/controllers/analyzer.configure.js  |  3 +-
 dist/js/controllers/analyzer.dataModel.js  |  4 ++-
 dist/js/controllers/analyzer.datastore.js  |  3 +-
 dist/js/controllers/analyzer.endpoints.js  |  3 +-
 dist/js/controllers/analyzer.fitness.js    |  3 +-
 dist/js/controllers/analyzer.insights.js   |  3 +-
 dist/js/controllers/analyzer.js            |  8 ++----
 dist/js/controllers/analyzer.statistics.js |  3 +-
 dist/js/controllers/analyzer.traffic.js    |  3 +-
 dist/js/services/analyzerNav.js            |  5 ++++
 dist/views/analyzer.html                   | 32 +++++++++++-----------
 12 files changed, 41 insertions(+), 30 deletions(-)
 create mode 100644 dist/js/services/analyzerNav.js

diff --git a/dist/index.html b/dist/index.html
index 439a809..48fefae 100644
--- a/dist/index.html
+++ b/dist/index.html
@@ -71,6 +71,7 @@
 
         <script src="js/app.js"></script>
         <script src="js/services/user.js"></script>
+        <script src="js/services/analyzerNav.js"></script>
         <script src="js/controllers/header.js"></script>
         <script src="js/controllers/home.js"></script>
         <script src="js/controllers/uppercase.js"></script>
diff --git a/dist/js/controllers/analyzer.configure.js b/dist/js/controllers/analyzer.configure.js
index 009fb01..5d5b990 100644
--- a/dist/js/controllers/analyzer.configure.js
+++ b/dist/js/controllers/analyzer.configure.js
@@ -1,2 +1,3 @@
-app.controller('analyzer.configure', ['$scope', function ($scope) {
+app.controller('analyzer.configure', ['$scope', 'analyzerNav', function ($scope, analyzerNav) {
+    analyzerNav.navSelected = "configure";
 }]);
diff --git a/dist/js/controllers/analyzer.dataModel.js b/dist/js/controllers/analyzer.dataModel.js
index fc999c0..c30540d 100644
--- a/dist/js/controllers/analyzer.dataModel.js
+++ b/dist/js/controllers/analyzer.dataModel.js
@@ -1,4 +1,6 @@
-app.controller('analyzer.dataModel', ['$scope', function ($scope) {
+app.controller('analyzer.dataModel', ['$scope', 'analyzerNav', function ($scope, analyzerNav) {
+    analyzerNav.navSelected = "dataModel";
+
     $scope.datapoints = [
         {
             "key": "educationMax",
diff --git a/dist/js/controllers/analyzer.datastore.js b/dist/js/controllers/analyzer.datastore.js
index df91e97..47415bb 100644
--- a/dist/js/controllers/analyzer.datastore.js
+++ b/dist/js/controllers/analyzer.datastore.js
@@ -1,2 +1,3 @@
-app.controller('analyzer.datastore', ['$scope', function ($scope) {
+app.controller('analyzer.datastore', ['$scope', 'analyzerNav', function ($scope, analyzerNav) {
+    analyzerNav.navSelected = "datastore";
 }]);
diff --git a/dist/js/controllers/analyzer.endpoints.js b/dist/js/controllers/analyzer.endpoints.js
index 76e1614..48b8479 100644
--- a/dist/js/controllers/analyzer.endpoints.js
+++ b/dist/js/controllers/analyzer.endpoints.js
@@ -1,2 +1,3 @@
-app.controller('analyzer.endpoints', ['$scope', function ($scope) {
+app.controller('analyzer.endpoints', ['$scope', 'analyzerNav', function ($scope, analyzerNav) {
+    analyzerNav.navSelected = "endpoints";
 }]);
diff --git a/dist/js/controllers/analyzer.fitness.js b/dist/js/controllers/analyzer.fitness.js
index 00751cb..cc20be2 100644
--- a/dist/js/controllers/analyzer.fitness.js
+++ b/dist/js/controllers/analyzer.fitness.js
@@ -1,2 +1,3 @@
-app.controller('analyzer.fitness', ['$scope', function ($scope) {
+app.controller('analyzer.fitness', ['$scope', 'analyzerNav', function ($scope, analyzerNav) {
+    analyzerNav.navSelected = "fitness";
 }]);
diff --git a/dist/js/controllers/analyzer.insights.js b/dist/js/controllers/analyzer.insights.js
index 23b2221..8f15b7a 100644
--- a/dist/js/controllers/analyzer.insights.js
+++ b/dist/js/controllers/analyzer.insights.js
@@ -1,2 +1,3 @@
-app.controller('analyzer.insights', ['$scope', function ($scope) {
+app.controller('analyzer.insights', ['$scope', 'analyzerNav', function ($scope, analyzerNav) {
+    analyzerNav.navSelected = "insights";
 }]);
diff --git a/dist/js/controllers/analyzer.js b/dist/js/controllers/analyzer.js
index bd80234..dddc2c5 100644
--- a/dist/js/controllers/analyzer.js
+++ b/dist/js/controllers/analyzer.js
@@ -1,7 +1,3 @@
-app.controller('analyzer', ['$scope', function ($scope) {
-    $scope.navSelected = "dataModel";
-
-    $scope.selectNav = function(newNav) {
-        $scope.navSelected = newNav;
-    };
+app.controller('analyzer', ['$scope', 'analyzerNav', function ($scope, analyzerNav) {
+    $scope.analyzerNav = analyzerNav;
 }]);
diff --git a/dist/js/controllers/analyzer.statistics.js b/dist/js/controllers/analyzer.statistics.js
index f2cda37..37d5c28 100644
--- a/dist/js/controllers/analyzer.statistics.js
+++ b/dist/js/controllers/analyzer.statistics.js
@@ -1,2 +1,3 @@
-app.controller('analyzer.statistics', ['$scope', function ($scope) {
+app.controller('analyzer.statistics', ['$scope', 'analyzerNav', function ($scope, analyzerNav) {
+    analyzerNav.navSelected = "statistics";
 }]);
diff --git a/dist/js/controllers/analyzer.traffic.js b/dist/js/controllers/analyzer.traffic.js
index 491e3a5..2125082 100644
--- a/dist/js/controllers/analyzer.traffic.js
+++ b/dist/js/controllers/analyzer.traffic.js
@@ -1,2 +1,3 @@
-app.controller('analyzer.traffic', ['$scope', function ($scope) {
+app.controller('analyzer.traffic', ['$scope', 'analyzerNav', function ($scope, analyzerNav) {
+    analyzerNav.navSelected = "traffic";
 }]);
diff --git a/dist/js/services/analyzerNav.js b/dist/js/services/analyzerNav.js
new file mode 100644
index 0000000..22a572a
--- /dev/null
+++ b/dist/js/services/analyzerNav.js
@@ -0,0 +1,5 @@
+app.factory('analyzerNav', function() {
+    return {
+        "navSelected": "dataModel"
+    };
+});
diff --git a/dist/views/analyzer.html b/dist/views/analyzer.html
index 1e40e0e..7386371 100644
--- a/dist/views/analyzer.html
+++ b/dist/views/analyzer.html
@@ -27,27 +27,27 @@
     <div class="analyzer-nav">
         <nav role="navigation">
             <ul class="analyzer-nav-group">
-                <li class="analyzer-nav-item" ng-class="{selected: navSelected == 'dataModel'}">
-                    <a ng-click="selectNav('dataModel')" ui-sref="analyzer.dataModel">
+                <li class="analyzer-nav-item" ng-class="{selected: analyzerNav.navSelected == 'dataModel'}">
+                    <a ui-sref="analyzer.dataModel">
                         <span class="analyzer-data-model-icon"></span> Data model
                     </a>
                 </li>
 
-                <li class="analyzer-nav-item" ng-class="{selected: navSelected == 'datastore'}">
-                    <a ng-click="selectNav('datastore')" ui-sref="analyzer.datastore">
+                <li class="analyzer-nav-item" ng-class="{selected: analyzerNav.navSelected == 'datastore'}">
+                    <a ui-sref="analyzer.datastore">
                         <span class="analyzer-datastore-icon"></span> Datastore
                     </a>
                 </li>
 
-                <li class="analyzer-nav-item" ng-class="{selected: navSelected == 'fitness'}">
-                    <a ng-click="selectNav('fitness')" ui-sref="analyzer.fitness">
+                <li class="analyzer-nav-item" ng-class="{selected: analyzerNav.navSelected == 'fitness'}">
+                    <a ui-sref="analyzer.fitness">
                         <span class="analyzer-fitness-icon"></span> Fitness
                         <span class="counter">0</span>
                     </a>
                 </li>
 
-                <li class="analyzer-nav-item" ng-class="{selected: navSelected == 'endpoints'}">
-                    <a ng-click="selectNav('endpoints')" ui-sref="analyzer.endpoints">
+                <li class="analyzer-nav-item" ng-class="{selected: analyzerNav.navSelected == 'endpoints'}">
+                    <a ui-sref="analyzer.endpoints">
                         <span class="analyzer-endpoints-icon"></span> Endpoints
                     </a>
                 </li>
@@ -56,21 +56,21 @@
             <div class="analyzer-nav-separator"></div>
 
             <ul class="analyzer-nav-group">
-                <li class="analyzer-nav-item" ng-class="{selected: navSelected == 'insights'}">
-                    <a ng-click="selectNav('insights')" ui-sref="analyzer.insights">
+                <li class="analyzer-nav-item" ng-class="{selected: analyzerNav.navSelected == 'insights'}">
+                    <a ui-sref="analyzer.insights">
                         <span class="analyzer-insights-icon"></span> Insights
                         <span class="counter">0</span>
                     </a>
                 </li>
 
-                <li class="analyzer-nav-item" ng-class="{selected: navSelected == 'traffic'}">
-                    <a ng-click="selectNav('traffic')" ui-sref="analyzer.traffic">
+                <li class="analyzer-nav-item" ng-class="{selected: analyzerNav.navSelected == 'traffic'}">
+                    <a ui-sref="analyzer.traffic">
                         <span class="analyzer-traffic-icon"></span> Traffic
                     </a>
                 </li>
 
-                <li class="analyzer-nav-item" ng-class="{selected: navSelected == 'statistics'}">
-                    <a ng-click="selectNav('statistics')" ui-sref="analyzer.statistics">
+                <li class="analyzer-nav-item" ng-class="{selected: analyzerNav.navSelected == 'statistics'}">
+                    <a ui-sref="analyzer.statistics">
                         <span class="analyzer-statistics-icon"></span> Statistics
                     </a>
                 </li>
@@ -79,8 +79,8 @@
             <div class="analyzer-nav-separator"></div>
 
             <ul class="analyzer-nav-group">
-                <li class="analyzer-nav-item" ng-class="{selected: navSelected == 'configure'}">
-                    <a ng-click="selectNav('configure')" ui-sref="analyzer.configure">
+                <li class="analyzer-nav-item" ng-class="{selected: analyzerNav.navSelected == 'configure'}">
+                    <a ui-sref="analyzer.configure">
                         <span class="analyzer-configure-icon"></span> Configure
                     </a>
                 </li>
-- 
GitLab