aboutsummaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.ts
diff options
context:
space:
mode:
Diffstat (limited to 'vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.ts')
-rw-r--r--vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.ts122
1 files changed, 122 insertions, 0 deletions
diff --git a/vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.ts b/vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.ts
new file mode 100644
index 000000000..cf385d767
--- /dev/null
+++ b/vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.ts
@@ -0,0 +1,122 @@
+import {Component, ViewChild} from '@angular/core';
+import {Subject} from 'rxjs/Subject';
+import {ModalDirective} from 'ngx-bootstrap'
+import {ModelInformationItem} from '../model-information/model-information.component';
+import {ServiceModel} from '../../models/serviceModel';
+import {ServiceInfoService} from '../../server/serviceInfo/serviceInfo.service';
+import {ServiceInfoModel} from '../../server/serviceInfo/serviceInfo.model';
+import {AuditStatus} from '../../server/serviceInfo/AuditStatus.model';
+import {IframeService} from "../../utils/iframe.service";
+import {NgRedux} from "@angular-redux/store";
+import {AppState} from "../../store/reducers";
+import {AuditInfoModalComponentService} from "./auditInfoModal.component.service";
+
+@Component({
+ selector: 'audit-info-modal',
+ templateUrl: './auditInfoModal.component.html',
+ styleUrls: ['./auditInfoModal.component.scss']
+})
+export class AuditInfoModalComponent {
+ static openModal: Subject<ServiceInfoModel> = new Subject<ServiceInfoModel>();
+ static openInstanceAuditInfoModal: Subject<{instanceId , type, model, instance, isInstanceFailed?, trackById?}> = new Subject<{instanceId , type, model, instance, isInstanceFailed, trackById}>();
+ @ViewChild('auditInfoModal') public auditInfoModal: ModalDirective;
+ title: string = 'Service Instantiation Information';
+ modelInfoItems: ModelInformationItem[] = [];
+ serviceModel: ServiceModel;
+ serviceModelName: string;
+ vidInfoData: AuditStatus[] = [];
+ msoInfoData: AuditStatus[] = [];
+ isAlaCarte: boolean;
+ parentElementClassName = 'content';
+ isLoading = true;
+ model: any;
+ instanceId: string;
+ isALaCarteFlagOn: boolean;
+ type : string = "Service";
+ showVidStatus : boolean = true;
+ auditInfoModalComponentService : AuditInfoModalComponentService;
+ constructor(private _serviceInfoService: ServiceInfoService, private _iframeService : IframeService,
+ private _auditInfoModalComponentService : AuditInfoModalComponentService,
+ private store: NgRedux<AppState>) {
+ this.auditInfoModalComponentService = this._auditInfoModalComponentService;
+ AuditInfoModalComponent.openModal.subscribe((jobData: ServiceInfoModel) => {
+ this.isALaCarteFlagOn = this.store.getState().global.flags['FLAG_A_LA_CARTE_AUDIT_INFO'];
+ this.initializeProperties();
+ this.showVidStatus = true;
+ if (jobData) {
+ this.isAlaCarte = jobData.aLaCarte;
+ this.openAuditInfoModal(jobData);
+ _iframeService.addClassOpenModal(this.parentElementClassName);
+ this.serviceModelName = jobData.serviceModelName ? jobData.serviceModelName : '';
+ this.auditInfoModal.show();
+ } else {
+ _iframeService.removeClassCloseModal(this.parentElementClassName);
+ this.auditInfoModal.hide();
+ }
+ });
+
+ AuditInfoModalComponent.openInstanceAuditInfoModal.subscribe(({instanceId , type , model, instance, isInstanceFailed, trackById}) => {
+ this.showVidStatus = false;
+ this.initializeProperties();
+ this.setModalTitles(type);
+ this.serviceModelName = AuditInfoModalComponentService.getInstanceModelName(model);
+
+ if (isInstanceFailed) {
+ this._serviceInfoService.getAuditStatusForRetry(trackById).subscribe((res: AuditStatus) => {
+ this.msoInfoData = [res];
+ });
+ }else{
+ this._serviceInfoService.getInstanceAuditStatus(instanceId, type).subscribe((res : AuditStatus[]) =>{
+ this.msoInfoData = res;
+ });
+ }
+ this.modelInfoItems = this.auditInfoModalComponentService.getModelInfo(model, instance, instanceId);
+ _iframeService.addClassOpenModal(this.parentElementClassName);
+ this.auditInfoModal.show();
+ });
+ }
+
+
+ setModalTitles(type : string) : void{
+ this.type = AuditInfoModalComponentService.setModalTitlesType(type) ;
+ this.title = AuditInfoModalComponentService.setModalTitle(type);
+ }
+
+ initializeProperties() : void {
+ this.modelInfoItems = null;
+ this.vidInfoData = [];
+ this.msoInfoData = [];
+ this.isLoading = true;
+ }
+
+ openAuditInfoModal(jobData: ServiceInfoModel): void {
+ this.modelInfoItems = AuditInfoModalComponentService.createModelInformationItemsJob(jobData);
+ this.initAuditInfoData(jobData);
+ this.auditInfoModal.onHide.subscribe(()=>{
+ this._iframeService.removeClassCloseModal(this.parentElementClassName);
+ this.initializeProperties();
+ });
+ this.auditInfoModal.show();
+ }
+
+ initAuditInfoData(jobData: ServiceInfoModel) {
+ this._serviceInfoService.getJobAuditStatus(jobData)
+ .subscribe((res: AuditStatus[][]) => {
+ this.vidInfoData = res[0];
+ this.msoInfoData = res[1];
+ this.isLoading = false;
+ });
+ }
+
+ onCancelClick() {
+ this._iframeService.removeClassCloseModal(this.parentElementClassName);
+ this.initializeProperties();
+ this.auditInfoModal.hide();
+ }
+
+
+ onNavigate(){
+ window.open("https://wiki.onap.org/display/DW/SO+Building+blocks", "_blank");
+ }
+}
+