Browse Source

security for slaves disable state fix

pull/11235/head
mpetrov 2 years ago
parent
commit
4d264d30a2
  1. 13
      ui-ngx/src/app/modules/home/components/widget/lib/gateway/connectors-configuration/modbus/modbus-security-config/modbus-security-config.component.ts
  2. 2
      ui-ngx/src/app/modules/home/components/widget/lib/gateway/connectors-configuration/modbus/modbus-slave-dialog/modbus-slave-dialog.component.html
  3. 11
      ui-ngx/src/app/modules/home/components/widget/lib/gateway/connectors-configuration/modbus/modbus-slave-dialog/modbus-slave-dialog.component.ts

13
ui-ngx/src/app/modules/home/components/widget/lib/gateway/connectors-configuration/modbus/modbus-security-config/modbus-security-config.component.ts

@ -14,7 +14,15 @@
/// limitations under the License. /// limitations under the License.
/// ///
import { ChangeDetectionStrategy, Component, forwardRef, Input, OnChanges, OnDestroy } from '@angular/core'; import {
ChangeDetectionStrategy,
ChangeDetectorRef,
Component,
forwardRef,
Input,
OnChanges,
OnDestroy
} from '@angular/core';
import { import {
ControlValueAccessor, ControlValueAccessor,
FormBuilder, FormBuilder,
@ -75,7 +83,7 @@ export class ModbusSecurityConfigComponent implements ControlValueAccessor, Vali
private destroy$ = new Subject<void>(); private destroy$ = new Subject<void>();
constructor(private fb: FormBuilder) { constructor(private fb: FormBuilder, private cdr: ChangeDetectorRef) {
this.securityConfigFormGroup = this.fb.group({ this.securityConfigFormGroup = this.fb.group({
certfile: ['', [Validators.pattern(noLeadTrailSpacesRegex)]], certfile: ['', [Validators.pattern(noLeadTrailSpacesRegex)]],
keyfile: ['', [Validators.pattern(noLeadTrailSpacesRegex)]], keyfile: ['', [Validators.pattern(noLeadTrailSpacesRegex)]],
@ -118,6 +126,7 @@ export class ModbusSecurityConfigComponent implements ControlValueAccessor, Vali
} else { } else {
this.securityConfigFormGroup.enable({emitEvent: false}); this.securityConfigFormGroup.enable({emitEvent: false});
} }
this.cdr.markForCheck();
} }
validate(): ValidationErrors | null { validate(): ValidationErrors | null {

2
ui-ngx/src/app/modules/home/components/widget/lib/gateway/connectors-configuration/modbus/modbus-slave-dialog/modbus-slave-dialog.component.html

@ -281,7 +281,7 @@
</mat-slide-toggle> </mat-slide-toggle>
</mat-panel-title> </mat-panel-title>
</mat-expansion-panel-header> </mat-expansion-panel-header>
<tb-modbus-security-config formControlName="security" [disabled]="!showSecurityControl.value" ></tb-modbus-security-config> <tb-modbus-security-config formControlName="security"></tb-modbus-security-config>
</mat-expansion-panel> </mat-expansion-panel>
<div class="tb-form-row" fxLayoutAlign="space-between center"> <div class="tb-form-row" fxLayoutAlign="space-between center">
<mat-slide-toggle class="mat-slide" formControlName="retries"> <mat-slide-toggle class="mat-slide" formControlName="retries">

11
ui-ngx/src/app/modules/home/components/widget/lib/gateway/connectors-configuration/modbus/modbus-slave-dialog/modbus-slave-dialog.component.ts

@ -172,6 +172,7 @@ export class ModbusSlaveDialogComponent extends DialogComponent<ModbusSlaveDialo
this.showSecurityControl.patchValue(!!this.data.value.security); this.showSecurityControl.patchValue(!!this.data.value.security);
this.updateControlsEnabling(this.data.value.type); this.updateControlsEnabling(this.data.value.type);
this.observeTypeChange(); this.observeTypeChange();
this.observeShowSecurity();
} }
ngOnDestroy(): void { ngOnDestroy(): void {
@ -211,4 +212,14 @@ export class ModbusSlaveDialogComponent extends DialogComponent<ModbusSlaveDialo
this.tcpUdpSpecificControlKeys.forEach(key => this.slaveConfigFormGroup.get(key)?.enable({emitEvent: false})); this.tcpUdpSpecificControlKeys.forEach(key => this.slaveConfigFormGroup.get(key)?.enable({emitEvent: false}));
} }
}; };
private observeShowSecurity(): void {
this.showSecurityControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(value => {
if (value) {
this.slaveConfigFormGroup.get('security').enable({emitEvent: false});
} else {
this.slaveConfigFormGroup.get('security').disable({emitEvent: false});
}
});
}
} }

Loading…
Cancel
Save