<!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
  -->

<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>Practice Table Formatting</title>

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

    <script type="text/javascript" src="../tp/d3.js"></script>

    <script type="text/javascript" src="practice-table.js"></script>
    <script type="text/javascript" src="../app/fw/widget/widget.js"></script>
    <script type="text/javascript" src="../app/fw/widget/table.js"></script>

    <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 ng-app="practiceTable">
    <h2>Scrolling Table Practice</h2>
    <div id="tableDiv" ng-controller="showTableCtrl as ctrl">
    </div>

</body>
</html>