<!--
  ~ 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(sortParams)"></div>
        </div>
    </div>

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

        <div class="table-header"
             onos-sortable-header
             sort-params="sortParams"
             sort-callback="sortCallback(sortParams)">
            <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>
