summaryrefslogtreecommitdiffstats
path: root/usecaseui-portal/src/app/views/intent-management/input-intent-management/input-intent-management.component.ts
diff options
context:
space:
mode:
authorzoulingli128 <zll_1208@126.com>2022-09-08 15:32:27 +0800
committerzoulingli128 <zll_1208@126.com>2022-09-08 15:32:27 +0800
commit7bdeb7cc89a8d60e4c3199f1922a6bf73a9d83c1 (patch)
treebfa45c3c2e02f3f07d760065654d5c3af7ae52c2 /usecaseui-portal/src/app/views/intent-management/input-intent-management/input-intent-management.component.ts
parenta6d5ef22e8874a33fbee58ec6813be4299b04d67 (diff)
Intent analysis frontend
Issue-ID: USECASEUI-711 Signed-off-by: zoulingli128 <zll_1208@126.com> Change-Id: I8f8636f6b47c5ba25e6f342c484fd8ffb5ed1d6d
Diffstat (limited to 'usecaseui-portal/src/app/views/intent-management/input-intent-management/input-intent-management.component.ts')
-rw-r--r--usecaseui-portal/src/app/views/intent-management/input-intent-management/input-intent-management.component.ts148
1 files changed, 148 insertions, 0 deletions
diff --git a/usecaseui-portal/src/app/views/intent-management/input-intent-management/input-intent-management.component.ts b/usecaseui-portal/src/app/views/intent-management/input-intent-management/input-intent-management.component.ts
new file mode 100644
index 00000000..180afcad
--- /dev/null
+++ b/usecaseui-portal/src/app/views/intent-management/input-intent-management/input-intent-management.component.ts
@@ -0,0 +1,148 @@
+import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
+import { IntentManagementService } from '../../../core/services/intentManagement.service';
+import { Util } from '../../../shared/utils/utils';
+
+@Component({
+ selector: 'app-input-intent-management',
+ templateUrl: './input-intent-management.component.html',
+ styleUrls: ['../intent-management.component.less']
+})
+export class InputIntentManagementComponent implements OnInit {
+
+ constructor(
+ private myhttp: IntentManagementService,
+ private Util: Util
+ ) { }
+ defaultParams:Object={
+ intentId:'',
+ intentName:'',
+ intentExpectations:[
+ {
+ expectationId:'',
+ expectationName:'',
+ expectationType:'',
+ expectationObject:{
+ objectType:'',
+ objectInstance:''
+ },
+ expectationTargets:[
+ {
+ targetId:'',
+ targetName:'',
+ targetCondition:{
+ conditionId:'',
+ conditionName:'',
+ operator:'',
+ conditionValue:'',
+ conditionList:null
+ }
+ }
+ ]
+ }
+ ],
+ };
+ currentIndex:number = -1;
+ intentExpectationShow: boolean = false;
+ editExpectationTableList: Object={};
+
+ listOfData: any[] = [];
+
+ @Input() showModel: boolean;
+ @Input() editIntentTableData;
+ @Output() modalOpreation = new EventEmitter();
+
+ ngOnInit() {}
+ ngOnChanges() {
+ if (this.showModel) {
+ if (JSON.stringify(this.editIntentTableData)!=='{}') {
+ this.defaultParams=this.editIntentTableData
+ this.listOfData=this.editIntentTableData['intentExpectations']
+ }
+ }
+ }
+
+ handleCancel(): void {
+ this.showModel = false;
+ this.clearIntentData()
+ this.modalOpreation.emit({ "cancel": true });
+ }
+ handleOk(): void {
+ this.showModel = false;
+ if(JSON.stringify(this.editIntentTableData)==='{}'){
+ this.defaultParams['intentId']=this.Util.getUuid()
+ }
+ this.createIntentInstance()
+ this.modalOpreation.emit({ "cancel": false, "param": this.defaultParams });
+ this.clearIntentData()
+ }
+ clearIntentData(): void{
+ this.defaultParams = {
+ intentId:'',
+ intentName:'',
+ intentExpectations:[
+ {
+ expectationId:'',
+ expectationName:'',
+ expectationType:'',
+ expectationObject:{
+ objectType:'',
+ objectInstance:''
+ },
+ expectationTargets:[
+ {
+ targetId:'',
+ targetName:'',
+ targetCondition:{
+ conditionId:'',
+ conditionName:'',
+ operator:'',
+ conditionValue:'',
+ conditionList:null
+ }
+ }
+ ]
+ }
+ ]
+ };
+ this.listOfData=[]
+ }
+
+ inputIntentExpectationShow(): void {
+ this.intentExpectationShow = true;
+ }
+ inputIntentExpectationClose($event: any): void {
+ this.intentExpectationShow = false;
+ this.editExpectationTableList={}
+ if ($event.cancel) {
+ return;
+ }
+ if(this.currentIndex>-1){
+ this.listOfData[this.currentIndex]=$event.param
+ this.currentIndex=-1
+ }else{
+ this.listOfData.push($event.param)
+ }
+ this.defaultParams['intentExpectations']=this.listOfData
+ }
+ editExpectationList(data,i): void {
+ this.editExpectationTableList=JSON.parse(JSON.stringify(data))
+ this.currentIndex=i
+ this.intentExpectationShow = true
+ }
+ deleteExpectationList(i): void{
+ this.listOfData.splice(i,1)
+ }
+
+ createIntentInstance(): void {
+ this.myhttp.createIntentManagement({
+ ...this.defaultParams
+ }).subscribe(
+ (response) => {
+ this.modalOpreation.emit({ "cancel": false });
+ },
+ (err) => {
+ console.log(err);
+ }
+ )
+ }
+} \ No newline at end of file