1 import { Component, EventEmitter, Input, OnInit, Output } from "@angular/core";
2 import { NzMessageService } from "ng-zorro-antd";
3 import { intentBaseService } from "../../../../core/services/intentBase.service";
4 import { Util } from "../../../../shared/utils/utils";
5 import { COMMUNICATION_FORM_ITEMS } from "../constants";
8 selector: 'app-cloud-leased-line-modal',
9 templateUrl: './cloud-leased-line-modal.component.html',
10 styleUrls: ['./cloud-leased-line-modal.component.less']
12 export class CloudLeasedLineModalComponent implements OnInit {
15 private myHttp: intentBaseService,
16 private nzMessage: NzMessageService,
20 @Input() modelParams: any;
21 @Input() cloudLeasedLineShowFlag: boolean;
22 @Output() cancelEmitter = new EventEmitter<boolean>();
23 comunicationFormItems = COMMUNICATION_FORM_ITEMS;
25 nodeLists: any[] = [];
26 cloudPointOptions: any[] = [];
27 cloud_leased_line_info = {
40 if (this.cloudLeasedLineShowFlag) {
41 if (this.modelParams) {
42 this.cloud_leased_line_info = { ...this.modelParams };
46 this.queryAccessNodeInfo();
50 queryAccessNodeInfo() {
51 this.myHttp.queryAccessNodeInfo().subscribe(
53 const { code, data } = response;
57 this.cloudPointOptions = [...data.cloudAccessNodeList];
58 this.nodeLists = [...data.accessNodeList];
67 this.myHttp.getInstanceId().subscribe(
69 const { code, message, data} = response;
71 this.nzMessage.error(message);
74 this.cloud_leased_line_info.instanceId = data && data.instanceId;
83 const paramOnj = { ...this.cloud_leased_line_info };
84 for (const iterator in paramOnj) {
85 if (this.isString(paramOnj[iterator]) && !paramOnj[iterator]) {
86 this.nzMessage.error(`Please enter ${iterator}`);
89 if (!this.isString(paramOnj[iterator])) {
90 const { name, bandwidth} = paramOnj[iterator];
92 this.nzMessage.error(`Please enter accessPointOne Name`);
96 if (bandwidth !== 0 && !/^\+?[1-9][0-9]*$/.test(bandwidth)) {
97 this.nzMessage.error(`Please enter a positive integer accessPointOne bandwidth`);
103 this.myHttp.createIntentInstance({
104 ...this.cloud_leased_line_info
107 this.nzMessage.success('Create IntentInstance Success!');
117 this.cloudLeasedLineShowFlag = false
118 this.cloud_leased_line_info = {
127 this.cancelEmitter.emit();
131 return Object.prototype.toString.call(val) === '[object String]';