diff --git a/src/ui_ng/lib/src/create-edit-endpoint/create-edit-endpoint.component.ts b/src/ui_ng/lib/src/create-edit-endpoint/create-edit-endpoint.component.ts index 4f51cc911..bdc87b1ce 100644 --- a/src/ui_ng/lib/src/create-edit-endpoint/create-edit-endpoint.component.ts +++ b/src/ui_ng/lib/src/create-edit-endpoint/create-edit-endpoint.component.ts @@ -87,7 +87,7 @@ export class CreateEditEndpointComponent implements AfterViewChecked { private errorHandler: ErrorHandler, private translateService: TranslateService) {} - openCreateEditTarget(editable: boolean, targetId?: number) { + openCreateEditTarget(editable: boolean, targetId?: number | string) { this.target = this.initEndpoint; this.editable = editable; @@ -211,6 +211,8 @@ export class CreateEditEndpointComponent implements AfterViewChecked { payload.password = this.target.password; delete payload.name; } + + if(!this.target.id) { return; } toPromise(this.endpointService .updateEndpoint(this.target.id, payload)) .then( @@ -267,20 +269,23 @@ export class CreateEditEndpointComponent implements AfterViewChecked { username: this.initVal.username, password: this.initVal.password }; - this.targetForm.valueChanges.subscribe(data=>{ - for(let key in data) { - let current = data[key]; - let origin: string = comparison[key]; - if(((this.actionType === ActionType.EDIT && this.editable && !current) || current) && - current !== origin) { - this.hasChanged = true; - break; - } else { - this.hasChanged = false; - this.inlineAlert.close(); + let self: CreateEditEndpointComponent | any = this; + if(self) { + self.targetForm.valueChanges.subscribe((data: any)=>{ + for(let key in data) { + let current = data[key]; + let origin: string = comparison[key]; + if(((this.actionType === ActionType.EDIT && this.editable && !current) || current) && + current !== origin) { + this.hasChanged = true; + break; + } else { + this.hasChanged = false; + this.inlineAlert.close(); + } } - } - }); + }); + } } } diff --git a/src/ui_ng/lib/src/endpoint/endpoint.component.ts b/src/ui_ng/lib/src/endpoint/endpoint.component.ts index 721a49876..1204c9efd 100644 --- a/src/ui_ng/lib/src/endpoint/endpoint.component.ts +++ b/src/ui_ng/lib/src/endpoint/endpoint.component.ts @@ -143,16 +143,20 @@ export class EndpointComponent implements OnInit { } editTarget(target: Endpoint) { - if (target) { + if(target) { let editable = true; + if (!target.id) { + return; + } + let id: number | string = target.id; toPromise(this.endpointService - .getEndpointWithReplicationRules(target.id)) + .getEndpointWithReplicationRules(id)) .then( rules=>{ if(rules && rules.length > 0) { rules.forEach((rule)=>editable = (rule && rule.enabled !== 1)); } - this.createEditEndpointComponent.openCreateEditTarget(editable, +target.id); + this.createEditEndpointComponent.openCreateEditTarget(editable, id); let hnd = setInterval(()=>this.ref.markForCheck(), 100); setTimeout(()=>clearInterval(hnd), 1000); }) diff --git a/src/ui_ng/lib/src/service/endpoint.service.ts b/src/ui_ng/lib/src/service/endpoint.service.ts index f63bf7d96..1ef0a8bab 100644 --- a/src/ui_ng/lib/src/service/endpoint.service.ts +++ b/src/ui_ng/lib/src/service/endpoint.service.ts @@ -120,7 +120,7 @@ export class EndpointDefaultService extends EndpointService { queryParams = new RequestQueryParams(); } if(endpointName) { - queryParams.set('endpointName', endpointName); + queryParams.set('name', endpointName); } let requestUrl: string = `${this._endpointUrl}`; return this.http