2016-03-05 17:53:34 -05:00
|
|
|
// #docregion
|
2016-05-03 08:06:32 -04:00
|
|
|
import { Injectable } from '@angular/core';
|
2016-06-18 12:00:04 -04:00
|
|
|
import { FormControl, FormGroup, Validators } from '@angular/forms';
|
|
|
|
|
2016-05-03 08:06:32 -04:00
|
|
|
import { QuestionBase } from './question-base';
|
2016-03-05 17:53:34 -05:00
|
|
|
|
|
|
|
@Injectable()
|
|
|
|
export class QuestionControlService {
|
2016-06-18 12:00:04 -04:00
|
|
|
constructor() { }
|
2016-03-05 17:53:34 -05:00
|
|
|
|
2016-06-18 12:00:04 -04:00
|
|
|
toFormGroup(questions: QuestionBase<any>[] ) {
|
|
|
|
let group: any = {};
|
2016-03-05 17:53:34 -05:00
|
|
|
|
|
|
|
questions.forEach(question => {
|
2016-06-18 12:00:04 -04:00
|
|
|
group[question.key] = question.required ? new FormControl(question.value || '', Validators.required)
|
|
|
|
: new FormControl(question.value || '');
|
2016-03-05 17:53:34 -05:00
|
|
|
});
|
2016-06-18 12:00:04 -04:00
|
|
|
return new FormGroup(group);
|
2016-03-05 17:53:34 -05:00
|
|
|
}
|
|
|
|
}
|