Untitled
unknown
typescript
a year ago
2.7 kB
11
Indexable
// Cambio de valores en metodo de obtencion
this.animalForm.controls.obtainMethod.valueChanges.subscribe((value: ObtainingMethod) => {
// Inicializa valores de esta seccion del formulario
this.animalForm.controls.origin.setValue('');
this.animalForm.controls.females.setValue('');
this.animalForm.controls.males.setValue('');
this.animalForm.controls.price.setValue('');
this.animalForm.controls.purchaseMethod.setValue('');
this.animalForm.controls.provenance.setValue('');
this.animalForm.controls.isWaste.setValue(false);
// Obtiene los animales por genero
this.animalsService.getAnimalsDividedByGender().subscribe();
// Si es compra
if (value?.code === 'PURCHASE') {
// Quita lo obligatorio de la madre y el numero de origen
this.animalForm.controls.females.removeValidators(Validators.required);
this.animalForm.controls.origin.removeValidators(Validators.required);
// Obtiene los metodos de compra
this._purchaseMethodsService.getList('SIMPLE', purchaseMethodsSimpleConfigQuery).subscribe();
this._provenancesService.getList('SIMPLE',provenancesPurchaseSimpleConfigQuery).subscribe();
// Habilita los campos de compra
this.animalForm.controls.purchaseMethod.enable();
this.animalForm.controls.isWaste.enable();
this.animalForm.controls.provenance.enable();
// Deshabilita campos de nacimiento
this.animalForm.controls.deliveryType.disable();
// Si el animal es hembra cuando selecciona compra
if (this.animalForm.value.gender === 'F') {
this.animalForm.controls.numberBirthsApprox.enable();
this.animalForm.controls.isLoaded.enable();
}
}
// Si es nacimiento
if (value?.code === 'BIRTH') {
// Agrega lo obligatorio al numero de origen y a la madre
this.animalForm.controls.origin.setValidators(Validators.required);
this.animalForm.controls.females.setValidators(Validators.required);
// Obtiene los tipos de nacimiento
this._deliveryTypesService.getList('SIMPLE', deliveryTypesSimpleConfigQuery).subscribe();
// Habilita campos de nacimiento
this.animalForm.controls.deliveryType.enable();
// Deshabilita campos de compra
this.animalForm.controls.purchaseMethod.disable();
this.animalForm.controls.isWaste.disable();
this.animalForm.controls.provenance.disable();
// Se deshabilitan los campos de compra cuando es hembra
this.animalForm.controls.numberBirthsApprox.disable();
this.animalForm.controls.isLoaded.disable();
}
});Editor is loading...
Leave a Comment