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

<!-- Tunnel partial HTML -->
<div id="ov-tunnel">
    <div class="tabular-header">
        <h2>Tunnels ({{tableData.length}} total)</h2>
        <div class="ctrl-btns">
            <div class="refresh" ng-class="{active: autoRefresh}"
                 icon icon-size="36" icon-id="refresh"
                 tooltip tt-msg="autoRefreshTip"
                 ng-click="toggleRefresh()"></div>
        </div>
    </div>

    <div class="summary-list" onos-table-resize>
        <div class="table-header" onos-sortable-header>
            <table>
                <tr>
                    <td colId="id" sortable>ID </td>
                    <td colId="name" sortable>Name</td>
                    <td colId="one" sortable>Port 1 </td>
                    <td colId="two" sortable>Port 2 </td>
                    <td colId="type" sortable>Type </td>
                    <td colId="group_id" sortable>Group Id</td>
                    <td colId="bandwidth" sortable>Bandwidth</td>
                    <td colId="path" sortable>Path</td>
                </tr>
            </table>
        </div>

        <div class="table-body">
            <table onos-flash-changes id-prop="one">
                <tr ng-if="!tableData.length" class="no-data">
                    <td colspan="6">
                        {{annots.no_rows_msg}}
                    </td>
                </tr>

                <tr ng-repeat="tunnel in tableData track by $index"
                    ng-repeat-complete row-id="{{tunnel.id}}">
                    <td>{{tunnel.id}}</td>
                    <td>{{tunnel.name}}</td>
                    <td>{{tunnel.one}}</td>
                    <td>{{tunnel.two}}</td>
                    <td>{{tunnel.type}}</td>
                    <td>{{tunnel.group_id}}</td>
                    <td>{{tunnel.bandwidth}}</td>
                    <td>{{tunnel.path}}</td>
                </tr>
            </table>
        </div>

    </div>

</div>
