Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const formArray = new FormArray ([]);
- this.alert.newHourDayAlerts.forEach(element => {
- console.log(element);
- formArray.push( this.formBuilder.group({
- alertdoseHour: this.formBuilder.control('10:00')
- })
- )});
- const formArrayTmp = new FormArray(
- this.alert.newHourDayAlerts.map((element) => {
- console.log(element)
- return this.formBuilder.group({
- alertdoseHour: '10:30'
- });
- })
- )
- ngOnInit() {
- this.alertForm = this.formBuilder.group({
- title: ['', Validators.required],
- message: ['', Validators.required],
- alertRepeat: [false],
- medicine: [''],
- initDate: [''],
- finalDay: [''],
- medicAlert: [''],
- intervaleFreq: [''],
- duration: ['',],
- dosisDay: [0],
- dosisTotal: [''],
- dateAlert: ['', Validators.required],
- alertHour: ['', Validators.required],
- doseMedicineCheck: [false],
- titleDosisAlert:['', Validators.required],
- messageDosisAlert: ['',Validators.required],
- dosisHours: this.formBuilder.array([ {
- alertdoseHour: ['', Validators.required]}])
- });
- }
- this.alertForm.controls.doseMedicineCheck.valueChanges.subscribe(() => {
- if (this.dosisHours !== undefined) {
- const control = <FormArray>this.alertForm.controls['dosisHours'];
- while (control.length > 0) {
- control.removeAt(0)
- }
- }
- this.addHoursSelect();
- })
- this.alertForm.controls.dosisDay.valueChanges.subscribe(() => {
- if (this.dosisHours !== undefined) {
- const control = <FormArray>this.alertForm.controls['dosisHours'];
- while (control.length > 0) {
- control.removeAt(0)
- }
- }
- this.addHoursSelect();
- })
- createHoursSelect(): FormGroup {
- return this.formBuilder.group({
- alertdoseHour: ['', Validators.required]
- })
- }
- addHoursSelect(): void {
- const numSelect = this.alertForm.controls.dosisDay.value;
- for (let i = 0; i < numSelect; i++) {
- this.dosisHours = this.alertForm.get('dosisHours') as FormArray;
- this.dosisHours.push(this.createHoursSelect())
- }
- }
- this.alertForm.patchValue({
- title: this.alert.title,
- message: this.alert.message,
- medicine: this.alert.medicine,
- initDate: this.alert.initDate,
- finalDay: this.alert.finalDay,
- medicAlert: this.alert.medicAlert,
- duration: this.alert.duration,
- intervaleFreq: this.alert.intervaleFreq,
- dosisTotal: this.alert.dosisTotal,
- dosisDay: this.alert.dosisDay,
- dateAlert: this.datePipe.transform(this.alert.dateAlert, 'dd-mm-aaaa'),
- alertHour: this.alert.alertHour,
- doseMedicineCheck: this.alert.doseMedicineCheck,
- titleDosisAlert:this.alert.titleDosisAlert,
- messageDosisAlert:this.alert.messageDosisAlert,
- })
- this.alertForm.setControl('dosisHours', this.setExistingAlert());
- setExistingAlert():FormArray {
- let control = <FormArray> this.alertForm.controls.dosisHours
- this.alert.newHourDayAlerts.forEach(element => {
- control.push(this.formBuilder.group({
- alertdoseHour: element.substr(0,5)
- }))
- });
- return control;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement