<!--
~ Copyright 2019-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="pipeconf-details-panel" class="floatpanel"
     [@pipeconfDetailsState]="id!=='' && !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>
            <h2>{{id}}</h2>
            <div class="top-content">
                <div class="top-tables">
                    <div class="left">
                        <table>
                            <tbody>
                            <tr>
                                <td class="label" width="110">Name</td>
                                <td class="value"
                                    width="80">{{pipeconfTable?.name}}</td>
                                <td class="label" width="110">Support Aging</td>
                                <td class="value"
                                    width="80">{{pipeconfTable?.supportAging}}</td>
                            </tr>
                            <tr>
                                <td class="label" width="110">Has counters</td>
                                <td class="value"
                                    width="80">{{pipeconfTable?.hasCounters}}</td>
                                <td class="label" width="110">Max entries</td>
                                <td class="value"
                                    width="80">{{pipeconfTable?.maxSize}}</td>
                            </tr>
                            </tbody>
                        </table>
                    </div>
                </div>
            </div>
            <hr>
        </div>
        <div class="bottom">
            <h2 class="match-title">Match fields</h2>
            <table>
                <thead>
                <th>Field</th>
                <th>Match type</th>
                <th>Bit width</th>
                </thead>
                <tbody>
                <tr *ngFor="let mf of pipeconfTable?.matchFields">
                    <td>{{mf.field}}</td>
                    <td>{{mf.matchType}}</td>
                    <td>{{mf.bitWidth}}</td>
                </tr>
                </tbody>
            </table>
        </div>
        <div class="bottom">
            <h2 class="action-title">Actions</h2>
            <table>
                <thead>
                <th>Action</th>
                <th>Parameter</th>
                </thead>
                <tbody>
                <tr *ngFor="let actionKey of pipeconfTable?.actions">
                    <td>{{actionKey}}</td>
                    <td><p *ngFor="let param of actionDetails(actionKey).params">{{param.name}}:{{param.bitWidth}}</p></td>
                </tr>
                </tbody>
            </table>
        </div>
    </div>
</div>
