blob: 3bfabc32c21d7aa49e4a06fde7e17f67e374ffec [file] [log] [blame]
Skip Wonnell2c977e22018-03-01 08:30:15 -06001<!--
2============LICENSE_START==========================================
3===================================================================
4Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
5===================================================================
Sandeep J170263d2018-07-16 17:02:46 +05306Copyright (C) 2018 IBM.
7===================================================================
Skip Wonnell2c977e22018-03-01 08:30:15 -06008Unless otherwise specified, all software contained herein is licensed
9under the Apache License, Version 2.0 (the License);
10you may not use this software except in compliance with the License.
11You may obtain a copy of the License at
12
13 http://www.apache.org/licenses/LICENSE-2.0
14
15Unless required by applicable law or agreed to in writing, software
16distributed under the License is distributed on an "AS IS" BASIS,
17WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18See the License for the specific language governing permissions and
19limitations under the License.
20
Skip Wonnell2c977e22018-03-01 08:30:15 -060021============LICENSE_END============================================
22-->
Sandeep J170263d2018-07-16 17:02:46 +053023<simple-notifications [options]="options"></simple-notifications>
Skip Wonnell2c977e22018-03-01 08:30:15 -060024<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>
25<div class="container">
26 <div *ngIf="noData != true">
27 <div class="row">
28 <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
29
30 </div>
31 <div class="col-xs-12 col-sm-12 col-md-3 col-lg-3">
32 <input placeholder="filter table" class="form-control" type="text" [(ngModel)]="filterQuery" />
33 </div>
34 </div>
35 <div class="row">
36 <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
37 <div class="table-responsive" style="height:auto; overflow: auto;">
38 <table class="table">
39 <thead>
40 <tr>
41 <th>VNF TYPE <i class="fa fa-sort" (click)="sortOrder= !sortOrder; sortBy='vnf-type'" aria-hidden="true"></i></th>
42 <th>VNFC TYPE<i class="fa fa-sort" (click)="sortOrder= !sortOrder; sortBy='vnfc-type'" aria-hidden="true"></i></th>
43 <!-- <th>INCART<i class="fa fa-sort" (click)="sortOrder= !sortOrder; sortBy='subscriber'" aria-hidden="true"></i></th> -->
44 <!-- <th>PROTOCOL<i class="fa fa-sort" (click)="sortOrder= !sortOrder; sortBy='protocol'" aria-hidden="true"></i></th>
45 <th>ACTION<i class="fa fa-sort" (click)="sortOrder= !sortOrder; sortBy='action'" aria-hidden="true"></i></th> -->
46 <th>ARTIFACT NAME<i class="fa fa-sort" (click)="sortOrder= !sortOrder; sortBy='artifact-name'" aria-hidden="true"></i></th>
47 <!-- <th>ARTIFACT TYPE<i class="fa fa-sort" (click)="sortOrder= !sortOrder; sortBy='artifact-type'"
48 aria-hidden="true"></i></th> -->
49 <th></th>
50 </tr>
51 </thead>
52
53 <tbody style="padding: 15px 25px">
54 <tr *ngFor="let item of vnfData | orderBy:sortBy:sortOrder | tableFilter:filterQuery:filter">
55 <td>{{item['vnf-type']}}</td>
56 <td>{{item['vnfc-type']}}</td>
57 <!-- <td>{{item.incart}}</td> -->
58 <!-- <td>{{item.protocol}}</td>
59 <td>{{item.action}}</td> -->
60 <td>{{item['artifact-name']}}</td>
61 <!-- <td>{{item['artifact-type']}}</td> -->
62 <td>
63 <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"
64 aria-hidden="true"></i> View/Edit
65 </button>
66 </td>
67 </tr>
68 </tbody>
69 </table>
70 </div>
71 </div>
72 </div>
73 </div>
74 <div *ngIf="noData == true" class="text-center">
75 <div class="card">
76 <div class="mdl-dialog__content">
77 <div class="mdl-card__title">
78 <h2 class="mdl-card__title-text">You don't have any Artifacts</h2>
79 </div>
80 <div class="mdl-card__supporting-text">
81 {{noDataMsg}}
82 </div>
83 </div>
84 </div>
85 </div>
86 <div class="col-lg-12-ln2">
od7427b1ce3d42018-08-23 11:49:12 -040087 <button type="button" (click)="createVnfcModal.open()" class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect mdl-button--primary">
88 Create New VNF Type
Skip Wonnell2c977e22018-03-01 08:30:15 -060089 </button>
90 </div>
91</div>
92
od7427b1ce3d42018-08-23 11:49:12 -040093<!-- <ng-template #content let-c="close" let-d="dismiss">
Skip Wonnell2c977e22018-03-01 08:30:15 -060094 <form ngNativeValidate (ngSubmit)="c('yes')">
95 <div class="modal-header">
96 <h4 class="modal-title">Enter VNF type and VNFC to proceed</h4>
97 <button type="button" class="close" aria-label="Close" (click)="d('Cross click')">
98 <span aria-hidden="true">&times;</span>
99 </button>
100 </div>
101 <div class="modal-body">
102
103 <div class="form-group row">
104 <label for="example-text-input" class="col-12 col-form-label">Enter Vnf Type</label>
105 <div class="col-12">
106 <input required name="vnfType" class="form-control" [(ngModel)]="vnfType" type="text" id="vnfType">
107 </div>
108 </div>
109 <div class="form-check">
110 <label class="form-check-label">
111 <input name="vnfcRequired" class="form-check-input" [(ngModel)]="vnfcRequired" type="checkbox"
112 id="vnfcRequired">
113 Enter vnfc info
114 </label>
115 </div>
116 <div class="form-group row" *ngIf="vnfcRequired">
117 <label for="example-search-input" class="col-12 col-form-label">Enter Vnfc Type</label>
118 <div class="col-12">
119 <input required name="vnfcType" class="form-control" [(ngModel)]="vnfcType" type="text" id="vnfcType">
120 </div>
121 </div>
122 </div>
123 <div class="modal-footer">
124 <button type="button" class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect mdl-button--accent
125
126 " (click)="c('yes')">Proceed anyway
127 </button>
128 <button type="submit" class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect mdl-button--primary">Next
129 </button>
130
131 </div>
132 </form>
od7427b1ce3d42018-08-23 11:49:12 -0400133</ng-template> -->
134
135<!-- Modal for Create new Vnf -->
136<modal #createVnfcModal>
137 <form ngNativeValidate (ngSubmit)="buildNewDesign('yes')">
138 <modal-header [show-close]="true">
139 <h4 class="modal-title">Enter VNF Type</h4>
140 </modal-header>
141 <modal-body>
142 <div class="form-group row">
143 <label for="example-text-input" class="col-12 col-form-label">Enter Vnf Type</label>
144 <div class="col-12">
145 <input pattern=".*[^ ].*" required name="vnfType" class="form-control" (ngModelChange)="validateVnfName($event)" [(ngModel)]="vnfType" type="text" id="vnfType">
146 <span class="error-message">{{errorMessage}}</span>
147 </div>
148
149 </div>
150 <div class="form-check">
151 <label class="form-check-label">
152 <input name="vnfcRequired" class="form-check-input" [(ngModel)]="vnfcRequired" type="checkbox"
153 id="vnfcRequired">
154 This VNF has VNFC templates
155 </label>
156 </div>
157 </modal-body>
158 <modal-footer [show-default-buttons]="false">
159 <button type="button" class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect mdl-button--accent" (click)="buildNewDesign('no')">
160 Proceed To Upload
161 </button>
162 <button type="submit" class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect mdl-button--primary" [disabled]="invalid">
163 Next
164 </button>
165 </modal-footer>
166 </form>
167</modal>