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 = {
41 if (this.cloudLeasedLineShowFlag) {
42 if (this.modelParams) {
43 this.cloud_leased_line_info = { ...this.modelParams };
47 this.queryAccessNodeInfo();
51 queryAccessNodeInfo() {
52 this.myHttp.queryAccessNodeInfo().subscribe(
54 const { code, data } = response;
58 this.cloudPointOptions = [...data.cloudAccessNodeList];
59 this.nodeLists = [...data.accessNodeList];
68 this.myHttp.getInstanceId().subscribe(
70 const { code, message, data} = response;
72 this.nzMessage.error(message);
75 this.cloud_leased_line_info.instanceId = data && data.instanceId;
84 const paramOnj = { ...this.cloud_leased_line_info };
85 for (const iterator in paramOnj) {
86 if (this.isBoolean(paramOnj[iterator])) {
89 if (this.isString(paramOnj[iterator]) && !paramOnj[iterator]) {
90 this.nzMessage.error(`Please enter ${iterator}`);
93 if (!this.isString(paramOnj[iterator])) {
94 const { name, bandwidth} = paramOnj[iterator];
96 this.nzMessage.error(`Please enter accessPointOne Name`);
100 if (bandwidth !== 0 && !/^\+?[1-9][0-9]*$/.test(bandwidth)) {
101 this.nzMessage.error(`Please enter a positive integer accessPointOne bandwidth`);
107 this.myHttp.createIntentInstance({
108 ...this.cloud_leased_line_info
111 const { code, message } = response;
113 this.nzMessage.error(message);
116 this.nzMessage.success('Create IntentInstance Success!');
126 this.cloudLeasedLineShowFlag = false
127 this.cloud_leased_line_info = {
137 this.cancelEmitter.emit();
141 return typeof val === 'string' || typeof val === 'number';
142 //return Object.prototype.toString.call(val) === '[object String]';
146 return typeof val === 'boolean';