blob: d3bfc2444427f330e2e966a3c2f686f0472c8cdf [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*/
23
Arundathi Patil897c4b72018-07-17 16:05:00 +053024import { Component, OnInit, OnDestroy } from '@angular/core';
Skip Wonnell2c977e22018-03-01 08:30:15 -060025import { ActivatedRoute, Router } from '@angular/router';
26import { HttpUtilService } from '../../shared/services/httpUtil/http-util.service';
Arundathi Patil897c4b72018-07-17 16:05:00 +053027import { Subscription } from 'rxjs/Subscription';
Skip Wonnell2c977e22018-03-01 08:30:15 -060028import { MappingEditorService } from '../../shared/services/mapping-editor.service';
29import { ParamShareService } from '../../shared/services/paramShare.service';
30import { environment } from '../../../environments/environment';
31import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
32import { NgProgress } from 'ngx-progressbar';
Sandeep J170263d2018-07-16 17:02:46 +053033import { NotificationsService } from 'angular2-notifications';
Arundathi Patil333a9bd2018-07-25 17:08:41 +053034import { appConstants } from '../../../constants/app-constants'
Skip Wonnell2c977e22018-03-01 08:30:15 -060035
36@Component({ selector: 'app-myvnfs', templateUrl: './myvnfs.component.html', styleUrls: ['./myvnfs.component.css'] })
Arundathi Patil897c4b72018-07-17 16:05:00 +053037export class MyvnfsComponent implements OnInit, OnDestroy {
Skip Wonnell2c977e22018-03-01 08:30:15 -060038 vnfData: Array<Object> = [];
39 sortOrder = false;
40 noData = true;
41 sortBy: string;
42 filter: Object = {};
43 noDataMsg: string;
44 vnfType: any;
45 vnfcType: any;
Sandeep J170263d2018-07-16 17:02:46 +053046 options = {
Arundathi Patil897c4b72018-07-17 16:05:00 +053047 timeOut: 1000,
48 showProgressBar: true,
49 pauseOnHover: true,
50 clickToClose: true,
51 maxLength: 200
Sandeep J170263d2018-07-16 17:02:46 +053052 }
Arundathi Patil897c4b72018-07-17 16:05:00 +053053 subscription: Subscription;
Skip Wonnell2c977e22018-03-01 08:30:15 -060054
Arundathi Patil897c4b72018-07-17 16:05:00 +053055 constructor(private paramShareService: ParamShareService, private ngProgress: NgProgress, private httpUtil: HttpUtilService, private router: Router, private activeROute: ActivatedRoute,
56 private mappingEditorService: MappingEditorService, private modalService: NgbModal, private nService: NotificationsService) {
Skip Wonnell2c977e22018-03-01 08:30:15 -060057 }
58
59 ngOnInit() {
60
61 sessionStorage.setItem('updateParams', undefined);
62 this.mappingEditorService.latestAction = undefined;
63 const apiToken = localStorage['apiToken'];
64
65 const data = {
66 'input': {
67 'design-request': {
68 'request-id': apiToken,
69 'action': 'getDesigns',
70 'payload': '{"userID": "","filter":"reference"}'
71 }
72 }
73 };
74 const x = JSON.parse(data.input['design-request']['payload']);
75 x.userID = localStorage['userId'];
76 data.input['design-request']['payload'] = JSON.stringify(x);
77 // console.log("input to payload====", JSON.stringify(data));
78 this.getArtifacts(data);
79 this.clearCache();
80 }
81
Arundathi Patil897c4b72018-07-17 16:05:00 +053082 ngOnDestroy() {
83 if (this.subscription) { this.subscription.unsubscribe() };
84 }
85
Skip Wonnell2c977e22018-03-01 08:30:15 -060086 getArtifacts(data) {
87 this.ngProgress.start();
Arundathi Patil897c4b72018-07-17 16:05:00 +053088 this.subscription = this.httpUtil.post({
Skip Wonnell2c977e22018-03-01 08:30:15 -060089 url: environment.getDesigns,
90 data: data
91 })
92 .subscribe(resp => {
Arundathi Patil897c4b72018-07-17 16:05:00 +053093 console.log("resp:", resp);
Skip Wonnell2c977e22018-03-01 08:30:15 -060094 const tempObj = JSON.parse(resp.output.data.block);
95 this.vnfData = tempObj.designInfo;
96 if (this.vnfData == undefined || this.vnfData == null || this.vnfData.length == 0) {
97 this.noData = true;
98
99 this.noDataMsg = resp.output.data.status.message;
100 } else {
101 this.noData = false;
102 }
103 console.log(this.noData);
104 this.ngProgress.done();
Sandeep J170263d2018-07-16 17:02:46 +0530105 }
Arundathi Patil897c4b72018-07-17 16:05:00 +0530106 ,
107 error => {
108
Arundathi Patil333a9bd2018-07-25 17:08:41 +0530109 this.nService.error(appConstants.errors.error, appConstants.errors.connectionError)
Arundathi Patil897c4b72018-07-17 16:05:00 +0530110 }
111
112 );
113
Skip Wonnell2c977e22018-03-01 08:30:15 -0600114 this.filter = ['vnf-type', 'vnfc-type', 'artifact-name'];
115 setTimeout(() => {
116 this.ngProgress.done();
117 }, 3500);
118 }
119
120
121
122 getData() {
123 }
124
125 buildNewDesign(content) {
126
127 this.modalService.open(content).result.then(res => {
128 this.mappingEditorService.referenceNameObjects = undefined;
129 sessionStorage.setItem('vnfParams', JSON.stringify({ vnfType: this.vnfType, vnfcType: this.vnfcType }));
130 this
131 .router
132 .navigate([
133 'vnfs', 'design', 'references'
134 ]);
135 });
136
137
138 }
139
140 navigateToReference(item) {
141 sessionStorage.setItem('updateParams', JSON.stringify(item));
142 this.mappingEditorService.referenceNameObjects = undefined;
143
144 this
145 .router
146 .navigate(['../design/references'], {
147 relativeTo: this.activeROute,
148 queryParams: {
149 id: item.id
150 }
151 });
152 }
153
154 navigateToRefrenceUpdate() {
155
156 this
157 .router
158 .navigate(['../design/references/update'], {
159 relativeTo: this.activeROute,
160 queryParams: {
161 id: '10'
162 }
163 });
164 }
165
166 clearCache() {
167 // get the value and save the userid and persist it.
168
169 this.mappingEditorService.setTemplateMappingDataFromStore(undefined);
170 localStorage['paramsContent'] = '{}';
171 this.mappingEditorService.setParamContent(undefined);
172 this.paramShareService.setSessionParamData(undefined);
173 const appData = { reference: {}, template: { templateData: {}, nameValueData: {} }, pd: {} };
174 const downloadData = {
175 reference: {},
176 template: { templateData: {}, nameValueData: {}, templateFileName: '', nameValueFileName: '' },
177 pd: { pdData: '', pdFileName: '' }
178 };
179 this.mappingEditorService.changeNavAppData(appData);
180 this.mappingEditorService.changeNavDownloadData(downloadData);
181 }
182
183
184}