<!DOCTYPE html>
<!--
~ Copyright 2014 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.
-->
<html>
<head>
    <meta charset="utf-8">
    <link rel="shortcut icon" href="../data/img/onos-logo.png">
    <title>ONOS Angular</title>

    <!-- Third party library code included here -->
    <!--TODO: use minified versions, once debugging is complete -->
    <script src="../tp/angular.js"></script>
    <script src="../tp/angular-route.js"></script>

    <script src="../tp/d3.js"></script>
    <script src="../tp/topojson.v1.min.js"></script>
    <script src="../tp/jquery-2.1.1.min.js"></script>

    <!-- ONOS UI Framework included here -->
    <!-- TODO: use a single catenated-minified file here -->
    <script src="onos.js"></script>

    <script src="fw/util/util.js"></script>
    <script src="fw/util/fn.js"></script>
    <script src="fw/util/theme.js"></script>
    <script src="fw/util/keys.js"></script>

    <script src="fw/mast/mast.js"></script>

    <!-- Framework and library stylesheets included here -->
    <!-- TODO: use a single catenated-minified file here -->
    <link rel="stylesheet" href="onos.css">
    <link rel="stylesheet" href="fw/mast/mast.css">

    <!-- This is where contributed javascript will get injected -->
    <!-- {INJECTED-JAVASCRIPT} -->
    <script src="view/sample/sample.js"></script>
    <script src="view/topo/topo.js"></script>
    <!-- TODO: inject javascript refs server-side -->

    <!-- This is where contributed stylesheets will get injected -->
    <!-- {INJECTED-STYLESHEETS} -->
    <link rel="stylesheet" href="view/sample/sample.css">
    <link rel="stylesheet" href="view/topo/topo.css">
    <!-- TODO: inject style-sheet refs server-side -->
</head>
<body class="light" ng-app="onosApp">
    <div id="frame" ng-controller="OnosCtrl as onosCtrl">
        <div id="mast"
             ng-controller="MastCtrl as mastCtrl"
             ng-include="'fw/mast/mast.html'"></div>

        <div id="view" ng-view></div>

        <div id="floatpanels"></div>
        <div id="alerts"></div>
        <div id="flash"></div>
        <div id="quickhelp"></div>
        <div id="deathmask"></div>
    </div>
</body>
</html>
