| 
									
										
										
										
											2016-03-05 17:53:34 -05:00
										 |  |  | // #docregion
 | 
					
						
							| 
									
										
										
										
											2016-05-03 14:06:32 +02:00
										 |  |  | import { Injectable }   from '@angular/core'; | 
					
						
							|  |  |  | import { ControlGroup, FormBuilder, Validators } from '@angular/common'; | 
					
						
							|  |  |  | import { QuestionBase } from './question-base'; | 
					
						
							| 
									
										
										
										
											2016-03-05 17:53:34 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | @Injectable() | 
					
						
							|  |  |  | export class QuestionControlService { | 
					
						
							| 
									
										
										
										
											2016-05-03 14:06:32 +02:00
										 |  |  |   constructor(private fb:FormBuilder){ } | 
					
						
							| 
									
										
										
										
											2016-03-05 17:53:34 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  |   toControlGroup(questions:QuestionBase<any>[] ) { | 
					
						
							|  |  |  |     let group = {}; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     questions.forEach(question => { | 
					
						
							| 
									
										
										
										
											2016-04-15 20:34:18 +01:00
										 |  |  |       group[question.key] = question.required ? [question.value || '', Validators.required] : [question.value || '']; | 
					
						
							| 
									
										
										
										
											2016-03-05 17:53:34 -05:00
										 |  |  |     }); | 
					
						
							| 
									
										
										
										
											2016-05-03 14:06:32 +02:00
										 |  |  |     return this.fb.group(group); | 
					
						
							| 
									
										
										
										
											2016-03-05 17:53:34 -05:00
										 |  |  |   } | 
					
						
							|  |  |  | } |