<!--
  ~ 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 ({{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>

    <div class="summary-list" onos-fixed-header>

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

        <div class="table-body">
            <table>
                <tr ng-hide="tableData.length" class="no-data ignore-width">
                    <td colspan="6">
                        No Links found
                    </td>
                </tr>

                <tr ng-repeat="link in 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 ng-bind-html="link.direction"></td>
                    <td>{{link.durable}}</td>
                </tr>
            </table>
        </div>

    </div>

</div>
