fix testsuite name bugs and improve some ui details
[bottlenecks.git] / test-scheduler / ui / src / App.vue
index c432a12..0b77aa6 100644 (file)
@@ -3,10 +3,10 @@
     <div class="row border-bottom blue-bg my-page-header">
         <p id="title">OPNFV Bottlenecks Portal</p>
         <ul id="intr_table" class="nav navbar-nav">
-          <li><router-link to="/">Test Suites</router-link></li>
-          <li><router-link to="/result">Test Results</router-link></li>
-          <li><router-link to="/report">Reports</router-link></li>
-          <li><router-link to="/environment">Environments</router-link></li>
+          <li v-bind:class="{'router-link-active': cur_route == '/'}"><router-link to="/">Test Suites</router-link></li>
+          <li v-bind:class="{'router-link-active': cur_route == 'result'}"><router-link to="/result">Test Results</router-link></li>
+          <li v-bind:class="{'router-link-active': cur_route == 'report'}"><router-link to="/report">Reports</router-link></li>
+          <li v-bind:class="{'router-link-active': cur_route == 'environment'}"><router-link to="/environment">Environments</router-link></li>
         </ul>
     </div>
     <router-view/>
 </template>
 <script>
 export default {
-  name: 'App'
+  name: 'App',
+  data: function() {
+    return {
+      cur_route: ''
+    }
+  },
+  watch: {
+    '$route': function() {
+      this.highlightLink();
+    }
+  },
+  mounted: function() {
+    this.highlightLink();
+  },
+  methods: {
+    highlightLink: function() {
+      var name = this.$route.name;
+      if(name == 'result' || name == 'report' || name == 'environment') {
+        this.cur_route = name;
+      } else {
+        this.cur_route = '/';
+      }
+    }
+  }
 }
 </script>
+