UI: Fixed check relation rule node validation when change enity type
This commit is contained in:
parent
0f51c41be6
commit
df5ff6c0bb
@ -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});
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user