Merge pull request #13190 from vvlladd28/bug/check-reletion-node/validation

Fixed check relation rule node validation
This commit is contained in:
Igor Kulikov 2025-04-14 12:10:35 +03:00 committed by GitHub
commit def855ffcf
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -54,24 +54,29 @@ export class CheckRelationConfigComponent extends RuleNodeConfigurationComponent
this.checkRelationConfigForm = this.fb.group({
checkForSingleEntity: [configuration.checkForSingleEntity, []],
direction: [configuration.direction, []],
entityType: [configuration.entityType,
configuration && configuration.checkForSingleEntity ? [Validators.required] : []],
entityId: [configuration.entityId,
configuration && configuration.checkForSingleEntity ? [Validators.required] : []],
entityType: [configuration.entityType, [Validators.required]],
entityId: [configuration.entityId, [Validators.required]],
relationType: [configuration.relationType, [Validators.required]]
});
}
protected validatorTriggers(): string[] {
return ['checkForSingleEntity'];
return ['checkForSingleEntity', 'entityType'];
}
protected updateValidators(emitEvent: boolean) {
const checkForSingleEntity: boolean = this.checkRelationConfigForm.get('checkForSingleEntity').value;
this.checkRelationConfigForm.get('entityType').setValidators(checkForSingleEntity ? [Validators.required] : []);
this.checkRelationConfigForm.get('entityType').updateValueAndValidity({emitEvent});
this.checkRelationConfigForm.get('entityId').setValidators(checkForSingleEntity ? [Validators.required] : []);
this.checkRelationConfigForm.get('entityId').updateValueAndValidity({emitEvent});
protected updateValidators(_emitEvent: boolean, trigger: string) {
if (trigger === 'entityType') {
this.checkRelationConfigForm.get('entityId').reset(null);
} else {
const checkForSingleEntity: boolean = this.checkRelationConfigForm.get('checkForSingleEntity').value;
if (checkForSingleEntity) {
this.checkRelationConfigForm.get('entityType').enable({emitEvent: false});
this.checkRelationConfigForm.get('entityId').enable({emitEvent: false});
} else {
this.checkRelationConfigForm.get('entityType').disable({emitEvent: false});
this.checkRelationConfigForm.get('entityId').disable({emitEvent: false});
}
}
}
}