<!--
Copyright 2017-present Open Networking Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->

<h1>Service Graph</h1>

<div class="graph-container">
  <div class="loader-container" ng-if="vm.loader">
    <div class="loader"></div>
  </div>
  <a ng-click="vm.closeFullscreen()" class="close-btn"><i class="fa fa-times"></i></a>
  <svg></svg>
  <div class="row">
    <div class="col-md-3">
      <a ng-click="vm.toggleModel('services')" ng-class="{active: vm.currentState >= 0}" class="btn btn-block btn-accent">
        <span>Services</span>
      </a>
    </div>
    <div class="col-md-3">
      <a ng-click="vm.toggleModel('serviceinstances')" ng-class="{active: vm.currentState >= 1}" class="btn btn-block btn-accent">
        <span>Service Instances</span>
      </a>
    </div>
    <div class="col-md-3">
      <a ng-click="vm.toggleModel('instances')" ng-class="{active: vm.currentState >= 2}" class="btn btn-block btn-accent">
        <span>Instances</span>
      </a>
    </div>
    <div class="col-md-3">
      <a ng-click="vm.toggleModel('networks')" ng-class="{active: vm.currentState >= 3}" class="btn btn-block btn-accent">
        <span>Networks</span>
      </a>
    </div>
  </div>
</div>
