Browse Source
Fixed alarm rule validity not updating when arguments change (#15820)
* Fixed alarm rule validity not updating when arguments change
* Code formating fix
pull/15851/head
Maksym Tsymbarov
4 weeks ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with
21 additions and
4 deletions
-
ui-ngx/src/app/modules/home/components/alarm-rules/cf-alarm-rule-condition.component.ts
-
ui-ngx/src/app/modules/home/components/alarm-rules/cf-alarm-rule.component.ts
-
ui-ngx/src/app/modules/home/components/alarm-rules/create-cf-alarm-rules.component.ts
|
|
|
@ -142,10 +142,9 @@ export class CfAlarmRuleConditionComponent implements ControlValueAccessor, Vali |
|
|
|
} |
|
|
|
|
|
|
|
ngOnChanges(changes: SimpleChanges) { |
|
|
|
if (changes.arguments) { |
|
|
|
if (changes.arguments && !changes.arguments.firstChange) { |
|
|
|
this.recalculateArgumentValidity(); |
|
|
|
} |
|
|
|
if (changes.arguments && !changes.arguments.firstChange) { |
|
|
|
this.recalculateArgumentValidity(); |
|
|
|
this.onValidatorChange(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -84,6 +84,7 @@ export class CfAlarmRuleComponent implements ControlValueAccessor, OnInit, Valid |
|
|
|
}); |
|
|
|
|
|
|
|
private propagateChange = (v: any) => { }; |
|
|
|
private onValidatorChange = () => { }; |
|
|
|
|
|
|
|
constructor(private dialog: MatDialog, |
|
|
|
private fb: FormBuilder, |
|
|
|
@ -97,12 +98,21 @@ export class CfAlarmRuleComponent implements ControlValueAccessor, OnInit, Valid |
|
|
|
registerOnTouched(fn: any): void { |
|
|
|
} |
|
|
|
|
|
|
|
registerOnValidatorChange(fn: () => void): void { |
|
|
|
this.onValidatorChange = fn; |
|
|
|
} |
|
|
|
|
|
|
|
ngOnInit() { |
|
|
|
this.alarmRuleFormGroup.valueChanges.pipe( |
|
|
|
takeUntilDestroyed(this.destroyRef) |
|
|
|
).subscribe(() => { |
|
|
|
this.updateModel(); |
|
|
|
}); |
|
|
|
this.alarmRuleFormGroup.statusChanges.pipe( |
|
|
|
takeUntilDestroyed(this.destroyRef) |
|
|
|
).subscribe(() => { |
|
|
|
this.onValidatorChange(); |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
setDisabledState(isDisabled: boolean): void { |
|
|
|
|
|
|
|
@ -77,12 +77,16 @@ export class CreateCfAlarmRulesComponent implements ControlValueAccessor, Valida |
|
|
|
private usedSeverities: AlarmSeverity[] = []; |
|
|
|
|
|
|
|
private propagateChange = (v: any) => { }; |
|
|
|
private onValidatorChange = () => { }; |
|
|
|
|
|
|
|
constructor(private fb: FormBuilder, |
|
|
|
private destroyRef: DestroyRef) { |
|
|
|
this.createAlarmRulesFormGroup.valueChanges.pipe( |
|
|
|
takeUntilDestroyed(this.destroyRef) |
|
|
|
).subscribe(() => this.updateModel()); |
|
|
|
this.createAlarmRulesFormGroup.statusChanges.pipe( |
|
|
|
takeUntilDestroyed(this.destroyRef) |
|
|
|
).subscribe(() => this.onValidatorChange()); |
|
|
|
} |
|
|
|
|
|
|
|
registerOnChange(fn: any): void { |
|
|
|
@ -92,6 +96,10 @@ export class CreateCfAlarmRulesComponent implements ControlValueAccessor, Valida |
|
|
|
registerOnTouched(fn: any): void { |
|
|
|
} |
|
|
|
|
|
|
|
registerOnValidatorChange(fn: () => void): void { |
|
|
|
this.onValidatorChange = fn; |
|
|
|
} |
|
|
|
|
|
|
|
createAlarmRulesFormArray(): UntypedFormArray { |
|
|
|
return this.createAlarmRulesFormGroup.get('createAlarmRules') as UntypedFormArray; |
|
|
|
} |
|
|
|
|