<!--
  ~ 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 ({{ctrl.tableData.length}} total)</h2>
        <div class="ctrl-btns">
            <div class="refresh active"
                 icon icon-size="36" icon-id="crown"
                 ng-click="refresh()"></div>
        </div>
    </div>
    <table class="summary-list"
           onos-fixed-header
           onos-sortable-header
           sort-callback="sortCallback(requestParams)">
        <thead>
        <tr>
            <th colId="appId" sortable>Application ID </th>
            <th colId="key" sortable>Key </th>
            <th colId="type" sortable>Type </th>
            <th colId="priority" sortable>Priority </th>
        </tr>
        </thead>

        <tbody>
            <tr ng-hide="ctrl.tableData.length">
                <td class="nodata" colspan="4">
                    No Intents found
                </td>
            </tr>

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