Advertisement
Guest User

Untitled

a guest
Jun 17th, 2019
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.26 KB | None | 0 0
  1. const formArray = new FormArray ([]);
  2. this.alert.newHourDayAlerts.forEach(element => {
  3. console.log(element);
  4. formArray.push( this.formBuilder.group({
  5. alertdoseHour: this.formBuilder.control('10:00')
  6. })
  7. )});
  8.  
  9.  
  10.  
  11. const formArrayTmp = new FormArray(
  12. this.alert.newHourDayAlerts.map((element) => {
  13. console.log(element)
  14. return this.formBuilder.group({
  15. alertdoseHour: '10:30'
  16. });
  17.  
  18. })
  19. )
  20.  
  21. ngOnInit() {
  22.  
  23. this.alertForm = this.formBuilder.group({
  24. title: ['', Validators.required],
  25. message: ['', Validators.required],
  26. alertRepeat: [false],
  27. medicine: [''],
  28. initDate: [''],
  29. finalDay: [''],
  30. medicAlert: [''],
  31. intervaleFreq: [''],
  32. duration: ['',],
  33. dosisDay: [0],
  34. dosisTotal: [''],
  35. dateAlert: ['', Validators.required],
  36. alertHour: ['', Validators.required],
  37. doseMedicineCheck: [false],
  38. titleDosisAlert:['', Validators.required],
  39. messageDosisAlert: ['',Validators.required],
  40. dosisHours: this.formBuilder.array([ {
  41. alertdoseHour: ['', Validators.required]}])
  42.  
  43. });
  44. }
  45.  
  46. this.alertForm.controls.doseMedicineCheck.valueChanges.subscribe(() => {
  47.  
  48. if (this.dosisHours !== undefined) {
  49.  
  50. const control = <FormArray>this.alertForm.controls['dosisHours'];
  51.  
  52. while (control.length > 0) {
  53.  
  54. control.removeAt(0)
  55.  
  56. }
  57.  
  58. }
  59.  
  60. this.addHoursSelect();
  61.  
  62. })
  63.  
  64. this.alertForm.controls.dosisDay.valueChanges.subscribe(() => {
  65.  
  66. if (this.dosisHours !== undefined) {
  67.  
  68. const control = <FormArray>this.alertForm.controls['dosisHours'];
  69.  
  70. while (control.length > 0) {
  71.  
  72. control.removeAt(0)
  73.  
  74. }
  75.  
  76. }
  77.  
  78.  
  79. this.addHoursSelect();
  80.  
  81. })
  82.  
  83. createHoursSelect(): FormGroup {
  84.  
  85. return this.formBuilder.group({
  86. alertdoseHour: ['', Validators.required]
  87. })
  88.  
  89. }
  90.  
  91.  
  92.  
  93. addHoursSelect(): void {
  94.  
  95. const numSelect = this.alertForm.controls.dosisDay.value;
  96. for (let i = 0; i < numSelect; i++) {
  97. this.dosisHours = this.alertForm.get('dosisHours') as FormArray;
  98. this.dosisHours.push(this.createHoursSelect())
  99. }
  100.  
  101. }
  102.  
  103. this.alertForm.patchValue({
  104.  
  105. title: this.alert.title,
  106. message: this.alert.message,
  107. medicine: this.alert.medicine,
  108. initDate: this.alert.initDate,
  109. finalDay: this.alert.finalDay,
  110. medicAlert: this.alert.medicAlert,
  111. duration: this.alert.duration,
  112. intervaleFreq: this.alert.intervaleFreq,
  113. dosisTotal: this.alert.dosisTotal,
  114. dosisDay: this.alert.dosisDay,
  115. dateAlert: this.datePipe.transform(this.alert.dateAlert, 'dd-mm-aaaa'),
  116. alertHour: this.alert.alertHour,
  117. doseMedicineCheck: this.alert.doseMedicineCheck,
  118. titleDosisAlert:this.alert.titleDosisAlert,
  119. messageDosisAlert:this.alert.messageDosisAlert,
  120.  
  121. })
  122.  
  123. this.alertForm.setControl('dosisHours', this.setExistingAlert());
  124.  
  125.  
  126. setExistingAlert():FormArray {
  127.  
  128.  
  129. let control = <FormArray> this.alertForm.controls.dosisHours
  130. this.alert.newHourDayAlerts.forEach(element => {
  131. control.push(this.formBuilder.group({
  132. alertdoseHour: element.substr(0,5)
  133. }))
  134. });
  135.  
  136.  
  137.  
  138. return control;
  139. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement