29 lines
743 B
TypeScript
29 lines
743 B
TypeScript
// #docregion
|
|
import { Component, Input, OnInit } from '@angular/core';
|
|
import { FormGroup } from '@angular/forms';
|
|
|
|
import { QuestionBase } from './question-base';
|
|
import { QuestionControlService } from './question-control.service';
|
|
|
|
@Component({
|
|
selector: 'dynamic-form',
|
|
templateUrl: './dynamic-form.component.html',
|
|
providers: [ QuestionControlService ]
|
|
})
|
|
export class DynamicFormComponent implements OnInit {
|
|
|
|
@Input() questions: QuestionBase<any>[] = [];
|
|
form: FormGroup;
|
|
payLoad = '';
|
|
|
|
constructor(private qcs: QuestionControlService) { }
|
|
|
|
ngOnInit() {
|
|
this.form = this.qcs.toFormGroup(this.questions);
|
|
}
|
|
|
|
onSubmit() {
|
|
this.payLoad = JSON.stringify(this.form.value);
|
|
}
|
|
}
|