<!--
~ 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="flow-details-panel" class="floatpanel" [@flowDetailsState]="flowId!=='' && !closed">
    <div class="container">
        <div class="top">
            <div class="close-btn">
                <onos-icon class="close-btn" classes="active-close" iconId="close" iconSize="20" (click)="close()"></onos-icon>
            </div>
            <div class="flow-icon">
                <onos-icon classes="details-icon" iconId="flowTable" [iconSize]="42"></onos-icon>
            </div>
            <h2>{{ flowId }}</h2>
            <div class="scroll">
                <div class="top-content">
                    <table>
                        <tbody>
                            <tr>
                                <td class="label">{{ lionFn('flowId') }}</td>
                                <td class="value">{{ flowId }}</td>
                            </tr>
                            <tr>
                                <td class="label">{{ lionFn('state') }}</td>
                                <td class="value">{{ detailsData.state }}</td>
                            </tr>
                            <tr>
                                <td class="label">{{ lionFn('bytes') }}</td>
                                <td class="value">{{ detailsData.bytes }}</td>
                            </tr>
                            <tr>
                                <td class="label">{{ lionFn('packets') }}</td>
                                <td class="value">{{ detailsData.packets }}</td>
                            </tr>
                            <tr>
                                <td class="label">{{ lionFn('duration') }}</td>
                                <td class="value">{{ detailsData.duration }}</td>
                            </tr>
                            <tr>
                                <td class="label">{{ lionFn('priority') }}</td>
                                <td class="value">{{ detailsData.priority }}</td>
                            </tr>
                            <tr>
                                <td class="label">{{ lionFn('tableName') }}</td>
                                <td class="value">{{ detailsData.tableName }}</td>
                            </tr>
                            <tr>
                                <td class="label">{{ lionFn('appName') }}</td>
                                <td class="value">{{ detailsData.appName }}</td>
                            </tr>
                            <tr>
                                <td class="label">{{ lionFn('appId') }}</td>
                                <td class="value">{{ detailsData.appId }}</td>
                            </tr>
                            <tr>
                                <td class="label">{{ lionFn('groupId') }}</td>
                                <td class="value">{{ detailsData.groupId }}</td>
                            </tr>
                            <tr>
                                <td class="label">{{ lionFn('idleTimeout') }}</td>
                                <td class="value">{{ detailsData.idleTimeout }}</td>
                            </tr>
                            <tr>
                                <td class="label">{{ lionFn('hardTimeout') }}</td>
                                <td class="value">{{ detailsData.hardTimeout }}</td>
                            </tr>
                            <tr>
                                <td class="label">{{ lionFn('permanent') }}</td>
                                <td class="value">{{ detailsData.permanent }}</td>
                            </tr>
                        </tbody>
                    </table>
                </div>
                <hr>
                <h3>{{ lionFn('selector') }}</h3>
                <div class="top-content">
                    <table>
                        <tbody>
                            <tr>
                                <td class="label">ETH_TYPE</td>
                                <td class="value">{{ detailsData.selector }}</td>
                            </tr>
                        </tbody>
                    </table>
                </div>
                <hr>
                <h3>{{ lionFn('treatment') }}</h3>
                <div class="top-content">
                    <table>
                        <tbody>
                            <tr>
                                <td class="label">[imm]OUTPUT</td>
                                <td class="value">{{ immed(detailsData.treatment) }}</td>
                            </tr>
                            <tr>
                                <td class="label">Clear deferred :</td>
                                <td class="value">{{ clearDef(detailsData.treatment) }}</td>
                            </tr>
                        </tbody>
                    </table>
                </div>
            </div>
        </div>
    </div>
</div>