<!--
~ Copyright 2018-present Open Networking Foundation
~
~ 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.
-->
<div id="application-details-panel" class="floatpanel" [@appDetailsState]="id!=='' && !closed">
    <!--<div *ngIf="visible" class="container">-->
    <div class="container">
        <div class="top">
            <onos-icon class="close-btn" iconId="close" iconSize="20" (click)="close()"></onos-icon>
            <div class="top-content">
                <div class="app-title">{{ detailsData.title }}</div>
                <div class="left app-icon">
                    <img src="{{ iconUrl(id) }}">
                </div>
                <div class="right">
                    <table class="app-props">
                        <tbody>
                            <tr>
                                <td class="label">{{ lionFn('app_id') }}:</td>
                                <td class="value">{{ id }}</td>
                            </tr>
                            <tr>
                                <td class="label">{{ lionFn('state') }}:</td>
                                <td class="value">{{ detailsData.state }}</td>
                            </tr>
                            <tr>
                                <td class="label">{{ lionFn('category') }}:</td>
                                <td class="value">{{ detailsData.category }}</td>
                            </tr>
                            <tr>
                                <td class="label">{{ lionFn('version') }}:</td>
                                <td class="value">{{ detailsData.version }}</td>
                            </tr>
                            <tr>
                                <td class="label">{{ lionFn('origin') }}:</td>
                                <td class="value">{{ detailsData.origin }}</td>
                            </tr>
                            <tr>
                                <td class="label">{{ lionFn('role') }}:</td>
                                <td class="value">{{ detailsData.role }}</td>
                            </tr>
                        </tbody>
                    </table>
                </div>
                <div class="app-url">
                    <a href="{{ detailsData.url }}" target="_blank">{{ detailsData.url }}</a>
                </div>
            </div>
        </div>
        <hr>
        <div class="middle">
            <div class="app-readme">{{ detailsData.readme }}</div>
        </div>
        <hr>
        <div class="bottom">
            <h2>{{ lionFn('dp_features') }}</h2>
            <div class="features">
                <table>
                    <tbody>
                        <tr *ngFor="let feat of detailsData.features">
                            <td>{{ feat }}</td>
                        </tr>
                    </tbody>
                </table>
            </div>
            <h2>{{ lionFn('dp_required_apps') }}</h2>
            <div class="required-apps">
                <table>
                    <tbody>
                        <tr *ngFor="let reqd of detailsData.required_apps">
                            <td>{{ reqd }}</td>
                        </tr>
                    </tbody>
                </table>
            </div>
            <h2>{{ lionFn('dp_permissions') }}</h2>
            <div class="permissions">
                <table>
                    <tbody>
                        <tr *ngFor="let perm of detailsData.permissions">
                            <td>{{ perm }}</td>
                        </tr>
                    </tbody>
                </table>
            </div>
        </div>
    </div>
</div>