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

<!-- Cluster partial HTML -->
<div id="ov-cluster">
    <div class="tabular-header">
        <h2>Cluster Nodes ({{tableData.length}} 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="_iconid_state" class="table-icon" sortable></td>
                    <td colId="id" sortable>ID </td>
                    <td colId="ip" sortable>IP Address </td>
                    <td colId="tcp" sortable>TCP Port </td>
                    <td colId="updated" sortable>Last Updated </td>
                </tr>
            </table>
        </div>

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

                <tr ng-repeat="node in tableData"
                    ng-repeat-done>
                    <td class="table-icon">
                        <div icon icon-id="{{node._iconid_state}}"></div>
                    </td>
                    <td>{{node.id}}</td>
                    <td>{{node.ip}}</td>
                    <td>{{node.tcp}}</td>
                    <td>{{node.updated}}</td>
                </tr>
            </table>
        </div>

    </div>

</div>
