Untitled
unknown
typescript
10 days ago
2.7 kB
3
Indexable
Never
// 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(); } });
Leave a Comment