<!--
  ~ 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"
                 tooltip tt-msg="autoRefreshTip"
                 ng-click="toggleRefresh()"></div>
        </div>
    </div>

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

        <div class="table-header" onos-sortable-header>
            <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 onos-flash-changes id-prop="key">
                <tr ng-if="!tableData.length" class="no-data">
                    <td colspan="5">
                        No Intents found
                    </td>
                </tr>

                <tr ng-repeat-start="intent in tableData track by $index"
                    ng-repeat-complete row-id="{{intent.key}}">
                    <td>{{intent.appId}}</td>
                    <td>{{intent.key}}</td>
                    <td>{{intent.type}}</td>
                    <td>{{intent.priority}}</td>
                    <td>{{intent.state}}</td>
                </tr>
                <tr row-id="{{intent.key}}">
                    <td class="resources" colspan="5">{{intent.resources}}</td>
                </tr>
                <tr row-id="{{intent.key}}" ng-repeat-end>
                    <td class="details" colspan="5">{{intent.details}}</td>
                </tr>
            </table>
        </div>

    </div>

</div>
