| <!-- |
| ============LICENSE_START========================================== |
| =================================================================== |
| Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. |
| =================================================================== |
| Copyright (C) 2018 IBM. |
| =================================================================== |
| Unless otherwise specified, all software contained herein is licensed |
| under the Apache License, Version 2.0 (the License); |
| you may not use this software 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. |
| |
| ============LICENSE_END============================================ |
| --> |
| <simple-notifications [options]="options"></simple-notifications> |
| <ng-progress [positionUsing]="'marginLeft'" [minimum]="0.15" [maximum]="1" [speed]="200" [showSpinner]="false" [direction]="'leftToRightIncreased'" [color]="'#6ab344'" [trickleSpeed]="250" [thick]="true" [ease]="'linear'"></ng-progress> |
| <div class="container"> |
| <div *ngIf="noData != true"> |
| <div class="row"> |
| <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12"> |
| |
| </div> |
| <div class="col-xs-12 col-sm-12 col-md-3 col-lg-3"> |
| <input placeholder="filter table" class="form-control" type="text" [(ngModel)]="filterQuery" /> |
| </div> |
| </div> |
| <div class="row"> |
| <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12"> |
| <div class="table-responsive" style="height:600px; overflow: auto;"> |
| <table class="table"> |
| <thead> |
| <tr> |
| <th>VNF TYPE <i class="fa fa-sort" (click)="sortOrder= !sortOrder; sortBy='vnf-type'" aria-hidden="true"></i></th> |
| <th>VNFC TYPE<i class="fa fa-sort" (click)="sortOrder= !sortOrder; sortBy='vnfc-type'" aria-hidden="true"></i></th> |
| <!-- <th>INCART<i class="fa fa-sort" (click)="sortOrder= !sortOrder; sortBy='subscriber'" aria-hidden="true"></i></th> --> |
| <!-- <th>PROTOCOL<i class="fa fa-sort" (click)="sortOrder= !sortOrder; sortBy='protocol'" aria-hidden="true"></i></th> |
| <th>ACTION<i class="fa fa-sort" (click)="sortOrder= !sortOrder; sortBy='action'" aria-hidden="true"></i></th> --> |
| <th>ARTIFACT NAME<i class="fa fa-sort" (click)="sortOrder= !sortOrder; sortBy='artifact-name'" aria-hidden="true"></i></th> |
| <!-- <th>ARTIFACT TYPE<i class="fa fa-sort" (click)="sortOrder= !sortOrder; sortBy='artifact-type'" |
| aria-hidden="true"></i></th> --> |
| <th></th> |
| </tr> |
| </thead> |
| |
| <tbody style="padding: 15px 25px"> |
| <tr *ngFor="let item of vnfData | orderBy:sortBy:sortOrder | tableFilter:filterQuery:filter"> |
| <td>{{item['vnf-type']}}</td> |
| <td>{{item['vnfc-type']}}</td> |
| <!--td>{{defineData(item)}}</td--> |
| <!-- <td>{{item.incart}}</td> --> |
| <!-- <td>{{item.protocol}}</td> |
| <td>{{item.action}}</td> --> |
| <td>{{item['artifact-name']}}</td> |
| <!-- <td>{{item['artifact-type']}}</td> --> |
| <td> |
| <button type="button" class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect mdl-button--primary" (click)="navigateToReference(item)"><i class="fa fa-edit" |
| aria-hidden="true"></i> View/Edit |
| </button> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div *ngIf="noData == true" class="text-center"> |
| <div class="card"> |
| <div class="mdl-dialog__content"> |
| <div class="mdl-card__title"> |
| <h2 class="mdl-card__title-text">You don't have any Artifacts</h2> |
| </div> |
| <div class="mdl-card__supporting-text"> |
| {{noDataMsg}} |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="col-lg-12-ln2"> |
| <!-- <button type="button" (click)="buildNewDesign(content)" class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect mdl-button--primary">Create New |
| VNF Type |
| </button> --> |
| <button type="button" (click)="createVnfcModal.open()" class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect mdl-button--primary"> |
| Create New VNF Type |
| </button> |
| </div> |
| </div> |
| |
| <!-- <ng-template #content let-c="close" let-d="dismiss"> |
| <form ngNativeValidate (ngSubmit)="c('yes')"> |
| <div class="modal-header"> |
| <h4 class="modal-title">Enter VNF Type</h4> |
| <button type="button" class="close" aria-label="Close" (click)="d('Cross click')"> |
| <span aria-hidden="true">×</span> |
| </button> |
| </div> |
| <div class="modal-body"> |
| |
| <div class="form-group row"> |
| <label for="example-text-input" class="col-12 col-form-label">Enter Vnf Type</label> |
| <div class="col-12"> |
| <input pattern=".*[^ ].*" required name="vnfType" class="form-control" (ngModelChange)="validateVnfName($event)" [(ngModel)]="vnfType" type="text" id="vnfType"> |
| <span class="error-message">{{errorMessage}}</span> |
| </div> |
| |
| </div> |
| <div class="form-check"> |
| <label class="form-check-label"> |
| <input name="vnfcRequired" class="form-check-input" [(ngModel)]="vnfcRequired" type="checkbox" |
| id="vnfcRequired"> |
| This VNF has VNFC templates |
| </label> |
| </div> |
| </div> |
| <div class="modal-footer"> |
| <button type="button" class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect mdl-button--accent |
| |
| " (click)="c('no')">Proceed To Upload |
| </button> |
| <button type="submit" class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect mdl-button--primary" [disabled]="invalid">Next |
| </button> |
| |
| </div> |
| </form> |
| </ng-template> --> |
| |
| <!-- Modal for Create new Vnf --> |
| <modal #createVnfcModal> |
| <form ngNativeValidate (ngSubmit)="buildNewDesign('yes')"> |
| <modal-header [show-close]="true"> |
| <h4 class="modal-title">Enter VNF Type</h4> |
| </modal-header> |
| <modal-body> |
| <div class="form-group row"> |
| <label for="example-text-input" class="col-12 col-form-label">Enter Vnf Type</label> |
| <div class="col-12"> |
| <input pattern=".*[^ ].*" required name="vnfType" class="form-control" (ngModelChange)="validateVnfName($event)" [(ngModel)]="vnfType" type="text" id="vnfType"> |
| <span class="error-message">{{errorMessage}}</span> |
| </div> |
| |
| </div> |
| <div class="form-check"> |
| <label class="form-check-label"> |
| <input name="vnfcRequired" class="form-check-input" [(ngModel)]="vnfcRequired" type="checkbox" |
| id="vnfcRequired"> |
| This VNF has VNFC templates |
| </label> |
| </div> |
| </modal-body> |
| <modal-footer [show-default-buttons]="false"> |
| <button type="button" class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect mdl-button--accent" (click)="buildNewDesign('no')"> |
| Proceed To Upload |
| </button> |
| <button type="submit" class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect mdl-button--primary" [disabled]="invalid"> |
| Next |
| </button> |
| </modal-footer> |
| </form> |
| </modal> |