diff options
author | 2021-09-15 09:57:09 +0800 | |
---|---|---|
committer | 2021-09-16 07:15:07 +0000 | |
commit | c437d5360c75c1af5417c3681235a0f8015a9a85 (patch) | |
tree | 69059fede467020a0b964f08ae56a999f85ffeb2 /usecaseui-portal/src/app/views/services/intent-based-services/cloud-leased-line-modal/cloud-leased-line-modal.component.ts | |
parent | 9c8070280f88e0094acb83ee78251bb4f9690e2e (diff) |
feat: add intent based service
Signed-off-by: liuwh7 <liuwh7@asiainfo.com>
Change-Id: If63eb5e61f01751771ad090728f33214077edd6f
Issue-ID: USECASEUI-605
Diffstat (limited to 'usecaseui-portal/src/app/views/services/intent-based-services/cloud-leased-line-modal/cloud-leased-line-modal.component.ts')
-rw-r--r-- | usecaseui-portal/src/app/views/services/intent-based-services/cloud-leased-line-modal/cloud-leased-line-modal.component.ts | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/usecaseui-portal/src/app/views/services/intent-based-services/cloud-leased-line-modal/cloud-leased-line-modal.component.ts b/usecaseui-portal/src/app/views/services/intent-based-services/cloud-leased-line-modal/cloud-leased-line-modal.component.ts new file mode 100644 index 00000000..0f0afc79 --- /dev/null +++ b/usecaseui-portal/src/app/views/services/intent-based-services/cloud-leased-line-modal/cloud-leased-line-modal.component.ts @@ -0,0 +1,105 @@ +import { Component, EventEmitter, Input, OnInit, Output } from "@angular/core"; +import { NzMessageService } from "ng-zorro-antd"; +import { intentBaseService } from "../../../../core/services/intentBase.service"; +import { Util } from "../../../../shared/utils/utils"; +import { COMMUNICATION_FORM_ITEMS } from "../constants"; + +@Component({ + selector: 'app-cloud-leased-line-modal', + templateUrl: './cloud-leased-line-modal.component.html', + styleUrls: ['./cloud-leased-line-modal.component.less'] +}) +export class CloudLeasedLineModalComponent implements OnInit { + + constructor( + private myHttp: intentBaseService, + private nzMessage: NzMessageService, + private Util: Util + ) {} + + @Input() modelParams: any; + @Input() cloudLeasedLineShowFlag: boolean; + @Output() cancelEmitter = new EventEmitter<boolean>(); + comunicationFormItems = COMMUNICATION_FORM_ITEMS; + validateRulesShow: any[] = []; + isLoadingOne = false; + nodeLists: any[] = []; + cloudPointOptions: any[] = []; + cloud_leased_line_info = { + name: '', + instanceId: '', + accessPointOne: { + name: '', + bandwidth: '' + }, + cloudPointName: '', + }; + + ngOnInit(): void {} + + ngOnChanges() { + if (this.cloudLeasedLineShowFlag) { + if (this.modelParams) { + this.cloud_leased_line_info = { ...this.modelParams }; + } else { + this.getInstanceId(); + } + this.queryAccessNodeInfo(); + } + } + + queryAccessNodeInfo() { + this.myHttp.queryAccessNodeInfo().subscribe( + (response) => { + console.log(response); + }, + (err) => { + console.log(err); + } + ) + } + + getInstanceId() { + this.myHttp.getInstanceId().subscribe( + (response) => { + const { code, message, data} = response; + if (code !== 200) { + this.nzMessage.error(message); + return; + } + this.cloud_leased_line_info.instanceId = data && data.instanceId; + }, + (err) => { + console.log(err); + } + ) + } + + submit(): void { + this.myHttp.createIntentInstance({ + ...this.cloud_leased_line_info + }).subscribe( + (data) => { + console.log(data); + this.cancel(); + }, + (err) => { + console.log(err); + } + ) + } + + cancel(): void { + this.cloudLeasedLineShowFlag = false + this.cloud_leased_line_info = { + name: '', + instanceId: '', + accessPointOne: { + name: '', + bandwidth: '' + }, + cloudPointName: '', + }; + this.cancelEmitter.emit(); + } +}
\ No newline at end of file |