UI: Fixed check relation rule node validation when change enity type

This commit is contained in:
Vladyslav_Prykhodko 2025-04-11 17:22:07 +03:00
parent 0f51c41be6
commit df5ff6c0bb

View File

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