survery-lib 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -0
- package/assets/style.css +58 -0
- package/assets/style.css.map +1 -0
- package/esm2022/lib/components/question-boolean-template/question-boolean-template.component.mjs +80 -0
- package/esm2022/lib/components/question-check-box-template/question-check-box-template.component.mjs +88 -0
- package/esm2022/lib/components/question-dropdown-template/question-dropdown-template.component.mjs +76 -0
- package/esm2022/lib/components/question-matrix-template/question-matrix-template.component.mjs +69 -0
- package/esm2022/lib/components/question-radio-button-template/question-radio-button-template.component.mjs +80 -0
- package/esm2022/lib/components/question-text-template/question-text-template.component.mjs +77 -0
- package/esm2022/lib/services/shared-data.service.mjs +23 -0
- package/esm2022/lib/services/survey-lib.service.mjs +23 -0
- package/esm2022/lib/survery-lib.component.mjs +124 -0
- package/esm2022/lib/survery-lib.module.mjs +50 -0
- package/esm2022/public-api.mjs +7 -0
- package/esm2022/shared/dtos/rule-exp-answer.dto.mjs +2 -0
- package/esm2022/shared/dtos/rule-exp.dto.mjs +2 -0
- package/esm2022/shared/dtos/rule-result-question.dto.mjs +2 -0
- package/esm2022/shared/dtos/survey-answer.dto.mjs +2 -0
- package/esm2022/shared/dtos/survey-page.dto.mjs +2 -0
- package/esm2022/shared/dtos/survey-question-group.dto.mjs +2 -0
- package/esm2022/shared/dtos/survey-question.dto.mjs +2 -0
- package/esm2022/shared/dtos/survey-rule.dto.mjs +2 -0
- package/esm2022/shared/dtos/survey-sub-question.dto.mjs +2 -0
- package/esm2022/shared/dtos/survey.dto.mjs +2 -0
- package/esm2022/shared/enums/question-type.enum.mjs +10 -0
- package/esm2022/shared/form-interfaces/question-boolean-template.form-interface.mjs +2 -0
- package/esm2022/shared/form-interfaces/question-check-box-template.form-interface.mjs +3 -0
- package/esm2022/shared/form-interfaces/question-dropdown-template.form-interface.mjs +3 -0
- package/esm2022/shared/form-interfaces/question-matrix-template.form-interface.mjs +2 -0
- package/esm2022/shared/form-interfaces/question-radio-button-template.form-interface.mjs +3 -0
- package/esm2022/shared/form-interfaces/question-text-template.form-interface.mjs +2 -0
- package/esm2022/shared/form-interfaces/survery-lib.form-interface.mjs +2 -0
- package/esm2022/shared/models/question-answer.model.mjs +3 -0
- package/esm2022/survery-lib.mjs +5 -0
- package/fesm2022/survery-lib.mjs +638 -0
- package/fesm2022/survery-lib.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components/question-boolean-template/question-boolean-template.component.d.ts +34 -0
- package/lib/components/question-check-box-template/question-check-box-template.component.d.ts +34 -0
- package/lib/components/question-dropdown-template/question-dropdown-template.component.d.ts +31 -0
- package/lib/components/question-matrix-template/question-matrix-template.component.d.ts +28 -0
- package/lib/components/question-radio-button-template/question-radio-button-template.component.d.ts +34 -0
- package/lib/components/question-text-template/question-text-template.component.d.ts +31 -0
- package/lib/services/shared-data.service.d.ts +9 -0
- package/lib/services/survey-lib.service.d.ts +10 -0
- package/lib/survery-lib.component.d.ts +34 -0
- package/lib/survery-lib.module.d.ts +19 -0
- package/package.json +27 -0
- package/public-api.d.ts +3 -0
- package/shared/dtos/rule-exp-answer.dto.d.ts +5 -0
- package/shared/dtos/rule-exp.dto.d.ts +11 -0
- package/shared/dtos/rule-result-question.dto.d.ts +4 -0
- package/shared/dtos/survey-answer.dto.d.ts +16 -0
- package/shared/dtos/survey-page.dto.d.ts +9 -0
- package/shared/dtos/survey-question-group.dto.d.ts +8 -0
- package/shared/dtos/survey-question.dto.d.ts +18 -0
- package/shared/dtos/survey-rule.dto.d.ts +10 -0
- package/shared/dtos/survey-sub-question.dto.d.ts +9 -0
- package/shared/dtos/survey.dto.d.ts +16 -0
- package/shared/enums/question-type.enum.d.ts +8 -0
- package/shared/form-interfaces/question-boolean-template.form-interface.d.ts +9 -0
- package/shared/form-interfaces/question-check-box-template.form-interface.d.ts +9 -0
- package/shared/form-interfaces/question-dropdown-template.form-interface.d.ts +9 -0
- package/shared/form-interfaces/question-matrix-template.form-interface.d.ts +11 -0
- package/shared/form-interfaces/question-radio-button-template.form-interface.d.ts +9 -0
- package/shared/form-interfaces/question-text-template.form-interface.d.ts +9 -0
- package/shared/form-interfaces/survery-lib.form-interface.d.ts +11 -0
- package/shared/models/question-answer.model.d.ts +5 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"survery-lib.mjs","sources":["../../../projects/survery-lib/src/shared/enums/question-type.enum.ts","../../../projects/survery-lib/src/lib/services/survey-lib.service.ts","../../../projects/survery-lib/src/lib/services/shared-data.service.ts","../../../projects/survery-lib/src/lib/components/question-text-template/question-text-template.component.ts","../../../projects/survery-lib/src/lib/components/question-text-template/question-text-template.component.html","../../../projects/survery-lib/src/lib/components/question-radio-button-template/question-radio-button-template.component.ts","../../../projects/survery-lib/src/lib/components/question-radio-button-template/question-radio-button-template.component.html","../../../projects/survery-lib/src/lib/components/question-check-box-template/question-check-box-template.component.ts","../../../projects/survery-lib/src/lib/components/question-check-box-template/question-check-box-template.component.html","../../../projects/survery-lib/src/lib/components/question-dropdown-template/question-dropdown-template.component.ts","../../../projects/survery-lib/src/lib/components/question-dropdown-template/question-dropdown-template.component.html","../../../projects/survery-lib/src/lib/components/question-matrix-template/question-matrix-template.component.ts","../../../projects/survery-lib/src/lib/components/question-matrix-template/question-matrix-template.component.html","../../../projects/survery-lib/src/lib/components/question-boolean-template/question-boolean-template.component.ts","../../../projects/survery-lib/src/lib/components/question-boolean-template/question-boolean-template.component.html","../../../projects/survery-lib/src/lib/survery-lib.component.ts","../../../projects/survery-lib/src/lib/survey-lib.component.html","../../../projects/survery-lib/src/lib/survery-lib.module.ts","../../../projects/survery-lib/src/public-api.ts","../../../projects/survery-lib/src/survery-lib.ts"],"sourcesContent":["export enum QuestionTypeEnum {\r\n RadioButton = 1,\r\n CheckBox = 2,\r\n DropDown = 3,\r\n Boolean = 4,\r\n TextInput = 5,\r\n Matrix = 6\r\n}","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { SurveyDto } from '../../shared/dtos/survey.dto';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SurveyLibService {\n\n private surveyDataSubject: Subject<SurveyDto> = new Subject<SurveyDto>();\n\n get surveyDataObsrv() {\n return this.surveyDataSubject.asObservable();\n }\n\n constructor() { }\n\n setSurveyData(survey: SurveyDto) {\n this.surveyDataSubject.next(survey);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SharedDataService {\n\n private submitIdSubject: BehaviorSubject <string> = new BehaviorSubject <string>(null);\n\n get submitIdObsrv() {\n return this.submitIdSubject.asObservable();\n }\n\n constructor() { }\n\n setSubmitId(submitId: string) {\n this.submitIdSubject.next(submitId);\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { FormBuilder, FormGroup, FormControl as FormControlStack, ValidatorsModel } from '@ng-stack/forms';\nimport { SurveyQuestionDto } from 'projects/survery-lib/src/shared/dtos/survey-question.dto';\nimport { QuestionTypeEnum } from 'projects/survery-lib/src/shared/enums/question-type.enum';\nimport { QuestionTextTemplateFormInterface } from 'projects/survery-lib/src/shared/form-interfaces/question-text-template.form-interface';\nimport { SharedDataService } from '../../services/shared-data.service';\nimport { debounceTime, distinctUntilChanged } from 'rxjs';\nimport { QuestionAnswerModel } from 'projects/survery-lib/src/shared/models/question-answer.model';\n\n@Component({\n selector: 'lib-question-text-template',\n templateUrl: './question-text-template.component.html',\n styleUrls: ['./question-text-template.component.scss']\n})\nexport class QuestionTextTemplateComponent implements OnInit{\n\n rForm: FormGroup<QuestionTextTemplateFormInterface>;\n\n get fCtrls() {\n return this.rForm.controls;\n }\n\n get questionTypeEnum() {\n return QuestionTypeEnum;\n }\n\n @Output() emitter = new EventEmitter<QuestionAnswerModel>();\n\n @Input() isTextArea: boolean;\n @Input() set setQuestion(value: SurveyQuestionDto) {\n this.rForm.patchValue({\n id: value.questionId,\n name: value.questionName,\n title: value.questionTitle,\n typeId: value.questionTypeId,\n description: value.questionDescription\n });\n\n if (value.isRequired == true) {\n this.fCtrls.answer.addValidators([Validators.required]);\n this.fCtrls.answer.updateValueAndValidity();\n }\n }\n\n constructor(private _formBuilder: FormBuilder, private _sharedDataService: SharedDataService) {\n this.rForm = this._formBuilder.group<QuestionTextTemplateFormInterface>({\n id: [null],\n name: [null],\n title: [null],\n typeId: [null],\n description: [null],\n answer: [null]\n });\n\n this._sharedDataService.submitIdObsrv.pipe(debounceTime(500), distinctUntilChanged()).subscribe(() => {\n const formValue = this.rForm.value;\n this.emitter.emit({\n QuestionId: formValue.id,\n IsValid: this.fCtrls.answer.valid,\n Answer: formValue.answer\n })\n });\n }\n\n ngOnInit(): void {\n this.fCtrls.answer.valueChanges.pipe().pipe(debounceTime(500), distinctUntilChanged()).subscribe(value=>{\n const formValue = this.rForm.value;\n this.emitter.emit({\n QuestionId: formValue.id,\n IsValid: this.fCtrls.answer.valid,\n Answer: value\n })\n })\n }\n\n convertToFormControl(element: any) {\n return element as FormControl;\n }\n\n}\n","<div class=\"quastion\" [formGroup]=\"rForm\" [attr.id]=\"'question_'+fCtrls.id.value\"\n [ngClass]=\"{'invalid-question': fCtrls.answer.invalid}\">\n <h3 class=\"quastion-title \">\n {{fCtrls.title.value}}\n </h3>\n <div class=\"text-quastion\">\n <input class=\"form-control\" type=\"text\" [formControl]=\"convertToFormControl(fCtrls.answer)\"\n *ngIf=\"isTextArea == false else textAreaTemplate\">\n <ng-template #textAreaTemplate>\n <textarea class=\"form-control\" rows=\"5\" [formControl]=\"convertToFormControl(fCtrls.answer)\"></textarea>\n </ng-template>\n </div>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { FormBuilder, FormGroup } from '@ng-stack/forms';\nimport { SurveyAnswerDto } from 'projects/survery-lib/src/shared/dtos/survey-answer.dto';\nimport { SurveyQuestionDto } from 'projects/survery-lib/src/shared/dtos/survey-question.dto';\nimport { QuestionTypeEnum } from 'projects/survery-lib/src/shared/enums/question-type.enum';\nimport { QuestionRadioButtonTemplateFormInterface } from 'projects/survery-lib/src/shared/form-interfaces/question-radio-button-template.form-interface';\nimport { QuestionTextTemplateFormInterface } from 'projects/survery-lib/src/shared/form-interfaces/question-text-template.form-interface';\nimport { debounceTime, distinctUntilChanged } from 'rxjs';\nimport { v4 as guidGenerator } from 'uuid';\nimport { SharedDataService } from '../../services/shared-data.service';\nimport { QuestionAnswerModel } from 'projects/survery-lib/src/shared/models/question-answer.model';\n\n@Component({\n selector: 'lib-question-radio-button-template',\n templateUrl: './question-radio-button-template.component.html',\n styleUrls: ['./question-radio-button-template.component.scss']\n})\nexport class QuestionRadioButtonTemplateComponent implements OnInit {\n elemId = guidGenerator() as string;\n surveyQuestion: SurveyQuestionDto;\n rForm: FormGroup<QuestionRadioButtonTemplateFormInterface>;\n\n get fCtrls() {\n return this.rForm.controls;\n }\n\n get questionTypeEnum() {\n return QuestionTypeEnum;\n }\n\n @Output() emitter = new EventEmitter<QuestionAnswerModel>();\n\n @Input() set setQuestion(value: SurveyQuestionDto) {\n this.surveyQuestion = value;\n this.rForm.patchValue({\n id: value.questionId,\n name: value.questionName,\n title: value.questionTitle,\n typeId: value.questionTypeId,\n description: value.questionDescription\n });\n\n if (value.isRequired == true) {\n this.fCtrls.answer.addValidators([Validators.required]);\n this.fCtrls.answer.updateValueAndValidity();\n }\n }\n\n constructor(private _formBuilder: FormBuilder , private _sharedDataService:SharedDataService) {\n this.rForm = this._formBuilder.group<QuestionRadioButtonTemplateFormInterface>({\n id: [null],\n name: [null],\n title: [null],\n typeId: [null],\n description: [null],\n answer: [null]\n });\n\n this._sharedDataService.submitIdObsrv.pipe(debounceTime(500), distinctUntilChanged()).subscribe(() => {\n const formValue = this.rForm.value;\n this.emitter.emit({\n QuestionId: formValue.id,\n IsValid: this.fCtrls.answer.valid,\n Answer: formValue.answer\n })\n });\n }\n\n ngOnInit(): void {\n this.fCtrls.answer.valueChanges.pipe().pipe(debounceTime(500), distinctUntilChanged()).subscribe(value=>{\n const formValue = this.rForm.value;\n this.emitter.emit({\n QuestionId: formValue.id,\n IsValid: this.fCtrls.answer.valid,\n Answer: value\n })\n })\n }\n\n onChangeAnswer(item: SurveyAnswerDto) {\n this.fCtrls.answer.setValue(item.answerId);\n }\n\n convertToFormControl(element: any) {\n return element as FormControl;\n }\n}\n","<div class=\"quastion\" [attr.id]=\"'question_'+fCtrls.id.value\" [ngClass]=\"{'invalid-question': fCtrls.answer.invalid}\">\n <h3 class=\"quastion-title \">\n {{fCtrls.title.value}}\n </h3>\n <div class=\"radio-button-quastion\">\n <div class=\"form-check form-check-radio form-check-inline\" \n *ngFor=\"let item of surveyQuestion?.surveyAnswers;let i = index\">\n <input class=\"form-check-input\" type=\"radio\" (change)=\"onChangeAnswer(item)\"\n name=\"{{elemId}}__radio-btn-option\" id=\"{{elemId}}__radio-btn_{{i}}\" value=\"{{item.answerId}}\">\n <label class=\"form-check-label\" for=\"{{elemId}}__radio-btn_{{i}}\">{{item.answerTitle}}</label>\n </div>\n </div>\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { FormBuilder, FormGroup } from '@ng-stack/forms';\nimport { SurveyAnswerDto } from 'projects/survery-lib/src/shared/dtos/survey-answer.dto';\nimport { SurveyQuestionDto } from 'projects/survery-lib/src/shared/dtos/survey-question.dto';\nimport { QuestionTypeEnum } from 'projects/survery-lib/src/shared/enums/question-type.enum';\nimport { QuestionCheckBoxTemplateFormInterface } from 'projects/survery-lib/src/shared/form-interfaces/question-check-box-template.form-interface';\nimport { QuestionRadioButtonTemplateFormInterface } from 'projects/survery-lib/src/shared/form-interfaces/question-radio-button-template.form-interface';\nimport { debounceTime, distinctUntilChanged } from 'rxjs';\nimport { v4 as guidGenerator } from 'uuid';\nimport { SharedDataService } from '../../services/shared-data.service';\nimport { QuestionAnswerModel } from 'projects/survery-lib/src/shared/models/question-answer.model';\n\n@Component({\n selector: 'lib-question-check-box-template',\n templateUrl: './question-check-box-template.component.html',\n styleUrls: ['./question-check-box-template.component.scss']\n})\nexport class QuestionCheckBoxTemplateComponent implements OnInit {\n elemId = guidGenerator() as string;\n surveyQuestion: SurveyQuestionDto;\n rForm: FormGroup<QuestionCheckBoxTemplateFormInterface>;\n\n get fCtrls() {\n return this.rForm.controls;\n }\n\n get questionTypeEnum() {\n return QuestionTypeEnum;\n }\n\n @Output() emitter = new EventEmitter<QuestionAnswerModel>();\n\n @Input() set setQuestion(value: SurveyQuestionDto) {\n this.surveyQuestion = value;\n this.rForm.patchValue({\n id: value.questionId,\n name: value.questionName,\n title: value.questionTitle,\n typeId: value.questionTypeId,\n description: value.questionDescription\n });\n\n if (value.isRequired == true) {\n this.fCtrls.answer.addValidators([Validators.required]);\n this.fCtrls.answer.updateValueAndValidity();\n }\n }\n\n constructor(private _formBuilder: FormBuilder , private _sharedDataService:SharedDataService) {\n this.rForm = this._formBuilder.group<QuestionCheckBoxTemplateFormInterface>({\n id: [null],\n name: [null],\n title: [null],\n typeId: [null],\n description: [null],\n answer: [null]\n });\n\n this._sharedDataService.submitIdObsrv.pipe(debounceTime(500), distinctUntilChanged()).subscribe(() => {\n const formValue = this.rForm.value;\n this.emitter.emit({\n QuestionId: formValue.id,\n IsValid: this.fCtrls.answer.valid,\n Answer: formValue.answer\n })\n });\n }\n\n ngOnInit(): void {\n this.fCtrls.answer.valueChanges.pipe().pipe(debounceTime(500), distinctUntilChanged()).subscribe(value=>{\n const formValue = this.rForm.value;\n this.emitter.emit({\n QuestionId: formValue.id,\n IsValid: this.fCtrls.answer.valid,\n Answer: value\n })\n })\n }\n\n onChangeAnswer(item: SurveyAnswerDto, event: Event) {\n var answerArr: number[] = this.fCtrls.answer.value || [];\n\n if ((event.target as any).checked == true) {\n answerArr.push(item.answerId);\n } else {\n answerArr = answerArr.filter(x => x != item.answerId);\n }\n\n answerArr = answerArr.length == 0 ? null :answerArr;\n this.fCtrls.answer.setValue(answerArr);\n }\n\n convertToFormControl(element: any) {\n return element as FormControl;\n }\n}\n","<div class=\"quastion\" [attr.id]=\"'question_'+fCtrls.id.value\" [ngClass]=\"{'invalid-question': fCtrls.answer.invalid}\">\n <h3 class=\"quastion-title \">\n {{fCtrls.title.value}}\n </h3>\n\n <div class=\"checkbox-button-quastion\">\n <div class=\"form-check check-box-form-check\" *ngFor=\"let item of surveyQuestion?.surveyAnswers;let i = index\">\n <input type=\"checkbox\" class=\"form-check-input\" id=\"{{elemId}}__checkbox_{{i}}\" (change)=\"onChangeAnswer(item,$event)\">\n <label class=\"form-check-label \" for=\"{{elemId}}__checkbox_{{i}}\">{{item.answerTitle}}</label>\n </div>\n </div>\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { FormBuilder, FormGroup } from '@ng-stack/forms';\nimport { SurveyQuestionDto } from 'projects/survery-lib/src/shared/dtos/survey-question.dto';\nimport { QuestionTypeEnum } from 'projects/survery-lib/src/shared/enums/question-type.enum';\nimport { QuestionDropdownTemplateFormInterface } from 'projects/survery-lib/src/shared/form-interfaces/question-dropdown-template.form-interface';\nimport { QuestionRadioButtonTemplateFormInterface } from 'projects/survery-lib/src/shared/form-interfaces/question-radio-button-template.form-interface';\nimport { debounceTime, distinctUntilChanged } from 'rxjs';\nimport { SharedDataService } from '../../services/shared-data.service';\nimport { QuestionAnswerModel } from 'projects/survery-lib/src/shared/models/question-answer.model';\n\n@Component({\n selector: 'lib-question-dropdown-template',\n templateUrl: './question-dropdown-template.component.html',\n styleUrls: ['./question-dropdown-template.component.scss']\n})\nexport class QuestionDropdownTemplateComponent implements OnInit {\n surveyQuestion:SurveyQuestionDto;\n rForm: FormGroup<QuestionDropdownTemplateFormInterface>;\n\n get fCtrls() {\n return this.rForm.controls;\n }\n\n get questionTypeEnum() {\n return QuestionTypeEnum;\n }\n\n @Output() emitter = new EventEmitter<QuestionAnswerModel>();\n\n @Input() set setQuestion(value: SurveyQuestionDto) {\n this.surveyQuestion = value;\n this.rForm.patchValue({\n id: value.questionId,\n name: value.questionName,\n title: value.questionTitle,\n typeId: value.questionTypeId,\n description: value.questionDescription\n });\n\n if (value.isRequired == true) {\n this.fCtrls.answer.addValidators([Validators.required]);\n this.fCtrls.answer.updateValueAndValidity();\n }\n }\n\n constructor(private _formBuilder: FormBuilder, private _sharedDataService:SharedDataService) {\n this.rForm = this._formBuilder.group<QuestionDropdownTemplateFormInterface>({\n id: [null],\n name: [null],\n title: [null],\n typeId: [null],\n description: [null],\n answer:[null]\n });\n\n this._sharedDataService.submitIdObsrv.pipe(debounceTime(500), distinctUntilChanged()).subscribe(() => {\n const formValue = this.rForm.value;\n this.emitter.emit({\n QuestionId: formValue.id,\n IsValid: this.fCtrls.answer.valid,\n Answer: formValue.answer\n })\n });\n }\n\n ngOnInit(): void {\n this.fCtrls.answer.valueChanges.pipe().pipe(debounceTime(500), distinctUntilChanged()).subscribe(value=>{\n const formValue = this.rForm.value;\n this.emitter.emit({\n QuestionId: formValue.id,\n IsValid: this.fCtrls.answer.valid,\n Answer: value\n })\n })\n }\n\n convertToFormControl(element: any){\n return element as FormControl;\n }\n}\n","<div class=\"quastion\" [attr.id]=\"'question_'+fCtrls.id.value\" [ngClass]=\"{'invalid-question': fCtrls.answer.invalid}\">\n <h3 class=\"quastion-title \">\n {{fCtrls.title.value}}\n </h3>\n <div class=\"text-quastion\">\n <select class=\"form-control\" [formControl]=\"convertToFormControl(fCtrls.answer)\">\n <option *ngFor=\"let item of surveyQuestion?.surveyAnswers\" [value]=\"item.answerId\">{{item.answerTitle}}</option>\n </select>\n </div>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { FormBuilder, FormGroup } from '@ng-stack/forms';\nimport { SurveyAnswerDto } from 'projects/survery-lib/src/shared/dtos/survey-answer.dto';\nimport { SurveyQuestionGroupDto } from 'projects/survery-lib/src/shared/dtos/survey-question-group.dto';\nimport { SurveyQuestionDto } from 'projects/survery-lib/src/shared/dtos/survey-question.dto';\nimport { SurveySubQuestionDto } from 'projects/survery-lib/src/shared/dtos/survey-sub-question.dto';\nimport { QuestionTypeEnum } from 'projects/survery-lib/src/shared/enums/question-type.enum';\nimport { QuestionMatrixTemplateFormInterface, SubQuestionChildOfQuestionMatrixTemplateFormInterface } from 'projects/survery-lib/src/shared/form-interfaces/question-matrix-template.form-interface';\nimport { QuestionAnswerModel } from 'projects/survery-lib/src/shared/models/question-answer.model';\nimport { v4 as guidGenerator } from 'uuid';\n\n@Component({\n selector: 'lib-question-matrix-template',\n templateUrl: './question-matrix-template.component.html',\n styleUrls: ['./question-matrix-template.component.scss']\n})\nexport class QuestionMatrixTemplateComponent {\n elemId = guidGenerator() as string;\n surveyQuestion: SurveyQuestionDto;\n rForm: FormGroup<QuestionMatrixTemplateFormInterface>;\n\n get fCtrls() {\n return this.rForm.controls;\n }\n\n get questionTypeEnum() {\n return QuestionTypeEnum;\n }\n\n @Output() emitter = new EventEmitter<QuestionAnswerModel[]>();\n\n @Input() set setQuestion(value: SurveyQuestionDto) {\n this.surveyQuestion = value;\n this.rForm.patchValue({\n id: value.questionId,\n typeId: value.questionTypeId\n });\n\n value.surveySubQuestions.forEach(x => {\n var group = this._formBuilder.group<SubQuestionChildOfQuestionMatrixTemplateFormInterface>({\n subQuestionId: [x.questionId],\n questionTitle: [x.questionTitle],\n answer: [null]\n });\n\n if (value.isRequired == true) {\n group.controls.answer.addValidators([Validators.required]);\n group.controls.answer.updateValueAndValidity();\n }\n\n this.fCtrls.subQuestionArray.push(group);\n })\n }\n\n constructor(private _formBuilder: FormBuilder) {\n this.rForm = this._formBuilder.group<QuestionMatrixTemplateFormInterface>({\n id: [null],\n typeId: [null],\n subQuestionArray: this._formBuilder.array<SubQuestionChildOfQuestionMatrixTemplateFormInterface>([])\n });\n }\n\n onChangeAnswer(question: SubQuestionChildOfQuestionMatrixTemplateFormInterface, answer: SurveyAnswerDto) {\n const index = this.fCtrls.subQuestionArray.value.findIndex(x => x.subQuestionId == question.subQuestionId);\n this.fCtrls.subQuestionArray.controls[index].controls.answer.setValue(answer.answerId);\n\n var model = this.fCtrls.subQuestionArray.value.map(x => {\n return { QuestionId: x.subQuestionId,\n Answer: x.answer, \n IsValid: this.fCtrls.subQuestionArray.controls[index].controls.answer.valid } as QuestionAnswerModel;\n });\n this.emitter.emit(model);\n }\n\n convertToFormControl(element: any) {\n return element as FormControl;\n }\n}\n","<div class=\"quastion\" [attr.id]=\"'question_'+fCtrls.id.value\" style=\" border-collapse: collapse;\">\n <h3 class=\"quastion-title \">\n {{surveyQuestion?.questionTitle}}\n </h3>\n <div class=\"matrix-question\" [formGroup]=\"rForm\">\n <div class=\"matrix-table\" formArrayName=\"subQuestionArray\">\n <div class=\"matrix-head-row\">\n <div class=\"matrix-col\">\n </div>\n <div class=\"matrix-col\" *ngFor=\"let answers of surveyQuestion?.surveyAnswers\">\n {{answers.answerTitle}}\n </div>\n </div>\n\n <div class=\"matrix-row\"\n *ngFor=\"let questionGroup of fCtrls.subQuestionArray.controls ;let subQuestionIndex = index\"\n [ngClass]=\"{'invalid-question': questionGroup.controls.answer.invalid}\">\n <div class=\"matrix-col matrix-sub-quastion\">\n {{questionGroup.value.questionTitle}}\n </div>\n <div class=\"matrix-col\" *ngFor=\"let answer of surveyQuestion?.surveyAnswers;let answerIndex = index\">\n <div class=\"form-check form-check-radio form-check-inline\">\n <input class=\"form-check-input\" type=\"radio\" name=\"{{elemId}}__radio-btn-option_{{subQuestionIndex}}\"\n id=\"{{elemId}}__radio-btn_{{subQuestionIndex}}_{{answerIndex}}\" (change)=\"onChangeAnswer(questionGroup.value ,answer)\"\n value=\"{{answer.answerId}}\">\n <label class=\"form-check-label d-md-inline d-lg-none\"\n for=\"{{elemId}}__radio-btn_{{subQuestionIndex}}_{{answerIndex}}\"> {{answer.answerTitle}}</label>\n </div>\n </div>\n </div>\n\n </div>\n\n </div>\n</div>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { Validators, FormControl } from '@angular/forms';\nimport { SurveyAnswerDto } from 'projects/survery-lib/src/shared/dtos/survey-answer.dto';\nimport { SurveyQuestionDto } from 'projects/survery-lib/src/shared/dtos/survey-question.dto';\nimport { QuestionTypeEnum } from 'projects/survery-lib/src/shared/enums/question-type.enum';\nimport { QuestionRadioButtonTemplateFormInterface } from 'projects/survery-lib/src/shared/form-interfaces/question-radio-button-template.form-interface';\nimport { QuestionAnswerModel } from 'projects/survery-lib/src/shared/models/question-answer.model';\nimport { debounceTime, distinctUntilChanged } from 'rxjs';\nimport { SharedDataService } from '../../services/shared-data.service';\nimport { QuestionBooleanTemplateFormInterface } from 'projects/survery-lib/src/shared/form-interfaces/question-boolean-template.form-interface';\nimport { FormBuilder, FormGroup } from '@ng-stack/forms';\nimport { v4 as guidGenerator } from 'uuid';\n\n@Component({\n selector: 'lib-question-boolean-template',\n templateUrl: './question-boolean-template.component.html',\n styleUrls: ['./question-boolean-template.component.scss']\n})\nexport class QuestionBooleanTemplateComponent implements OnInit {\n elemId = guidGenerator() as string;\n surveyQuestion: SurveyQuestionDto;\n rForm: FormGroup<QuestionBooleanTemplateFormInterface>;\n\n get fCtrls() {\n return this.rForm.controls;\n }\n\n get questionTypeEnum() {\n return QuestionTypeEnum;\n }\n\n @Output() emitter = new EventEmitter<QuestionAnswerModel>();\n\n @Input() set setQuestion(value: SurveyQuestionDto) {\n this.surveyQuestion = value;\n this.rForm.patchValue({\n id: value.questionId,\n name: value.questionName,\n title: value.questionTitle,\n typeId: value.questionTypeId,\n description: value.questionDescription\n });\n\n if (value.isRequired == true) {\n this.fCtrls.answer.addValidators([Validators.required]);\n this.fCtrls.answer.updateValueAndValidity();\n }\n }\n\n constructor(private _formBuilder: FormBuilder , private _sharedDataService:SharedDataService) {\n this.rForm = this._formBuilder.group<QuestionBooleanTemplateFormInterface>({\n id: [null],\n name: [null],\n title: [null],\n typeId: [null],\n description: [null],\n answer: [null]\n });\n\n this._sharedDataService.submitIdObsrv.pipe(debounceTime(500), distinctUntilChanged()).subscribe(() => {\n const formValue = this.rForm.value;\n this.emitter.emit({\n QuestionId: formValue.id,\n IsValid: this.fCtrls.answer.valid,\n Answer: formValue.answer\n })\n });\n }\n\n ngOnInit(): void {\n this.fCtrls.answer.valueChanges.pipe().pipe(debounceTime(500), distinctUntilChanged()).subscribe(value=>{\n const formValue = this.rForm.value;\n this.emitter.emit({\n QuestionId: formValue.id,\n IsValid: this.fCtrls.answer.valid,\n Answer: value\n })\n })\n }\n\n onChangeAnswer(answer: SurveyAnswerDto) {\n this.fCtrls.answer.setValue(answer);\n }\n\n convertToFormControl(element: any) {\n return element as FormControl;\n }\n}\n","<div class=\"quastion\" [attr.id]=\"'question_'+fCtrls.id.value\" [ngClass]=\"{'invalid-question': fCtrls.answer.invalid}\">\n <h3 class=\"quastion-title \">\n {{fCtrls.title.value}}\n </h3>\n <div class=\"radio-button-quastion\">\n <div class=\"form-check form-check-radio form-check-inline\" \n *ngFor=\"let item of surveyQuestion?.surveyAnswers;let i = index\">\n <input class=\"form-check-input\" type=\"radio\" (change)=\"onChangeAnswer(item)\"\n name=\"{{elemId}}__radio-btn-option\" id=\"{{elemId}}__radio-btn_{{i}}\" value=\"{{item.answerId}}\">\n <label class=\"form-check-label\" for=\"{{elemId}}__radio-btn_{{i}}\">{{item.answerTitle}}</label>\n </div>\n </div>\n</div>\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\nimport { SurveyLibService } from './services/survey-lib.service';\nimport { SurveyDto } from '../shared/dtos/survey.dto';\nimport { FormBuilder, FormGroup } from '@ng-stack/forms';\nimport { QuestionChildOfSurveryLibFormInterface, SurveryLibFormInterface } from '../shared/form-interfaces/survery-lib.form-interface';\nimport { QuestionTypeEnum } from '../shared/enums/question-type.enum';\nimport { v4 as guidGenerator } from 'uuid';\nimport { SharedDataService } from './services/shared-data.service';\nimport { QuestionAnswerModel } from '../shared/models/question-answer.model';\ndeclare var $: any;\n\n@Component({\n selector: 'lib-survery-lib',\n templateUrl: './survey-lib.component.html',\n styleUrls: ['./survey-lib.component.scss']\n})\nexport class SurveryLibComponent implements OnInit {\n\n surveyData: SurveyDto;\n rForm: FormGroup<SurveryLibFormInterface>;\n\n get fCtrls() {\n return this.rForm.controls;\n }\n\n get questionTypeEnum() {\n return QuestionTypeEnum;\n }\n\n get isLastPage() {\n return this.fCtrls.currentPageIndex.value == (this.surveyData?.surveyPages.length - 1);\n }\n\n @Output() surveyResultEmit = new EventEmitter<QuestionChildOfSurveryLibFormInterface[]>();\n\n constructor(private _surveyLibService: SurveyLibService\n , private _formBuilder: FormBuilder, private _sharedDataService: SharedDataService) {\n\n this.rForm = this._formBuilder.group<SurveryLibFormInterface>({\n currentPageIndex: [0],\n questionArray: this._formBuilder.array<QuestionChildOfSurveryLibFormInterface>([])\n });\n }\n\n ngOnInit(): void {\n this._surveyLibService.surveyDataObsrv.subscribe(survey => {\n this.surveyData = survey;\n if (survey != null) {\n this.loadQuestions(survey);\n } else {\n this.fCtrls.questionArray.clear();\n }\n });\n }\n\n onPaggingNext(): void {\n var currentPageIndex = this.fCtrls.currentPageIndex.value;\n\n var isHaveInvalidRecords = this.haveInValidateQuestions();\n if (isHaveInvalidRecords == false && currentPageIndex < (this.surveyData.surveyPages.length - 1)) {\n currentPageIndex = Number(currentPageIndex) + 1;\n this.fCtrls.currentPageIndex.setValue(currentPageIndex);\n }\n }\n\n onPaggingBack() {\n var currentPageIndex = this.fCtrls.currentPageIndex.value;\n if (currentPageIndex > 0) {\n currentPageIndex = Number(currentPageIndex) - 1;\n this.fCtrls.currentPageIndex.setValue(currentPageIndex);\n }\n }\n\n onUpdateAnswers(model: QuestionAnswerModel[]) {\n model.forEach(elem => {\n this.onUpdateAnswer(elem);\n });\n }\n\n onUpdateAnswer(model: QuestionAnswerModel) {\n const index = this.fCtrls.questionArray.value.findIndex(x => x.questionId == model.QuestionId);\n this.fCtrls.questionArray.controls[index].patchValue({\n isValid: model.IsValid,\n answer: model.Answer\n })\n }\n\n onSubmit() {\n var currentPageIndex = this.fCtrls.currentPageIndex.value;\n\n var isHaveInvalidRecords = this.haveInValidateQuestions();\n if (isHaveInvalidRecords == false && currentPageIndex == (this.surveyData.surveyPages.length - 1)) {\n this.surveyResultEmit.emit(this.fCtrls.questionArray.value);\n }\n }\n\n private loadQuestions(survey: SurveyDto) {\n survey.surveyPages.forEach((page, pageIndex) => {\n\n page.surveyQuestionGroups.forEach(group => {\n\n group.surveyQuestions.forEach(question => {\n\n if (question.questionTypeId != 6) {\n this.fCtrls.questionArray.push(this._formBuilder.group<QuestionChildOfSurveryLibFormInterface>({\n surveyPageIndex: pageIndex,\n questionId: [question.questionId],\n answer: [null],\n isRequired: [question.isRequired],\n isValid: [null]\n }));\n } else {\n question.surveySubQuestions.forEach(subQuestion => {\n this.fCtrls.questionArray.push(this._formBuilder.group<QuestionChildOfSurveryLibFormInterface>({\n surveyPageIndex: pageIndex,\n questionId: [subQuestion.questionId],\n answer: [null],\n isRequired: [question.isRequired],\n isValid: [null]\n }));\n })\n }\n });\n\n });\n\n });\n\n }\n\n private haveInValidateQuestions() {\n const currentPageIndex = this.fCtrls.currentPageIndex.value;\n var invalidRecords = this.rForm.value.questionArray.filter(x => x.surveyPageIndex == currentPageIndex && x.isValid != true);\n if (invalidRecords.length > 0) {\n $(`#survey-page_${currentPageIndex}`).addClass('survey-page_submitted');\n }\n\n return invalidRecords.length > 0;\n }\n\n}\n","<div class=\"survay-card\">\r\n <div *ngFor=\"let surveyPage of surveyData?.surveyPages; let surveyPageIndex = index\"\r\n [attr.id]=\"'survey-page_'+surveyPageIndex\" [ngClass]=\"{'d-none': surveyPageIndex != fCtrls.currentPageIndex.value}\">\r\n <ng-container *ngFor=\"let item of surveyPage.surveyQuestionGroups\">\r\n <div class=\"survay-card\">\r\n <div class=\"survay-card-body\">\r\n <div class=\"survay-group\">\r\n <div class=\"title\">\r\n <h2 class=\"group-title\">\r\n {{item.questionGroupName}}\r\n </h2>\r\n <span class=\"group-sub-title \">\r\n {{item.questionGroupDescription}}\r\n </span>\r\n </div>\r\n <ng-container *ngFor=\"let question of item.surveyQuestions\">\r\n <lib-question-boolean-template [setQuestion]=\"question\" (emitter)=\"onUpdateAnswer($event)\"\r\n *ngIf=\"question.questionTypeId == questionTypeEnum.Boolean\"></lib-question-boolean-template>\r\n <lib-question-text-template [setQuestion]=\"question\" (emitter)=\"onUpdateAnswer($event)\"\r\n *ngIf=\"question.questionTypeId == questionTypeEnum.TextInput\"\r\n [isTextArea]=\"question.isAdvanceTextArea\"></lib-question-text-template>\r\n <lib-question-radio-button-template [setQuestion]=\"question\" (emitter)=\"onUpdateAnswer($event)\"\r\n *ngIf=\"question.questionTypeId == questionTypeEnum.RadioButton\"></lib-question-radio-button-template>\r\n <lib-question-dropdown-template [setQuestion]=\"question\" (emitter)=\"onUpdateAnswer($event)\"\r\n *ngIf=\"question.questionTypeId == questionTypeEnum.DropDown\"></lib-question-dropdown-template>\r\n <lib-question-check-box-template [setQuestion]=\"question\" (emitter)=\"onUpdateAnswer($event)\"\r\n *ngIf=\"question.questionTypeId == questionTypeEnum.CheckBox\"></lib-question-check-box-template>\r\n <lib-question-matrix-template [setQuestion]=\"question\" (emitter)=\"onUpdateAnswers($event)\"\r\n *ngIf=\"question.questionTypeId == questionTypeEnum.Matrix\"></lib-question-matrix-template>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"survay-card-footr\" *ngIf=\"surveyData != null\">\r\n <div class=\"container\" style=\" justify-content: start;\">\r\n <div class=\"survay-pagination\">\r\n <nav aria-label=\"Page navigation example\">\r\n <ul class=\"pagination\">\r\n <li class=\"page-item previous-page-item \">\r\n <a class=\"page-link\" href=\"javascript:void(0)\" (click)=\"onPaggingBack()\"\r\n [ngClass]=\"{'disable__btn':fCtrls.currentPageIndex.value == 0}\">السابق</a>\r\n </li>\r\n <li class=\"page-item active\" *ngFor=\"let item of surveyData?.surveyPages;let i = index\"\r\n [ngClass]=\"{'active': i == fCtrls.currentPageIndex.value}\">\r\n <a class=\"page-link\" href=\"javascript:void(0)\">{{i + 1}}</a>\r\n </li>\r\n <li class=\"page-item next-page-item\">\r\n <a class=\"page-link\" href=\"javascript:void(0)\" (click)=\"onPaggingNext()\"\r\n [ngClass]=\"{'disable__btn':fCtrls.currentPageIndex.value == (surveyData.surveyPages.length - 1)}\">التالي</a>\r\n </li>\r\n </ul>\r\n </nav>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { SurveryLibComponent } from './survery-lib.component';\nimport { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\nimport { NgsFormsModule } from '@ng-stack/forms';\nimport { QuestionTextTemplateComponent } from './components/question-text-template/question-text-template.component';\nimport { QuestionRadioButtonTemplateComponent } from './components/question-radio-button-template/question-radio-button-template.component';\nimport { QuestionCheckBoxTemplateComponent } from './components/question-check-box-template/question-check-box-template.component';\nimport { QuestionDropdownTemplateComponent } from './components/question-dropdown-template/question-dropdown-template.component';\nimport { QuestionMatrixTemplateComponent } from './components/question-matrix-template/question-matrix-template.component';\nimport { QuestionBooleanTemplateComponent } from './components/question-boolean-template/question-boolean-template.component';\n\n\n@NgModule({\n declarations: [\n SurveryLibComponent,\n QuestionTextTemplateComponent,\n QuestionRadioButtonTemplateComponent,\n QuestionCheckBoxTemplateComponent,\n QuestionDropdownTemplateComponent,\n QuestionMatrixTemplateComponent,\n QuestionBooleanTemplateComponent\n ],\n imports: [\n CommonModule, HttpClientModule, ReactiveFormsModule, FormsModule , NgsFormsModule\n ],\n exports: [\n SurveryLibComponent\n ]\n})\nexport class SurveryLibModule {\n public static forRoot(): ModuleWithProviders<SurveryLibModule> {\n return {\n ngModule: SurveryLibModule\n }\n }\n }\n","/*\n * Public API Surface of survery-lib\n */\n\nexport * from './lib/survery-lib.component';\nexport * from './lib/services/survey-lib.service';\nexport * from './lib/survery-lib.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["QuestionTypeEnum","i2.SharedDataService","guidGenerator","i2","i3","i1.SurveyLibService","i3.SharedDataService","i4","i5.QuestionTextTemplateComponent","i6.QuestionRadioButtonTemplateComponent","i7.QuestionCheckBoxTemplateComponent","i8.QuestionDropdownTemplateComponent","i9.QuestionMatrixTemplateComponent","i10.QuestionBooleanTemplateComponent"],"mappings":"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"}
|
package/index.d.ts
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
|
+
import { FormControl } from '@angular/forms';
|
|
3
|
+
import { SurveyAnswerDto } from 'projects/survery-lib/src/shared/dtos/survey-answer.dto';
|
|
4
|
+
import { SurveyQuestionDto } from 'projects/survery-lib/src/shared/dtos/survey-question.dto';
|
|
5
|
+
import { QuestionTypeEnum } from 'projects/survery-lib/src/shared/enums/question-type.enum';
|
|
6
|
+
import { QuestionAnswerModel } from 'projects/survery-lib/src/shared/models/question-answer.model';
|
|
7
|
+
import { SharedDataService } from '../../services/shared-data.service';
|
|
8
|
+
import { QuestionBooleanTemplateFormInterface } from 'projects/survery-lib/src/shared/form-interfaces/question-boolean-template.form-interface';
|
|
9
|
+
import { FormBuilder, FormGroup } from '@ng-stack/forms';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
export declare class QuestionBooleanTemplateComponent implements OnInit {
|
|
12
|
+
private _formBuilder;
|
|
13
|
+
private _sharedDataService;
|
|
14
|
+
elemId: string;
|
|
15
|
+
surveyQuestion: SurveyQuestionDto;
|
|
16
|
+
rForm: FormGroup<QuestionBooleanTemplateFormInterface>;
|
|
17
|
+
get fCtrls(): {
|
|
18
|
+
id: FormGroup<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormControl<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormArray<any, import("@ng-stack/forms").ValidatorsModel>;
|
|
19
|
+
typeId: import("@ng-stack/forms").FormControl<QuestionTypeEnum, import("@ng-stack/forms").ValidatorsModel>;
|
|
20
|
+
name: FormGroup<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormControl<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormArray<any, import("@ng-stack/forms").ValidatorsModel>;
|
|
21
|
+
title: FormGroup<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormControl<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormArray<any, import("@ng-stack/forms").ValidatorsModel>;
|
|
22
|
+
description: FormGroup<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormControl<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormArray<any, import("@ng-stack/forms").ValidatorsModel>;
|
|
23
|
+
answer: FormGroup<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormControl<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormArray<any, import("@ng-stack/forms").ValidatorsModel>;
|
|
24
|
+
};
|
|
25
|
+
get questionTypeEnum(): typeof QuestionTypeEnum;
|
|
26
|
+
emitter: EventEmitter<QuestionAnswerModel>;
|
|
27
|
+
set setQuestion(value: SurveyQuestionDto);
|
|
28
|
+
constructor(_formBuilder: FormBuilder, _sharedDataService: SharedDataService);
|
|
29
|
+
ngOnInit(): void;
|
|
30
|
+
onChangeAnswer(answer: SurveyAnswerDto): void;
|
|
31
|
+
convertToFormControl(element: any): FormControl<any>;
|
|
32
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<QuestionBooleanTemplateComponent, never>;
|
|
33
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<QuestionBooleanTemplateComponent, "lib-question-boolean-template", never, { "setQuestion": { "alias": "setQuestion"; "required": false; }; }, { "emitter": "emitter"; }, never, never, false, never>;
|
|
34
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
|
+
import { FormControl } from '@angular/forms';
|
|
3
|
+
import { FormBuilder, FormGroup } from '@ng-stack/forms';
|
|
4
|
+
import { SurveyAnswerDto } from 'projects/survery-lib/src/shared/dtos/survey-answer.dto';
|
|
5
|
+
import { SurveyQuestionDto } from 'projects/survery-lib/src/shared/dtos/survey-question.dto';
|
|
6
|
+
import { QuestionTypeEnum } from 'projects/survery-lib/src/shared/enums/question-type.enum';
|
|
7
|
+
import { QuestionCheckBoxTemplateFormInterface } from 'projects/survery-lib/src/shared/form-interfaces/question-check-box-template.form-interface';
|
|
8
|
+
import { SharedDataService } from '../../services/shared-data.service';
|
|
9
|
+
import { QuestionAnswerModel } from 'projects/survery-lib/src/shared/models/question-answer.model';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
export declare class QuestionCheckBoxTemplateComponent implements OnInit {
|
|
12
|
+
private _formBuilder;
|
|
13
|
+
private _sharedDataService;
|
|
14
|
+
elemId: string;
|
|
15
|
+
surveyQuestion: SurveyQuestionDto;
|
|
16
|
+
rForm: FormGroup<QuestionCheckBoxTemplateFormInterface>;
|
|
17
|
+
get fCtrls(): {
|
|
18
|
+
id: FormGroup<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormControl<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormArray<any, import("@ng-stack/forms").ValidatorsModel>;
|
|
19
|
+
typeId: import("@ng-stack/forms").FormControl<QuestionTypeEnum, import("@ng-stack/forms").ValidatorsModel>;
|
|
20
|
+
name: FormGroup<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormControl<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormArray<any, import("@ng-stack/forms").ValidatorsModel>;
|
|
21
|
+
title: FormGroup<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormControl<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormArray<any, import("@ng-stack/forms").ValidatorsModel>;
|
|
22
|
+
description: FormGroup<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormControl<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormArray<any, import("@ng-stack/forms").ValidatorsModel>;
|
|
23
|
+
answer: FormGroup<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormControl<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormArray<any, import("@ng-stack/forms").ValidatorsModel>;
|
|
24
|
+
};
|
|
25
|
+
get questionTypeEnum(): typeof QuestionTypeEnum;
|
|
26
|
+
emitter: EventEmitter<QuestionAnswerModel>;
|
|
27
|
+
set setQuestion(value: SurveyQuestionDto);
|
|
28
|
+
constructor(_formBuilder: FormBuilder, _sharedDataService: SharedDataService);
|
|
29
|
+
ngOnInit(): void;
|
|
30
|
+
onChangeAnswer(item: SurveyAnswerDto, event: Event): void;
|
|
31
|
+
convertToFormControl(element: any): FormControl<any>;
|
|
32
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<QuestionCheckBoxTemplateComponent, never>;
|
|
33
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<QuestionCheckBoxTemplateComponent, "lib-question-check-box-template", never, { "setQuestion": { "alias": "setQuestion"; "required": false; }; }, { "emitter": "emitter"; }, never, never, false, never>;
|
|
34
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
|
+
import { FormControl } from '@angular/forms';
|
|
3
|
+
import { FormBuilder, FormGroup } from '@ng-stack/forms';
|
|
4
|
+
import { SurveyQuestionDto } from 'projects/survery-lib/src/shared/dtos/survey-question.dto';
|
|
5
|
+
import { QuestionTypeEnum } from 'projects/survery-lib/src/shared/enums/question-type.enum';
|
|
6
|
+
import { QuestionDropdownTemplateFormInterface } from 'projects/survery-lib/src/shared/form-interfaces/question-dropdown-template.form-interface';
|
|
7
|
+
import { SharedDataService } from '../../services/shared-data.service';
|
|
8
|
+
import { QuestionAnswerModel } from 'projects/survery-lib/src/shared/models/question-answer.model';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
export declare class QuestionDropdownTemplateComponent implements OnInit {
|
|
11
|
+
private _formBuilder;
|
|
12
|
+
private _sharedDataService;
|
|
13
|
+
surveyQuestion: SurveyQuestionDto;
|
|
14
|
+
rForm: FormGroup<QuestionDropdownTemplateFormInterface>;
|
|
15
|
+
get fCtrls(): {
|
|
16
|
+
id: FormGroup<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormControl<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormArray<any, import("@ng-stack/forms").ValidatorsModel>;
|
|
17
|
+
typeId: import("@ng-stack/forms").FormControl<QuestionTypeEnum, import("@ng-stack/forms").ValidatorsModel>;
|
|
18
|
+
name: FormGroup<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormControl<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormArray<any, import("@ng-stack/forms").ValidatorsModel>;
|
|
19
|
+
title: FormGroup<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormControl<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormArray<any, import("@ng-stack/forms").ValidatorsModel>;
|
|
20
|
+
description: FormGroup<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormControl<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormArray<any, import("@ng-stack/forms").ValidatorsModel>;
|
|
21
|
+
answer: FormGroup<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormControl<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormArray<any, import("@ng-stack/forms").ValidatorsModel>;
|
|
22
|
+
};
|
|
23
|
+
get questionTypeEnum(): typeof QuestionTypeEnum;
|
|
24
|
+
emitter: EventEmitter<QuestionAnswerModel>;
|
|
25
|
+
set setQuestion(value: SurveyQuestionDto);
|
|
26
|
+
constructor(_formBuilder: FormBuilder, _sharedDataService: SharedDataService);
|
|
27
|
+
ngOnInit(): void;
|
|
28
|
+
convertToFormControl(element: any): FormControl<any>;
|
|
29
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<QuestionDropdownTemplateComponent, never>;
|
|
30
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<QuestionDropdownTemplateComponent, "lib-question-dropdown-template", never, { "setQuestion": { "alias": "setQuestion"; "required": false; }; }, { "emitter": "emitter"; }, never, never, false, never>;
|
|
31
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { FormControl } from '@angular/forms';
|
|
3
|
+
import { FormBuilder, FormGroup } from '@ng-stack/forms';
|
|
4
|
+
import { SurveyAnswerDto } from 'projects/survery-lib/src/shared/dtos/survey-answer.dto';
|
|
5
|
+
import { SurveyQuestionDto } from 'projects/survery-lib/src/shared/dtos/survey-question.dto';
|
|
6
|
+
import { QuestionTypeEnum } from 'projects/survery-lib/src/shared/enums/question-type.enum';
|
|
7
|
+
import { QuestionMatrixTemplateFormInterface, SubQuestionChildOfQuestionMatrixTemplateFormInterface } from 'projects/survery-lib/src/shared/form-interfaces/question-matrix-template.form-interface';
|
|
8
|
+
import { QuestionAnswerModel } from 'projects/survery-lib/src/shared/models/question-answer.model';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
export declare class QuestionMatrixTemplateComponent {
|
|
11
|
+
private _formBuilder;
|
|
12
|
+
elemId: string;
|
|
13
|
+
surveyQuestion: SurveyQuestionDto;
|
|
14
|
+
rForm: FormGroup<QuestionMatrixTemplateFormInterface>;
|
|
15
|
+
get fCtrls(): {
|
|
16
|
+
id: FormGroup<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormControl<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormArray<any, import("@ng-stack/forms").ValidatorsModel>;
|
|
17
|
+
typeId: import("@ng-stack/forms").FormControl<QuestionTypeEnum, import("@ng-stack/forms").ValidatorsModel>;
|
|
18
|
+
subQuestionArray: import("@ng-stack/forms").FormArray<SubQuestionChildOfQuestionMatrixTemplateFormInterface, import("@ng-stack/forms").ValidatorsModel>;
|
|
19
|
+
};
|
|
20
|
+
get questionTypeEnum(): typeof QuestionTypeEnum;
|
|
21
|
+
emitter: EventEmitter<QuestionAnswerModel[]>;
|
|
22
|
+
set setQuestion(value: SurveyQuestionDto);
|
|
23
|
+
constructor(_formBuilder: FormBuilder);
|
|
24
|
+
onChangeAnswer(question: SubQuestionChildOfQuestionMatrixTemplateFormInterface, answer: SurveyAnswerDto): void;
|
|
25
|
+
convertToFormControl(element: any): FormControl<any>;
|
|
26
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<QuestionMatrixTemplateComponent, never>;
|
|
27
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<QuestionMatrixTemplateComponent, "lib-question-matrix-template", never, { "setQuestion": { "alias": "setQuestion"; "required": false; }; }, { "emitter": "emitter"; }, never, never, false, never>;
|
|
28
|
+
}
|
package/lib/components/question-radio-button-template/question-radio-button-template.component.d.ts
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
|
+
import { FormControl } from '@angular/forms';
|
|
3
|
+
import { FormBuilder, FormGroup } from '@ng-stack/forms';
|
|
4
|
+
import { SurveyAnswerDto } from 'projects/survery-lib/src/shared/dtos/survey-answer.dto';
|
|
5
|
+
import { SurveyQuestionDto } from 'projects/survery-lib/src/shared/dtos/survey-question.dto';
|
|
6
|
+
import { QuestionTypeEnum } from 'projects/survery-lib/src/shared/enums/question-type.enum';
|
|
7
|
+
import { QuestionRadioButtonTemplateFormInterface } from 'projects/survery-lib/src/shared/form-interfaces/question-radio-button-template.form-interface';
|
|
8
|
+
import { SharedDataService } from '../../services/shared-data.service';
|
|
9
|
+
import { QuestionAnswerModel } from 'projects/survery-lib/src/shared/models/question-answer.model';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
export declare class QuestionRadioButtonTemplateComponent implements OnInit {
|
|
12
|
+
private _formBuilder;
|
|
13
|
+
private _sharedDataService;
|
|
14
|
+
elemId: string;
|
|
15
|
+
surveyQuestion: SurveyQuestionDto;
|
|
16
|
+
rForm: FormGroup<QuestionRadioButtonTemplateFormInterface>;
|
|
17
|
+
get fCtrls(): {
|
|
18
|
+
id: FormGroup<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormControl<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormArray<any, import("@ng-stack/forms").ValidatorsModel>;
|
|
19
|
+
typeId: import("@ng-stack/forms").FormControl<QuestionTypeEnum, import("@ng-stack/forms").ValidatorsModel>;
|
|
20
|
+
name: FormGroup<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormControl<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormArray<any, import("@ng-stack/forms").ValidatorsModel>;
|
|
21
|
+
title: FormGroup<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormControl<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormArray<any, import("@ng-stack/forms").ValidatorsModel>;
|
|
22
|
+
description: FormGroup<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormControl<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormArray<any, import("@ng-stack/forms").ValidatorsModel>;
|
|
23
|
+
answer: FormGroup<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormControl<any, import("@ng-stack/forms").ValidatorsModel> | import("@ng-stack/forms").FormArray<any, import("@ng-stack/forms").ValidatorsModel>;
|
|
24
|
+
};
|
|
25
|
+
get questionTypeEnum(): typeof QuestionTypeEnum;
|
|
26
|
+
emitter: EventEmitter<QuestionAnswerModel>;
|
|
27
|
+
set setQuestion(value: SurveyQuestionDto);
|
|
28
|
+
constructor(_formBuilder: FormBuilder, _sharedDataService: SharedDataService);
|
|
29
|
+
ngOnInit(): void;
|
|
30
|
+
onChangeAnswer(item: SurveyAnswerDto): void;
|
|
31
|
+
convertToFormControl(element: any): FormControl<any>;
|
|
32
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<QuestionRadioButtonTemplateComponent, never>;
|
|
33
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<QuestionRadioButtonTemplateComponent, "lib-question-radio-button-template", never, { "setQuestion": { "alias": "setQuestion"; "required": false; }; }, { "emitter": "emitter"; }, never, never, false, never>;
|
|
34
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
|
+
import { FormControl } from '@angular/forms';
|
|
3
|
+
import { FormBuilder, FormGroup, FormControl as FormControlStack, ValidatorsModel } from '@ng-stack/forms';
|
|
4
|
+
import { SurveyQuestionDto } from 'projects/survery-lib/src/shared/dtos/survey-question.dto';
|
|
5
|
+
import { QuestionTypeEnum } from 'projects/survery-lib/src/shared/enums/question-type.enum';
|
|
6
|
+
import { QuestionTextTemplateFormInterface } from 'projects/survery-lib/src/shared/form-interfaces/question-text-template.form-interface';
|
|
7
|
+
import { SharedDataService } from '../../services/shared-data.service';
|
|
8
|
+
import { QuestionAnswerModel } from 'projects/survery-lib/src/shared/models/question-answer.model';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
export declare class QuestionTextTemplateComponent implements OnInit {
|
|
11
|
+
private _formBuilder;
|
|
12
|
+
private _sharedDataService;
|
|
13
|
+
rForm: FormGroup<QuestionTextTemplateFormInterface>;
|
|
14
|
+
get fCtrls(): {
|
|
15
|
+
id: FormGroup<any, ValidatorsModel> | FormControlStack<any, ValidatorsModel> | import("@ng-stack/forms").FormArray<any, ValidatorsModel>;
|
|
16
|
+
typeId: FormControlStack<QuestionTypeEnum, ValidatorsModel>;
|
|
17
|
+
name: FormGroup<any, ValidatorsModel> | FormControlStack<any, ValidatorsModel> | import("@ng-stack/forms").FormArray<any, ValidatorsModel>;
|
|
18
|
+
title: FormGroup<any, ValidatorsModel> | FormControlStack<any, ValidatorsModel> | import("@ng-stack/forms").FormArray<any, ValidatorsModel>;
|
|
19
|
+
description: FormGroup<any, ValidatorsModel> | FormControlStack<any, ValidatorsModel> | import("@ng-stack/forms").FormArray<any, ValidatorsModel>;
|
|
20
|
+
answer: FormGroup<any, ValidatorsModel> | FormControlStack<any, ValidatorsModel> | import("@ng-stack/forms").FormArray<any, ValidatorsModel>;
|
|
21
|
+
};
|
|
22
|
+
get questionTypeEnum(): typeof QuestionTypeEnum;
|
|
23
|
+
emitter: EventEmitter<QuestionAnswerModel>;
|
|
24
|
+
isTextArea: boolean;
|
|
25
|
+
set setQuestion(value: SurveyQuestionDto);
|
|
26
|
+
constructor(_formBuilder: FormBuilder, _sharedDataService: SharedDataService);
|
|
27
|
+
ngOnInit(): void;
|
|
28
|
+
convertToFormControl(element: any): FormControl<any>;
|
|
29
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<QuestionTextTemplateComponent, never>;
|
|
30
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<QuestionTextTemplateComponent, "lib-question-text-template", never, { "isTextArea": { "alias": "isTextArea"; "required": false; }; "setQuestion": { "alias": "setQuestion"; "required": false; }; }, { "emitter": "emitter"; }, never, never, false, never>;
|
|
31
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class SharedDataService {
|
|
3
|
+
private submitIdSubject;
|
|
4
|
+
get submitIdObsrv(): import("rxjs").Observable<string>;
|
|
5
|
+
constructor();
|
|
6
|
+
setSubmitId(submitId: string): void;
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SharedDataService, never>;
|
|
8
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<SharedDataService>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { SurveyDto } from '../../shared/dtos/survey.dto';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class SurveyLibService {
|
|
4
|
+
private surveyDataSubject;
|
|
5
|
+
get surveyDataObsrv(): import("rxjs").Observable<SurveyDto>;
|
|
6
|
+
constructor();
|
|
7
|
+
setSurveyData(survey: SurveyDto): void;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SurveyLibService, never>;
|
|
9
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<SurveyLibService>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
|
+
import { SurveyLibService } from './services/survey-lib.service';
|
|
3
|
+
import { SurveyDto } from '../shared/dtos/survey.dto';
|
|
4
|
+
import { FormBuilder, FormGroup } from '@ng-stack/forms';
|
|
5
|
+
import { QuestionChildOfSurveryLibFormInterface, SurveryLibFormInterface } from '../shared/form-interfaces/survery-lib.form-interface';
|
|
6
|
+
import { QuestionTypeEnum } from '../shared/enums/question-type.enum';
|
|
7
|
+
import { SharedDataService } from './services/shared-data.service';
|
|
8
|
+
import { QuestionAnswerModel } from '../shared/models/question-answer.model';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
export declare class SurveryLibComponent implements OnInit {
|
|
11
|
+
private _surveyLibService;
|
|
12
|
+
private _formBuilder;
|
|
13
|
+
private _sharedDataService;
|
|
14
|
+
surveyData: SurveyDto;
|
|
15
|
+
rForm: FormGroup<SurveryLibFormInterface>;
|
|
16
|
+
get fCtrls(): {
|
|
17
|
+
currentPageIndex: import("@ng-stack/forms").FormControl<number, import("@ng-stack/forms").ValidatorsModel>;
|
|
18
|
+
questionArray: import("@ng-stack/forms").FormArray<QuestionChildOfSurveryLibFormInterface, import("@ng-stack/forms").ValidatorsModel>;
|
|
19
|
+
};
|
|
20
|
+
get questionTypeEnum(): typeof QuestionTypeEnum;
|
|
21
|
+
get isLastPage(): boolean;
|
|
22
|
+
surveyResultEmit: EventEmitter<QuestionChildOfSurveryLibFormInterface[]>;
|
|
23
|
+
constructor(_surveyLibService: SurveyLibService, _formBuilder: FormBuilder, _sharedDataService: SharedDataService);
|
|
24
|
+
ngOnInit(): void;
|
|
25
|
+
onPaggingNext(): void;
|
|
26
|
+
onPaggingBack(): void;
|
|
27
|
+
onUpdateAnswers(model: QuestionAnswerModel[]): void;
|
|
28
|
+
onUpdateAnswer(model: QuestionAnswerModel): void;
|
|
29
|
+
onSubmit(): void;
|
|
30
|
+
private loadQuestions;
|
|
31
|
+
private haveInValidateQuestions;
|
|
32
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SurveryLibComponent, never>;
|
|
33
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SurveryLibComponent, "lib-survery-lib", never, {}, { "surveyResultEmit": "surveyResultEmit"; }, never, never, false, never>;
|
|
34
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ModuleWithProviders } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "./survery-lib.component";
|
|
4
|
+
import * as i2 from "./components/question-text-template/question-text-template.component";
|
|
5
|
+
import * as i3 from "./components/question-radio-button-template/question-radio-button-template.component";
|
|
6
|
+
import * as i4 from "./components/question-check-box-template/question-check-box-template.component";
|
|
7
|
+
import * as i5 from "./components/question-dropdown-template/question-dropdown-template.component";
|
|
8
|
+
import * as i6 from "./components/question-matrix-template/question-matrix-template.component";
|
|
9
|
+
import * as i7 from "./components/question-boolean-template/question-boolean-template.component";
|
|
10
|
+
import * as i8 from "@angular/common";
|
|
11
|
+
import * as i9 from "@angular/common/http";
|
|
12
|
+
import * as i10 from "@angular/forms";
|
|
13
|
+
import * as i11 from "@ng-stack/forms";
|
|
14
|
+
export declare class SurveryLibModule {
|
|
15
|
+
static forRoot(): ModuleWithProviders<SurveryLibModule>;
|
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SurveryLibModule, never>;
|
|
17
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<SurveryLibModule, [typeof i1.SurveryLibComponent, typeof i2.QuestionTextTemplateComponent, typeof i3.QuestionRadioButtonTemplateComponent, typeof i4.QuestionCheckBoxTemplateComponent, typeof i5.QuestionDropdownTemplateComponent, typeof i6.QuestionMatrixTemplateComponent, typeof i7.QuestionBooleanTemplateComponent], [typeof i8.CommonModule, typeof i9.HttpClientModule, typeof i10.ReactiveFormsModule, typeof i10.FormsModule, typeof i11.NgsFormsModule], [typeof i1.SurveryLibComponent]>;
|
|
18
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<SurveryLibModule>;
|
|
19
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "survery-lib",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"peerDependencies": {
|
|
5
|
+
"@angular/common": "^16.1.0",
|
|
6
|
+
"@angular/core": "^16.1.0"
|
|
7
|
+
},
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"tslib": "^2.3.0",
|
|
10
|
+
"@ng-stack/forms": "^3.1.0",
|
|
11
|
+
"uuid": "^8.3.2"
|
|
12
|
+
},
|
|
13
|
+
"sideEffects": false,
|
|
14
|
+
"module": "fesm2022/survery-lib.mjs",
|
|
15
|
+
"typings": "index.d.ts",
|
|
16
|
+
"exports": {
|
|
17
|
+
"./package.json": {
|
|
18
|
+
"default": "./package.json"
|
|
19
|
+
},
|
|
20
|
+
".": {
|
|
21
|
+
"types": "./index.d.ts",
|
|
22
|
+
"esm2022": "./esm2022/survery-lib.mjs",
|
|
23
|
+
"esm": "./esm2022/survery-lib.mjs",
|
|
24
|
+
"default": "./fesm2022/survery-lib.mjs"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
package/public-api.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { RuleExpAnswerDto } from "./rule-exp-answer.dto";
|
|
2
|
+
export interface RuleExpDto {
|
|
3
|
+
ruleExpId: number;
|
|
4
|
+
questionId: number;
|
|
5
|
+
logicPropertyId: number;
|
|
6
|
+
questionTitle: string;
|
|
7
|
+
questionTypeId: number;
|
|
8
|
+
opporator: number;
|
|
9
|
+
isComplete: boolean;
|
|
10
|
+
ruleExpAnswers: RuleExpAnswerDto[];
|
|
11
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface SurveyAnswerDto {
|
|
2
|
+
answerId: number;
|
|
3
|
+
score: number;
|
|
4
|
+
inputMax: number[];
|
|
5
|
+
inputMin: number[];
|
|
6
|
+
isSelected: boolean;
|
|
7
|
+
isAddByPreDefine: boolean;
|
|
8
|
+
selectedAnswer: string;
|
|
9
|
+
answerTitle?: string;
|
|
10
|
+
answerName: string;
|
|
11
|
+
questionTitle: string;
|
|
12
|
+
regex?: any;
|
|
13
|
+
answerDescription?: string;
|
|
14
|
+
placeHolder?: any;
|
|
15
|
+
inputTypeId?: number;
|
|
16
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { SurveyQuestionGroupDto } from "./survey-question-group.dto";
|
|
2
|
+
export interface SurveyPageDto {
|
|
3
|
+
pageId: number;
|
|
4
|
+
pageTypeId: number;
|
|
5
|
+
pageTitle?: any;
|
|
6
|
+
pageDescription?: any;
|
|
7
|
+
isAllHidden: boolean;
|
|
8
|
+
surveyQuestionGroups: SurveyQuestionGroupDto[];
|
|
9
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { SurveyAnswerDto } from "./survey-answer.dto";
|
|
2
|
+
import { SurveySubQuestionDto } from "./survey-sub-question.dto";
|
|
3
|
+
export interface SurveyQuestionDto {
|
|
4
|
+
questionId: number;
|
|
5
|
+
questionTypeId: number;
|
|
6
|
+
questionName: string;
|
|
7
|
+
questionTitle: string;
|
|
8
|
+
questionDescription: string;
|
|
9
|
+
isRequired: boolean;
|
|
10
|
+
isVisable: boolean;
|
|
11
|
+
isEditable: boolean;
|
|
12
|
+
isOTPOption: boolean;
|
|
13
|
+
isReadOnly: boolean;
|
|
14
|
+
isPreDefine: boolean;
|
|
15
|
+
isAdvanceTextArea: boolean;
|
|
16
|
+
surveyAnswers: SurveyAnswerDto[];
|
|
17
|
+
surveySubQuestions: SurveySubQuestionDto[];
|
|
18
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { RuleExpDto } from "./rule-exp.dto";
|
|
2
|
+
import { RuleResultQuestionDto } from "./rule-result-question.dto";
|
|
3
|
+
export interface SurveyRuleDto {
|
|
4
|
+
ruleId: number;
|
|
5
|
+
expression?: any;
|
|
6
|
+
isComplete: boolean;
|
|
7
|
+
ruleExps: RuleExpDto[];
|
|
8
|
+
ruleResultQuestions: RuleResultQuestionDto[];
|
|
9
|
+
logicActionId: number;
|
|
10
|
+
}
|