ec7b12074822f049e04193d6cf85779f8048670c
[usecase-ui.git] /
1 import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
2 import { Util } from '../../../shared/utils/utils';
3
4 @Component({
5   selector: 'app-input-intent-expectation',
6   templateUrl: './input-intent-expectation.component.html',
7   styleUrls: ['../intent-management.component.less']
8 })
9 export class InputIntentExpectationComponent implements OnInit {
10
11   constructor(
12     private Util: Util
13   ) { }
14
15   @Input() showModel: boolean;
16   @Output() modalOpreation = new EventEmitter();
17   @Input() editExpectationTableData;
18
19   defaultParams:Object={
20     expectationId:'',
21     expectationName:'',
22     expectationType:'DELIVERY',
23     expectationObject:{
24       objectType:'CCVPN',
25       objectInstance:'',
26     },
27     expectationTargets:[]
28   };
29   currentIndex:number = -1;
30
31   listOfData: any[] = [];
32
33   intentTargetShow: boolean = false;
34   editTargetTableList: Object={};
35
36   expectationTypeList: any[] = [];
37   expectationObjectTypeList: any[] = [];
38
39   ngOnInit() {
40     this.expectationTypeList = [
41       { label:'DELIVERY', value:'DELIVERY' },
42       { label:'ASSURANCE', value:'ASSURANCE' },
43       { label:'REPORT', value:'REPORT' }
44     ]
45     this.expectationObjectTypeList = [
46       { label:'CCVPN', value:'CCVPN' },
47       { label:'SLICING', value:'SLICING' }
48     ]
49   }
50
51   ngOnChanges() {
52     if (this.showModel) {
53       if (JSON.stringify(this.editExpectationTableData)!=='{}') {
54         this.defaultParams=this.editExpectationTableData
55         this.listOfData=this.defaultParams['expectationTargets']
56       }
57     }
58         }
59
60   handleCancel(): void {
61     this.modalOpreation.emit({ "cancel": true });
62     this.clearExpectationData()
63   }
64   handleOk(): void {
65     if(JSON.stringify(this.editExpectationTableData)==='{}'){
66       this.defaultParams['expectationId']=this.Util.getUuid()
67     }
68     this.modalOpreation.emit({ "cancel": false, "param": this.defaultParams });
69     this.clearExpectationData()
70   }
71   editTargetList(data,i): void {
72     this.editTargetTableList=JSON.parse(JSON.stringify(data))
73     this.currentIndex=i
74     this.intentTargetShow = true
75   }
76   deleteTargetList(i): void{
77     this.listOfData.splice(i,1)
78   }
79   clearExpectationData(): void{
80     this.showModel = false;
81     this.defaultParams = {
82       expectationId:'',
83       expectationName:'',
84       expectationType:'DELIVERY',
85       expectationObject:{
86         objectType:'CCVPN',
87         objectInstance:'',
88       },
89       expectationTargets:[]
90     };
91     this.listOfData=[]
92   }
93   inputIntentTargetShow(): void {
94     this.intentTargetShow = true;
95   }
96   inputIntentStateClose($event: any): void {
97     this.intentTargetShow = false;
98     this.editTargetTableList={}
99     if ($event.cancel) {
100         return;
101     }
102     if(this.currentIndex>-1){
103       this.listOfData[this.currentIndex]=$event.param
104       this.currentIndex=-1
105     }else{
106       this.listOfData.push($event.param)
107     }
108     this.defaultParams['expectationTargets']=this.listOfData
109   }
110
111 }