survery-lib 0.1.35 → 0.1.37
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/esm2022/lib/components/question-boolean-template/question-boolean-template.component.mjs +16 -13
- package/esm2022/lib/components/question-cascade-template/question-cascade-template.component.mjs +21 -20
- package/esm2022/lib/components/question-check-box-template/question-check-box-template.component.mjs +14 -12
- package/esm2022/lib/components/question-dropdown-multi-template/question-dropdown-multi-template.component.mjs +14 -12
- package/esm2022/lib/components/question-matrix-template/question-matrix-template.component.mjs +8 -12
- package/esm2022/lib/components/question-radio-button-template/question-radio-button-template.component.mjs +14 -12
- package/esm2022/lib/components/question-text-template/question-text-template.component.mjs +14 -8
- package/esm2022/lib/survery-lib.component.mjs +3 -4
- package/esm2022/shared/form-interfaces/question-boolean-template.form-interface.mjs +1 -1
- package/esm2022/shared/form-interfaces/question-check-box-template.form-interface.mjs +1 -1
- package/esm2022/shared/form-interfaces/question-dropdown-multi-template.form-interface.mjs +1 -1
- package/esm2022/shared/form-interfaces/question-matrix-template.form-interface.mjs +1 -1
- package/esm2022/shared/form-interfaces/question-radio-button-template.form-interface.mjs +1 -1
- package/esm2022/shared/form-interfaces/question-text-template.form-interface.mjs +1 -1
- package/fesm2022/survery-lib.mjs +110 -98
- package/fesm2022/survery-lib.mjs.map +1 -1
- package/lib/components/question-boolean-template/question-boolean-template.component.d.ts +3 -3
- package/lib/components/question-cascade-template/question-cascade-template.component.d.ts +1 -0
- package/lib/components/question-check-box-template/question-check-box-template.component.d.ts +3 -3
- package/lib/components/question-dropdown-multi-template/question-dropdown-multi-template.component.d.ts +3 -3
- package/lib/components/question-matrix-template/question-matrix-template.component.d.ts +3 -3
- package/lib/components/question-radio-button-template/question-radio-button-template.component.d.ts +3 -3
- package/lib/components/question-text-template/question-text-template.component.d.ts +3 -2
- package/package.json +1 -1
- package/shared/form-interfaces/question-boolean-template.form-interface.d.ts +2 -0
- package/shared/form-interfaces/question-check-box-template.form-interface.d.ts +2 -0
- package/shared/form-interfaces/question-dropdown-multi-template.form-interface.d.ts +2 -0
- package/shared/form-interfaces/question-matrix-template.form-interface.d.ts +2 -0
- package/shared/form-interfaces/question-radio-button-template.form-interface.d.ts +2 -0
- package/shared/form-interfaces/question-text-template.form-interface.d.ts +2 -0
package/fesm2022/survery-lib.mjs
CHANGED
|
@@ -323,7 +323,9 @@ class QuestionTextTemplateComponent {
|
|
|
323
323
|
name: value.questionName,
|
|
324
324
|
title: value.questionTitle,
|
|
325
325
|
typeId: value.questionTypeId,
|
|
326
|
-
description: value.questionDescription
|
|
326
|
+
description: value.questionDescription,
|
|
327
|
+
isDisabled: value.isReadOnly,
|
|
328
|
+
isShow: value.isVisable
|
|
327
329
|
});
|
|
328
330
|
if (value.surveyAnswers[0]?.answerId != null && value.surveyAnswers[0]?.answerId != undefined) {
|
|
329
331
|
this.fCtrls.surveyAnswerId.setValue(value.surveyAnswers[0].answerId);
|
|
@@ -344,7 +346,6 @@ class QuestionTextTemplateComponent {
|
|
|
344
346
|
}
|
|
345
347
|
this.fCtrls.answer.updateValueAndValidity();
|
|
346
348
|
}
|
|
347
|
-
this.isShow = value.isVisable;
|
|
348
349
|
this.toggleEnableAnswer(value.isReadOnly);
|
|
349
350
|
}
|
|
350
351
|
set isDisabled(value) {
|
|
@@ -354,7 +355,6 @@ class QuestionTextTemplateComponent {
|
|
|
354
355
|
this._formBuilder = _formBuilder;
|
|
355
356
|
this._surveyLibService = _surveyLibService;
|
|
356
357
|
this.emitter = new EventEmitter();
|
|
357
|
-
this.isShow = true;
|
|
358
358
|
this.rForm = this._formBuilder.group({
|
|
359
359
|
id: [null],
|
|
360
360
|
name: [null],
|
|
@@ -363,6 +363,8 @@ class QuestionTextTemplateComponent {
|
|
|
363
363
|
description: [null],
|
|
364
364
|
surveyAnswerId: [null],
|
|
365
365
|
answer: [null],
|
|
366
|
+
isDisabled: [false],
|
|
367
|
+
isShow: [true],
|
|
366
368
|
inputTypeId: [null]
|
|
367
369
|
});
|
|
368
370
|
}
|
|
@@ -382,6 +384,12 @@ class QuestionTextTemplateComponent {
|
|
|
382
384
|
.subscribe(answer => {
|
|
383
385
|
this.fCtrls.answer.setValue(answer.AnswerText);
|
|
384
386
|
});
|
|
387
|
+
this._surveyLibService.questionIsDisabledObsrv.pipe(filter(x => x.questionId == this.fCtrls.id.value)).subscribe(x => {
|
|
388
|
+
this.fCtrls.isDisabled.setValue(x.isDisabled);
|
|
389
|
+
});
|
|
390
|
+
this._surveyLibService.questionIsShowObsrv.pipe(filter(x => x.questionId == this.fCtrls.id.value)).subscribe(x => {
|
|
391
|
+
this.fCtrls.isShow.setValue(x.isShow);
|
|
392
|
+
});
|
|
385
393
|
}
|
|
386
394
|
convertToFormControl(element) {
|
|
387
395
|
return element;
|
|
@@ -396,15 +404,13 @@ class QuestionTextTemplateComponent {
|
|
|
396
404
|
this.fCtrls.answer.updateValueAndValidity();
|
|
397
405
|
}
|
|
398
406
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionTextTemplateComponent, deps: [{ token: i1.FormBuilder }, { token: SurveyLibService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
399
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionTextTemplateComponent, selector: "lib-question-text-template", inputs: {
|
|
407
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionTextTemplateComponent, selector: "lib-question-text-template", inputs: { isTextArea: "isTextArea", setQuestion: "setQuestion", isDisabled: "isDisabled" }, outputs: { emitter: "emitter" }, ngImport: i0, template: "<div class=\"quastion\" [formGroup]=\"rForm\" [attr.id]=\"'question_'+fCtrls.id.value\"\n [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':fCtrls.isShow.value != true}\">\n <h3 class=\"quastion-title \">\n {{fCtrls.title.value}}\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\n </h3>\n <div class=\"text-quastion\">\n <ng-container *ngIf=\"isTextArea == false else textAreaTemplate\">\n <input class=\"form-control\" [formControl]=\"convertToFormControl(fCtrls.answer)\"\n [disabled]=\"isDisabled\" [attr.type]=\"fCtrls.inputTypeId.value | textBoxTypeAttr\" >\n </ng-container>\n <ng-template #textAreaTemplate>\n <textarea class=\"form-control\" rows=\"5\" [formControl]=\"convertToFormControl(fCtrls.answer)\"\n [disabled]=\"isDisabled\" ></textarea>\n </ng-template>\n </div>", styles: [""], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "pipe", type: TextBoxTypeAttrPipe, name: "textBoxTypeAttr" }] }); }
|
|
400
408
|
}
|
|
401
409
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionTextTemplateComponent, decorators: [{
|
|
402
410
|
type: Component,
|
|
403
|
-
args: [{ selector: 'lib-question-text-template', template: "<div class=\"quastion\" [formGroup]=\"rForm\" [attr.id]=\"'question_'+fCtrls.id.value\"\n [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':isShow != true}\">\n <h3 class=\"quastion-title \">\n {{fCtrls.title.value}}\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\n </h3>\n <div class=\"text-quastion\">\n <ng-container *ngIf=\"isTextArea == false else textAreaTemplate\">\n <input class=\"form-control\" [formControl]=\"convertToFormControl(fCtrls.answer)\"\n [disabled]=\"isDisabled\" [attr.type]=\"fCtrls.inputTypeId.value | textBoxTypeAttr\" >\n </ng-container>\n <ng-template #textAreaTemplate>\n <textarea class=\"form-control\" rows=\"5\" [formControl]=\"convertToFormControl(fCtrls.answer)\"\n [disabled]=\"isDisabled\" ></textarea>\n </ng-template>\n </div>" }]
|
|
411
|
+
args: [{ selector: 'lib-question-text-template', template: "<div class=\"quastion\" [formGroup]=\"rForm\" [attr.id]=\"'question_'+fCtrls.id.value\"\n [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':fCtrls.isShow.value != true}\">\n <h3 class=\"quastion-title \">\n {{fCtrls.title.value}}\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\n </h3>\n <div class=\"text-quastion\">\n <ng-container *ngIf=\"isTextArea == false else textAreaTemplate\">\n <input class=\"form-control\" [formControl]=\"convertToFormControl(fCtrls.answer)\"\n [disabled]=\"isDisabled\" [attr.type]=\"fCtrls.inputTypeId.value | textBoxTypeAttr\" >\n </ng-container>\n <ng-template #textAreaTemplate>\n <textarea class=\"form-control\" rows=\"5\" [formControl]=\"convertToFormControl(fCtrls.answer)\"\n [disabled]=\"isDisabled\" ></textarea>\n </ng-template>\n </div>" }]
|
|
404
412
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: SurveyLibService }]; }, propDecorators: { emitter: [{
|
|
405
413
|
type: Output
|
|
406
|
-
}], isShow: [{
|
|
407
|
-
type: Input
|
|
408
414
|
}], isTextArea: [{
|
|
409
415
|
type: Input
|
|
410
416
|
}], setQuestion: [{
|
|
@@ -427,7 +433,9 @@ class QuestionRadioButtonTemplateComponent {
|
|
|
427
433
|
name: value.questionName,
|
|
428
434
|
title: value.questionTitle,
|
|
429
435
|
typeId: value.questionTypeId,
|
|
430
|
-
description: value.questionDescription
|
|
436
|
+
description: value.questionDescription,
|
|
437
|
+
isDisabled: value.isReadOnly,
|
|
438
|
+
isShow: value.isVisable
|
|
431
439
|
});
|
|
432
440
|
value.surveyAnswers.forEach(surveryAnswer => {
|
|
433
441
|
this.fCtrls.answerArray.push(this._formBuilder.group({
|
|
@@ -440,16 +448,12 @@ class QuestionRadioButtonTemplateComponent {
|
|
|
440
448
|
this.fCtrls.answer.addValidators([Validators.required]);
|
|
441
449
|
this.fCtrls.answer.updateValueAndValidity();
|
|
442
450
|
}
|
|
443
|
-
this.isShow = value.isVisable;
|
|
444
|
-
this.isDisabled = value.isReadOnly;
|
|
445
451
|
}
|
|
446
452
|
constructor(_formBuilder, _surveyLibService) {
|
|
447
453
|
this._formBuilder = _formBuilder;
|
|
448
454
|
this._surveyLibService = _surveyLibService;
|
|
449
455
|
this.elemId = v4();
|
|
450
456
|
this.emitter = new EventEmitter();
|
|
451
|
-
this.isShow = true;
|
|
452
|
-
this.isDisabled = false;
|
|
453
457
|
this.rForm = this._formBuilder.group({
|
|
454
458
|
id: [null],
|
|
455
459
|
name: [null],
|
|
@@ -457,6 +461,8 @@ class QuestionRadioButtonTemplateComponent {
|
|
|
457
461
|
typeId: [null],
|
|
458
462
|
description: [null],
|
|
459
463
|
answer: [null],
|
|
464
|
+
isDisabled: [false],
|
|
465
|
+
isShow: [true],
|
|
460
466
|
answerArray: this._formBuilder.array([])
|
|
461
467
|
});
|
|
462
468
|
}
|
|
@@ -480,6 +486,12 @@ class QuestionRadioButtonTemplateComponent {
|
|
|
480
486
|
this.fCtrls.answerArray.at(groupIndex).controls.isSelected.setValue(true);
|
|
481
487
|
}
|
|
482
488
|
});
|
|
489
|
+
this._surveyLibService.questionIsDisabledObsrv.pipe(filter(x => x.questionId == this.fCtrls.id.value)).subscribe(x => {
|
|
490
|
+
this.fCtrls.isDisabled.setValue(x.isDisabled);
|
|
491
|
+
});
|
|
492
|
+
this._surveyLibService.questionIsShowObsrv.pipe(filter(x => x.questionId == this.fCtrls.id.value)).subscribe(x => {
|
|
493
|
+
this.fCtrls.isShow.setValue(x.isShow);
|
|
494
|
+
});
|
|
483
495
|
}
|
|
484
496
|
onChangeAnswer(item) {
|
|
485
497
|
this.fCtrls.answer.setValue(item.id);
|
|
@@ -488,17 +500,13 @@ class QuestionRadioButtonTemplateComponent {
|
|
|
488
500
|
return element;
|
|
489
501
|
}
|
|
490
502
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionRadioButtonTemplateComponent, deps: [{ token: i1.FormBuilder }, { token: SurveyLibService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
491
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionRadioButtonTemplateComponent, selector: "lib-question-radio-button-template", inputs: {
|
|
503
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionRadioButtonTemplateComponent, selector: "lib-question-radio-button-template", inputs: { setQuestion: "setQuestion" }, outputs: { emitter: "emitter" }, ngImport: i0, template: "<div class=\"quastion\" [attr.id]=\"'question_'+fCtrls.id.value\" [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':fCtrls.isShow.value != true}\">\n <h3 class=\"quastion-title \">\n {{fCtrls.title.value}}\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\n </h3>\n <div class=\"radio-button-quastion\">\n <div class=\"form-check form-check-radio form-check-inline\" \n *ngFor=\"let item of fCtrls.answerArray.controls;let i = index\">\n <input class=\"form-check-input\" type=\"radio\" (change)=\"onChangeAnswer(item.value)\" [disabled]=\"fCtrls.isDisabled.value\"\n name=\"{{elemId}}__radio-btn-option\" id=\"{{elemId}}__radio-btn_{{i}}\" [checked]=\"item.value.isSelected == true? true : null\">\n <label class=\"form-check-label\" for=\"{{elemId}}__radio-btn_{{i}}\">{{item.value.title}}</label>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
492
504
|
}
|
|
493
505
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionRadioButtonTemplateComponent, decorators: [{
|
|
494
506
|
type: Component,
|
|
495
|
-
args: [{ selector: 'lib-question-radio-button-template', template: "<div class=\"quastion\" [attr.id]=\"'question_'+fCtrls.id.value\" [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':isShow != true}\">\n <h3 class=\"quastion-title \">\n {{fCtrls.title.value}}\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\n </h3>\n <div class=\"radio-button-quastion\">\n <div class=\"form-check form-check-radio form-check-inline\" \n *ngFor=\"let item of fCtrls.answerArray.controls;let i = index\">\n <input class=\"form-check-input\" type=\"radio\" (change)=\"onChangeAnswer(item.value)\" [disabled]=\"isDisabled\"\n name=\"{{elemId}}__radio-btn-option\" id=\"{{elemId}}__radio-btn_{{i}}\" [checked]=\"item.value.isSelected == true? true : null\">\n <label class=\"form-check-label\" for=\"{{elemId}}__radio-btn_{{i}}\">{{item.value.title}}</label>\n </div>\n </div>\n</div>\n" }]
|
|
507
|
+
args: [{ selector: 'lib-question-radio-button-template', template: "<div class=\"quastion\" [attr.id]=\"'question_'+fCtrls.id.value\" [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':fCtrls.isShow.value != true}\">\n <h3 class=\"quastion-title \">\n {{fCtrls.title.value}}\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\n </h3>\n <div class=\"radio-button-quastion\">\n <div class=\"form-check form-check-radio form-check-inline\" \n *ngFor=\"let item of fCtrls.answerArray.controls;let i = index\">\n <input class=\"form-check-input\" type=\"radio\" (change)=\"onChangeAnswer(item.value)\" [disabled]=\"fCtrls.isDisabled.value\"\n name=\"{{elemId}}__radio-btn-option\" id=\"{{elemId}}__radio-btn_{{i}}\" [checked]=\"item.value.isSelected == true? true : null\">\n <label class=\"form-check-label\" for=\"{{elemId}}__radio-btn_{{i}}\">{{item.value.title}}</label>\n </div>\n </div>\n</div>\n" }]
|
|
496
508
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: SurveyLibService }]; }, propDecorators: { emitter: [{
|
|
497
509
|
type: Output
|
|
498
|
-
}], isShow: [{
|
|
499
|
-
type: Input
|
|
500
|
-
}], isDisabled: [{
|
|
501
|
-
type: Input
|
|
502
510
|
}], setQuestion: [{
|
|
503
511
|
type: Input
|
|
504
512
|
}] } });
|
|
@@ -517,7 +525,9 @@ class QuestionCheckBoxTemplateComponent {
|
|
|
517
525
|
name: value.questionName,
|
|
518
526
|
title: value.questionTitle,
|
|
519
527
|
typeId: value.questionTypeId,
|
|
520
|
-
description: value.questionDescription
|
|
528
|
+
description: value.questionDescription,
|
|
529
|
+
isDisabled: value.isReadOnly,
|
|
530
|
+
isShow: value.isVisable
|
|
521
531
|
});
|
|
522
532
|
value.surveyAnswers.forEach(surveryAnswer => {
|
|
523
533
|
this.fCtrls.answerArray.push(this._formBuilder.group({
|
|
@@ -530,16 +540,12 @@ class QuestionCheckBoxTemplateComponent {
|
|
|
530
540
|
this.fCtrls.answer.addValidators([Validators.required]);
|
|
531
541
|
this.fCtrls.answer.updateValueAndValidity();
|
|
532
542
|
}
|
|
533
|
-
this.isShow = value.isVisable;
|
|
534
|
-
this.isDisabled = value.isReadOnly;
|
|
535
543
|
}
|
|
536
544
|
constructor(_formBuilder, _surveyLibService) {
|
|
537
545
|
this._formBuilder = _formBuilder;
|
|
538
546
|
this._surveyLibService = _surveyLibService;
|
|
539
547
|
this.elemId = v4();
|
|
540
548
|
this.emitter = new EventEmitter();
|
|
541
|
-
this.isShow = true;
|
|
542
|
-
this.isDisabled = false;
|
|
543
549
|
this.rForm = this._formBuilder.group({
|
|
544
550
|
id: [null],
|
|
545
551
|
name: [null],
|
|
@@ -547,6 +553,8 @@ class QuestionCheckBoxTemplateComponent {
|
|
|
547
553
|
typeId: [null],
|
|
548
554
|
description: [null],
|
|
549
555
|
answer: [null],
|
|
556
|
+
isDisabled: [false],
|
|
557
|
+
isShow: [true],
|
|
550
558
|
answerArray: this._formBuilder.array([])
|
|
551
559
|
});
|
|
552
560
|
}
|
|
@@ -573,6 +581,12 @@ class QuestionCheckBoxTemplateComponent {
|
|
|
573
581
|
}
|
|
574
582
|
});
|
|
575
583
|
});
|
|
584
|
+
this._surveyLibService.questionIsDisabledObsrv.pipe(filter(x => x.questionId == this.fCtrls.id.value)).subscribe(x => {
|
|
585
|
+
this.fCtrls.isDisabled.setValue(x.isDisabled);
|
|
586
|
+
});
|
|
587
|
+
this._surveyLibService.questionIsShowObsrv.pipe(filter(x => x.questionId == this.fCtrls.id.value)).subscribe(x => {
|
|
588
|
+
this.fCtrls.isShow.setValue(x.isShow);
|
|
589
|
+
});
|
|
576
590
|
}
|
|
577
591
|
onChangeAnswer(item, event) {
|
|
578
592
|
var answerArr = this.fCtrls.answer.value || [];
|
|
@@ -589,17 +603,13 @@ class QuestionCheckBoxTemplateComponent {
|
|
|
589
603
|
return element;
|
|
590
604
|
}
|
|
591
605
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionCheckBoxTemplateComponent, deps: [{ token: i1.FormBuilder }, { token: SurveyLibService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
592
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionCheckBoxTemplateComponent, selector: "lib-question-check-box-template", inputs: {
|
|
606
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionCheckBoxTemplateComponent, selector: "lib-question-check-box-template", inputs: { setQuestion: "setQuestion" }, outputs: { emitter: "emitter" }, ngImport: i0, template: "<div class=\"quastion\" [attr.id]=\"'question_'+fCtrls.id.value\" [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':fCtrls.isShow.value != true}\">\n <h3 class=\"quastion-title \">\n {{fCtrls.title.value}}\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\n </h3>\n\n <div class=\"checkbox-button-quastion\">\n <div class=\"form-check check-box-form-check\" *ngFor=\"let item of fCtrls.answerArray.controls ;let i = index\">\n <input type=\"checkbox\" class=\"form-check-input\" id=\"{{elemId}}__checkbox_{{i}}\" [disabled]=\"fCtrls.isDisabled.value\"\n (change)=\"onChangeAnswer(item.value ,$event)\" [checked]=\"item.value.isSelected == true? true : null\">\n <label class=\"form-check-label \" for=\"{{elemId}}__checkbox_{{i}}\">{{item.value.title}}</label>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
593
607
|
}
|
|
594
608
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionCheckBoxTemplateComponent, decorators: [{
|
|
595
609
|
type: Component,
|
|
596
|
-
args: [{ selector: 'lib-question-check-box-template', template: "<div class=\"quastion\" [attr.id]=\"'question_'+fCtrls.id.value\" [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':isShow != true}\">\n <h3 class=\"quastion-title \">\n {{fCtrls.title.value}}\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\n </h3>\n\n <div class=\"checkbox-button-quastion\">\n <div class=\"form-check check-box-form-check\" *ngFor=\"let item of fCtrls.answerArray.controls ;let i = index\">\n <input type=\"checkbox\" class=\"form-check-input\" id=\"{{elemId}}__checkbox_{{i}}\" [disabled]=\"isDisabled\"\n (change)=\"onChangeAnswer(item.value ,$event)\" [checked]=\"item.value.isSelected == true? true : null\">\n <label class=\"form-check-label \" for=\"{{elemId}}__checkbox_{{i}}\">{{item.value.title}}</label>\n </div>\n </div>\n</div>\n" }]
|
|
610
|
+
args: [{ selector: 'lib-question-check-box-template', template: "<div class=\"quastion\" [attr.id]=\"'question_'+fCtrls.id.value\" [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':fCtrls.isShow.value != true}\">\n <h3 class=\"quastion-title \">\n {{fCtrls.title.value}}\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\n </h3>\n\n <div class=\"checkbox-button-quastion\">\n <div class=\"form-check check-box-form-check\" *ngFor=\"let item of fCtrls.answerArray.controls ;let i = index\">\n <input type=\"checkbox\" class=\"form-check-input\" id=\"{{elemId}}__checkbox_{{i}}\" [disabled]=\"fCtrls.isDisabled.value\"\n (change)=\"onChangeAnswer(item.value ,$event)\" [checked]=\"item.value.isSelected == true? true : null\">\n <label class=\"form-check-label \" for=\"{{elemId}}__checkbox_{{i}}\">{{item.value.title}}</label>\n </div>\n </div>\n</div>\n" }]
|
|
597
611
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: SurveyLibService }]; }, propDecorators: { emitter: [{
|
|
598
612
|
type: Output
|
|
599
|
-
}], isShow: [{
|
|
600
|
-
type: Input
|
|
601
|
-
}], isDisabled: [{
|
|
602
|
-
type: Input
|
|
603
613
|
}], setQuestion: [{
|
|
604
614
|
type: Input
|
|
605
615
|
}] } });
|
|
@@ -691,7 +701,9 @@ class QuestionMatrixTemplateComponent {
|
|
|
691
701
|
this.surveyQuestion = value;
|
|
692
702
|
this.rForm.patchValue({
|
|
693
703
|
id: value.questionId,
|
|
694
|
-
typeId: value.questionTypeId
|
|
704
|
+
typeId: value.questionTypeId,
|
|
705
|
+
isDisabled: value.isReadOnly,
|
|
706
|
+
isShow: value.isVisable
|
|
695
707
|
});
|
|
696
708
|
value.surveySubQuestions.forEach(x => {
|
|
697
709
|
var group = this._formBuilder.group({
|
|
@@ -713,19 +725,17 @@ class QuestionMatrixTemplateComponent {
|
|
|
713
725
|
});
|
|
714
726
|
this.fCtrls.subQuestionArray.push(group);
|
|
715
727
|
});
|
|
716
|
-
this.isShow = value.isVisable;
|
|
717
|
-
this.isDisabled = value.isReadOnly;
|
|
718
728
|
}
|
|
719
729
|
constructor(_formBuilder, _surveyLibService) {
|
|
720
730
|
this._formBuilder = _formBuilder;
|
|
721
731
|
this._surveyLibService = _surveyLibService;
|
|
722
732
|
this.elemId = v4();
|
|
723
733
|
this.emitter = new EventEmitter();
|
|
724
|
-
this.isShow = true;
|
|
725
|
-
this.isDisabled = false;
|
|
726
734
|
this.rForm = this._formBuilder.group({
|
|
727
735
|
id: [null],
|
|
728
736
|
typeId: [null],
|
|
737
|
+
isDisabled: [false],
|
|
738
|
+
isShow: [true],
|
|
729
739
|
subQuestionArray: this._formBuilder.array([])
|
|
730
740
|
});
|
|
731
741
|
}
|
|
@@ -756,17 +766,13 @@ class QuestionMatrixTemplateComponent {
|
|
|
756
766
|
return element;
|
|
757
767
|
}
|
|
758
768
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionMatrixTemplateComponent, deps: [{ token: i1.FormBuilder }, { token: SurveyLibService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
759
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionMatrixTemplateComponent, selector: "lib-question-matrix-template", inputs: {
|
|
769
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionMatrixTemplateComponent, selector: "lib-question-matrix-template", inputs: { setQuestion: "setQuestion" }, outputs: { emitter: "emitter" }, ngImport: i0, template: "<div class=\"quastion\" [attr.id]=\"'question_'+fCtrls.id.value\" style=\" border-collapse: collapse;\"\n[ngClass]=\"{'d-none':fCtrls.isShow.value != true}\">\n <h3 class=\"quastion-title \">\n {{surveyQuestion?.questionTitle}}\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\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}}\" [checked]=\"answer.answerId == questionGroup.value.answer\">\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>", styles: [""], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }] }); }
|
|
760
770
|
}
|
|
761
771
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionMatrixTemplateComponent, decorators: [{
|
|
762
772
|
type: Component,
|
|
763
|
-
args: [{ selector: 'lib-question-matrix-template', template: "<div class=\"quastion\" [attr.id]=\"'question_'+fCtrls.id.value\" style=\" border-collapse: collapse;\"\n[ngClass]=\"{'d-none':isShow != true}\">\n <h3 class=\"quastion-title \">\n {{surveyQuestion?.questionTitle}}\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\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}}\" [checked]=\"answer.answerId == questionGroup.value.answer\">\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>" }]
|
|
773
|
+
args: [{ selector: 'lib-question-matrix-template', template: "<div class=\"quastion\" [attr.id]=\"'question_'+fCtrls.id.value\" style=\" border-collapse: collapse;\"\n[ngClass]=\"{'d-none':fCtrls.isShow.value != true}\">\n <h3 class=\"quastion-title \">\n {{surveyQuestion?.questionTitle}}\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\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}}\" [checked]=\"answer.answerId == questionGroup.value.answer\">\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>" }]
|
|
764
774
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: SurveyLibService }]; }, propDecorators: { emitter: [{
|
|
765
775
|
type: Output
|
|
766
|
-
}], isShow: [{
|
|
767
|
-
type: Input
|
|
768
|
-
}], isDisabled: [{
|
|
769
|
-
type: Input
|
|
770
776
|
}], setQuestion: [{
|
|
771
777
|
type: Input
|
|
772
778
|
}] } });
|
|
@@ -785,8 +791,11 @@ class QuestionBooleanTemplateComponent {
|
|
|
785
791
|
name: value.questionName,
|
|
786
792
|
title: value.questionTitle,
|
|
787
793
|
typeId: value.questionTypeId,
|
|
788
|
-
description: value.questionDescription
|
|
794
|
+
description: value.questionDescription,
|
|
795
|
+
isDisabled: value.isReadOnly,
|
|
796
|
+
isShow: value.isVisable
|
|
789
797
|
});
|
|
798
|
+
console.log(value.surveyAnswers);
|
|
790
799
|
value.surveyAnswers.forEach(surveryAnswer => {
|
|
791
800
|
this.fCtrls.answerArray.push(this._formBuilder.group({
|
|
792
801
|
id: [surveryAnswer.answerId],
|
|
@@ -798,16 +807,12 @@ class QuestionBooleanTemplateComponent {
|
|
|
798
807
|
this.fCtrls.answer.addValidators([Validators.required]);
|
|
799
808
|
this.fCtrls.answer.updateValueAndValidity();
|
|
800
809
|
}
|
|
801
|
-
this.isShow = value.isVisable;
|
|
802
|
-
this.isDisabled = value.isReadOnly;
|
|
803
810
|
}
|
|
804
811
|
constructor(_formBuilder, _surveyLibService) {
|
|
805
812
|
this._formBuilder = _formBuilder;
|
|
806
813
|
this._surveyLibService = _surveyLibService;
|
|
807
814
|
this.elemId = v4();
|
|
808
815
|
this.emitter = new EventEmitter();
|
|
809
|
-
this.isShow = true;
|
|
810
|
-
this.isDisabled = false;
|
|
811
816
|
this.rForm = this._formBuilder.group({
|
|
812
817
|
id: [null],
|
|
813
818
|
name: [null],
|
|
@@ -815,7 +820,9 @@ class QuestionBooleanTemplateComponent {
|
|
|
815
820
|
typeId: [null],
|
|
816
821
|
description: [null],
|
|
817
822
|
answer: [null],
|
|
818
|
-
answerArray: this._formBuilder.array([])
|
|
823
|
+
answerArray: this._formBuilder.array([]),
|
|
824
|
+
isDisabled: [false],
|
|
825
|
+
isShow: [true]
|
|
819
826
|
});
|
|
820
827
|
}
|
|
821
828
|
ngOnInit() {
|
|
@@ -838,6 +845,12 @@ class QuestionBooleanTemplateComponent {
|
|
|
838
845
|
this.fCtrls.answerArray.at(groupIndex).controls.isSelected.setValue(true);
|
|
839
846
|
}
|
|
840
847
|
});
|
|
848
|
+
this._surveyLibService.questionIsDisabledObsrv.pipe(filter(x => x.questionId == this.fCtrls.id.value)).subscribe(x => {
|
|
849
|
+
this.fCtrls.isDisabled.setValue(x.isDisabled);
|
|
850
|
+
});
|
|
851
|
+
this._surveyLibService.questionIsShowObsrv.pipe(filter(x => x.questionId == this.fCtrls.id.value)).subscribe(x => {
|
|
852
|
+
this.fCtrls.isShow.setValue(x.isShow);
|
|
853
|
+
});
|
|
841
854
|
}
|
|
842
855
|
onChangeAnswer(item) {
|
|
843
856
|
this.fCtrls.answer.setValue(item.id);
|
|
@@ -846,17 +859,13 @@ class QuestionBooleanTemplateComponent {
|
|
|
846
859
|
return element;
|
|
847
860
|
}
|
|
848
861
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionBooleanTemplateComponent, deps: [{ token: i1.FormBuilder }, { token: SurveyLibService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
849
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionBooleanTemplateComponent, selector: "lib-question-boolean-template", inputs: {
|
|
862
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionBooleanTemplateComponent, selector: "lib-question-boolean-template", inputs: { setQuestion: "setQuestion" }, outputs: { emitter: "emitter" }, ngImport: i0, template: "<div class=\"quastion\" [attr.id]=\"'question_'+fCtrls.id.value\" [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':fCtrls.isShow.value != true}\">\n <h3 class=\"quastion-title \">\n {{fCtrls.title.value}}\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\n </h3>\n <div class=\"radio-button-quastion\">\n <div class=\"form-check form-check-radio form-check-inline\" \n *ngFor=\"let item of fCtrls.answerArray.controls ;let i = index\">\n <input class=\"form-check-input\" type=\"radio\" (change)=\"onChangeAnswer(item.value)\" [disabled]=\"fCtrls.isDisabled.value\"\n name=\"{{elemId}}__radio-btn-option\" id=\"{{elemId}}__radio-btn_{{i}}\" [checked]=\"item.value.isSelected == true? true : null\">\n <label class=\"form-check-label\" for=\"{{elemId}}__radio-btn_{{i}}\">{{item.value.title}}</label>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
850
863
|
}
|
|
851
864
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionBooleanTemplateComponent, decorators: [{
|
|
852
865
|
type: Component,
|
|
853
|
-
args: [{ selector: 'lib-question-boolean-template', template: "<div class=\"quastion\" [attr.id]=\"'question_'+fCtrls.id.value\" [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':isShow != true}\">\n <h3 class=\"quastion-title \">\n {{fCtrls.title.value}}\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\n </h3>\n <div class=\"radio-button-quastion\">\n <div class=\"form-check form-check-radio form-check-inline\" \n *ngFor=\"let item of fCtrls.answerArray.controls ;let i = index\">\n <input class=\"form-check-input\" type=\"radio\" (change)=\"onChangeAnswer(item.value)\" [disabled]=\"isDisabled\"\n name=\"{{elemId}}__radio-btn-option\" id=\"{{elemId}}__radio-btn_{{i}}\" [checked]=\"item.value.isSelected == true? true : null\">\n <label class=\"form-check-label\" for=\"{{elemId}}__radio-btn_{{i}}\">{{item.value.title}}</label>\n </div>\n </div>\n</div>\n" }]
|
|
866
|
+
args: [{ selector: 'lib-question-boolean-template', template: "<div class=\"quastion\" [attr.id]=\"'question_'+fCtrls.id.value\" [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':fCtrls.isShow.value != true}\">\n <h3 class=\"quastion-title \">\n {{fCtrls.title.value}}\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\n </h3>\n <div class=\"radio-button-quastion\">\n <div class=\"form-check form-check-radio form-check-inline\" \n *ngFor=\"let item of fCtrls.answerArray.controls ;let i = index\">\n <input class=\"form-check-input\" type=\"radio\" (change)=\"onChangeAnswer(item.value)\" [disabled]=\"fCtrls.isDisabled.value\"\n name=\"{{elemId}}__radio-btn-option\" id=\"{{elemId}}__radio-btn_{{i}}\" [checked]=\"item.value.isSelected == true? true : null\">\n <label class=\"form-check-label\" for=\"{{elemId}}__radio-btn_{{i}}\">{{item.value.title}}</label>\n </div>\n </div>\n</div>\n" }]
|
|
854
867
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: SurveyLibService }]; }, propDecorators: { emitter: [{
|
|
855
868
|
type: Output
|
|
856
|
-
}], isShow: [{
|
|
857
|
-
type: Input
|
|
858
|
-
}], isDisabled: [{
|
|
859
|
-
type: Input
|
|
860
869
|
}], setQuestion: [{
|
|
861
870
|
type: Input
|
|
862
871
|
}] } });
|
|
@@ -875,7 +884,9 @@ class QuestionDropdownMultiTemplateComponent {
|
|
|
875
884
|
name: value.questionName,
|
|
876
885
|
title: value.questionTitle,
|
|
877
886
|
typeId: value.questionTypeId,
|
|
878
|
-
description: value.questionDescription
|
|
887
|
+
description: value.questionDescription,
|
|
888
|
+
isDisabled: value.isReadOnly,
|
|
889
|
+
isShow: value.isVisable
|
|
879
890
|
});
|
|
880
891
|
value.surveyAnswers.forEach(surveryAnswer => {
|
|
881
892
|
this.fCtrls.answerArray.push(this._formBuilder.group({
|
|
@@ -888,16 +899,12 @@ class QuestionDropdownMultiTemplateComponent {
|
|
|
888
899
|
this.fCtrls.answer.addValidators([Validators$1.required]);
|
|
889
900
|
this.fCtrls.answer.updateValueAndValidity();
|
|
890
901
|
}
|
|
891
|
-
this.isShow = value.isVisable;
|
|
892
|
-
this.isDisabled = value.isReadOnly;
|
|
893
902
|
}
|
|
894
903
|
constructor(_formBuilder, _surveyLibService) {
|
|
895
904
|
this._formBuilder = _formBuilder;
|
|
896
905
|
this._surveyLibService = _surveyLibService;
|
|
897
906
|
this.elemId = v4();
|
|
898
907
|
this.emitter = new EventEmitter();
|
|
899
|
-
this.isShow = true;
|
|
900
|
-
this.isDisabled = false;
|
|
901
908
|
this.rForm = this._formBuilder.group({
|
|
902
909
|
id: [null],
|
|
903
910
|
name: [null],
|
|
@@ -905,6 +912,8 @@ class QuestionDropdownMultiTemplateComponent {
|
|
|
905
912
|
typeId: [null],
|
|
906
913
|
description: [null],
|
|
907
914
|
answer: [null],
|
|
915
|
+
isDisabled: [false],
|
|
916
|
+
isShow: [true],
|
|
908
917
|
answerArray: this._formBuilder.array([])
|
|
909
918
|
});
|
|
910
919
|
}
|
|
@@ -925,22 +934,24 @@ class QuestionDropdownMultiTemplateComponent {
|
|
|
925
934
|
const distinctArray = answer.AnswerIdArr.filter((n, i) => answer.AnswerIdArr.indexOf(n) === i);
|
|
926
935
|
this.fCtrls.answer.setValue(distinctArray);
|
|
927
936
|
});
|
|
937
|
+
this._surveyLibService.questionIsDisabledObsrv.pipe(filter(x => x.questionId == this.fCtrls.id.value)).subscribe(x => {
|
|
938
|
+
this.fCtrls.isDisabled.setValue(x.isDisabled);
|
|
939
|
+
});
|
|
940
|
+
this._surveyLibService.questionIsShowObsrv.pipe(filter(x => x.questionId == this.fCtrls.id.value)).subscribe(x => {
|
|
941
|
+
this.fCtrls.isShow.setValue(x.isShow);
|
|
942
|
+
});
|
|
928
943
|
}
|
|
929
944
|
convertToFormControl(element) {
|
|
930
945
|
return element;
|
|
931
946
|
}
|
|
932
947
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionDropdownMultiTemplateComponent, deps: [{ token: i1.FormBuilder }, { token: SurveyLibService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
933
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionDropdownMultiTemplateComponent, selector: "lib-question-dropdown-multi-template", inputs: {
|
|
948
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionDropdownMultiTemplateComponent, selector: "lib-question-dropdown-multi-template", inputs: { setQuestion: "setQuestion" }, outputs: { emitter: "emitter" }, ngImport: i0, template: "<div class=\"quastion\" [attr.id]=\"'question_'+fCtrls.id.value\" [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':fCtrls.isShow.value != true}\">\n <h3 class=\"quastion-title \">\n {{fCtrls.title.value}}\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\n </h3>\n <div class=\"text-quastion text-quastion__dropdown\">\n <ng-select [items]=\"this.fCtrls.answerArray.value\" bindValue=\"id\" bindLabel=\"title\" class=\"form-control\"\n [formControl]=\"convertToFormControl(fCtrls.answer)\" [disabled]=\"fCtrls.isDisabled.value\" [multiple]=\"true\">\n </ng-select>\n </div>\n</div>\n", styles: [".text-quastion .form-control{padding:10px}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i5.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }] }); }
|
|
934
949
|
}
|
|
935
950
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionDropdownMultiTemplateComponent, decorators: [{
|
|
936
951
|
type: Component,
|
|
937
|
-
args: [{ selector: 'lib-question-dropdown-multi-template', template: "<div class=\"quastion\" [attr.id]=\"'question_'+fCtrls.id.value\" [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':isShow != true}\">\n <h3 class=\"quastion-title \">\n {{fCtrls.title.value}}\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\n </h3>\n <div class=\"text-quastion text-quastion__dropdown\">\n <ng-select [items]=\"this.fCtrls.answerArray.value\" bindValue=\"id\" bindLabel=\"title\" class=\"form-control\"\n [formControl]=\"convertToFormControl(fCtrls.answer)\" [disabled]=\"isDisabled\" [multiple]=\"true\">\n </ng-select>\n </div>\n</div>\n", styles: [".text-quastion .form-control{padding:10px}\n"] }]
|
|
952
|
+
args: [{ selector: 'lib-question-dropdown-multi-template', template: "<div class=\"quastion\" [attr.id]=\"'question_'+fCtrls.id.value\" [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':fCtrls.isShow.value != true}\">\n <h3 class=\"quastion-title \">\n {{fCtrls.title.value}}\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\n </h3>\n <div class=\"text-quastion text-quastion__dropdown\">\n <ng-select [items]=\"this.fCtrls.answerArray.value\" bindValue=\"id\" bindLabel=\"title\" class=\"form-control\"\n [formControl]=\"convertToFormControl(fCtrls.answer)\" [disabled]=\"fCtrls.isDisabled.value\" [multiple]=\"true\">\n </ng-select>\n </div>\n</div>\n", styles: [".text-quastion .form-control{padding:10px}\n"] }]
|
|
938
953
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: SurveyLibService }]; }, propDecorators: { emitter: [{
|
|
939
954
|
type: Output
|
|
940
|
-
}], isShow: [{
|
|
941
|
-
type: Input
|
|
942
|
-
}], isDisabled: [{
|
|
943
|
-
type: Input
|
|
944
955
|
}], setQuestion: [{
|
|
945
956
|
type: Input
|
|
946
957
|
}] } });
|
|
@@ -1003,6 +1014,21 @@ class QuestionCascadeTemplateComponent {
|
|
|
1003
1014
|
});
|
|
1004
1015
|
}
|
|
1005
1016
|
onUpdateAnswer(model) {
|
|
1017
|
+
if (this.surveyQuestionArr.length > 1) {
|
|
1018
|
+
const surveyQuestionIndex = this.surveyQuestionArr.findIndex(c => c.questionId == model.QuestionId);
|
|
1019
|
+
var deletedQuestions = [];
|
|
1020
|
+
for (let index = surveyQuestionIndex + 1; index < this.surveyQuestionArr.length; index++) {
|
|
1021
|
+
deletedQuestions.push(index);
|
|
1022
|
+
}
|
|
1023
|
+
var sortDeletedArr = deletedQuestions.sort((a, b) => (a > b ? -1 : 1));
|
|
1024
|
+
for (let index = 0; index < sortDeletedArr.length; index++) {
|
|
1025
|
+
const elementIndex = sortDeletedArr[index];
|
|
1026
|
+
const questionId = this.surveyQuestionArr[elementIndex].questionId;
|
|
1027
|
+
this._surveyLibService.setRemoveQuestion(questionId);
|
|
1028
|
+
this.surveyQuestionArr = this.surveyQuestionArr.filter(x => x.questionId != questionId);
|
|
1029
|
+
this.questionFormArray.removeAt(elementIndex);
|
|
1030
|
+
}
|
|
1031
|
+
}
|
|
1006
1032
|
if (model.Answer) {
|
|
1007
1033
|
this._ApiService.getNextQuestion({
|
|
1008
1034
|
answerId: model.Answer,
|
|
@@ -1016,25 +1042,11 @@ class QuestionCascadeTemplateComponent {
|
|
|
1016
1042
|
}
|
|
1017
1043
|
});
|
|
1018
1044
|
}
|
|
1019
|
-
else {
|
|
1020
|
-
if (this.surveyQuestionArr.length > 1) {
|
|
1021
|
-
const surveyQuestionIndex = this.surveyQuestionArr.findIndex(c => c.questionId == model.QuestionId);
|
|
1022
|
-
var deletedQuestions = [];
|
|
1023
|
-
for (let index = surveyQuestionIndex + 1; index < this.surveyQuestionArr.length; index++) {
|
|
1024
|
-
deletedQuestions.push(index);
|
|
1025
|
-
}
|
|
1026
|
-
var sortDeletedArr = deletedQuestions.sort((a, b) => (a > b ? -1 : 1));
|
|
1027
|
-
for (let index = 0; index < sortDeletedArr.length; index++) {
|
|
1028
|
-
const elementIndex = sortDeletedArr[index];
|
|
1029
|
-
const questionId = this.surveyQuestionArr[elementIndex].questionId;
|
|
1030
|
-
this._surveyLibService.setRemoveQuestion(questionId);
|
|
1031
|
-
this.surveyQuestionArr.slice(elementIndex, 1);
|
|
1032
|
-
this.questionFormArray.removeAt(elementIndex);
|
|
1033
|
-
}
|
|
1034
|
-
}
|
|
1035
|
-
}
|
|
1036
1045
|
this.emitter.emit(model);
|
|
1037
1046
|
}
|
|
1047
|
+
identify(index, item) {
|
|
1048
|
+
return item.id;
|
|
1049
|
+
}
|
|
1038
1050
|
setQuestions(value) {
|
|
1039
1051
|
this.surveyQuestionArr.push(value);
|
|
1040
1052
|
var group = this._formBuilder.group({
|
|
@@ -1049,11 +1061,11 @@ class QuestionCascadeTemplateComponent {
|
|
|
1049
1061
|
this.fCtrls.questionArr.push(group);
|
|
1050
1062
|
}
|
|
1051
1063
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionCascadeTemplateComponent, deps: [{ token: i1.FormBuilder }, { token: SurveyLibService }, { token: ApiService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1052
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionCascadeTemplateComponent, selector: "lib-question-cascade-template", inputs: { pageIndex: "pageIndex", isPre: "isPre", surveyLanguageId: "surveyLanguageId", applicantKey: "applicantKey", setQuestion: "setQuestion" }, outputs: { emitter: "emitter" }, ngImport: i0, template: "<ng-container *ngFor=\"let item of questionFormArray.value ; let i = index\">\n <lib-question-dropdown-template #questionDropdownTemplate [setQuestion]=\"surveyQuestionArr[i]\"\n (emitter)=\"onUpdateAnswer($event)\" >\n </lib-question-dropdown-template>\n</ng-container>", styles: [""], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: QuestionDropdownTemplateComponent, selector: "lib-question-dropdown-template", inputs: ["setQuestion"], outputs: ["emitter"] }] }); }
|
|
1064
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionCascadeTemplateComponent, selector: "lib-question-cascade-template", inputs: { pageIndex: "pageIndex", isPre: "isPre", surveyLanguageId: "surveyLanguageId", applicantKey: "applicantKey", setQuestion: "setQuestion" }, outputs: { emitter: "emitter" }, ngImport: i0, template: "<ng-container *ngFor=\"let item of questionFormArray.value ; trackBy:identify ; let i = index\">\n <lib-question-dropdown-template #questionDropdownTemplate [setQuestion]=\"surveyQuestionArr[i]\"\n (emitter)=\"onUpdateAnswer($event)\" >\n </lib-question-dropdown-template>\n</ng-container>", styles: [""], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: QuestionDropdownTemplateComponent, selector: "lib-question-dropdown-template", inputs: ["setQuestion"], outputs: ["emitter"] }] }); }
|
|
1053
1065
|
}
|
|
1054
1066
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionCascadeTemplateComponent, decorators: [{
|
|
1055
1067
|
type: Component,
|
|
1056
|
-
args: [{ selector: 'lib-question-cascade-template', template: "<ng-container *ngFor=\"let item of questionFormArray.value ; let i = index\">\n <lib-question-dropdown-template #questionDropdownTemplate [setQuestion]=\"surveyQuestionArr[i]\"\n (emitter)=\"onUpdateAnswer($event)\" >\n </lib-question-dropdown-template>\n</ng-container>" }]
|
|
1068
|
+
args: [{ selector: 'lib-question-cascade-template', template: "<ng-container *ngFor=\"let item of questionFormArray.value ; trackBy:identify ; let i = index\">\n <lib-question-dropdown-template #questionDropdownTemplate [setQuestion]=\"surveyQuestionArr[i]\"\n (emitter)=\"onUpdateAnswer($event)\" >\n </lib-question-dropdown-template>\n</ng-container>" }]
|
|
1057
1069
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: SurveyLibService }, { type: ApiService }]; }, propDecorators: { emitter: [{
|
|
1058
1070
|
type: Output
|
|
1059
1071
|
}], pageIndex: [{
|
|
@@ -1068,20 +1080,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
1068
1080
|
type: Input
|
|
1069
1081
|
}] } });
|
|
1070
1082
|
|
|
1071
|
-
class FilterQuestionPipe {
|
|
1072
|
-
transform(value, questionArr) {
|
|
1073
|
-
return questionArr.find(x => x.questionId == value.questionId);
|
|
1074
|
-
}
|
|
1075
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: FilterQuestionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
1076
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: FilterQuestionPipe, name: "filterQuestion" }); }
|
|
1077
|
-
}
|
|
1078
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: FilterQuestionPipe, decorators: [{
|
|
1079
|
-
type: Pipe,
|
|
1080
|
-
args: [{
|
|
1081
|
-
name: 'filterQuestion'
|
|
1082
|
-
}]
|
|
1083
|
-
}] });
|
|
1084
|
-
|
|
1085
1083
|
class SurveryLibComponent {
|
|
1086
1084
|
get fCtrls() {
|
|
1087
1085
|
return this.rForm.controls;
|
|
@@ -1368,11 +1366,11 @@ class SurveryLibComponent {
|
|
|
1368
1366
|
}
|
|
1369
1367
|
}
|
|
1370
1368
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SurveryLibComponent, deps: [{ token: SurveyLibService }, { token: i1.FormBuilder }, { token: CheckRuleExpsUsecase }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1371
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SurveryLibComponent, selector: "lib-survery-lib", inputs: { isPre: "isPre", surveyLanguageId: "surveyLanguageId", applicantKey: "applicantKey" }, outputs: { surveyResultEmit: "surveyResultEmit", selectLanguageEmit: "selectLanguageEmit" }, ngImport: i0, template: "<div id=\"survery-card-{{surveryLibraryDivId}}\" class=\"survay-card\" >\r\n <div class=\"alert alert-warning text-center\" role=\"alert\" *ngIf=\"isPre == true && surveyData != null\">\r\n <h4 class=\"alert-heading mb-0\">This survey in review phase </h4>\r\n </div>\r\n <div *ngFor=\"let surveyPage of surveyData?.surveyPages; let surveyPageIndex = index\"\r\n [attr.id]=\"'survey-page_'+surveyPageIndex\"\r\n [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 #questionBooleanTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.Boolean\"
|
|
1369
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SurveryLibComponent, selector: "lib-survery-lib", inputs: { isPre: "isPre", surveyLanguageId: "surveyLanguageId", applicantKey: "applicantKey" }, outputs: { surveyResultEmit: "surveyResultEmit", selectLanguageEmit: "selectLanguageEmit" }, ngImport: i0, template: "<div id=\"survery-card-{{surveryLibraryDivId}}\" class=\"survay-card\" >\r\n <div class=\"alert alert-warning text-center\" role=\"alert\" *ngIf=\"isPre == true && surveyData != null\">\r\n <h4 class=\"alert-heading mb-0\">This survey in review phase </h4>\r\n </div>\r\n <div *ngFor=\"let surveyPage of surveyData?.surveyPages; let surveyPageIndex = index\"\r\n [attr.id]=\"'survey-page_'+surveyPageIndex\"\r\n [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 #questionBooleanTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.Boolean\">\r\n </lib-question-boolean-template>\r\n\r\n <lib-question-text-template #questionTextTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.TextInput\"\r\n [isTextArea]=\"question.isAdvanceTextArea\"></lib-question-text-template>\r\n\r\n <lib-question-radio-button-template #questionRadioButtonTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.RadioButton\">\r\n </lib-question-radio-button-template>\r\n\r\n <lib-question-dropdown-template #questionDropdownTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.DropDown\"></lib-question-dropdown-template>\r\n\r\n <lib-question-dropdown-multi-template [setQuestion]=\"question\" (emitter)=\"onUpdateAnswer($event)\"\r\n *ngIf=\"question.questionTypeId == questionTypeEnum.DropDownMulti\">\r\n </lib-question-dropdown-multi-template>\r\n\r\n <lib-question-check-box-template #questionCheckBoxTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.CheckBox\">\r\n </lib-question-check-box-template>\r\n\r\n <lib-question-matrix-template #questionMatrixTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.Matrix\">\r\n </lib-question-matrix-template>\r\n\r\n <lib-question-cascade-template #questionCascadeTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.Cascade\"\r\n [applicantKey]=\"applicantKey\" [isPre]=\"isPre\" [surveyLanguageId]=\"surveyLanguageId\" \r\n [pageIndex]=\"surveyPageIndex\"></lib-question-cascade-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 fw-bold\">\r\n <span>{{curruntShowedSurveyPages}}</span>\r\n <span class=\"ms-2 me-2\">of</span>\r\n <span>{{showedSurveyPages?.length}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".disable__btn{background-color:gray!important;cursor:not-allowed}.quastion{padding:10px}.quastion .quastion-title{color:var(--dark-100, #363636);text-align:right;font-family:Almarai;font-size:18px;font-style:normal;font-weight:700;line-height:20.6px}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: QuestionTextTemplateComponent, selector: "lib-question-text-template", inputs: ["isTextArea", "setQuestion", "isDisabled"], outputs: ["emitter"] }, { kind: "component", type: QuestionRadioButtonTemplateComponent, selector: "lib-question-radio-button-template", inputs: ["setQuestion"], outputs: ["emitter"] }, { kind: "component", type: QuestionCheckBoxTemplateComponent, selector: "lib-question-check-box-template", inputs: ["setQuestion"], outputs: ["emitter"] }, { kind: "component", type: QuestionDropdownTemplateComponent, selector: "lib-question-dropdown-template", inputs: ["setQuestion"], outputs: ["emitter"] }, { kind: "component", type: QuestionMatrixTemplateComponent, selector: "lib-question-matrix-template", inputs: ["setQuestion"], outputs: ["emitter"] }, { kind: "component", type: QuestionBooleanTemplateComponent, selector: "lib-question-boolean-template", inputs: ["setQuestion"], outputs: ["emitter"] }, { kind: "component", type: QuestionDropdownMultiTemplateComponent, selector: "lib-question-dropdown-multi-template", inputs: ["setQuestion"], outputs: ["emitter"] }, { kind: "component", type: QuestionCascadeTemplateComponent, selector: "lib-question-cascade-template", inputs: ["pageIndex", "isPre", "surveyLanguageId", "applicantKey", "setQuestion"], outputs: ["emitter"] }] }); }
|
|
1372
1370
|
}
|
|
1373
1371
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SurveryLibComponent, decorators: [{
|
|
1374
1372
|
type: Component,
|
|
1375
|
-
args: [{ selector: 'lib-survery-lib', template: "<div id=\"survery-card-{{surveryLibraryDivId}}\" class=\"survay-card\" >\r\n <div class=\"alert alert-warning text-center\" role=\"alert\" *ngIf=\"isPre == true && surveyData != null\">\r\n <h4 class=\"alert-heading mb-0\">This survey in review phase </h4>\r\n </div>\r\n <div *ngFor=\"let surveyPage of surveyData?.surveyPages; let surveyPageIndex = index\"\r\n [attr.id]=\"'survey-page_'+surveyPageIndex\"\r\n [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 #questionBooleanTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.Boolean\"
|
|
1373
|
+
args: [{ selector: 'lib-survery-lib', template: "<div id=\"survery-card-{{surveryLibraryDivId}}\" class=\"survay-card\" >\r\n <div class=\"alert alert-warning text-center\" role=\"alert\" *ngIf=\"isPre == true && surveyData != null\">\r\n <h4 class=\"alert-heading mb-0\">This survey in review phase </h4>\r\n </div>\r\n <div *ngFor=\"let surveyPage of surveyData?.surveyPages; let surveyPageIndex = index\"\r\n [attr.id]=\"'survey-page_'+surveyPageIndex\"\r\n [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 #questionBooleanTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.Boolean\">\r\n </lib-question-boolean-template>\r\n\r\n <lib-question-text-template #questionTextTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.TextInput\"\r\n [isTextArea]=\"question.isAdvanceTextArea\"></lib-question-text-template>\r\n\r\n <lib-question-radio-button-template #questionRadioButtonTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.RadioButton\">\r\n </lib-question-radio-button-template>\r\n\r\n <lib-question-dropdown-template #questionDropdownTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.DropDown\"></lib-question-dropdown-template>\r\n\r\n <lib-question-dropdown-multi-template [setQuestion]=\"question\" (emitter)=\"onUpdateAnswer($event)\"\r\n *ngIf=\"question.questionTypeId == questionTypeEnum.DropDownMulti\">\r\n </lib-question-dropdown-multi-template>\r\n\r\n <lib-question-check-box-template #questionCheckBoxTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.CheckBox\">\r\n </lib-question-check-box-template>\r\n\r\n <lib-question-matrix-template #questionMatrixTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.Matrix\">\r\n </lib-question-matrix-template>\r\n\r\n <lib-question-cascade-template #questionCascadeTemplate [setQuestion]=\"question\"\r\n (emitter)=\"onUpdateAnswer($event)\" *ngIf=\"question.questionTypeId == questionTypeEnum.Cascade\"\r\n [applicantKey]=\"applicantKey\" [isPre]=\"isPre\" [surveyLanguageId]=\"surveyLanguageId\" \r\n [pageIndex]=\"surveyPageIndex\"></lib-question-cascade-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 fw-bold\">\r\n <span>{{curruntShowedSurveyPages}}</span>\r\n <span class=\"ms-2 me-2\">of</span>\r\n <span>{{showedSurveyPages?.length}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".disable__btn{background-color:gray!important;cursor:not-allowed}.quastion{padding:10px}.quastion .quastion-title{color:var(--dark-100, #363636);text-align:right;font-family:Almarai;font-size:18px;font-style:normal;font-weight:700;line-height:20.6px}\n"] }]
|
|
1376
1374
|
}], ctorParameters: function () { return [{ type: SurveyLibService }, { type: i1.FormBuilder }, { type: CheckRuleExpsUsecase }]; }, propDecorators: { isPre: [{
|
|
1377
1375
|
type: Input
|
|
1378
1376
|
}], surveyLanguageId: [{
|
|
@@ -1385,6 +1383,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
1385
1383
|
type: Output
|
|
1386
1384
|
}] } });
|
|
1387
1385
|
|
|
1386
|
+
class FilterQuestionPipe {
|
|
1387
|
+
transform(value, questionArr) {
|
|
1388
|
+
return questionArr.find(x => x.questionId == value.questionId);
|
|
1389
|
+
}
|
|
1390
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: FilterQuestionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
1391
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: FilterQuestionPipe, name: "filterQuestion" }); }
|
|
1392
|
+
}
|
|
1393
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: FilterQuestionPipe, decorators: [{
|
|
1394
|
+
type: Pipe,
|
|
1395
|
+
args: [{
|
|
1396
|
+
name: 'filterQuestion'
|
|
1397
|
+
}]
|
|
1398
|
+
}] });
|
|
1399
|
+
|
|
1388
1400
|
class DefaultQuestionAnswerPipe {
|
|
1389
1401
|
transform(value, questionId, reloadId) {
|
|
1390
1402
|
if (value != null) {
|