UNPKG

ws-form-builder

Version:
71 lines (51 loc) 1.71 kB
import { Component, Input, Output, EventEmitter } from '@angular/core'; import { FormBuilderProvider } from '../../providers/form-builder/form-builder'; @Component({ selector: 'ws-checkbox-group', template: ` <strong>{{question.question}}</strong> <ion-list checkbox-group> <ion-item *ngFor="let option of question.options; let i = index;">] <ion-label>{{option.label}}</ion-label> <ion-checkbox [(ngModel)]="option.value" (ionChange)='selectOption($event, question, i, option)'></ion-checkbox> </ion-item> </ion-list> `, styles: [` `] }) export class WsCheckboxGroupComponent { @Input('question') question; @Output() answerGiven = new EventEmitter(); isFieldValid:boolean = false; showError:boolean = false; constructor(public formBuilder: FormBuilderProvider){ } selectOption(event,question,i,option){ let ifRequired = question.required; question.valid = true; let checkedCount = 0; for(let i=0; i < Object.keys(question.options).length; i++){ //string = string+this.fieldAnswers[i]; if(question.options[i]['value']){ checkedCount++; } } if(ifRequired){ if(typeof question.maximumChecked !== 'undefined'){ if(checkedCount >= question.maximumChecked){ question.valid = false; } } if(typeof question.minimumChecked !== 'undefined'){ if(checkedCount <= question.minimumChecked){ question.valid = false; } } } this.answerGiven.emit(question); } validateAnswer(question,string){ return this.formBuilder.validateAnswer(question,string); } }