<!DOCTYPE html>
<!--
  ~ Copyright 2015 Open Networking Laboratory
  ~
  ~ 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.
  -->

<!--
  ONOS -- Displaying icons with Angular test page

  @author Bri Prebilic Cole
  -->

<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>Show Icons Angular</title>

    <script src="show-icons-test.js"></script>

    <script src="../tp/angular.js"></script>
    <script src="../tp/angular-route.js"></script>

    <script src="../tp/d3.js"></script>

    <link rel="stylesheet" href="../app/common.css">

    <style>
        html,
        body {
            background-color: #ddf;
            font-family: Arial, Helvetica, sans-serif;
            font-size: 9pt;
        }

        h2 {
            color: darkred;
        }
    </style>

</head>
<!-- outline for using a controller in Angular -->
<body class="light" ng-app="showIconsTest">
    <h2>Showing Icons with Icon Service Angular</h2>
    <div id="show-icons" ng-controller="OvShowIconsTest as ctrl">
        {{ctrl.message}}
        <!--{{a}} + {{b}} = {{a+b}}-->
    </div>



</body>
</html>