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

<!-- Group partial HTML -->
<div id="ov-group">
    <div class="tabular-header">
        <h2>
            Groups for Device {{devId || "(No device selected)"}}
            ({{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 class="separator"></div>

            <div class="active"
                 icon icon-id="flowTable" icon-size="36"
                 tooltip tt-msg="flowTip"
                 ng-click="nav('flow')"></div>

            <div class="active"
                 icon icon-id="portTable" icon-size="36"
                 tooltip tt-msg="portTip"
                 ng-click="nav('port')"></div>

            <div class="current-view"
                 icon icon-id="groupTable" icon-size="36"></div>
        </div>
    </div>

    <div class="summary-list" onos-table-resize>

        <div class="table-header" onos-sortable-header>
            <table>
                <tr>
                    <td colId="id" sortable>Group ID </td>
                    <td colId="app_id" sortable>App ID </td>
                    <td colId="state" sortable>State </td>
                    <td colId="type" sortable>Type </td>
                    <td colId="packets" sortable>Packets </td>
                    <td colId="bytes" sortable>Bytes </td>
                </tr>
            </table>
        </div>

        <div class="table-body">
            <table onos-flash-changes id-prop="id">
                <tr ng-if="!tableData.length" class="no-data">
                    <td colspan="6">
                        No Groups found
                    </td>
                </tr>

                <tr ng-repeat-start="group in tableData track by $index"
                    ng-repeat-complete row-id="{{group.id}}">
                    <td>{{group.id}}</td>
                    <td>{{group.app_id}}</td>
                    <td>{{group.state}}</td>
                    <td>{{group.type}}</td>
                    <td>{{group.packets}}</td>
                    <td>{{group.bytes}}</td>
                </tr>
                <tr row-id="{{group.id}}" ng-repeat-end>
                    <td class="buckets" colspan="6"
                        ng-bind-html="group.buckets"></td>
                </tr>
            </table>
        </div>

    </div>

</div>
