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

<!-- Link partial HTML -->
<div id="ov-link">
    <div class="tabular-header">
        <h2>Links ({{ctrl.tableData.length}} total)</h2>
        <div class="ctrl-btns">
            <div class="refresh active"
                 icon icon-size="36" icon-id="refresh"
                 ng-click="refresh()"></div>
        </div>
    </div>

    <table class="summary-list"
           onos-fixed-header
           onos-sortable-header
           sort-callback="sortCallback(requestParams)">
        <thead>
            <tr>
                <th colId="_iconid_state" class="table-icon" sortable></th>
                <th colId="one" sortable>Port 1 </th>
                <th colId="two" sortable>Port 2 </th>
                <th colId="type" sortable>Type </th>
                <th colId="direction" sortable>Direction </th>
                <th colId="durable" sortable>Durable </th>
            </tr>
        </thead>

        <tbody>
            <tr ng-hide="ctrl.tableData.length">
                <td class="nodata" colspan="6">
                    No Links found
                </td>
            </tr>

            <tr ng-repeat="link in ctrl.tableData"
                ng-repeat-done>
                <td class="table-icon">
                    <div icon icon-id="{{link._iconid_state}}"></div>
                </td>
                <td>{{link.one}}</td>
                <td>{{link.two}}</td>
                <td>{{link.type}}</td>
                <td>{{link.direction}}</td>
                <td>{{link.durable}}</td>
            </tr>
        </tbody>
    </table>
</div>
