Browse Source

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

pull/13190/head
Vladyslav_Prykhodko 1 year ago
parent
commit
df5ff6c0bb
  1. 27
      ui-ngx/src/app/modules/home/components/rule-node/filter/check-relation-config.component.ts

27
ui-ngx/src/app/modules/home/components/rule-node/filter/check-relation-config.component.ts

@ -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});
}
}
}
}

Loading…
Cancel
Save