This is an automated email from the ASF dual-hosted git repository. mcgilman pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/nifi.git
The following commit(s) were added to refs/heads/main by this push: new 22de416ffc [NIFI-12774] configure RPG (#8398) 22de416ffc is described below commit 22de416ffc90df7eaa1788353959f2ec6bcdac38 Author: Scott Aslan <scottyas...@users.noreply.github.com> AuthorDate: Wed Feb 14 12:52:01 2024 -0500 [NIFI-12774] configure RPG (#8398) * [NIFI-12774] configure RPG * address review feedback * conditionally dispatch selectComponents action This closes #8398 --- .../pages/flow-designer/state/flow/flow.actions.ts | 5 + .../pages/flow-designer/state/flow/flow.effects.ts | 60 +++++++++++- .../create-remote-process-group.component.spec.ts | 2 +- .../create-remote-process-group.component.ts | 1 - .../edit-remote-process-group.component.html | 109 +++++++++++++++++++++ .../edit-remote-process-group.component.scss | 26 +++++ .../edit-remote-process-group.component.spec.ts} | 44 +++++++-- .../edit-remote-process-group.component.ts | 98 ++++++++++++++++++ 8 files changed, 331 insertions(+), 14 deletions(-) diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/state/flow/flow.actions.ts b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/state/flow/flow.actions.ts index c1238cb382..89eeccfd49 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/state/flow/flow.actions.ts +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/state/flow/flow.actions.ts @@ -383,6 +383,11 @@ export const openEditProcessGroupDialog = createAction( props<{ request: EditComponentDialogRequest }>() ); +export const openEditRemoteProcessGroupDialog = createAction( + `${CANVAS_PREFIX} Open Edit Remote Process Group Dialog`, + props<{ request: EditComponentDialogRequest }>() +); + export const updateComponent = createAction( `${CANVAS_PREFIX} Update Component`, props<{ request: UpdateComponentRequest }>() diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/state/flow/flow.effects.ts b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/state/flow/flow.effects.ts index 97343047c0..eff3dba2cd 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/state/flow/flow.effects.ts +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/state/flow/flow.effects.ts @@ -95,7 +95,7 @@ import { RegistryService } from '../../service/registry.service'; import { ImportFromRegistry } from '../../ui/canvas/items/flow/import-from-registry/import-from-registry.component'; import { selectCurrentUser } from '../../../../state/current-user/current-user.selectors'; import { NoRegistryClientsDialog } from '../../ui/common/no-registry-clients-dialog/no-registry-clients-dialog.component'; -import { showOkDialog } from './flow.actions'; +import { EditRemoteProcessGroup } from '../../ui/canvas/items/remote-process-group/edit-remote-process-group/edit-remote-process-group.component'; @Injectable() export class FlowEffects { @@ -348,7 +348,10 @@ export class FlowEffects { this.flowService.goToRemoteProcessGroup(request); } else { this.store.dispatch( - showOkDialog({ title: 'Remote Process Group', message: 'No target URI defined.' }) + FlowActions.showOkDialog({ + title: 'Remote Process Group', + message: 'No target URI defined.' + }) ); } }) @@ -926,6 +929,8 @@ export class FlowEffects { return of(FlowActions.openEditConnectionDialog({ request })); case ComponentType.ProcessGroup: return of(FlowActions.openEditProcessGroupDialog({ request })); + case ComponentType.RemoteProcessGroup: + return of(FlowActions.openEditRemoteProcessGroupDialog({ request })); case ComponentType.InputPort: case ComponentType.OutputPort: return of(FlowActions.openEditPortDialog({ request })); @@ -1250,6 +1255,57 @@ export class FlowEffects { { dispatch: false } ); + openEditRemoteProcessGroupDialog$ = createEffect( + () => + this.actions$.pipe( + ofType(FlowActions.openEditRemoteProcessGroupDialog), + map((action) => action.request), + tap((request) => { + const editDialogReference = this.dialog.open(EditRemoteProcessGroup, { + data: request, + panelClass: 'large-dialog' + }); + + editDialogReference.componentInstance.saving$ = this.store.select(selectSaving); + + editDialogReference.componentInstance.editRemoteProcessGroup + .pipe(takeUntil(editDialogReference.afterClosed())) + .subscribe((payload: any) => { + this.store.dispatch( + FlowActions.updateComponent({ + request: { + id: request.entity.id, + uri: request.uri, + type: request.type, + payload + } + }) + ); + }); + + editDialogReference.afterClosed().subscribe((response) => { + this.store.dispatch(FlowActions.clearFlowApiError()); + + if (response != 'ROUTED') { + this.store.dispatch( + FlowActions.selectComponents({ + request: { + components: [ + { + id: request.entity.id, + componentType: request.type + } + ] + } + }) + ); + } + }); + }) + ), + { dispatch: false } + ); + updateComponent$ = createEffect(() => this.actions$.pipe( ofType(FlowActions.updateComponent), diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/items/remote-process-group/create-remote-process-group/create-remote-process-group.component.spec.ts b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/items/remote-process-group/create-remote-process-group/create-remote-process-group.component.spec.ts index d2ffc980de..c06555fc81 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/items/remote-process-group/create-remote-process-group/create-remote-process-group.component.spec.ts +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/items/remote-process-group/create-remote-process-group/create-remote-process-group.component.spec.ts @@ -34,7 +34,7 @@ describe('CreateRemoteProcessGroup', () => { clientId: 'a6482293-7fe8-43b4-8ab4-ee95b3b27721', version: 0 }, - type: ComponentType.ProcessGroup, + type: ComponentType.RemoteProcessGroup, position: { x: -4, y: -698.5 diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/items/remote-process-group/create-remote-process-group/create-remote-process-group.component.ts b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/items/remote-process-group/create-remote-process-group/create-remote-process-group.component.ts index c8a77e22a9..a2c32b98e1 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/items/remote-process-group/create-remote-process-group/create-remote-process-group.component.ts +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/items/remote-process-group/create-remote-process-group/create-remote-process-group.component.ts @@ -37,7 +37,6 @@ import { MatIconModule } from '@angular/material/icon'; import { CreateComponentRequest } from '../../../../../state/flow'; @Component({ - selector: 'create-process-group', standalone: true, imports: [ AsyncPipe, diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/items/remote-process-group/edit-remote-process-group/edit-remote-process-group.component.html b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/items/remote-process-group/edit-remote-process-group/edit-remote-process-group.component.html new file mode 100644 index 0000000000..8c0c5ccd70 --- /dev/null +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/items/remote-process-group/edit-remote-process-group/edit-remote-process-group.component.html @@ -0,0 +1,109 @@ +<!-- + ~ Licensed to the Apache Software Foundation (ASF) under one or more + ~ contributor license agreements. See the NOTICE file distributed with + ~ this work for additional information regarding copyright ownership. + ~ The ASF licenses this file to You under the Apache License, Version 2.0 + ~ (the "License"); you may not use this file except in compliance with + ~ the License. You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, software + ~ distributed under the License is distributed on an "AS IS" BASIS, + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ~ See the License for the specific language governing permissions and + ~ limitations under the License. + --> + +<h2 mat-dialog-title>Edit Remote Process Group</h2> +<form class="edit-remote-process-group-form" [formGroup]="editRemoteProcessGroupForm"> + <error-banner></error-banner> + <mat-dialog-content> + <div class="flex flex-col mb-6"> + <div>Name</div> + <div class="value">{{ request.entity.component.name }}</div> + </div> + <div class="flex flex-col mb-6"> + <div>Id</div> + <div class="value">{{ request.entity.component.id }}</div> + </div> + <div class="tab-content py-4 flex gap-x-4"> + <div class="w-full"> + <mat-form-field> + <mat-label>URLs</mat-label> + <input matInput formControlName="urls" type="text" placeholder="https://remotehost:8443/nifi" /> + </mat-form-field> + </div> + </div> + <div class="flex gap-x-4"> + <div class="w-full"> + <mat-form-field> + <mat-label>Transport Protocol</mat-label> + <mat-select formControlName="transportProtocol"> + <mat-option value="RAW"> RAW </mat-option> + <mat-option value="HTTP"> HTTP </mat-option> + </mat-select> + </mat-form-field> + </div> + <div class="w-full"> + <mat-form-field> + <mat-label>Local Network Interface</mat-label> + <input matInput formControlName="localNetworkInterface" type="text" /> + </mat-form-field> + </div> + </div> + <div class="flex gap-x-4"> + <div class="w-full"> + <mat-form-field> + <mat-label>HTTP Proxy Server Hostname</mat-label> + <input matInput formControlName="httpProxyServerHostname" type="text" /> + </mat-form-field> + </div> + <div class="w-full"> + <mat-form-field> + <mat-label>HTTP Proxy Server Port</mat-label> + <input matInput formControlName="httpProxyServerPort" type="text" /> + </mat-form-field> + </div> + </div> + <div class="flex gap-x-4"> + <div class="w-full"> + <mat-form-field> + <mat-label>HTTP Proxy User</mat-label> + <input matInput formControlName="httpProxyUser" type="text" /> + </mat-form-field> + </div> + <div class="w-full"> + <mat-form-field> + <mat-label>HTTP Proxy Password</mat-label> + <input matInput formControlName="httpProxyPassword" type="text" /> + </mat-form-field> + </div> + </div> + <div class="flex gap-x-4"> + <div class="w-full"> + <mat-form-field> + <mat-label>Communications Timeout</mat-label> + <input matInput formControlName="communicationsTimeout" type="text" /> + </mat-form-field> + </div> + <div class="w-full"> + <mat-form-field> + <mat-label>Yield Duration</mat-label> + <input matInput formControlName="yieldDuration" type="text" /> + </mat-form-field> + </div> + </div> + </mat-dialog-content> + <mat-dialog-actions align="end" *ngIf="{ value: (saving$ | async)! } as saving"> + <button color="primary" mat-stroked-button mat-dialog-close>Cancel</button> + <button + [disabled]="!editRemoteProcessGroupForm.dirty || editRemoteProcessGroupForm.invalid || saving.value" + type="button" + color="primary" + (click)="submitForm()" + mat-raised-button> + <span *nifiSpinner="saving.value">Add</span> + </button> + </mat-dialog-actions> +</form> diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/items/remote-process-group/edit-remote-process-group/edit-remote-process-group.component.scss b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/items/remote-process-group/edit-remote-process-group/edit-remote-process-group.component.scss new file mode 100644 index 0000000000..7d270b20ae --- /dev/null +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/items/remote-process-group/edit-remote-process-group/edit-remote-process-group.component.scss @@ -0,0 +1,26 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +@use '@angular/material' as mat; + +.edit-remote-process-group-form { + @include mat.button-density(-1); + + .mat-mdc-form-field { + width: 100%; + } +} diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/items/remote-process-group/create-remote-process-group/create-remote-process-group.component.spec.ts b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/items/remote-process-group/edit-remote-process-group/edit-remote-process-group.component.spec.ts similarity index 55% copy from nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/items/remote-process-group/create-remote-process-group/create-remote-process-group.component.spec.ts copy to nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/items/remote-process-group/edit-remote-process-group/edit-remote-process-group.component.spec.ts index d2ffc980de..7f3c9a7c3f 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/items/remote-process-group/create-remote-process-group/create-remote-process-group.component.spec.ts +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/items/remote-process-group/edit-remote-process-group/edit-remote-process-group.component.spec.ts @@ -17,37 +17,61 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { CreateRemoteProcessGroup } from './create-remote-process-group.component'; +import { EditRemoteProcessGroup } from './edit-remote-process-group.component'; import { MAT_DIALOG_DATA } from '@angular/material/dialog'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { ComponentType } from '../../../../../../../state/shared'; import { provideMockStore } from '@ngrx/store/testing'; import { initialState } from '../../../../../state/flow/flow.reducer'; -import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; -import { CreateComponentRequest } from '../../../../../state/flow'; -describe('CreateRemoteProcessGroup', () => { - let component: CreateRemoteProcessGroup; - let fixture: ComponentFixture<CreateRemoteProcessGroup>; +describe('EditRemoteProcessGroup', () => { + let component: EditRemoteProcessGroup; + let fixture: ComponentFixture<EditRemoteProcessGroup>; - const data: CreateComponentRequest = { + const data: any = { revision: { clientId: 'a6482293-7fe8-43b4-8ab4-ee95b3b27721', version: 0 }, - type: ComponentType.ProcessGroup, + type: ComponentType.RemoteProcessGroup, position: { x: -4, y: -698.5 + }, + entity: { + component: { + activeRemoteInputPortCount: 0, + activeRemoteOutputPortCount: 0, + comments: '', + communicationsTimeout: '30 sec', + flowRefreshed: '02/10/2024 15:20:58 EST', + id: '868228e2-018d-1000-00e2-92a25d9cb363', + inactiveRemoteInputPortCount: 0, + inactiveRemoteOutputPortCount: 0, + inputPortCount: 0, + name: 'NiFi Flow', + outputPortCount: 0, + parentGroupId: '7be4b23a-018d-1000-d059-ca023539b044', + proxyHost: '', + proxyUser: '', + targetSecure: true, + targetUri: 'https://localhost:8443/nifi', + targetUris: 'https://localhost:8443/nifi', + transmitting: false, + transportProtocol: 'HTTP', + yieldDuration: '10 sec' + } } }; beforeEach(() => { TestBed.configureTestingModule({ - imports: [CreateRemoteProcessGroup, BrowserAnimationsModule], + imports: [EditRemoteProcessGroup, BrowserAnimationsModule], providers: [{ provide: MAT_DIALOG_DATA, useValue: data }, provideMockStore({ initialState })] }); - fixture = TestBed.createComponent(CreateRemoteProcessGroup); + fixture = TestBed.createComponent(EditRemoteProcessGroup); component = fixture.componentInstance; + fixture.detectChanges(); }); diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/items/remote-process-group/edit-remote-process-group/edit-remote-process-group.component.ts b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/items/remote-process-group/edit-remote-process-group/edit-remote-process-group.component.ts new file mode 100644 index 0000000000..56bccd6a2c --- /dev/null +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/items/remote-process-group/edit-remote-process-group/edit-remote-process-group.component.ts @@ -0,0 +1,98 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Component, EventEmitter, Inject, Input, Output } from '@angular/core'; +import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog'; +import { FormBuilder, FormControl, FormGroup, FormsModule, ReactiveFormsModule, Validators } from '@angular/forms'; +import { MatInputModule } from '@angular/material/input'; +import { MatCheckboxModule } from '@angular/material/checkbox'; +import { MatButtonModule } from '@angular/material/button'; +import { AsyncPipe, NgIf } from '@angular/common'; +import { MatOptionModule } from '@angular/material/core'; +import { MatSelectModule } from '@angular/material/select'; +import { Observable } from 'rxjs'; +import { Client } from '../../../../../../../service/client.service'; +import { NifiSpinnerDirective } from '../../../../../../../ui/common/spinner/nifi-spinner.directive'; +import { TextTip } from '../../../../../../../ui/common/tooltips/text-tip/text-tip.component'; +import { EditComponentDialogRequest } from '../../../../../state/flow'; +import { ErrorBanner } from '../../../../../../../ui/common/error-banner/error-banner.component'; + +@Component({ + standalone: true, + templateUrl: './edit-remote-process-group.component.html', + imports: [ + ReactiveFormsModule, + MatDialogModule, + MatInputModule, + MatCheckboxModule, + MatButtonModule, + NgIf, + MatOptionModule, + MatSelectModule, + AsyncPipe, + NifiSpinnerDirective, + FormsModule, + ErrorBanner + ], + styleUrls: ['./edit-remote-process-group.component.scss'] +}) +export class EditRemoteProcessGroup { + @Input() saving$!: Observable<boolean>; + @Output() editRemoteProcessGroup: EventEmitter<any> = new EventEmitter<any>(); + + protected readonly TextTip = TextTip; + + editRemoteProcessGroupForm: FormGroup; + + constructor( + @Inject(MAT_DIALOG_DATA) public request: EditComponentDialogRequest, + private formBuilder: FormBuilder, + private client: Client + ) { + this.editRemoteProcessGroupForm = this.formBuilder.group({ + urls: new FormControl(request.entity.component.targetUris, Validators.required), + transportProtocol: new FormControl(request.entity.component.transportProtocol, Validators.required), + localNetworkInterface: new FormControl(request.entity.component.localNetworkInterface), + httpProxyServerHostname: new FormControl(request.entity.component.httpProxyServerHostname), + httpProxyServerPort: new FormControl(request.entity.component.httpProxyServerPort), + httpProxyUser: new FormControl(request.entity.component.httpProxyUser), + httpProxyPassword: new FormControl(request.entity.component.httpProxyPassword), + communicationsTimeout: new FormControl(request.entity.component.communicationsTimeout, Validators.required), + yieldDuration: new FormControl(request.entity.component.yieldDuration, Validators.required) + }); + } + + submitForm() { + const payload: any = { + revision: this.client.getRevision(this.request.entity), + component: { + id: this.request.entity.id, + targetUris: this.editRemoteProcessGroupForm.get('urls')?.value, + transportProtocol: this.editRemoteProcessGroupForm.get('transportProtocol')?.value, + localNetworkInterface: this.editRemoteProcessGroupForm.get('localNetworkInterface')?.value, + proxyHost: this.editRemoteProcessGroupForm.get('httpProxyServerHostname')?.value, + proxyPort: this.editRemoteProcessGroupForm.get('httpProxyServerPort')?.value, + proxyUser: this.editRemoteProcessGroupForm.get('httpProxyUser')?.value, + proxyPassword: this.editRemoteProcessGroupForm.get('httpProxyPassword')?.value, + communicationsTimeout: this.editRemoteProcessGroupForm.get('communicationsTimeout')?.value, + yieldDuration: this.editRemoteProcessGroupForm.get('yieldDuration')?.value + } + }; + + this.editRemoteProcessGroup.next(payload); + } +}