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

<!-- Intent partial HTML -->
<div id="ov-intent">
    <div class="tabular-header">
        <h2>Intents ({{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="appId" sortable>Application ID </td>
                    <td colId="key" sortable>Key </td>
                    <td colId="type" sortable>Type </td>
                    <td colId="priority" sortable>Priority </td>
                    <td colId="state" sortable>State </td>
                </tr>
            </table>
        </div>

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

                <tr ng-repeat-start="intent in tableData">
                    <td>{{intent.appId}}</td>
                    <td>{{intent.key}}</td>
                    <td>{{intent.type}}</td>
                    <td>{{intent.priority}}</td>
                    <td>{{intent.state}}</td>
                </tr>
                <tr>
                    <td class="resources" colspan="5">{{intent.resources}}</td>
                </tr>
                <tr ng-repeat-end ng-repeat-done>
                    <td class="details" colspan="5">{{intent.details}}</td>
                </tr>
            </table>
        </div>

    </div>

</div>
