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

<!-- Port partial HTML -->
<div id="ov-port">
    <div class="tabular-header">
        <h2>
            Port Statistics for Device {{devId || "(No device selected)"}}
            ({{tableData.length}} Ports total)
        </h2>
        <div class="ctrl-btns">
            <div class="refresh" ng-class="{active: autoRefresh}"
                 icon icon-size="36" icon-id="refresh"
                 ng-click="toggleRefresh()"></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="id" col-width="60px" sortable>Port ID </td>
                    <td colId="pkt_rx" sortable>Pkts Received </td>
                    <td colId="pkt_tx" sortable>Pkts Sent </td>
                    <td colId="bytes_rx" sortable>Bytes Received </td>
                    <td colId="bytes_tx" sortable>Bytes Sent </td>
                    <td colId="pkt_rx_drp" sortable>Pkts Received Dropped </td>
                    <td colId="pkt_tx_drp" sortable>Pkts Sent Dropped </td>
                    <td colId="duration" sortable>Duration (sec) </td>
                </tr>
            </table>
        </div>

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

                <tr ng-repeat="port in tableData"
                    ng-repeat-done>
                    <td>{{port.id}}</td>
                    <td>{{port.pkt_rx}}</td>
                    <td>{{port.pkt_tx}}</td>
                    <td>{{port.bytes_rx}}</td>
                    <td>{{port.bytes_tx}}</td>
                    <td>{{port.pkt_rx_drp}}</td>
                    <td>{{port.pkt_tx_drp}}</td>
                    <td>{{port.duration}}</td>
                </tr>
            </table>
        </div>

    </div>

</div>
