commons-assessment 12.0.0
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 +191 -0
- package/bundles/commons-assessment.umd.js +3968 -0
- package/bundles/commons-assessment.umd.js.map +1 -0
- package/commons-assessment.d.ts +5 -0
- package/esm2015/commons-assessment.js +5 -0
- package/esm2015/lib/commons-assessment.module.js +28 -0
- package/esm2015/lib/configuration.js +4 -0
- package/esm2015/lib/modules/assessment-maker/assessment-maker.component.js +409 -0
- package/esm2015/lib/modules/assessment-maker/assessment-maker.module.js +52 -0
- package/esm2015/lib/modules/assessment-maker/components/add-edit-section-introduction/add-edit-section-introduction.component.js +55 -0
- package/esm2015/lib/modules/assessment-maker/components/assessment-builder/assessment-builder.component.js +551 -0
- package/esm2015/lib/modules/assessment-maker/components/question-details/question-details.component.js +75 -0
- package/esm2015/lib/modules/assessment-maker/services/assessment-builder.service.js +150 -0
- package/esm2015/lib/modules/assessment-maker/services/assessment-maker.service.js +55 -0
- package/esm2015/lib/modules/assessment-taker/assessment-taker.component.js +618 -0
- package/esm2015/lib/modules/assessment-taker/assessment-taker.module.js +70 -0
- package/esm2015/lib/modules/assessment-taker/components/question-type-editor/question-type-editor.component.js +70 -0
- package/esm2015/lib/modules/assessment-taker/components/question-type-file-upload/question-type-file-upload.component.js +153 -0
- package/esm2015/lib/modules/assessment-taker/components/question-type-long/question-type-long.component.js +74 -0
- package/esm2015/lib/modules/assessment-taker/components/question-type-multiselect/question-type-multiselect.component.js +105 -0
- package/esm2015/lib/modules/assessment-taker/components/question-type-number/question-type-number.component.js +47 -0
- package/esm2015/lib/modules/assessment-taker/components/question-type-objective/question-type-objective.component.js +91 -0
- package/esm2015/lib/modules/assessment-taker/components/question-type-preference/question-type-preference.component.js +105 -0
- package/esm2015/lib/modules/assessment-taker/components/question-type-short/question-type-short.component.js +98 -0
- package/esm2015/lib/modules/assessment-taker/components/section-instructions/section-instructions.component.js +61 -0
- package/esm2015/lib/modules/assessment-taker/services/assessment-taker.service.js +58 -0
- package/esm2015/lib/modules/assessment-taker/services/response-builder.service.js +202 -0
- package/esm2015/lib/shared/components/text-editor/text-editor.component.js +119 -0
- package/esm2015/lib/shared/controllers.js +21 -0
- package/esm2015/lib/shared/interfaces/assessment.interface.js +2 -0
- package/esm2015/lib/shared/interfaces/question-paper.interface.js +2 -0
- package/esm2015/lib/shared/interfaces/question.interface.js +2 -0
- package/esm2015/lib/shared/material-modules.js +74 -0
- package/esm2015/lib/shared/pipes/order-by.pipe.js +25 -0
- package/esm2015/lib/shared/shared.module.js +48 -0
- package/esm2015/lib/shared/utils.js +16 -0
- package/esm2015/public-api.js +13 -0
- package/fesm2015/commons-assessment.js +3278 -0
- package/fesm2015/commons-assessment.js.map +1 -0
- package/lib/commons-assessment.module.d.ts +10 -0
- package/lib/configuration.d.ts +5 -0
- package/lib/modules/assessment-maker/assessment-maker.component.d.ts +64 -0
- package/lib/modules/assessment-maker/assessment-maker.module.d.ts +14 -0
- package/lib/modules/assessment-maker/components/add-edit-section-introduction/add-edit-section-introduction.component.d.ts +24 -0
- package/lib/modules/assessment-maker/components/assessment-builder/assessment-builder.component.d.ts +70 -0
- package/lib/modules/assessment-maker/components/question-details/question-details.component.d.ts +36 -0
- package/lib/modules/assessment-maker/services/assessment-builder.service.d.ts +43 -0
- package/lib/modules/assessment-maker/services/assessment-maker.service.d.ts +22 -0
- package/lib/modules/assessment-taker/assessment-taker.component.d.ts +81 -0
- package/lib/modules/assessment-taker/assessment-taker.module.d.ts +20 -0
- package/lib/modules/assessment-taker/components/question-type-editor/question-type-editor.component.d.ts +22 -0
- package/lib/modules/assessment-taker/components/question-type-file-upload/question-type-file-upload.component.d.ts +38 -0
- package/lib/modules/assessment-taker/components/question-type-long/question-type-long.component.d.ts +23 -0
- package/lib/modules/assessment-taker/components/question-type-multiselect/question-type-multiselect.component.d.ts +25 -0
- package/lib/modules/assessment-taker/components/question-type-number/question-type-number.component.d.ts +13 -0
- package/lib/modules/assessment-taker/components/question-type-objective/question-type-objective.component.d.ts +23 -0
- package/lib/modules/assessment-taker/components/question-type-preference/question-type-preference.component.d.ts +25 -0
- package/lib/modules/assessment-taker/components/question-type-short/question-type-short.component.d.ts +25 -0
- package/lib/modules/assessment-taker/components/section-instructions/section-instructions.component.d.ts +24 -0
- package/lib/modules/assessment-taker/services/assessment-taker.service.d.ts +20 -0
- package/lib/modules/assessment-taker/services/response-builder.service.d.ts +16 -0
- package/lib/shared/components/text-editor/text-editor.component.d.ts +24 -0
- package/lib/shared/controllers.d.ts +19 -0
- package/lib/shared/interfaces/assessment.interface.d.ts +133 -0
- package/lib/shared/interfaces/question-paper.interface.d.ts +73 -0
- package/lib/shared/interfaces/question.interface.d.ts +82 -0
- package/lib/shared/material-modules.d.ts +18 -0
- package/lib/shared/pipes/order-by.pipe.d.ts +7 -0
- package/lib/shared/shared.module.d.ts +12 -0
- package/lib/shared/utils.d.ts +2 -0
- package/package.json +22 -0
- package/public-api.d.ts +9 -0
- package/src/lib/assets/images/action-dots.svg +5 -0
- package/src/lib/assets/images/add-section.svg +4 -0
- package/src/lib/assets/images/arrow-down-black.svg +3 -0
- package/src/lib/assets/images/arrow-ramp-left.svg +3 -0
- package/src/lib/assets/images/close.svg +3 -0
- package/src/lib/assets/images/copy.svg +3 -0
- package/src/lib/assets/images/delete.svg +1 -0
- package/src/lib/assets/images/drag-drop.svg +8 -0
- package/src/lib/assets/images/file.svg +5 -0
- package/src/lib/assets/images/go-back.svg +3 -0
- package/src/lib/assets/images/info.svg +3 -0
- package/src/lib/assets/images/jpeg.svg +5 -0
- package/src/lib/assets/images/jpg.svg +5 -0
- package/src/lib/assets/images/keyboard.svg +3 -0
- package/src/lib/assets/images/no-questions.svg +14 -0
- package/src/lib/assets/images/pdf.svg +5 -0
- package/src/lib/assets/images/pencil.svg +3 -0
- package/src/lib/assets/images/plus-primary.svg +3 -0
- package/src/lib/assets/images/png.svg +5 -0
- package/src/lib/assets/images/svg.svg +5 -0
- package/src/lib/assets/json/imageConfig.json +22 -0
- package/src/lib/assets/json/labelConfig.json +96 -0
- package/src/lib/assets/json/question-builder-rules.json +97 -0
- package/src/lib/assets/json/questionTypes.json +50 -0
- package/src/lib/assets/theme/_theme.global.scss +63 -0
- package/src/lib/assets/theme/_theme.scss +568 -0
- package/src/lib/assets/theme/styles.global.scss +191 -0
- package/src/lib/assets/theme/styles.scss +63 -0
|
@@ -0,0 +1,3278 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Component, Inject, InjectionToken, Injectable, Optional, Self, Input, EventEmitter, Output, Pipe, ViewChild, NgModule, forwardRef } from '@angular/core';
|
|
3
|
+
import * as i3 from '@angular/common';
|
|
4
|
+
import { CommonModule } from '@angular/common';
|
|
5
|
+
import * as i1$2 from '@angular/forms';
|
|
6
|
+
import { FormControl, Validators, FormsModule, ReactiveFormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
7
|
+
import { forkJoin } from 'rxjs';
|
|
8
|
+
import * as i1 from '@angular/material/dialog';
|
|
9
|
+
import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
|
|
10
|
+
import * as i2 from '@angular/platform-browser';
|
|
11
|
+
import * as i1$1 from '@angular/common/http';
|
|
12
|
+
import { HttpParams } from '@angular/common/http';
|
|
13
|
+
import * as i6 from '@angular/material/tabs';
|
|
14
|
+
import { MatTabsModule } from '@angular/material/tabs';
|
|
15
|
+
import * as i7 from '@angular/material/expansion';
|
|
16
|
+
import { MatExpansionModule } from '@angular/material/expansion';
|
|
17
|
+
import * as i8 from '@angular/material/progress-spinner';
|
|
18
|
+
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
19
|
+
import * as i9 from '@angular/material/form-field';
|
|
20
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
21
|
+
import * as i10 from '@angular/material/select';
|
|
22
|
+
import { MatSelectModule } from '@angular/material/select';
|
|
23
|
+
import * as i11 from '@angular/material/core';
|
|
24
|
+
import * as i1$3 from '@kolkov/angular-editor';
|
|
25
|
+
import { AngularEditorModule } from '@kolkov/angular-editor';
|
|
26
|
+
import * as i2$1 from '@angular/material/radio';
|
|
27
|
+
import { MatRadioModule } from '@angular/material/radio';
|
|
28
|
+
import * as i2$2 from '@angular/material/checkbox';
|
|
29
|
+
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
30
|
+
import * as i20 from '@angular/cdk/overlay';
|
|
31
|
+
import { OverlayModule } from '@angular/cdk/overlay';
|
|
32
|
+
import * as i9$1 from '@angular/cdk/drag-drop';
|
|
33
|
+
import { DragDropModule, moveItemInArray } from '@angular/cdk/drag-drop';
|
|
34
|
+
import * as i1$4 from '@angular/material/menu';
|
|
35
|
+
import { MatMenuModule } from '@angular/material/menu';
|
|
36
|
+
import * as i11$1 from '@angular/material/tooltip';
|
|
37
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
38
|
+
import { __awaiter } from 'tslib';
|
|
39
|
+
|
|
40
|
+
function deepClone(data) {
|
|
41
|
+
return JSON.parse(JSON.stringify(data));
|
|
42
|
+
}
|
|
43
|
+
function generateUuid() {
|
|
44
|
+
const cryptoObj = window.crypto;
|
|
45
|
+
if (cryptoObj === null || cryptoObj === void 0 ? void 0 : cryptoObj.randomUUID) {
|
|
46
|
+
return cryptoObj.randomUUID();
|
|
47
|
+
}
|
|
48
|
+
// fallback
|
|
49
|
+
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {
|
|
50
|
+
const r = Math.random() * 16 | 0;
|
|
51
|
+
const v = c === 'x' ? r : (r & 0x3 | 0x8);
|
|
52
|
+
return v.toString(16);
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
class SectionInstructionsComponent {
|
|
57
|
+
constructor(dialogRef, dialogData, sanitizer) {
|
|
58
|
+
this.dialogRef = dialogRef;
|
|
59
|
+
this.dialogData = dialogData;
|
|
60
|
+
this.sanitizer = sanitizer;
|
|
61
|
+
this.imageConfig = {};
|
|
62
|
+
this.labelConfig = {};
|
|
63
|
+
this.sectionDetails = null;
|
|
64
|
+
}
|
|
65
|
+
ngOnInit() {
|
|
66
|
+
var _a, _b, _c;
|
|
67
|
+
this.imageConfig = ((_a = this.dialogData) === null || _a === void 0 ? void 0 : _a.imageConfig) || {};
|
|
68
|
+
this.labelConfig = ((_b = this.dialogData) === null || _b === void 0 ? void 0 : _b.labelConfig) || {};
|
|
69
|
+
this.sectionDetails = deepClone((_c = this.dialogData) === null || _c === void 0 ? void 0 : _c.sectionDetails);
|
|
70
|
+
}
|
|
71
|
+
addYoutubeIframeSrc(videoUrl) {
|
|
72
|
+
const videoId = this.getVideoId(videoUrl);
|
|
73
|
+
const youtubeUrl = `https://www.youtube.com/embed/${videoId}`;
|
|
74
|
+
return this.sanitizer.bypassSecurityTrustResourceUrl(youtubeUrl);
|
|
75
|
+
}
|
|
76
|
+
getVideoId(videoUrl) {
|
|
77
|
+
let pattern = null;
|
|
78
|
+
if (videoUrl.includes('youtube.com')) {
|
|
79
|
+
pattern = /(?:\?v=|&v=|youtu\.be\/|\/embed\/|\/\d\/|\/vi\/|\/v\/|https?:\/\/(?:www\.)?youtube\.com\/(?:v\/|embed\/|watch\?(?:\S+&)?v=|watch\?(?:\S+&)?vi=|\S+\/))([a-zA-Z0-9_-]{11})/;
|
|
80
|
+
}
|
|
81
|
+
else if (videoUrl.includes('youtu.be')) {
|
|
82
|
+
pattern = /youtu\.be\/([a-zA-Z0-9_-]{11})/;
|
|
83
|
+
}
|
|
84
|
+
if (pattern) {
|
|
85
|
+
const match = videoUrl.match(pattern);
|
|
86
|
+
if (match && match[1]) {
|
|
87
|
+
return match[1];
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
imageErrorHandler(event, filePath) {
|
|
93
|
+
event.target.src = filePath;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
SectionInstructionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SectionInstructionsComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
|
97
|
+
SectionInstructionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SectionInstructionsComponent, selector: "lib-section-instructions", ngImport: i0, template: "<div class=\"col-12\">\r\n <header class=\"p-3 d-flex align-items-center justify-content-between col-12 assessment-bg-grey-one\">\r\n <p class=\"mb-0 assessment-text-semibold-18\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.INSTRUCTIONS']}}\r\n </p>\r\n <img mat-dialog-close [src]=\"imageConfig['COMMONS_ASSESSMENT.ICON.CLOSE']\" class=\"cursor-pointer\"\r\n (error)=\"imageErrorHandler($event, 'assets/commons-assessment/images/close.svg')\" />\r\n </header>\r\n\r\n <div class=\"col-12 px-md-4 px-3 my-4\">\r\n <p *ngIf=\"sectionDetails?.qpsDesc?.[0]?.text\" class=\"assessment-text-medium-14 assessment-grey-ten mb-0\"\r\n [innerHtml]=\"sectionDetails?.qpsDesc?.[0]?.text\"></p>\r\n <div class=\"mt-3 col-12\" *ngIf=\"sectionDetails?.mediaUrl\">\r\n <ng-container *ngTemplateOutlet=\"VideoTemplate; context:{videoUrl:sectionDetails?.mediaUrl}\"></ng-container>\r\n </div>\r\n </div>\r\n\r\n <footer class=\"mt-auto p-3 d-flex align-items-center justify-content-end gap-3 col-12 border-top\">\r\n <button mat-dialog-close\r\n class=\"assessment-text-white assessment-bg-grey-ten assessment-border-radius-two border-0 assessment-zoom-animation assessment-button-padding-large assessment-text-medium-13\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.GOT_IT']}}\r\n </button>\r\n </footer>\r\n</div>\r\n\r\n<!-- video preview -->\r\n<ng-template let-videoUrl=\"videoUrl\" #VideoTemplate>\r\n <div class=\"assessment-border-radius-two overflow-hidden col-md-10 col-12 mx-auto\">\r\n <video *ngIf=\"videoUrl?.includes('.mp4') else youtubeVideo\" width=\"400\" controls class=\"mw-100 d-block mx-auto\">\r\n <source [src]=\"videoUrl\" type=\"video/mp4\">\r\n </video>\r\n <ng-template #youtubeVideo>\r\n <div class=\"youtube-video position-relative h-100\">\r\n <iframe [src]=\"addYoutubeIframeSrc(videoUrl)\" title=\"YouTube video player\" frameborder=\"0\"\r\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\r\n allowfullscreen class=\"position-absolute top-0 start-0 w-100 h-100 d-block\">\r\n </iframe>\r\n </div>\r\n </ng-template>\r\n </div>\r\n</ng-template>", styles: [".assessment-text-grey-ten{color:var(--assessment-grey-ten)!important}.assessment-bg-grey-ten{background-color:var(--assessment-grey-ten)!important}.assessment-text-grey-nine{color:var(--assessment-grey-nine)!important}.assessment-bg-grey-nine{background-color:var(--assessment-grey-nine)!important}.assessment-text-grey-eight{color:var(--assessment-grey-eight)!important}.assessment-bg-grey-eight{background-color:var(--assessment-grey-eight)!important}.assessment-text-grey-seven{color:var(--assessment-grey-seven)!important}.assessment-bg-grey-seven{background-color:var(--assessment-grey-seven)!important}.assessment-text-grey-six{color:var(--assessment-grey-six)!important}.assessment-bg-grey-six{background-color:var(--assessment-grey-six)!important}.assessment-text-grey-five{color:var(--assessment-grey-five)!important}.assessment-bg-grey-five{background-color:var(--assessment-grey-five)!important}.assessment-text-grey-four{color:var(--assessment-grey-four)!important}.assessment-bg-grey-four{background-color:var(--assessment-grey-four)!important}.assessment-text-grey-three{color:var(--assessment-grey-three)!important}.assessment-bg-grey-three{background-color:var(--assessment-grey-three)!important}.assessment-text-grey-two{color:var(--assessment-grey-two)!important}.assessment-bg-grey-two{background-color:var(--assessment-grey-two)!important}.assessment-text-grey-one{color:var(--assessment-grey-one)!important}.assessment-bg-grey-one{background-color:var(--assessment-grey-one)!important}.assessment-text-white{color:var(--assessment-white)!important}.assessment-bg-white{background-color:var(--assessment-white)!important}.assessment-text-black{color:var(--assessment-black)!important}.assessment-bg-black{background-color:var(--assessment-black)!important}.assessment-text-danger{color:var(--assessment-danger)!important}.assessment-bg-danger{background-color:var(--assessment-danger)!important}.assessment-text-primary-one{color:var(--assessment-primary-one)!important}.assessment-bg-primary-one{background-color:var(--assessment-primary-one)!important}.assessment-text-primary-four{color:var(--assessment-primary-four)!important}.assessment-bg-primary-four{background-color:var(--assessment-primary-four)!important}.assessment-text-palette-EDF3FD{color:var(--assessment-palette-EDF3FD)!important}.assessment-bg-palette-EDF3FD{background-color:var(--assessment-palette-EDF3FD)!important}.assessment-text-palette-C8DAF9{color:var(--assessment-palette-C8DAF9)!important}.assessment-bg-palette-C8DAF9{background-color:var(--assessment-palette-C8DAF9)!important}.assessment-text-palette-ADC9F6{color:var(--assessment-palette-ADC9F6)!important}.assessment-bg-palette-ADC9F6{background-color:var(--assessment-palette-ADC9F6)!important}.assessment-text-palette-FEF9F1{color:var(--assessment-palette-FEF9F1)!important}.assessment-bg-palette-FEF9F1{background-color:var(--assessment-palette-FEF9F1)!important}.assessment-text-palette-F9DAA6{color:var(--assessment-palette-F9DAA6)!important}.assessment-bg-palette-F9DAA6{background-color:var(--assessment-palette-F9DAA6)!important}.assessment-text-palette-E8F7F0{color:var(--assessment-palette-E8F7F0)!important}.assessment-bg-palette-E8F7F0{background-color:var(--assessment-palette-E8F7F0)!important}.assessment-text-palette-B7E7CF{color:var(--assessment-palette-B7E7CF)!important}.assessment-bg-palette-B7E7CF{background-color:var(--assessment-palette-B7E7CF)!important}.assessment-box-shadow-one{box-shadow:var(--assessment-box-shadow-one)!important}.assessment-border-radius-one{border-radius:var(--assessment-border-radius-one)!important}.assessment-border-radius-two{border-radius:var(--assessment-border-radius-two)!important}.assessment-border-radius-three{border-radius:var(--assessment-border-radius-three)!important}.assessment-border-radius-four{border-radius:var(--assessment-border-radius-four)!important}.assessment-border-radius-five{border-radius:var(--assessment-border-radius-five)!important}.assessment-border-radius-six{border-radius:var(--assessment-border-radius-six)!important}.assessment-input-border-one{border:var(--assessment-input-border-one)!important}.assessment-input-border-invalid{border:var(--assessment-input-border-invalid)!important}.assessment-input-focus-border{border:var(--assessment-input-focus-border)!important}.assessment-border-two{border:var(--assessment-border-two)!important}.assessment-card-border{border:var(--assessment-card-border)!important}.assessment-tooltip-border{border:var(--assessment-tooltip-border)!important}.assessment-box-shadow-tooltip{box-shadow:var(--assessment-box-shadow-tooltip)!important}.assessment-button-padding{padding:var(--assessment-button-padding)!important}.assessment-button-padding-large{padding:var(--assessment-button-padding-large)!important}.assessment-input-padding{padding:var(--assessment-input-padding)!important}.assessment-text-font-family{color:var(--assessment-font-family)!important}.assessment-bg-font-family{background-color:var(--assessment-font-family)!important}.assessment-text-regular-12{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-bold-12{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-semibold-12{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-semibold-11{font-weight:600;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-medium-11{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-regular-11{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-medium-12{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-regular-13{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-bold-13{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-semibold-13{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-medium-13{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-regular-14{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-bold-14{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-medium-14{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw)!important;line-height:calc(1.2rem + .2vw)!important}.assessment-text-semibold-14{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-semibold-10{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.55rem + .1vw);line-height:calc(1rem + .1vw)}.assessment-text-regular-10{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.55rem + .1vw)!important;line-height:calc(1rem + .1vw)}.assessment-text-regular-15{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.85rem + .1vw);line-height:calc(1.4rem + .1vw)}.assessment-text-medium-15{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-semibold-15{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-bold-15{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-regular-16{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-semibold-16{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-bold-16{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-medium-16{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-regular-20{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-bold-20{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-semibold-20{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-medium-20{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-medium-18{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .1vw)!important}.assessment-text-regular-18{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .3vw)!important}.assessment-text-bold-18{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw);line-height:calc(1.5rem + .1vw)}.assessment-text-semibold-18{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .1vw)!important}.assessment-text-bold-34{overflow-wrap:break-word;font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(2rem + .15vw);line-height:calc(2.5rem + .15vw)}.assessment-text-medium-34{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(2rem + .15vw);line-height:calc(2.5rem + .15vw)}.assessment-text-bold-32{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.3rem + .75vw);line-height:calc(1.625rem + .5vw)}.assessment-text-bold-22{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-regular-22{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-semibold-22{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-medium-22{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-bold-24{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-regular-24{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-semibold-24{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-medium-24{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.8rem + .75vw);line-height:calc(1.2rem + .75vw)}.assessment-text-regular-26{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-medium-26{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-bold-26{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-semibold-26{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-regular-28{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-medium-28{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-semibold-28{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw);letter-spacing:1}.assessment-text-bold-28{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-regular-30{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .4vw)}.assessment-text-medium-30{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-bold-30{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .4vw);line-height:calc(2rem + .4vw)}.assessment-text-semibold-30{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .4vw);line-height:calc(1.5rem + .4vw);letter-spacing:.5}.assessment-text-bold-36{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(2rem + .25vw);line-height:calc(2.5rem + .3vw)}.assessment-text-semibold-36{font-weight:600;font-family:var(--assessment-font-family);font-size:calc(2rem + .25vw);line-height:calc(2.5rem + .3vw)}@media (min-height: 100vw) and (orientation: portrait){.assessment-text-bold-34{font-size:calc(1.8rem + .15vh);line-height:calc(2.2rem + .15vh)}.assessment-text-bold-32{font-size:calc(1.3rem + 1vh);line-height:calc(1.5rem + 1vh)}.assessment-text-semibold-30{font-size:calc(1.5rem + .4vh);line-height:calc(1.8rem + .4vh)}.assessment-text-medium-24{line-height:2.188rem}.assessment-text-medium-24,.assessment-text-regular-24,.assessment-text-semibold-24,.assessment-text-bold-24,.assessment-text-light-24{font-size:calc(1.3rem + .5vh);line-height:calc(1.8rem + .5vh)}.assessment-text-medium-18,.assessment-text-regular-18,.assessment-text-bold-18,.assessment-text-semibold-18,.assessment-text-light-18{font-size:calc(1rem + .1vh)!important;line-height:calc(1.6rem + .1vh)!important}.assessment-text-light-16,.assessment-text-bold-16{font-size:calc(.9rem + .3vh)!important;line-height:calc(1.2rem + .3vh)!important}.assessment-text-medium-16,.assessment-text-semibold-16,.assessment-text-regular-16{font-size:calc(.9rem + .2vh)!important;line-height:calc(1.4rem + .2vh)!important}.assessment-text-regular-15,.assessment-text-semibold-15,.assessment-text-bold-15,.assessment-text-light-15{font-size:calc(.8rem + .2vh);line-height:calc(1.27rem + .2vh)}.assessment-text-medium-15{font-size:calc(.8rem + .2vh);line-height:calc(1.27rem + .2vh)}.assessment-text-medium-12,.assessment-text-regular-12,.assessment-text-semibold-12,.assessment-text-bold-12,.assessment-text-medium-upper-12,.assessment-text-light-12{font-size:calc(.5rem + .4vh);line-height:calc(.8rem + .4vh)}.assessment-text-medium-14,.assessment-text-regular-14,.assessment-text-light-14,.assessment-text-medium-upper-14,.assessment-text-semibold-14,.assessment-text-bold-14{font-size:calc(.8rem + .1vh)!important;line-height:calc(1.2rem + .2vh)!important}.assessment-text-regular-13,.assessment-text-medium-13,.assessment-text-semibold-13,.assessment-text-bold-13,.assessment-text-light-13{font-size:calc(.7rem + .2vh)!important;line-height:calc(1rem + .3vh)!important}.assessment-text-regular-11,.assessment-text-medium-11,.assessment-text-semibold-11,.assessment-text-bold-11,.assessment-text-light-11{font-size:calc(.5rem + .2vh)!important;line-height:calc(.8rem + .2vh)!important}}.assessment-btn-primary{background-color:var(--assessment-primary-one);color:var(--assessment-white);border:.064rem solid var(--assessment-primary-one);border-radius:var(--assessment-border-radius-two)}.assessment-btn-primary-transparent{background-color:var(--assessment-white);color:var(--assessment-primary-one);border-radius:var(--assessment-border-radius-two);border:.064rem solid var(--assessment-primary-one)}.assessment-zoom-animation{transition:transform .2s ease;transform:translateZ(0);text-rendering:optimizeLegibility}.assessment-zoom-animation:hover{transform:scale(1.03)}.assessment-zoom-animation:active{transform:scale(1)}.assessment-zoom-animation:disabled{transform:none!important}.change-direction{transform:rotate(180deg);transition:.3s ease-out}.change-direction-reverse{transform:rotate(0);transition:.3s ease-out}.outline-0{outline:none}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.action-icon{width:1.2rem}.mat-menu-item{height:inherit}.youtube-video{aspect-ratio:16/9}\n"], directives: [{ type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
98
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SectionInstructionsComponent, decorators: [{
|
|
99
|
+
type: Component,
|
|
100
|
+
args: [{
|
|
101
|
+
selector: 'lib-section-instructions',
|
|
102
|
+
templateUrl: './section-instructions.component.html',
|
|
103
|
+
styleUrls: ['./section-instructions.component.scss']
|
|
104
|
+
}]
|
|
105
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
106
|
+
type: Inject,
|
|
107
|
+
args: [MAT_DIALOG_DATA]
|
|
108
|
+
}] }, { type: i2.DomSanitizer }]; } });
|
|
109
|
+
|
|
110
|
+
// configuration.ts
|
|
111
|
+
const LIBRARY_CONFIG = new InjectionToken('LIBRARY_CONFIG');
|
|
112
|
+
|
|
113
|
+
const COMMONS_ASSESSMENT_SERVICE = '/gateway/commons-assessment-service';
|
|
114
|
+
const assessmentMakerController = {
|
|
115
|
+
assessmentAndQuestionPaper: COMMONS_ASSESSMENT_SERVICE + '/api/v1/assessments/bundled',
|
|
116
|
+
createQuestion: COMMONS_ASSESSMENT_SERVICE + '/api/v2/questions',
|
|
117
|
+
patchQuestion: COMMONS_ASSESSMENT_SERVICE + '/api/v2/questions',
|
|
118
|
+
getAssessmentContext: COMMONS_ASSESSMENT_SERVICE + '/api/v2/assessments/context/$AssessmentId',
|
|
119
|
+
getQuestionsByIds: COMMONS_ASSESSMENT_SERVICE + '/api/v2/questions/questionids',
|
|
120
|
+
duplicateQuestion: COMMONS_ASSESSMENT_SERVICE + '/api/v1/assessmentQuestionPapers/questionPaperSection/$SectionId/sectionQuestions/$SectionQuestionId/duplicate',
|
|
121
|
+
duplicateSection: COMMONS_ASSESSMENT_SERVICE + '/api/v1/assessmentQuestionPapers/$AssessmentQuestionPaperId/questionPaperSection/$SectionId/duplicate',
|
|
122
|
+
createAssessmentInstance: COMMONS_ASSESSMENT_SERVICE + '/api/v1/assessmentinstances'
|
|
123
|
+
};
|
|
124
|
+
const assessmentTakerController = {
|
|
125
|
+
getAssessmentContextById: COMMONS_ASSESSMENT_SERVICE + '/api/v1/assessments/context/$AssessmentId',
|
|
126
|
+
getAssessmentQuestionPaper: COMMONS_ASSESSMENT_SERVICE + '/api/v2/assessmentQuestionPapers?',
|
|
127
|
+
getAssessmentQuestions: COMMONS_ASSESSMENT_SERVICE + '/api/v3/questions/questions/instance?',
|
|
128
|
+
getChildQuestionsWithIdList: COMMONS_ASSESSMENT_SERVICE + '/api/v3/questions/childquestion/instance?',
|
|
129
|
+
uploadAttachment: COMMONS_ASSESSMENT_SERVICE + '/api/v1/attachments?',
|
|
130
|
+
submitAssessment: COMMONS_ASSESSMENT_SERVICE + '/api/v2/assessmentInstanceAssesses',
|
|
131
|
+
getAnswersByAiaId: COMMONS_ASSESSMENT_SERVICE + '/api/v2/assessmentInstanceAssesses/',
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
class AssessmentTakerService {
|
|
135
|
+
constructor(config, http) {
|
|
136
|
+
this.config = config;
|
|
137
|
+
this.http = http;
|
|
138
|
+
}
|
|
139
|
+
createParams(params) {
|
|
140
|
+
let param = new HttpParams();
|
|
141
|
+
for (const key of Object.keys(params)) {
|
|
142
|
+
param = param.set(key, params[key]);
|
|
143
|
+
}
|
|
144
|
+
return param;
|
|
145
|
+
}
|
|
146
|
+
getConfigJSON(fileName) {
|
|
147
|
+
return this.http.get(`/assets/commons-assessment/${fileName}.json`);
|
|
148
|
+
}
|
|
149
|
+
getAssessmentContextById(assessmentId) {
|
|
150
|
+
return this.http.get(this.config.baseURL + assessmentTakerController.getAssessmentContextById.replace('$AssessmentId', assessmentId.toString()));
|
|
151
|
+
}
|
|
152
|
+
getAssessmentQuestionPaper(instanceId) {
|
|
153
|
+
return this.http.get(this.config.baseURL + assessmentTakerController.getAssessmentQuestionPaper + this.createParams({ instanceId }));
|
|
154
|
+
}
|
|
155
|
+
getAssessmentQuestions(instanceId, questionIds) {
|
|
156
|
+
return this.http.get(this.config.baseURL + assessmentTakerController.getAssessmentQuestions + this.createParams({ instanceId, questionIds }));
|
|
157
|
+
}
|
|
158
|
+
getChildQuestionsWithIdList(instanceId, questionIds) {
|
|
159
|
+
return this.http.get(this.config.baseURL + assessmentTakerController.getChildQuestionsWithIdList + this.createParams({ instanceId, questionIds }));
|
|
160
|
+
}
|
|
161
|
+
uploadAttachment(fileUploadPayload, params) {
|
|
162
|
+
return this.http.post(this.config.baseURL + assessmentTakerController.uploadAttachment + this.createParams(params), fileUploadPayload);
|
|
163
|
+
}
|
|
164
|
+
submitAssessment(payload) {
|
|
165
|
+
return this.http.post(this.config.baseURL + assessmentTakerController.submitAssessment, payload);
|
|
166
|
+
}
|
|
167
|
+
patchAssessment(payload) {
|
|
168
|
+
return this.http.patch(this.config.baseURL + assessmentTakerController.submitAssessment, payload);
|
|
169
|
+
}
|
|
170
|
+
getAnswersByAiaId(aiaId) {
|
|
171
|
+
return this.http.get(this.config.baseURL + assessmentTakerController.getAnswersByAiaId + aiaId);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
AssessmentTakerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AssessmentTakerService, deps: [{ token: LIBRARY_CONFIG }, { token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
175
|
+
AssessmentTakerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AssessmentTakerService, providedIn: 'root' });
|
|
176
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AssessmentTakerService, decorators: [{
|
|
177
|
+
type: Injectable,
|
|
178
|
+
args: [{
|
|
179
|
+
providedIn: 'root'
|
|
180
|
+
}]
|
|
181
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
182
|
+
type: Inject,
|
|
183
|
+
args: [LIBRARY_CONFIG]
|
|
184
|
+
}] }, { type: i1$1.HttpClient }]; } });
|
|
185
|
+
|
|
186
|
+
class ResponseBuilderService {
|
|
187
|
+
constructor() { }
|
|
188
|
+
buildResponsePayload(assesseeResponse, assessmentData, sectionFormGroups, questionBank, tenant) {
|
|
189
|
+
var _a;
|
|
190
|
+
const requestPayload = deepClone(assesseeResponse);
|
|
191
|
+
requestPayload.aiadefaultResponseList = [];
|
|
192
|
+
(_a = assessmentData === null || assessmentData === void 0 ? void 0 : assessmentData.questionPaperSectionList) === null || _a === void 0 ? void 0 : _a.forEach((section) => {
|
|
193
|
+
var _a;
|
|
194
|
+
const sectionFormGroupWrapper = sectionFormGroups.find((s) => s.sectionId === section.id);
|
|
195
|
+
if (sectionFormGroupWrapper) {
|
|
196
|
+
const formGroup = sectionFormGroupWrapper.formGroup;
|
|
197
|
+
(_a = section.sectionQuestionsList) === null || _a === void 0 ? void 0 : _a.forEach((sectionQuestion) => {
|
|
198
|
+
var _a, _b, _c, _d, _e;
|
|
199
|
+
const ques = questionBank[(sectionQuestion === null || sectionQuestion === void 0 ? void 0 : sectionQuestion.questionId) || -1];
|
|
200
|
+
if (!ques)
|
|
201
|
+
return;
|
|
202
|
+
const quesResObj = this.getQuestionResponseObj(formGroup, ques === null || ques === void 0 ? void 0 : ques.id, questionBank);
|
|
203
|
+
const questionResponseObj = quesResObj.questionResponseObj;
|
|
204
|
+
if (questionResponseObj) {
|
|
205
|
+
let reqObj = Object.assign({}, questionResponseObj);
|
|
206
|
+
delete reqObj.defaultOption;
|
|
207
|
+
const existingAns = (_a = assesseeResponse.aiadefaultResponseList) === null || _a === void 0 ? void 0 : _a.find((a) => { var _a; return ((_a = a.sectionQuestion) === null || _a === void 0 ? void 0 : _a.questionId) === sectionQuestion.questionId && !a.childQuestionId; });
|
|
208
|
+
this.mergeExistingIds(reqObj, existingAns);
|
|
209
|
+
(_b = requestPayload.aiadefaultResponseList) === null || _b === void 0 ? void 0 : _b.push(Object.assign(Object.assign({}, reqObj), { id: (existingAns === null || existingAns === void 0 ? void 0 : existingAns.id) || 0, isActive: true, sectionQuestion,
|
|
210
|
+
tenant, marks: ((_c = formGroup.get(`${ques.id}_marks`)) === null || _c === void 0 ? void 0 : _c.value) != null ? Number((_d = formGroup.get(`${ques.id}_marks`)) === null || _d === void 0 ? void 0 : _d.value) : null }));
|
|
211
|
+
if ((_e = quesResObj.childQuesResObj) === null || _e === void 0 ? void 0 : _e.length) {
|
|
212
|
+
quesResObj.childQuesResObj.forEach((childData) => {
|
|
213
|
+
var _a, _b, _c, _d;
|
|
214
|
+
const childObj = childData === null || childData === void 0 ? void 0 : childData.questionResponseObj;
|
|
215
|
+
const childDetails = childData === null || childData === void 0 ? void 0 : childData.childQuestionDetails;
|
|
216
|
+
if (!childObj || !childDetails)
|
|
217
|
+
return;
|
|
218
|
+
let specificChildReqObj = Object.assign({}, childObj);
|
|
219
|
+
delete specificChildReqObj.defaultOption;
|
|
220
|
+
const existingChildAns = (_a = assesseeResponse.aiadefaultResponseList) === null || _a === void 0 ? void 0 : _a.find((a) => a.childQuestionId === childDetails.id &&
|
|
221
|
+
a.childQuestionParentQuestionId === sectionQuestion.questionId);
|
|
222
|
+
this.mergeExistingIds(specificChildReqObj, existingChildAns);
|
|
223
|
+
(_b = requestPayload.aiadefaultResponseList) === null || _b === void 0 ? void 0 : _b.push(Object.assign(Object.assign({ childQuestionId: childDetails.id, childQuestionParentQuestionId: sectionQuestion.questionId, childDefaultOptionId: childData.parentOptionId }, specificChildReqObj), { id: (existingChildAns === null || existingChildAns === void 0 ? void 0 : existingChildAns.id) || 0, isActive: true, sectionQuestion,
|
|
224
|
+
tenant, marks: ((_c = formGroup.get(`${childDetails.id}_marks`)) === null || _c === void 0 ? void 0 : _c.value) != null ? Number((_d = formGroup.get(`${childDetails.id}_marks`)) === null || _d === void 0 ? void 0 : _d.value) : null }));
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
});
|
|
231
|
+
return requestPayload;
|
|
232
|
+
}
|
|
233
|
+
mergeExistingIds(newAns, existingAns) {
|
|
234
|
+
if (!existingAns)
|
|
235
|
+
return;
|
|
236
|
+
if (newAns.drsubjectiveresponseList && existingAns.drsubjectiveresponseList) {
|
|
237
|
+
newAns.drsubjectiveresponseList.forEach((nItem, idx) => {
|
|
238
|
+
if (existingAns.drsubjectiveresponseList[idx]) {
|
|
239
|
+
nItem.id = existingAns.drsubjectiveresponseList[idx].id;
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
if (newAns.drobjectiveresponseList && existingAns.drobjectiveresponseList) {
|
|
244
|
+
newAns.drobjectiveresponseList.forEach((nItem, idx) => {
|
|
245
|
+
const existingItem = existingAns.drobjectiveresponseList.find((eItem) => { var _a, _b, _c, _d; return ((_b = (_a = eItem.defaultOption) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.id) === ((_d = (_c = nItem.defaultOption) === null || _c === void 0 ? void 0 : _c.options) === null || _d === void 0 ? void 0 : _d.id); });
|
|
246
|
+
if (existingItem) {
|
|
247
|
+
nItem.id = existingItem.id;
|
|
248
|
+
}
|
|
249
|
+
else if (existingAns.drobjectiveresponseList[idx]) {
|
|
250
|
+
nItem.id = existingAns.drobjectiveresponseList[idx].id;
|
|
251
|
+
}
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
getQuestionResponseObj(formGroup, quesId = -1, questionBank) {
|
|
256
|
+
var _a;
|
|
257
|
+
const questionDetails = questionBank[quesId];
|
|
258
|
+
if (!questionDetails)
|
|
259
|
+
return { questionResponseObj: null, childQuesResObj: [] };
|
|
260
|
+
let questionResponseObj = {};
|
|
261
|
+
let childQuesResObj = [];
|
|
262
|
+
const rawValues = (formGroup === null || formGroup === void 0 ? void 0 : formGroup.getRawValue) ? formGroup.getRawValue() : ((formGroup === null || formGroup === void 0 ? void 0 : formGroup.value) || {});
|
|
263
|
+
const val = rawValues[quesId];
|
|
264
|
+
if (!val) {
|
|
265
|
+
return { questionResponseObj: null, childQuesResObj: [] };
|
|
266
|
+
}
|
|
267
|
+
const qType = (_a = questionDetails.questionType) === null || _a === void 0 ? void 0 : _a.code;
|
|
268
|
+
if (qType === 'QUESTION_TYPE.OBJECTIVE') {
|
|
269
|
+
const defaultOptions = questionDetails.defaultOptionsList || [];
|
|
270
|
+
const selectedOption = defaultOptions.find((i) => i.options.id === val.id);
|
|
271
|
+
if (selectedOption) {
|
|
272
|
+
questionResponseObj = {
|
|
273
|
+
optionId: selectedOption.options,
|
|
274
|
+
defaultOption: selectedOption
|
|
275
|
+
};
|
|
276
|
+
if (selectedOption.remarksRequired) {
|
|
277
|
+
const remarksVal = rawValues[`${quesId}_remarks_${selectedOption.id}`];
|
|
278
|
+
if (remarksVal) {
|
|
279
|
+
questionResponseObj.remarks = remarksVal;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
const childQuesIds = selectedOption.childQuestionList || [];
|
|
283
|
+
childQuesIds.forEach((childId) => {
|
|
284
|
+
var _a;
|
|
285
|
+
const childResponse = this.getQuestionResponseObj(formGroup, childId, questionBank);
|
|
286
|
+
if (childResponse === null || childResponse === void 0 ? void 0 : childResponse.questionResponseObj) {
|
|
287
|
+
childQuesResObj.push({
|
|
288
|
+
questionResponseObj: childResponse.questionResponseObj,
|
|
289
|
+
childQuestionDetails: questionBank[childId],
|
|
290
|
+
parentOptionId: selectedOption.options.id
|
|
291
|
+
});
|
|
292
|
+
if ((_a = childResponse.childQuesResObj) === null || _a === void 0 ? void 0 : _a.length) {
|
|
293
|
+
childQuesResObj = childQuesResObj.concat(childResponse.childQuesResObj);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
else {
|
|
299
|
+
questionResponseObj = null;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
else if (qType === 'QUESTION_TYPE.MULTI_SELECT' || qType === 'QUESTION_TYPE.PREFERENCE') {
|
|
303
|
+
const defaultOptions = questionDetails.defaultOptionsList || [];
|
|
304
|
+
const drobjectiveresponseList = [];
|
|
305
|
+
let valArray = Array.isArray(val) ? val : [val];
|
|
306
|
+
valArray.forEach((opt, index) => {
|
|
307
|
+
const selectedOption = defaultOptions.find((i) => { var _a; return ((_a = i.options) === null || _a === void 0 ? void 0 : _a.id) === opt.id; });
|
|
308
|
+
if (selectedOption) {
|
|
309
|
+
const obj = {
|
|
310
|
+
id: 0,
|
|
311
|
+
defaultOption: selectedOption
|
|
312
|
+
};
|
|
313
|
+
if (qType === 'QUESTION_TYPE.PREFERENCE') {
|
|
314
|
+
obj.orderNo = index + 1;
|
|
315
|
+
}
|
|
316
|
+
if (selectedOption.remarksRequired) {
|
|
317
|
+
const remarksVal = rawValues[`${quesId}_remarks_${selectedOption.id}`];
|
|
318
|
+
if (remarksVal) {
|
|
319
|
+
obj.remarks = remarksVal;
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
drobjectiveresponseList.push(obj);
|
|
323
|
+
const childQuesIds = selectedOption.childQuestionList || [];
|
|
324
|
+
childQuesIds.forEach((childId) => {
|
|
325
|
+
var _a;
|
|
326
|
+
const childResponse = this.getQuestionResponseObj(formGroup, childId, questionBank);
|
|
327
|
+
if (childResponse === null || childResponse === void 0 ? void 0 : childResponse.questionResponseObj) {
|
|
328
|
+
childQuesResObj.push({
|
|
329
|
+
questionResponseObj: childResponse.questionResponseObj,
|
|
330
|
+
childQuestionDetails: questionBank[childId],
|
|
331
|
+
parentOptionId: selectedOption.options.id
|
|
332
|
+
});
|
|
333
|
+
if ((_a = childResponse.childQuesResObj) === null || _a === void 0 ? void 0 : _a.length) {
|
|
334
|
+
childQuesResObj = childQuesResObj.concat(childResponse.childQuesResObj);
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
});
|
|
338
|
+
}
|
|
339
|
+
});
|
|
340
|
+
if (drobjectiveresponseList.length > 0) {
|
|
341
|
+
questionResponseObj = { drobjectiveresponseList };
|
|
342
|
+
}
|
|
343
|
+
else {
|
|
344
|
+
questionResponseObj = null;
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
else if (qType === 'QUESTION_TYPE.FILE_UPLOAD') {
|
|
348
|
+
const drsubjectiveresponseList = [];
|
|
349
|
+
let valArray = Array.isArray(val) ? val : [val];
|
|
350
|
+
valArray.forEach((opt) => {
|
|
351
|
+
drsubjectiveresponseList.push({
|
|
352
|
+
id: 0,
|
|
353
|
+
responseText: opt === null || opt === void 0 ? void 0 : opt.id
|
|
354
|
+
});
|
|
355
|
+
});
|
|
356
|
+
if (drsubjectiveresponseList.length > 0) {
|
|
357
|
+
questionResponseObj = { drsubjectiveresponseList };
|
|
358
|
+
}
|
|
359
|
+
else {
|
|
360
|
+
questionResponseObj = null;
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
else {
|
|
364
|
+
questionResponseObj = {
|
|
365
|
+
drsubjectiveresponseList: [
|
|
366
|
+
{
|
|
367
|
+
id: 0,
|
|
368
|
+
responseText: val
|
|
369
|
+
}
|
|
370
|
+
]
|
|
371
|
+
};
|
|
372
|
+
}
|
|
373
|
+
return { questionResponseObj, childQuesResObj };
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
ResponseBuilderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ResponseBuilderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
377
|
+
ResponseBuilderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ResponseBuilderService, providedIn: 'root' });
|
|
378
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ResponseBuilderService, decorators: [{
|
|
379
|
+
type: Injectable,
|
|
380
|
+
args: [{
|
|
381
|
+
providedIn: 'root'
|
|
382
|
+
}]
|
|
383
|
+
}], ctorParameters: function () { return []; } });
|
|
384
|
+
|
|
385
|
+
class QuestionTypeShortComponent {
|
|
386
|
+
constructor(ngControl) {
|
|
387
|
+
this.ngControl = ngControl;
|
|
388
|
+
this.previewMode = false;
|
|
389
|
+
this.labelConfig = {};
|
|
390
|
+
this.formControl = new FormControl('');
|
|
391
|
+
this.onTouched = () => { };
|
|
392
|
+
if (this.ngControl != null) {
|
|
393
|
+
this.ngControl.valueAccessor = this;
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
checkFormControlValid() {
|
|
397
|
+
var _a, _b, _c, _d;
|
|
398
|
+
if (((_b = (_a = this.ngControl) === null || _a === void 0 ? void 0 : _a.control) === null || _b === void 0 ? void 0 : _b.touched) && ((_d = (_c = this.ngControl) === null || _c === void 0 ? void 0 : _c.control) === null || _d === void 0 ? void 0 : _d.invalid)) {
|
|
399
|
+
return 'assessment-input-border-invalid';
|
|
400
|
+
}
|
|
401
|
+
return '';
|
|
402
|
+
}
|
|
403
|
+
writeValue(value) {
|
|
404
|
+
if (value !== undefined && value !== null) {
|
|
405
|
+
this.formControl.setValue(value, { emitEvent: false });
|
|
406
|
+
}
|
|
407
|
+
else {
|
|
408
|
+
this.formControl.setValue('', { emitEvent: false });
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
registerOnChange(fn) {
|
|
412
|
+
this.formControl.valueChanges.subscribe((val) => fn(val));
|
|
413
|
+
}
|
|
414
|
+
registerOnTouched(fn) {
|
|
415
|
+
this.onTouched = fn;
|
|
416
|
+
}
|
|
417
|
+
setDisabledState(isDisabled) {
|
|
418
|
+
if (isDisabled) {
|
|
419
|
+
this.formControl.disable({ emitEvent: false });
|
|
420
|
+
}
|
|
421
|
+
else {
|
|
422
|
+
this.formControl.enable({ emitEvent: false });
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
get maxCharCount() {
|
|
426
|
+
var _a, _b;
|
|
427
|
+
const config = (_b = (_a = this.question) === null || _a === void 0 ? void 0 : _a.questionConfigs) === null || _b === void 0 ? void 0 : _b.find(c => c.configKey === 'maxCharacterCount');
|
|
428
|
+
return config ? Number(config.configValue) : 0;
|
|
429
|
+
}
|
|
430
|
+
get inputType() {
|
|
431
|
+
var _a, _b;
|
|
432
|
+
switch ((_b = (_a = this.question) === null || _a === void 0 ? void 0 : _a.questionType) === null || _b === void 0 ? void 0 : _b.code) {
|
|
433
|
+
case 'QUESTION_TYPE.NUMBER':
|
|
434
|
+
return 'number';
|
|
435
|
+
case 'QUESTION_TYPE.EMAIL':
|
|
436
|
+
return 'email';
|
|
437
|
+
case 'QUESTION_TYPE.CONTACT_NUMBER':
|
|
438
|
+
return 'tel';
|
|
439
|
+
case 'QUESTION_TYPE.URL':
|
|
440
|
+
return 'url';
|
|
441
|
+
default:
|
|
442
|
+
return 'text';
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
restrictNumberOnly(event) {
|
|
446
|
+
var _a, _b, _c, _d;
|
|
447
|
+
if (((_b = (_a = this.question) === null || _a === void 0 ? void 0 : _a.questionType) === null || _b === void 0 ? void 0 : _b.code) === 'QUESTION_TYPE.NUMBER' || ((_d = (_c = this.question) === null || _c === void 0 ? void 0 : _c.questionType) === null || _d === void 0 ? void 0 : _d.code) === 'QUESTION_TYPE.CONTACT_NUMBER') {
|
|
448
|
+
const allowedKeys = ['Backspace', 'ArrowLeft', 'ArrowRight', 'Tab', 'Delete'];
|
|
449
|
+
if (!/^[0-9]$/.test(event.key) && !allowedKeys.includes(event.key)) {
|
|
450
|
+
event.preventDefault();
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
QuestionTypeShortComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionTypeShortComponent, deps: [{ token: i1$2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
456
|
+
QuestionTypeShortComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: QuestionTypeShortComponent, selector: "lib-question-type-short", inputs: { required: "required", question: "question", previewMode: "previewMode", labelConfig: "labelConfig" }, ngImport: i0, template: "<input *ngIf=\"!previewMode else previewModeTemplate\" [type]=\"inputType\" [ngClass]=\"checkFormControlValid()\"\r\n [id]=\"question.id\" [formControl]=\"formControl\"\r\n class=\"col-12 assessment-text-regular-13 assessment-input-border-one assessment-border-radius-two assessment-input-padding outline-0 assessment-bg-grey-one\"\r\n [placeholder]=\"labelConfig['COMMONS_ASSESSMENT.PLACEHOLDER.ANSWER']\" [required]=\"required\" (blur)=\"onTouched()\"\r\n [attr.maxlength]=\"maxCharCount || null\" (keydown)=\"restrictNumberOnly($event)\">\r\n\r\n<ng-template #previewModeTemplate>\r\n <span class=\"assessment-text-regular-13 assessment-text-grey-nine\">{{ formControl.value }}</span>\r\n</ng-template>", styles: [".assessment-text-grey-ten{color:var(--assessment-grey-ten)!important}.assessment-bg-grey-ten{background-color:var(--assessment-grey-ten)!important}.assessment-text-grey-nine{color:var(--assessment-grey-nine)!important}.assessment-bg-grey-nine{background-color:var(--assessment-grey-nine)!important}.assessment-text-grey-eight{color:var(--assessment-grey-eight)!important}.assessment-bg-grey-eight{background-color:var(--assessment-grey-eight)!important}.assessment-text-grey-seven{color:var(--assessment-grey-seven)!important}.assessment-bg-grey-seven{background-color:var(--assessment-grey-seven)!important}.assessment-text-grey-six{color:var(--assessment-grey-six)!important}.assessment-bg-grey-six{background-color:var(--assessment-grey-six)!important}.assessment-text-grey-five{color:var(--assessment-grey-five)!important}.assessment-bg-grey-five{background-color:var(--assessment-grey-five)!important}.assessment-text-grey-four{color:var(--assessment-grey-four)!important}.assessment-bg-grey-four{background-color:var(--assessment-grey-four)!important}.assessment-text-grey-three{color:var(--assessment-grey-three)!important}.assessment-bg-grey-three{background-color:var(--assessment-grey-three)!important}.assessment-text-grey-two{color:var(--assessment-grey-two)!important}.assessment-bg-grey-two{background-color:var(--assessment-grey-two)!important}.assessment-text-grey-one{color:var(--assessment-grey-one)!important}.assessment-bg-grey-one{background-color:var(--assessment-grey-one)!important}.assessment-text-white{color:var(--assessment-white)!important}.assessment-bg-white{background-color:var(--assessment-white)!important}.assessment-text-black{color:var(--assessment-black)!important}.assessment-bg-black{background-color:var(--assessment-black)!important}.assessment-text-danger{color:var(--assessment-danger)!important}.assessment-bg-danger{background-color:var(--assessment-danger)!important}.assessment-text-primary-one{color:var(--assessment-primary-one)!important}.assessment-bg-primary-one{background-color:var(--assessment-primary-one)!important}.assessment-text-primary-four{color:var(--assessment-primary-four)!important}.assessment-bg-primary-four{background-color:var(--assessment-primary-four)!important}.assessment-text-palette-EDF3FD{color:var(--assessment-palette-EDF3FD)!important}.assessment-bg-palette-EDF3FD{background-color:var(--assessment-palette-EDF3FD)!important}.assessment-text-palette-C8DAF9{color:var(--assessment-palette-C8DAF9)!important}.assessment-bg-palette-C8DAF9{background-color:var(--assessment-palette-C8DAF9)!important}.assessment-text-palette-ADC9F6{color:var(--assessment-palette-ADC9F6)!important}.assessment-bg-palette-ADC9F6{background-color:var(--assessment-palette-ADC9F6)!important}.assessment-text-palette-FEF9F1{color:var(--assessment-palette-FEF9F1)!important}.assessment-bg-palette-FEF9F1{background-color:var(--assessment-palette-FEF9F1)!important}.assessment-text-palette-F9DAA6{color:var(--assessment-palette-F9DAA6)!important}.assessment-bg-palette-F9DAA6{background-color:var(--assessment-palette-F9DAA6)!important}.assessment-text-palette-E8F7F0{color:var(--assessment-palette-E8F7F0)!important}.assessment-bg-palette-E8F7F0{background-color:var(--assessment-palette-E8F7F0)!important}.assessment-text-palette-B7E7CF{color:var(--assessment-palette-B7E7CF)!important}.assessment-bg-palette-B7E7CF{background-color:var(--assessment-palette-B7E7CF)!important}.assessment-box-shadow-one{box-shadow:var(--assessment-box-shadow-one)!important}.assessment-border-radius-one{border-radius:var(--assessment-border-radius-one)!important}.assessment-border-radius-two{border-radius:var(--assessment-border-radius-two)!important}.assessment-border-radius-three{border-radius:var(--assessment-border-radius-three)!important}.assessment-border-radius-four{border-radius:var(--assessment-border-radius-four)!important}.assessment-border-radius-five{border-radius:var(--assessment-border-radius-five)!important}.assessment-border-radius-six{border-radius:var(--assessment-border-radius-six)!important}.assessment-input-border-one{border:var(--assessment-input-border-one)!important}.assessment-input-border-invalid{border:var(--assessment-input-border-invalid)!important}.assessment-input-focus-border{border:var(--assessment-input-focus-border)!important}.assessment-border-two{border:var(--assessment-border-two)!important}.assessment-card-border{border:var(--assessment-card-border)!important}.assessment-tooltip-border{border:var(--assessment-tooltip-border)!important}.assessment-box-shadow-tooltip{box-shadow:var(--assessment-box-shadow-tooltip)!important}.assessment-button-padding{padding:var(--assessment-button-padding)!important}.assessment-button-padding-large{padding:var(--assessment-button-padding-large)!important}.assessment-input-padding{padding:var(--assessment-input-padding)!important}.assessment-text-font-family{color:var(--assessment-font-family)!important}.assessment-bg-font-family{background-color:var(--assessment-font-family)!important}.assessment-text-regular-12{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-bold-12{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-semibold-12{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-semibold-11{font-weight:600;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-medium-11{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-regular-11{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-medium-12{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-regular-13{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-bold-13{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-semibold-13{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-medium-13{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-regular-14{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-bold-14{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-medium-14{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw)!important;line-height:calc(1.2rem + .2vw)!important}.assessment-text-semibold-14{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-semibold-10{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.55rem + .1vw);line-height:calc(1rem + .1vw)}.assessment-text-regular-10{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.55rem + .1vw)!important;line-height:calc(1rem + .1vw)}.assessment-text-regular-15{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.85rem + .1vw);line-height:calc(1.4rem + .1vw)}.assessment-text-medium-15{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-semibold-15{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-bold-15{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-regular-16{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-semibold-16{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-bold-16{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-medium-16{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-regular-20{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-bold-20{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-semibold-20{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-medium-20{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-medium-18{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .1vw)!important}.assessment-text-regular-18{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .3vw)!important}.assessment-text-bold-18{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw);line-height:calc(1.5rem + .1vw)}.assessment-text-semibold-18{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .1vw)!important}.assessment-text-bold-34{overflow-wrap:break-word;font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(2rem + .15vw);line-height:calc(2.5rem + .15vw)}.assessment-text-medium-34{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(2rem + .15vw);line-height:calc(2.5rem + .15vw)}.assessment-text-bold-32{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.3rem + .75vw);line-height:calc(1.625rem + .5vw)}.assessment-text-bold-22{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-regular-22{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-semibold-22{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-medium-22{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-bold-24{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-regular-24{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-semibold-24{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-medium-24{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.8rem + .75vw);line-height:calc(1.2rem + .75vw)}.assessment-text-regular-26{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-medium-26{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-bold-26{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-semibold-26{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-regular-28{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-medium-28{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-semibold-28{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw);letter-spacing:1}.assessment-text-bold-28{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-regular-30{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .4vw)}.assessment-text-medium-30{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-bold-30{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .4vw);line-height:calc(2rem + .4vw)}.assessment-text-semibold-30{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .4vw);line-height:calc(1.5rem + .4vw);letter-spacing:.5}.assessment-text-bold-36{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(2rem + .25vw);line-height:calc(2.5rem + .3vw)}.assessment-text-semibold-36{font-weight:600;font-family:var(--assessment-font-family);font-size:calc(2rem + .25vw);line-height:calc(2.5rem + .3vw)}@media (min-height: 100vw) and (orientation: portrait){.assessment-text-bold-34{font-size:calc(1.8rem + .15vh);line-height:calc(2.2rem + .15vh)}.assessment-text-bold-32{font-size:calc(1.3rem + 1vh);line-height:calc(1.5rem + 1vh)}.assessment-text-semibold-30{font-size:calc(1.5rem + .4vh);line-height:calc(1.8rem + .4vh)}.assessment-text-medium-24{line-height:2.188rem}.assessment-text-medium-24,.assessment-text-regular-24,.assessment-text-semibold-24,.assessment-text-bold-24,.assessment-text-light-24{font-size:calc(1.3rem + .5vh);line-height:calc(1.8rem + .5vh)}.assessment-text-medium-18,.assessment-text-regular-18,.assessment-text-bold-18,.assessment-text-semibold-18,.assessment-text-light-18{font-size:calc(1rem + .1vh)!important;line-height:calc(1.6rem + .1vh)!important}.assessment-text-light-16,.assessment-text-bold-16{font-size:calc(.9rem + .3vh)!important;line-height:calc(1.2rem + .3vh)!important}.assessment-text-medium-16,.assessment-text-semibold-16,.assessment-text-regular-16{font-size:calc(.9rem + .2vh)!important;line-height:calc(1.4rem + .2vh)!important}.assessment-text-regular-15,.assessment-text-semibold-15,.assessment-text-bold-15,.assessment-text-light-15{font-size:calc(.8rem + .2vh);line-height:calc(1.27rem + .2vh)}.assessment-text-medium-15{font-size:calc(.8rem + .2vh);line-height:calc(1.27rem + .2vh)}.assessment-text-medium-12,.assessment-text-regular-12,.assessment-text-semibold-12,.assessment-text-bold-12,.assessment-text-medium-upper-12,.assessment-text-light-12{font-size:calc(.5rem + .4vh);line-height:calc(.8rem + .4vh)}.assessment-text-medium-14,.assessment-text-regular-14,.assessment-text-light-14,.assessment-text-medium-upper-14,.assessment-text-semibold-14,.assessment-text-bold-14{font-size:calc(.8rem + .1vh)!important;line-height:calc(1.2rem + .2vh)!important}.assessment-text-regular-13,.assessment-text-medium-13,.assessment-text-semibold-13,.assessment-text-bold-13,.assessment-text-light-13{font-size:calc(.7rem + .2vh)!important;line-height:calc(1rem + .3vh)!important}.assessment-text-regular-11,.assessment-text-medium-11,.assessment-text-semibold-11,.assessment-text-bold-11,.assessment-text-light-11{font-size:calc(.5rem + .2vh)!important;line-height:calc(.8rem + .2vh)!important}}.assessment-btn-primary{background-color:var(--assessment-primary-one);color:var(--assessment-white);border:.064rem solid var(--assessment-primary-one);border-radius:var(--assessment-border-radius-two)}.assessment-btn-primary-transparent{background-color:var(--assessment-white);color:var(--assessment-primary-one);border-radius:var(--assessment-border-radius-two);border:.064rem solid var(--assessment-primary-one)}.assessment-zoom-animation{transition:transform .2s ease;transform:translateZ(0);text-rendering:optimizeLegibility}.assessment-zoom-animation:hover{transform:scale(1.03)}.assessment-zoom-animation:active{transform:scale(1)}.assessment-zoom-animation:disabled{transform:none!important}.change-direction{transform:rotate(180deg);transition:.3s ease-out}.change-direction-reverse{transform:rotate(0);transition:.3s ease-out}.outline-0{outline:none}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.action-icon{width:1.2rem}.mat-menu-item{height:inherit}\n"], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i1$2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }] });
|
|
457
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionTypeShortComponent, decorators: [{
|
|
458
|
+
type: Component,
|
|
459
|
+
args: [{
|
|
460
|
+
selector: 'lib-question-type-short',
|
|
461
|
+
templateUrl: './question-type-short.component.html',
|
|
462
|
+
styleUrls: ['./question-type-short.component.scss']
|
|
463
|
+
}]
|
|
464
|
+
}], ctorParameters: function () { return [{ type: i1$2.NgControl, decorators: [{
|
|
465
|
+
type: Optional
|
|
466
|
+
}, {
|
|
467
|
+
type: Self
|
|
468
|
+
}] }]; }, propDecorators: { required: [{
|
|
469
|
+
type: Input
|
|
470
|
+
}], question: [{
|
|
471
|
+
type: Input
|
|
472
|
+
}], previewMode: [{
|
|
473
|
+
type: Input
|
|
474
|
+
}], labelConfig: [{
|
|
475
|
+
type: Input
|
|
476
|
+
}] } });
|
|
477
|
+
|
|
478
|
+
class QuestionTypeLongComponent {
|
|
479
|
+
constructor(ngControl) {
|
|
480
|
+
this.ngControl = ngControl;
|
|
481
|
+
this.previewMode = false;
|
|
482
|
+
this.labelConfig = {};
|
|
483
|
+
this.formControl = new FormControl('');
|
|
484
|
+
this.onTouched = () => { };
|
|
485
|
+
if (this.ngControl != null) {
|
|
486
|
+
this.ngControl.valueAccessor = this;
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
checkFormControlValid() {
|
|
490
|
+
var _a, _b, _c, _d;
|
|
491
|
+
if (((_b = (_a = this.ngControl) === null || _a === void 0 ? void 0 : _a.control) === null || _b === void 0 ? void 0 : _b.touched) && ((_d = (_c = this.ngControl) === null || _c === void 0 ? void 0 : _c.control) === null || _d === void 0 ? void 0 : _d.invalid)) {
|
|
492
|
+
return 'assessment-input-border-invalid';
|
|
493
|
+
}
|
|
494
|
+
return '';
|
|
495
|
+
}
|
|
496
|
+
writeValue(value) {
|
|
497
|
+
if (value !== undefined && value !== null) {
|
|
498
|
+
this.formControl.setValue(value, { emitEvent: false });
|
|
499
|
+
}
|
|
500
|
+
else {
|
|
501
|
+
this.formControl.setValue('', { emitEvent: false });
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
registerOnChange(fn) {
|
|
505
|
+
this.formControl.valueChanges.subscribe((val) => fn(val));
|
|
506
|
+
}
|
|
507
|
+
registerOnTouched(fn) {
|
|
508
|
+
this.onTouched = fn;
|
|
509
|
+
}
|
|
510
|
+
setDisabledState(isDisabled) {
|
|
511
|
+
if (isDisabled) {
|
|
512
|
+
this.formControl.disable({ emitEvent: false });
|
|
513
|
+
}
|
|
514
|
+
else {
|
|
515
|
+
this.formControl.enable({ emitEvent: false });
|
|
516
|
+
}
|
|
517
|
+
}
|
|
518
|
+
get maxCharCount() {
|
|
519
|
+
var _a, _b;
|
|
520
|
+
const config = (_b = (_a = this.question) === null || _a === void 0 ? void 0 : _a.questionConfigs) === null || _b === void 0 ? void 0 : _b.find(c => c.configKey === 'maxCharacterCount');
|
|
521
|
+
return config ? Number(config.configValue) : 0;
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
QuestionTypeLongComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionTypeLongComponent, deps: [{ token: i1$2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
525
|
+
QuestionTypeLongComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: QuestionTypeLongComponent, selector: "lib-question-type-long", inputs: { required: "required", question: "question", previewMode: "previewMode", labelConfig: "labelConfig" }, ngImport: i0, template: "<textarea *ngIf=\"!previewMode else previewModeTemplate\" [ngClass]=\"checkFormControlValid()\" [id]=\"question.id\"\r\n [formControl]=\"formControl\"\r\n class=\"col-12 assessment-text-regular-13 assessment-input-border-one assessment-border-radius-two assessment-input-padding outline-0 assessment-bg-grey-one\"\r\n [placeholder]=\"labelConfig['COMMONS_ASSESSMENT.PLACEHOLDER.ANSWER']\" [required]=\"required\" (blur)=\"onTouched()\" rows=\"4\"\r\n [attr.maxlength]=\"maxCharCount || null\"></textarea>\r\n\r\n<ng-template #previewModeTemplate>\r\n <span class=\"assessment-text-regular-13 assessment-text-grey-nine\">{{ formControl.value }}</span>\r\n</ng-template>", styles: [".assessment-text-grey-ten{color:var(--assessment-grey-ten)!important}.assessment-bg-grey-ten{background-color:var(--assessment-grey-ten)!important}.assessment-text-grey-nine{color:var(--assessment-grey-nine)!important}.assessment-bg-grey-nine{background-color:var(--assessment-grey-nine)!important}.assessment-text-grey-eight{color:var(--assessment-grey-eight)!important}.assessment-bg-grey-eight{background-color:var(--assessment-grey-eight)!important}.assessment-text-grey-seven{color:var(--assessment-grey-seven)!important}.assessment-bg-grey-seven{background-color:var(--assessment-grey-seven)!important}.assessment-text-grey-six{color:var(--assessment-grey-six)!important}.assessment-bg-grey-six{background-color:var(--assessment-grey-six)!important}.assessment-text-grey-five{color:var(--assessment-grey-five)!important}.assessment-bg-grey-five{background-color:var(--assessment-grey-five)!important}.assessment-text-grey-four{color:var(--assessment-grey-four)!important}.assessment-bg-grey-four{background-color:var(--assessment-grey-four)!important}.assessment-text-grey-three{color:var(--assessment-grey-three)!important}.assessment-bg-grey-three{background-color:var(--assessment-grey-three)!important}.assessment-text-grey-two{color:var(--assessment-grey-two)!important}.assessment-bg-grey-two{background-color:var(--assessment-grey-two)!important}.assessment-text-grey-one{color:var(--assessment-grey-one)!important}.assessment-bg-grey-one{background-color:var(--assessment-grey-one)!important}.assessment-text-white{color:var(--assessment-white)!important}.assessment-bg-white{background-color:var(--assessment-white)!important}.assessment-text-black{color:var(--assessment-black)!important}.assessment-bg-black{background-color:var(--assessment-black)!important}.assessment-text-danger{color:var(--assessment-danger)!important}.assessment-bg-danger{background-color:var(--assessment-danger)!important}.assessment-text-primary-one{color:var(--assessment-primary-one)!important}.assessment-bg-primary-one{background-color:var(--assessment-primary-one)!important}.assessment-text-primary-four{color:var(--assessment-primary-four)!important}.assessment-bg-primary-four{background-color:var(--assessment-primary-four)!important}.assessment-text-palette-EDF3FD{color:var(--assessment-palette-EDF3FD)!important}.assessment-bg-palette-EDF3FD{background-color:var(--assessment-palette-EDF3FD)!important}.assessment-text-palette-C8DAF9{color:var(--assessment-palette-C8DAF9)!important}.assessment-bg-palette-C8DAF9{background-color:var(--assessment-palette-C8DAF9)!important}.assessment-text-palette-ADC9F6{color:var(--assessment-palette-ADC9F6)!important}.assessment-bg-palette-ADC9F6{background-color:var(--assessment-palette-ADC9F6)!important}.assessment-text-palette-FEF9F1{color:var(--assessment-palette-FEF9F1)!important}.assessment-bg-palette-FEF9F1{background-color:var(--assessment-palette-FEF9F1)!important}.assessment-text-palette-F9DAA6{color:var(--assessment-palette-F9DAA6)!important}.assessment-bg-palette-F9DAA6{background-color:var(--assessment-palette-F9DAA6)!important}.assessment-text-palette-E8F7F0{color:var(--assessment-palette-E8F7F0)!important}.assessment-bg-palette-E8F7F0{background-color:var(--assessment-palette-E8F7F0)!important}.assessment-text-palette-B7E7CF{color:var(--assessment-palette-B7E7CF)!important}.assessment-bg-palette-B7E7CF{background-color:var(--assessment-palette-B7E7CF)!important}.assessment-box-shadow-one{box-shadow:var(--assessment-box-shadow-one)!important}.assessment-border-radius-one{border-radius:var(--assessment-border-radius-one)!important}.assessment-border-radius-two{border-radius:var(--assessment-border-radius-two)!important}.assessment-border-radius-three{border-radius:var(--assessment-border-radius-three)!important}.assessment-border-radius-four{border-radius:var(--assessment-border-radius-four)!important}.assessment-border-radius-five{border-radius:var(--assessment-border-radius-five)!important}.assessment-border-radius-six{border-radius:var(--assessment-border-radius-six)!important}.assessment-input-border-one{border:var(--assessment-input-border-one)!important}.assessment-input-border-invalid{border:var(--assessment-input-border-invalid)!important}.assessment-input-focus-border{border:var(--assessment-input-focus-border)!important}.assessment-border-two{border:var(--assessment-border-two)!important}.assessment-card-border{border:var(--assessment-card-border)!important}.assessment-tooltip-border{border:var(--assessment-tooltip-border)!important}.assessment-box-shadow-tooltip{box-shadow:var(--assessment-box-shadow-tooltip)!important}.assessment-button-padding{padding:var(--assessment-button-padding)!important}.assessment-button-padding-large{padding:var(--assessment-button-padding-large)!important}.assessment-input-padding{padding:var(--assessment-input-padding)!important}.assessment-text-font-family{color:var(--assessment-font-family)!important}.assessment-bg-font-family{background-color:var(--assessment-font-family)!important}.assessment-text-regular-12{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-bold-12{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-semibold-12{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-semibold-11{font-weight:600;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-medium-11{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-regular-11{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-medium-12{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-regular-13{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-bold-13{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-semibold-13{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-medium-13{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-regular-14{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-bold-14{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-medium-14{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw)!important;line-height:calc(1.2rem + .2vw)!important}.assessment-text-semibold-14{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-semibold-10{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.55rem + .1vw);line-height:calc(1rem + .1vw)}.assessment-text-regular-10{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.55rem + .1vw)!important;line-height:calc(1rem + .1vw)}.assessment-text-regular-15{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.85rem + .1vw);line-height:calc(1.4rem + .1vw)}.assessment-text-medium-15{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-semibold-15{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-bold-15{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-regular-16{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-semibold-16{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-bold-16{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-medium-16{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-regular-20{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-bold-20{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-semibold-20{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-medium-20{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-medium-18{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .1vw)!important}.assessment-text-regular-18{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .3vw)!important}.assessment-text-bold-18{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw);line-height:calc(1.5rem + .1vw)}.assessment-text-semibold-18{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .1vw)!important}.assessment-text-bold-34{overflow-wrap:break-word;font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(2rem + .15vw);line-height:calc(2.5rem + .15vw)}.assessment-text-medium-34{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(2rem + .15vw);line-height:calc(2.5rem + .15vw)}.assessment-text-bold-32{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.3rem + .75vw);line-height:calc(1.625rem + .5vw)}.assessment-text-bold-22{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-regular-22{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-semibold-22{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-medium-22{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-bold-24{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-regular-24{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-semibold-24{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-medium-24{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.8rem + .75vw);line-height:calc(1.2rem + .75vw)}.assessment-text-regular-26{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-medium-26{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-bold-26{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-semibold-26{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-regular-28{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-medium-28{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-semibold-28{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw);letter-spacing:1}.assessment-text-bold-28{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-regular-30{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .4vw)}.assessment-text-medium-30{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-bold-30{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .4vw);line-height:calc(2rem + .4vw)}.assessment-text-semibold-30{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .4vw);line-height:calc(1.5rem + .4vw);letter-spacing:.5}.assessment-text-bold-36{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(2rem + .25vw);line-height:calc(2.5rem + .3vw)}.assessment-text-semibold-36{font-weight:600;font-family:var(--assessment-font-family);font-size:calc(2rem + .25vw);line-height:calc(2.5rem + .3vw)}@media (min-height: 100vw) and (orientation: portrait){.assessment-text-bold-34{font-size:calc(1.8rem + .15vh);line-height:calc(2.2rem + .15vh)}.assessment-text-bold-32{font-size:calc(1.3rem + 1vh);line-height:calc(1.5rem + 1vh)}.assessment-text-semibold-30{font-size:calc(1.5rem + .4vh);line-height:calc(1.8rem + .4vh)}.assessment-text-medium-24{line-height:2.188rem}.assessment-text-medium-24,.assessment-text-regular-24,.assessment-text-semibold-24,.assessment-text-bold-24,.assessment-text-light-24{font-size:calc(1.3rem + .5vh);line-height:calc(1.8rem + .5vh)}.assessment-text-medium-18,.assessment-text-regular-18,.assessment-text-bold-18,.assessment-text-semibold-18,.assessment-text-light-18{font-size:calc(1rem + .1vh)!important;line-height:calc(1.6rem + .1vh)!important}.assessment-text-light-16,.assessment-text-bold-16{font-size:calc(.9rem + .3vh)!important;line-height:calc(1.2rem + .3vh)!important}.assessment-text-medium-16,.assessment-text-semibold-16,.assessment-text-regular-16{font-size:calc(.9rem + .2vh)!important;line-height:calc(1.4rem + .2vh)!important}.assessment-text-regular-15,.assessment-text-semibold-15,.assessment-text-bold-15,.assessment-text-light-15{font-size:calc(.8rem + .2vh);line-height:calc(1.27rem + .2vh)}.assessment-text-medium-15{font-size:calc(.8rem + .2vh);line-height:calc(1.27rem + .2vh)}.assessment-text-medium-12,.assessment-text-regular-12,.assessment-text-semibold-12,.assessment-text-bold-12,.assessment-text-medium-upper-12,.assessment-text-light-12{font-size:calc(.5rem + .4vh);line-height:calc(.8rem + .4vh)}.assessment-text-medium-14,.assessment-text-regular-14,.assessment-text-light-14,.assessment-text-medium-upper-14,.assessment-text-semibold-14,.assessment-text-bold-14{font-size:calc(.8rem + .1vh)!important;line-height:calc(1.2rem + .2vh)!important}.assessment-text-regular-13,.assessment-text-medium-13,.assessment-text-semibold-13,.assessment-text-bold-13,.assessment-text-light-13{font-size:calc(.7rem + .2vh)!important;line-height:calc(1rem + .3vh)!important}.assessment-text-regular-11,.assessment-text-medium-11,.assessment-text-semibold-11,.assessment-text-bold-11,.assessment-text-light-11{font-size:calc(.5rem + .2vh)!important;line-height:calc(.8rem + .2vh)!important}}.assessment-btn-primary{background-color:var(--assessment-primary-one);color:var(--assessment-white);border:.064rem solid var(--assessment-primary-one);border-radius:var(--assessment-border-radius-two)}.assessment-btn-primary-transparent{background-color:var(--assessment-white);color:var(--assessment-primary-one);border-radius:var(--assessment-border-radius-two);border:.064rem solid var(--assessment-primary-one)}.assessment-zoom-animation{transition:transform .2s ease;transform:translateZ(0);text-rendering:optimizeLegibility}.assessment-zoom-animation:hover{transform:scale(1.03)}.assessment-zoom-animation:active{transform:scale(1)}.assessment-zoom-animation:disabled{transform:none!important}.change-direction{transform:rotate(180deg);transition:.3s ease-out}.change-direction-reverse{transform:rotate(0);transition:.3s ease-out}.outline-0{outline:none}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.action-icon{width:1.2rem}.mat-menu-item{height:inherit}\n"], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i1$2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }] });
|
|
526
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionTypeLongComponent, decorators: [{
|
|
527
|
+
type: Component,
|
|
528
|
+
args: [{
|
|
529
|
+
selector: 'lib-question-type-long',
|
|
530
|
+
templateUrl: './question-type-long.component.html',
|
|
531
|
+
styleUrls: ['./question-type-long.component.scss']
|
|
532
|
+
}]
|
|
533
|
+
}], ctorParameters: function () { return [{ type: i1$2.NgControl, decorators: [{
|
|
534
|
+
type: Optional
|
|
535
|
+
}, {
|
|
536
|
+
type: Self
|
|
537
|
+
}] }]; }, propDecorators: { required: [{
|
|
538
|
+
type: Input
|
|
539
|
+
}], question: [{
|
|
540
|
+
type: Input
|
|
541
|
+
}], previewMode: [{
|
|
542
|
+
type: Input
|
|
543
|
+
}], labelConfig: [{
|
|
544
|
+
type: Input
|
|
545
|
+
}] } });
|
|
546
|
+
|
|
547
|
+
class TextEditorComponent {
|
|
548
|
+
constructor() {
|
|
549
|
+
this.height = 'auto';
|
|
550
|
+
this.placeholder = '';
|
|
551
|
+
this.subject = '';
|
|
552
|
+
this.preText = '';
|
|
553
|
+
this.maxLength = 100;
|
|
554
|
+
this.disabled = false;
|
|
555
|
+
this.showToolbar = true;
|
|
556
|
+
this.inputChange = new EventEmitter();
|
|
557
|
+
this.editorConfig = {
|
|
558
|
+
editable: true,
|
|
559
|
+
spellcheck: true,
|
|
560
|
+
height: 'auto',
|
|
561
|
+
translate: 'yes',
|
|
562
|
+
enableToolbar: true,
|
|
563
|
+
showToolbar: true,
|
|
564
|
+
placeholder: this.placeholder,
|
|
565
|
+
defaultParagraphSeparator: '',
|
|
566
|
+
sanitize: false,
|
|
567
|
+
toolbarPosition: 'top',
|
|
568
|
+
toolbarHiddenButtons: [
|
|
569
|
+
[
|
|
570
|
+
'undo',
|
|
571
|
+
'redo',
|
|
572
|
+
'strikeThrough',
|
|
573
|
+
'subscript',
|
|
574
|
+
'superscript',
|
|
575
|
+
'indent',
|
|
576
|
+
'outdent',
|
|
577
|
+
'insertOrderedList',
|
|
578
|
+
'heading',
|
|
579
|
+
'fontName',
|
|
580
|
+
'textColor',
|
|
581
|
+
'backgroundColor',
|
|
582
|
+
],
|
|
583
|
+
[
|
|
584
|
+
'fontSize',
|
|
585
|
+
'insertImage',
|
|
586
|
+
'insertVideo',
|
|
587
|
+
'customClasses',
|
|
588
|
+
'toggleEditorMode',
|
|
589
|
+
],
|
|
590
|
+
],
|
|
591
|
+
};
|
|
592
|
+
this.inputLength = 0;
|
|
593
|
+
}
|
|
594
|
+
ngOnChanges(changes) {
|
|
595
|
+
var _a;
|
|
596
|
+
if (changes.disabled && !changes.disabled.firstChange) {
|
|
597
|
+
this.updateDisabledState();
|
|
598
|
+
}
|
|
599
|
+
if ((_a = changes === null || changes === void 0 ? void 0 : changes.preText) === null || _a === void 0 ? void 0 : _a.currentValue) {
|
|
600
|
+
this.onValueChange(changes.preText.currentValue);
|
|
601
|
+
}
|
|
602
|
+
this.editorConfig.showToolbar = this.showToolbar;
|
|
603
|
+
}
|
|
604
|
+
ngOnInit() {
|
|
605
|
+
this.editorConfig.height = this.height;
|
|
606
|
+
this.updateDisabledState();
|
|
607
|
+
}
|
|
608
|
+
updateDisabledState() {
|
|
609
|
+
this.editorConfig.editable = !this.disabled;
|
|
610
|
+
}
|
|
611
|
+
onValueChange(event) {
|
|
612
|
+
if (event) {
|
|
613
|
+
let textAfterRemovingTags = event;
|
|
614
|
+
textAfterRemovingTags = textAfterRemovingTags.replace(/<\/?[^>]+(>|$)/g, '');
|
|
615
|
+
textAfterRemovingTags = textAfterRemovingTags.replace(/\ /g, ' ');
|
|
616
|
+
this.inputLength = textAfterRemovingTags.length;
|
|
617
|
+
}
|
|
618
|
+
this.inputChange.emit(event);
|
|
619
|
+
}
|
|
620
|
+
onPaste(event) {
|
|
621
|
+
event.preventDefault();
|
|
622
|
+
const clipboardData = event.clipboardData;
|
|
623
|
+
if (!clipboardData)
|
|
624
|
+
return;
|
|
625
|
+
let pastedText = clipboardData.getData('text/plain');
|
|
626
|
+
pastedText = this.sanitizeText(pastedText);
|
|
627
|
+
document.execCommand('insertText', false, pastedText);
|
|
628
|
+
}
|
|
629
|
+
sanitizeText(text) {
|
|
630
|
+
return text;
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
TextEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TextEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
634
|
+
TextEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TextEditorComponent, selector: "app-text-editor", inputs: { height: "height", placeholder: "placeholder", subject: "subject", preText: "preText", maxLength: "maxLength", disabled: "disabled", showToolbar: "showToolbar", editorConfig: "editorConfig" }, outputs: { inputChange: "inputChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"assessment-custom-scrollbar-thumb\">\r\n <angular-editor [placeholder]=\"placeholder\" [(ngModel)]=\"preText\" [disabled]=\"disabled\"\r\n (ngModelChange)=\"onValueChange($event)\" [config]=\"editorConfig\" (paste)=\"onPaste($event)\">\r\n </angular-editor>\r\n</div>", styles: [""], components: [{ type: i1$3.AngularEditorComponent, selector: "angular-editor", inputs: ["id", "config", "placeholder", "tabIndex"], outputs: ["html", "viewMode", "blur", "focus"] }], directives: [{ type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
635
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TextEditorComponent, decorators: [{
|
|
636
|
+
type: Component,
|
|
637
|
+
args: [{
|
|
638
|
+
selector: 'app-text-editor',
|
|
639
|
+
templateUrl: './text-editor.component.html',
|
|
640
|
+
styleUrls: ['./text-editor.component.scss']
|
|
641
|
+
}]
|
|
642
|
+
}], ctorParameters: function () { return []; }, propDecorators: { height: [{
|
|
643
|
+
type: Input
|
|
644
|
+
}], placeholder: [{
|
|
645
|
+
type: Input
|
|
646
|
+
}], subject: [{
|
|
647
|
+
type: Input
|
|
648
|
+
}], preText: [{
|
|
649
|
+
type: Input
|
|
650
|
+
}], maxLength: [{
|
|
651
|
+
type: Input
|
|
652
|
+
}], disabled: [{
|
|
653
|
+
type: Input
|
|
654
|
+
}], showToolbar: [{
|
|
655
|
+
type: Input
|
|
656
|
+
}], inputChange: [{
|
|
657
|
+
type: Output
|
|
658
|
+
}], editorConfig: [{
|
|
659
|
+
type: Input
|
|
660
|
+
}] } });
|
|
661
|
+
|
|
662
|
+
class QuestionTypeEditorComponent {
|
|
663
|
+
constructor(ngControl) {
|
|
664
|
+
this.ngControl = ngControl;
|
|
665
|
+
this.previewMode = false;
|
|
666
|
+
this.labelConfig = {};
|
|
667
|
+
this.formControl = new FormControl('');
|
|
668
|
+
this.onTouched = () => { };
|
|
669
|
+
if (this.ngControl != null) {
|
|
670
|
+
this.ngControl.valueAccessor = this;
|
|
671
|
+
}
|
|
672
|
+
}
|
|
673
|
+
checkFormControlValid() {
|
|
674
|
+
var _a, _b, _c, _d;
|
|
675
|
+
if (((_b = (_a = this.ngControl) === null || _a === void 0 ? void 0 : _a.control) === null || _b === void 0 ? void 0 : _b.touched) && ((_d = (_c = this.ngControl) === null || _c === void 0 ? void 0 : _c.control) === null || _d === void 0 ? void 0 : _d.invalid)) {
|
|
676
|
+
return 'assessment-input-border-invalid';
|
|
677
|
+
}
|
|
678
|
+
return '';
|
|
679
|
+
}
|
|
680
|
+
writeValue(value) {
|
|
681
|
+
if (value !== undefined && value !== null) {
|
|
682
|
+
this.formControl.setValue(value, { emitEvent: false });
|
|
683
|
+
}
|
|
684
|
+
else {
|
|
685
|
+
this.formControl.setValue('', { emitEvent: false });
|
|
686
|
+
}
|
|
687
|
+
}
|
|
688
|
+
registerOnChange(fn) {
|
|
689
|
+
this.formControl.valueChanges.subscribe((val) => fn(val));
|
|
690
|
+
}
|
|
691
|
+
registerOnTouched(fn) {
|
|
692
|
+
this.onTouched = fn;
|
|
693
|
+
}
|
|
694
|
+
setDisabledState(isDisabled) {
|
|
695
|
+
if (isDisabled) {
|
|
696
|
+
this.formControl.disable({ emitEvent: false });
|
|
697
|
+
}
|
|
698
|
+
else {
|
|
699
|
+
this.formControl.enable({ emitEvent: false });
|
|
700
|
+
}
|
|
701
|
+
}
|
|
702
|
+
}
|
|
703
|
+
QuestionTypeEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionTypeEditorComponent, deps: [{ token: i1$2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
704
|
+
QuestionTypeEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: QuestionTypeEditorComponent, selector: "lib-question-type-editor", inputs: { required: "required", question: "question", previewMode: "previewMode", labelConfig: "labelConfig" }, ngImport: i0, template: "<div *ngIf=\"!previewMode else previewModeTemplate\" [ngClass]=\"checkFormControlValid() ? checkFormControlValid() : 'assessment-input-border-one'\" class=\"col-12 assessment-border-radius-two overflow-hidden mb-1\" (focusout)=\"onTouched()\">\r\n <app-text-editor [preText]=\"formControl.value\"\r\n (inputChange)=\"formControl.setValue($event); formControl.markAsTouched()\" [placeholder]=\"labelConfig['COMMONS_ASSESSMENT.PLACEHOLDER.ANSWER']\"\r\n class=\"assessment-custom-angular-editor-white assessment-text-regular-13 assessment-text-grey-ten\" [height]=\"'10rem'\">\r\n </app-text-editor>\r\n</div>\r\n\r\n<ng-template #previewModeTemplate>\r\n <span class=\"assessment-text-regular-13 assessment-text-grey-nine\" [innerHTML]=\"formControl.value\"></span>\r\n</ng-template>", styles: [".assessment-text-grey-ten{color:var(--assessment-grey-ten)!important}.assessment-bg-grey-ten{background-color:var(--assessment-grey-ten)!important}.assessment-text-grey-nine{color:var(--assessment-grey-nine)!important}.assessment-bg-grey-nine{background-color:var(--assessment-grey-nine)!important}.assessment-text-grey-eight{color:var(--assessment-grey-eight)!important}.assessment-bg-grey-eight{background-color:var(--assessment-grey-eight)!important}.assessment-text-grey-seven{color:var(--assessment-grey-seven)!important}.assessment-bg-grey-seven{background-color:var(--assessment-grey-seven)!important}.assessment-text-grey-six{color:var(--assessment-grey-six)!important}.assessment-bg-grey-six{background-color:var(--assessment-grey-six)!important}.assessment-text-grey-five{color:var(--assessment-grey-five)!important}.assessment-bg-grey-five{background-color:var(--assessment-grey-five)!important}.assessment-text-grey-four{color:var(--assessment-grey-four)!important}.assessment-bg-grey-four{background-color:var(--assessment-grey-four)!important}.assessment-text-grey-three{color:var(--assessment-grey-three)!important}.assessment-bg-grey-three{background-color:var(--assessment-grey-three)!important}.assessment-text-grey-two{color:var(--assessment-grey-two)!important}.assessment-bg-grey-two{background-color:var(--assessment-grey-two)!important}.assessment-text-grey-one{color:var(--assessment-grey-one)!important}.assessment-bg-grey-one{background-color:var(--assessment-grey-one)!important}.assessment-text-white{color:var(--assessment-white)!important}.assessment-bg-white{background-color:var(--assessment-white)!important}.assessment-text-black{color:var(--assessment-black)!important}.assessment-bg-black{background-color:var(--assessment-black)!important}.assessment-text-danger{color:var(--assessment-danger)!important}.assessment-bg-danger{background-color:var(--assessment-danger)!important}.assessment-text-primary-one{color:var(--assessment-primary-one)!important}.assessment-bg-primary-one{background-color:var(--assessment-primary-one)!important}.assessment-text-primary-four{color:var(--assessment-primary-four)!important}.assessment-bg-primary-four{background-color:var(--assessment-primary-four)!important}.assessment-text-palette-EDF3FD{color:var(--assessment-palette-EDF3FD)!important}.assessment-bg-palette-EDF3FD{background-color:var(--assessment-palette-EDF3FD)!important}.assessment-text-palette-C8DAF9{color:var(--assessment-palette-C8DAF9)!important}.assessment-bg-palette-C8DAF9{background-color:var(--assessment-palette-C8DAF9)!important}.assessment-text-palette-ADC9F6{color:var(--assessment-palette-ADC9F6)!important}.assessment-bg-palette-ADC9F6{background-color:var(--assessment-palette-ADC9F6)!important}.assessment-text-palette-FEF9F1{color:var(--assessment-palette-FEF9F1)!important}.assessment-bg-palette-FEF9F1{background-color:var(--assessment-palette-FEF9F1)!important}.assessment-text-palette-F9DAA6{color:var(--assessment-palette-F9DAA6)!important}.assessment-bg-palette-F9DAA6{background-color:var(--assessment-palette-F9DAA6)!important}.assessment-text-palette-E8F7F0{color:var(--assessment-palette-E8F7F0)!important}.assessment-bg-palette-E8F7F0{background-color:var(--assessment-palette-E8F7F0)!important}.assessment-text-palette-B7E7CF{color:var(--assessment-palette-B7E7CF)!important}.assessment-bg-palette-B7E7CF{background-color:var(--assessment-palette-B7E7CF)!important}.assessment-box-shadow-one{box-shadow:var(--assessment-box-shadow-one)!important}.assessment-border-radius-one{border-radius:var(--assessment-border-radius-one)!important}.assessment-border-radius-two{border-radius:var(--assessment-border-radius-two)!important}.assessment-border-radius-three{border-radius:var(--assessment-border-radius-three)!important}.assessment-border-radius-four{border-radius:var(--assessment-border-radius-four)!important}.assessment-border-radius-five{border-radius:var(--assessment-border-radius-five)!important}.assessment-border-radius-six{border-radius:var(--assessment-border-radius-six)!important}.assessment-input-border-one{border:var(--assessment-input-border-one)!important}.assessment-input-border-invalid{border:var(--assessment-input-border-invalid)!important}.assessment-input-focus-border{border:var(--assessment-input-focus-border)!important}.assessment-border-two{border:var(--assessment-border-two)!important}.assessment-card-border{border:var(--assessment-card-border)!important}.assessment-tooltip-border{border:var(--assessment-tooltip-border)!important}.assessment-box-shadow-tooltip{box-shadow:var(--assessment-box-shadow-tooltip)!important}.assessment-button-padding{padding:var(--assessment-button-padding)!important}.assessment-button-padding-large{padding:var(--assessment-button-padding-large)!important}.assessment-input-padding{padding:var(--assessment-input-padding)!important}.assessment-text-font-family{color:var(--assessment-font-family)!important}.assessment-bg-font-family{background-color:var(--assessment-font-family)!important}.assessment-text-regular-12{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-bold-12{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-semibold-12{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-semibold-11{font-weight:600;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-medium-11{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-regular-11{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-medium-12{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-regular-13{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-bold-13{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-semibold-13{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-medium-13{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-regular-14{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-bold-14{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-medium-14{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw)!important;line-height:calc(1.2rem + .2vw)!important}.assessment-text-semibold-14{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-semibold-10{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.55rem + .1vw);line-height:calc(1rem + .1vw)}.assessment-text-regular-10{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.55rem + .1vw)!important;line-height:calc(1rem + .1vw)}.assessment-text-regular-15{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.85rem + .1vw);line-height:calc(1.4rem + .1vw)}.assessment-text-medium-15{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-semibold-15{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-bold-15{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-regular-16{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-semibold-16{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-bold-16{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-medium-16{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-regular-20{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-bold-20{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-semibold-20{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-medium-20{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-medium-18{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .1vw)!important}.assessment-text-regular-18{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .3vw)!important}.assessment-text-bold-18{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw);line-height:calc(1.5rem + .1vw)}.assessment-text-semibold-18{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .1vw)!important}.assessment-text-bold-34{overflow-wrap:break-word;font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(2rem + .15vw);line-height:calc(2.5rem + .15vw)}.assessment-text-medium-34{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(2rem + .15vw);line-height:calc(2.5rem + .15vw)}.assessment-text-bold-32{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.3rem + .75vw);line-height:calc(1.625rem + .5vw)}.assessment-text-bold-22{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-regular-22{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-semibold-22{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-medium-22{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-bold-24{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-regular-24{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-semibold-24{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-medium-24{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.8rem + .75vw);line-height:calc(1.2rem + .75vw)}.assessment-text-regular-26{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-medium-26{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-bold-26{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-semibold-26{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-regular-28{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-medium-28{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-semibold-28{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw);letter-spacing:1}.assessment-text-bold-28{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-regular-30{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .4vw)}.assessment-text-medium-30{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-bold-30{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .4vw);line-height:calc(2rem + .4vw)}.assessment-text-semibold-30{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .4vw);line-height:calc(1.5rem + .4vw);letter-spacing:.5}.assessment-text-bold-36{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(2rem + .25vw);line-height:calc(2.5rem + .3vw)}.assessment-text-semibold-36{font-weight:600;font-family:var(--assessment-font-family);font-size:calc(2rem + .25vw);line-height:calc(2.5rem + .3vw)}@media (min-height: 100vw) and (orientation: portrait){.assessment-text-bold-34{font-size:calc(1.8rem + .15vh);line-height:calc(2.2rem + .15vh)}.assessment-text-bold-32{font-size:calc(1.3rem + 1vh);line-height:calc(1.5rem + 1vh)}.assessment-text-semibold-30{font-size:calc(1.5rem + .4vh);line-height:calc(1.8rem + .4vh)}.assessment-text-medium-24{line-height:2.188rem}.assessment-text-medium-24,.assessment-text-regular-24,.assessment-text-semibold-24,.assessment-text-bold-24,.assessment-text-light-24{font-size:calc(1.3rem + .5vh);line-height:calc(1.8rem + .5vh)}.assessment-text-medium-18,.assessment-text-regular-18,.assessment-text-bold-18,.assessment-text-semibold-18,.assessment-text-light-18{font-size:calc(1rem + .1vh)!important;line-height:calc(1.6rem + .1vh)!important}.assessment-text-light-16,.assessment-text-bold-16{font-size:calc(.9rem + .3vh)!important;line-height:calc(1.2rem + .3vh)!important}.assessment-text-medium-16,.assessment-text-semibold-16,.assessment-text-regular-16{font-size:calc(.9rem + .2vh)!important;line-height:calc(1.4rem + .2vh)!important}.assessment-text-regular-15,.assessment-text-semibold-15,.assessment-text-bold-15,.assessment-text-light-15{font-size:calc(.8rem + .2vh);line-height:calc(1.27rem + .2vh)}.assessment-text-medium-15{font-size:calc(.8rem + .2vh);line-height:calc(1.27rem + .2vh)}.assessment-text-medium-12,.assessment-text-regular-12,.assessment-text-semibold-12,.assessment-text-bold-12,.assessment-text-medium-upper-12,.assessment-text-light-12{font-size:calc(.5rem + .4vh);line-height:calc(.8rem + .4vh)}.assessment-text-medium-14,.assessment-text-regular-14,.assessment-text-light-14,.assessment-text-medium-upper-14,.assessment-text-semibold-14,.assessment-text-bold-14{font-size:calc(.8rem + .1vh)!important;line-height:calc(1.2rem + .2vh)!important}.assessment-text-regular-13,.assessment-text-medium-13,.assessment-text-semibold-13,.assessment-text-bold-13,.assessment-text-light-13{font-size:calc(.7rem + .2vh)!important;line-height:calc(1rem + .3vh)!important}.assessment-text-regular-11,.assessment-text-medium-11,.assessment-text-semibold-11,.assessment-text-bold-11,.assessment-text-light-11{font-size:calc(.5rem + .2vh)!important;line-height:calc(.8rem + .2vh)!important}}.assessment-btn-primary{background-color:var(--assessment-primary-one);color:var(--assessment-white);border:.064rem solid var(--assessment-primary-one);border-radius:var(--assessment-border-radius-two)}.assessment-btn-primary-transparent{background-color:var(--assessment-white);color:var(--assessment-primary-one);border-radius:var(--assessment-border-radius-two);border:.064rem solid var(--assessment-primary-one)}.assessment-zoom-animation{transition:transform .2s ease;transform:translateZ(0);text-rendering:optimizeLegibility}.assessment-zoom-animation:hover{transform:scale(1.03)}.assessment-zoom-animation:active{transform:scale(1)}.assessment-zoom-animation:disabled{transform:none!important}.change-direction{transform:rotate(180deg);transition:.3s ease-out}.change-direction-reverse{transform:rotate(0);transition:.3s ease-out}.outline-0{outline:none}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.action-icon{width:1.2rem}.mat-menu-item{height:inherit}\n"], components: [{ type: TextEditorComponent, selector: "app-text-editor", inputs: ["height", "placeholder", "subject", "preText", "maxLength", "disabled", "showToolbar", "editorConfig"], outputs: ["inputChange"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
705
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionTypeEditorComponent, decorators: [{
|
|
706
|
+
type: Component,
|
|
707
|
+
args: [{
|
|
708
|
+
selector: 'lib-question-type-editor',
|
|
709
|
+
templateUrl: './question-type-editor.component.html',
|
|
710
|
+
styleUrls: ['./question-type-editor.component.scss']
|
|
711
|
+
}]
|
|
712
|
+
}], ctorParameters: function () { return [{ type: i1$2.NgControl, decorators: [{
|
|
713
|
+
type: Optional
|
|
714
|
+
}, {
|
|
715
|
+
type: Self
|
|
716
|
+
}] }]; }, propDecorators: { required: [{
|
|
717
|
+
type: Input
|
|
718
|
+
}], question: [{
|
|
719
|
+
type: Input
|
|
720
|
+
}], previewMode: [{
|
|
721
|
+
type: Input
|
|
722
|
+
}], labelConfig: [{
|
|
723
|
+
type: Input
|
|
724
|
+
}] } });
|
|
725
|
+
|
|
726
|
+
class OrderByPipe {
|
|
727
|
+
transform(array, field = 'orderNo') {
|
|
728
|
+
if (!Array.isArray(array)) {
|
|
729
|
+
return array || [];
|
|
730
|
+
}
|
|
731
|
+
return [...array].sort((a, b) => {
|
|
732
|
+
var _a, _b;
|
|
733
|
+
const valA = (_a = a === null || a === void 0 ? void 0 : a[field]) !== null && _a !== void 0 ? _a : 0;
|
|
734
|
+
const valB = (_b = b === null || b === void 0 ? void 0 : b[field]) !== null && _b !== void 0 ? _b : 0;
|
|
735
|
+
return valA - valB;
|
|
736
|
+
});
|
|
737
|
+
}
|
|
738
|
+
}
|
|
739
|
+
OrderByPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: OrderByPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
740
|
+
OrderByPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: OrderByPipe, name: "orderBy" });
|
|
741
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: OrderByPipe, decorators: [{
|
|
742
|
+
type: Pipe,
|
|
743
|
+
args: [{
|
|
744
|
+
name: 'orderBy',
|
|
745
|
+
pure: true
|
|
746
|
+
}]
|
|
747
|
+
}] });
|
|
748
|
+
|
|
749
|
+
class QuestionTypeObjectiveComponent {
|
|
750
|
+
constructor(ngControl) {
|
|
751
|
+
this.ngControl = ngControl;
|
|
752
|
+
this.viewChild = new EventEmitter();
|
|
753
|
+
this.formControl = new FormControl();
|
|
754
|
+
this.onTouchedFn = () => { };
|
|
755
|
+
if (this.ngControl != null) {
|
|
756
|
+
this.ngControl.valueAccessor = this;
|
|
757
|
+
}
|
|
758
|
+
}
|
|
759
|
+
writeValue(value) {
|
|
760
|
+
var _a, _b, _c, _d, _e;
|
|
761
|
+
if (value) {
|
|
762
|
+
let selectedOption = (_c = (_b = (_a = this.question) === null || _a === void 0 ? void 0 : _a.defaultOptionsList) === null || _b === void 0 ? void 0 : _b.find((o) => o.options.id === value)) === null || _c === void 0 ? void 0 : _c.options;
|
|
763
|
+
let option = (_e = (_d = this.question) === null || _d === void 0 ? void 0 : _d.defaultOptionsList) === null || _e === void 0 ? void 0 : _e.find((o) => o.options.id === value);
|
|
764
|
+
if (selectedOption) {
|
|
765
|
+
setTimeout(() => {
|
|
766
|
+
this.formControl.patchValue(selectedOption);
|
|
767
|
+
this.optionDetection(option, true);
|
|
768
|
+
}, 1000);
|
|
769
|
+
}
|
|
770
|
+
}
|
|
771
|
+
else {
|
|
772
|
+
this.formControl.setValue(value);
|
|
773
|
+
}
|
|
774
|
+
}
|
|
775
|
+
registerOnChange(fn) {
|
|
776
|
+
this.formControl.valueChanges.subscribe((val) => fn(val));
|
|
777
|
+
}
|
|
778
|
+
registerOnTouched(fn) {
|
|
779
|
+
this.onTouchedFn = fn;
|
|
780
|
+
}
|
|
781
|
+
setDisabledState(isDisabled) {
|
|
782
|
+
if (isDisabled) {
|
|
783
|
+
this.formControl.disable({ emitEvent: false });
|
|
784
|
+
}
|
|
785
|
+
else {
|
|
786
|
+
this.formControl.enable({ emitEvent: false });
|
|
787
|
+
}
|
|
788
|
+
}
|
|
789
|
+
onChildDataChanged(data) {
|
|
790
|
+
this.viewChild.emit(data);
|
|
791
|
+
}
|
|
792
|
+
optionDetection(obj, detectFromEdit) {
|
|
793
|
+
let data = {
|
|
794
|
+
question: this.question,
|
|
795
|
+
list: obj['childQuestionList'],
|
|
796
|
+
detectFrom: detectFromEdit
|
|
797
|
+
};
|
|
798
|
+
this.viewChild.emit(data);
|
|
799
|
+
return;
|
|
800
|
+
}
|
|
801
|
+
onTouched() {
|
|
802
|
+
this.onTouchedFn();
|
|
803
|
+
}
|
|
804
|
+
checkFormControlValid() {
|
|
805
|
+
var _a, _b, _c, _d;
|
|
806
|
+
if (((_b = (_a = this.ngControl) === null || _a === void 0 ? void 0 : _a.control) === null || _b === void 0 ? void 0 : _b.touched) && ((_d = (_c = this.ngControl) === null || _c === void 0 ? void 0 : _c.control) === null || _d === void 0 ? void 0 : _d.invalid)) {
|
|
807
|
+
return 'assessment-error-text assessment-text-danger';
|
|
808
|
+
}
|
|
809
|
+
return '';
|
|
810
|
+
}
|
|
811
|
+
}
|
|
812
|
+
QuestionTypeObjectiveComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionTypeObjectiveComponent, deps: [{ token: i1$2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
813
|
+
QuestionTypeObjectiveComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: QuestionTypeObjectiveComponent, selector: "lib-question-type-objective", inputs: { required: "required", question: "question" }, outputs: { viewChild: "viewChild" }, ngImport: i0, template: "<mat-radio-group [formControl]=\"formControl\" class=\"d-flex flex-column gap-3 assessment-radio-buttons mt-3\" (blur)=\"onTouched()\">\r\n <ng-container *ngFor=\"let option of question.defaultOptionsList | orderBy\">\r\n <mat-radio-button class=\"assessment-text-medium-13\" (change)=\"optionDetection(option, false)\"\r\n (viewChild)=\"onChildDataChanged($event)\" [value]=\"option.options\" [required]=\"required\">\r\n <span class=\"text-wrap assessment-text-grey-ten\" [innerHtml]=\"option.options.optionName[0]?.text\"></span>\r\n </mat-radio-button>\r\n </ng-container>\r\n</mat-radio-group>", styles: [".assessment-text-grey-ten{color:var(--assessment-grey-ten)!important}.assessment-bg-grey-ten{background-color:var(--assessment-grey-ten)!important}.assessment-text-grey-nine{color:var(--assessment-grey-nine)!important}.assessment-bg-grey-nine{background-color:var(--assessment-grey-nine)!important}.assessment-text-grey-eight{color:var(--assessment-grey-eight)!important}.assessment-bg-grey-eight{background-color:var(--assessment-grey-eight)!important}.assessment-text-grey-seven{color:var(--assessment-grey-seven)!important}.assessment-bg-grey-seven{background-color:var(--assessment-grey-seven)!important}.assessment-text-grey-six{color:var(--assessment-grey-six)!important}.assessment-bg-grey-six{background-color:var(--assessment-grey-six)!important}.assessment-text-grey-five{color:var(--assessment-grey-five)!important}.assessment-bg-grey-five{background-color:var(--assessment-grey-five)!important}.assessment-text-grey-four{color:var(--assessment-grey-four)!important}.assessment-bg-grey-four{background-color:var(--assessment-grey-four)!important}.assessment-text-grey-three{color:var(--assessment-grey-three)!important}.assessment-bg-grey-three{background-color:var(--assessment-grey-three)!important}.assessment-text-grey-two{color:var(--assessment-grey-two)!important}.assessment-bg-grey-two{background-color:var(--assessment-grey-two)!important}.assessment-text-grey-one{color:var(--assessment-grey-one)!important}.assessment-bg-grey-one{background-color:var(--assessment-grey-one)!important}.assessment-text-white{color:var(--assessment-white)!important}.assessment-bg-white{background-color:var(--assessment-white)!important}.assessment-text-black{color:var(--assessment-black)!important}.assessment-bg-black{background-color:var(--assessment-black)!important}.assessment-text-danger{color:var(--assessment-danger)!important}.assessment-bg-danger{background-color:var(--assessment-danger)!important}.assessment-text-primary-one{color:var(--assessment-primary-one)!important}.assessment-bg-primary-one{background-color:var(--assessment-primary-one)!important}.assessment-text-primary-four{color:var(--assessment-primary-four)!important}.assessment-bg-primary-four{background-color:var(--assessment-primary-four)!important}.assessment-text-palette-EDF3FD{color:var(--assessment-palette-EDF3FD)!important}.assessment-bg-palette-EDF3FD{background-color:var(--assessment-palette-EDF3FD)!important}.assessment-text-palette-C8DAF9{color:var(--assessment-palette-C8DAF9)!important}.assessment-bg-palette-C8DAF9{background-color:var(--assessment-palette-C8DAF9)!important}.assessment-text-palette-ADC9F6{color:var(--assessment-palette-ADC9F6)!important}.assessment-bg-palette-ADC9F6{background-color:var(--assessment-palette-ADC9F6)!important}.assessment-text-palette-FEF9F1{color:var(--assessment-palette-FEF9F1)!important}.assessment-bg-palette-FEF9F1{background-color:var(--assessment-palette-FEF9F1)!important}.assessment-text-palette-F9DAA6{color:var(--assessment-palette-F9DAA6)!important}.assessment-bg-palette-F9DAA6{background-color:var(--assessment-palette-F9DAA6)!important}.assessment-text-palette-E8F7F0{color:var(--assessment-palette-E8F7F0)!important}.assessment-bg-palette-E8F7F0{background-color:var(--assessment-palette-E8F7F0)!important}.assessment-text-palette-B7E7CF{color:var(--assessment-palette-B7E7CF)!important}.assessment-bg-palette-B7E7CF{background-color:var(--assessment-palette-B7E7CF)!important}.assessment-box-shadow-one{box-shadow:var(--assessment-box-shadow-one)!important}.assessment-border-radius-one{border-radius:var(--assessment-border-radius-one)!important}.assessment-border-radius-two{border-radius:var(--assessment-border-radius-two)!important}.assessment-border-radius-three{border-radius:var(--assessment-border-radius-three)!important}.assessment-border-radius-four{border-radius:var(--assessment-border-radius-four)!important}.assessment-border-radius-five{border-radius:var(--assessment-border-radius-five)!important}.assessment-border-radius-six{border-radius:var(--assessment-border-radius-six)!important}.assessment-input-border-one{border:var(--assessment-input-border-one)!important}.assessment-input-border-invalid{border:var(--assessment-input-border-invalid)!important}.assessment-input-focus-border{border:var(--assessment-input-focus-border)!important}.assessment-border-two{border:var(--assessment-border-two)!important}.assessment-card-border{border:var(--assessment-card-border)!important}.assessment-tooltip-border{border:var(--assessment-tooltip-border)!important}.assessment-box-shadow-tooltip{box-shadow:var(--assessment-box-shadow-tooltip)!important}.assessment-button-padding{padding:var(--assessment-button-padding)!important}.assessment-button-padding-large{padding:var(--assessment-button-padding-large)!important}.assessment-input-padding{padding:var(--assessment-input-padding)!important}.assessment-text-font-family{color:var(--assessment-font-family)!important}.assessment-bg-font-family{background-color:var(--assessment-font-family)!important}.assessment-text-regular-12{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-bold-12{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-semibold-12{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-semibold-11{font-weight:600;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-medium-11{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-regular-11{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-medium-12{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-regular-13{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-bold-13{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-semibold-13{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-medium-13{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-regular-14{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-bold-14{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-medium-14{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw)!important;line-height:calc(1.2rem + .2vw)!important}.assessment-text-semibold-14{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-semibold-10{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.55rem + .1vw);line-height:calc(1rem + .1vw)}.assessment-text-regular-10{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.55rem + .1vw)!important;line-height:calc(1rem + .1vw)}.assessment-text-regular-15{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.85rem + .1vw);line-height:calc(1.4rem + .1vw)}.assessment-text-medium-15{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-semibold-15{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-bold-15{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-regular-16{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-semibold-16{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-bold-16{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-medium-16{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-regular-20{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-bold-20{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-semibold-20{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-medium-20{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-medium-18{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .1vw)!important}.assessment-text-regular-18{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .3vw)!important}.assessment-text-bold-18{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw);line-height:calc(1.5rem + .1vw)}.assessment-text-semibold-18{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .1vw)!important}.assessment-text-bold-34{overflow-wrap:break-word;font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(2rem + .15vw);line-height:calc(2.5rem + .15vw)}.assessment-text-medium-34{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(2rem + .15vw);line-height:calc(2.5rem + .15vw)}.assessment-text-bold-32{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.3rem + .75vw);line-height:calc(1.625rem + .5vw)}.assessment-text-bold-22{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-regular-22{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-semibold-22{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-medium-22{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-bold-24{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-regular-24{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-semibold-24{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-medium-24{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.8rem + .75vw);line-height:calc(1.2rem + .75vw)}.assessment-text-regular-26{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-medium-26{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-bold-26{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-semibold-26{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-regular-28{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-medium-28{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-semibold-28{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw);letter-spacing:1}.assessment-text-bold-28{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-regular-30{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .4vw)}.assessment-text-medium-30{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-bold-30{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .4vw);line-height:calc(2rem + .4vw)}.assessment-text-semibold-30{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .4vw);line-height:calc(1.5rem + .4vw);letter-spacing:.5}.assessment-text-bold-36{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(2rem + .25vw);line-height:calc(2.5rem + .3vw)}.assessment-text-semibold-36{font-weight:600;font-family:var(--assessment-font-family);font-size:calc(2rem + .25vw);line-height:calc(2.5rem + .3vw)}@media (min-height: 100vw) and (orientation: portrait){.assessment-text-bold-34{font-size:calc(1.8rem + .15vh);line-height:calc(2.2rem + .15vh)}.assessment-text-bold-32{font-size:calc(1.3rem + 1vh);line-height:calc(1.5rem + 1vh)}.assessment-text-semibold-30{font-size:calc(1.5rem + .4vh);line-height:calc(1.8rem + .4vh)}.assessment-text-medium-24{line-height:2.188rem}.assessment-text-medium-24,.assessment-text-regular-24,.assessment-text-semibold-24,.assessment-text-bold-24,.assessment-text-light-24{font-size:calc(1.3rem + .5vh);line-height:calc(1.8rem + .5vh)}.assessment-text-medium-18,.assessment-text-regular-18,.assessment-text-bold-18,.assessment-text-semibold-18,.assessment-text-light-18{font-size:calc(1rem + .1vh)!important;line-height:calc(1.6rem + .1vh)!important}.assessment-text-light-16,.assessment-text-bold-16{font-size:calc(.9rem + .3vh)!important;line-height:calc(1.2rem + .3vh)!important}.assessment-text-medium-16,.assessment-text-semibold-16,.assessment-text-regular-16{font-size:calc(.9rem + .2vh)!important;line-height:calc(1.4rem + .2vh)!important}.assessment-text-regular-15,.assessment-text-semibold-15,.assessment-text-bold-15,.assessment-text-light-15{font-size:calc(.8rem + .2vh);line-height:calc(1.27rem + .2vh)}.assessment-text-medium-15{font-size:calc(.8rem + .2vh);line-height:calc(1.27rem + .2vh)}.assessment-text-medium-12,.assessment-text-regular-12,.assessment-text-semibold-12,.assessment-text-bold-12,.assessment-text-medium-upper-12,.assessment-text-light-12{font-size:calc(.5rem + .4vh);line-height:calc(.8rem + .4vh)}.assessment-text-medium-14,.assessment-text-regular-14,.assessment-text-light-14,.assessment-text-medium-upper-14,.assessment-text-semibold-14,.assessment-text-bold-14{font-size:calc(.8rem + .1vh)!important;line-height:calc(1.2rem + .2vh)!important}.assessment-text-regular-13,.assessment-text-medium-13,.assessment-text-semibold-13,.assessment-text-bold-13,.assessment-text-light-13{font-size:calc(.7rem + .2vh)!important;line-height:calc(1rem + .3vh)!important}.assessment-text-regular-11,.assessment-text-medium-11,.assessment-text-semibold-11,.assessment-text-bold-11,.assessment-text-light-11{font-size:calc(.5rem + .2vh)!important;line-height:calc(.8rem + .2vh)!important}}.assessment-btn-primary{background-color:var(--assessment-primary-one);color:var(--assessment-white);border:.064rem solid var(--assessment-primary-one);border-radius:var(--assessment-border-radius-two)}.assessment-btn-primary-transparent{background-color:var(--assessment-white);color:var(--assessment-primary-one);border-radius:var(--assessment-border-radius-two);border:.064rem solid var(--assessment-primary-one)}.assessment-zoom-animation{transition:transform .2s ease;transform:translateZ(0);text-rendering:optimizeLegibility}.assessment-zoom-animation:hover{transform:scale(1.03)}.assessment-zoom-animation:active{transform:scale(1)}.assessment-zoom-animation:disabled{transform:none!important}.change-direction{transform:rotate(180deg);transition:.3s ease-out}.change-direction-reverse{transform:rotate(0);transition:.3s ease-out}.outline-0{outline:none}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.action-icon{width:1.2rem}.mat-menu-item{height:inherit}\n"], components: [{ type: i2$1.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }], directives: [{ type: i2$1.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "orderBy": OrderByPipe } });
|
|
814
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionTypeObjectiveComponent, decorators: [{
|
|
815
|
+
type: Component,
|
|
816
|
+
args: [{
|
|
817
|
+
selector: 'lib-question-type-objective',
|
|
818
|
+
templateUrl: './question-type-objective.component.html',
|
|
819
|
+
styleUrls: ['./question-type-objective.component.scss']
|
|
820
|
+
}]
|
|
821
|
+
}], ctorParameters: function () { return [{ type: i1$2.NgControl, decorators: [{
|
|
822
|
+
type: Optional
|
|
823
|
+
}, {
|
|
824
|
+
type: Self
|
|
825
|
+
}] }]; }, propDecorators: { required: [{
|
|
826
|
+
type: Input
|
|
827
|
+
}], question: [{
|
|
828
|
+
type: Input
|
|
829
|
+
}], viewChild: [{
|
|
830
|
+
type: Output
|
|
831
|
+
}] } });
|
|
832
|
+
|
|
833
|
+
class QuestionTypeMultiselectComponent {
|
|
834
|
+
constructor(ngControl) {
|
|
835
|
+
this.ngControl = ngControl;
|
|
836
|
+
this.viewChild = new EventEmitter();
|
|
837
|
+
this.selectData = [];
|
|
838
|
+
this.formControl = new FormControl();
|
|
839
|
+
this.onTouchedFn = () => { };
|
|
840
|
+
if (this.ngControl != null) {
|
|
841
|
+
this.ngControl.valueAccessor = this;
|
|
842
|
+
}
|
|
843
|
+
}
|
|
844
|
+
toggleSelection(event, data) {
|
|
845
|
+
if (event.checked) {
|
|
846
|
+
this.selectData.push(data);
|
|
847
|
+
}
|
|
848
|
+
else {
|
|
849
|
+
const i = this.selectData.findIndex(value => value.id == data.id);
|
|
850
|
+
if (i > -1) {
|
|
851
|
+
this.selectData.splice(i, 1);
|
|
852
|
+
}
|
|
853
|
+
}
|
|
854
|
+
this.formControl.patchValue(this.selectData.length ? [...this.selectData] : null);
|
|
855
|
+
this.optionDetection(data, false);
|
|
856
|
+
}
|
|
857
|
+
writeValue(value) {
|
|
858
|
+
if (value && Array.isArray(value)) {
|
|
859
|
+
this.selectData = [...value];
|
|
860
|
+
this.formControl.setValue(this.selectData, { emitEvent: false });
|
|
861
|
+
}
|
|
862
|
+
else {
|
|
863
|
+
this.selectData = [];
|
|
864
|
+
this.formControl.setValue(null, { emitEvent: false });
|
|
865
|
+
}
|
|
866
|
+
}
|
|
867
|
+
getSelection(option) {
|
|
868
|
+
var _a;
|
|
869
|
+
if (this.selectData) {
|
|
870
|
+
return ((_a = this.selectData) === null || _a === void 0 ? void 0 : _a.findIndex((s) => s.id && s.id === option.id)) !== -1;
|
|
871
|
+
}
|
|
872
|
+
else
|
|
873
|
+
return false;
|
|
874
|
+
}
|
|
875
|
+
registerOnChange(fn) {
|
|
876
|
+
this.formControl.valueChanges.subscribe((val) => fn(val));
|
|
877
|
+
}
|
|
878
|
+
registerOnTouched(fn) {
|
|
879
|
+
this.onTouchedFn = fn;
|
|
880
|
+
}
|
|
881
|
+
setDisabledState(isDisabled) {
|
|
882
|
+
if (isDisabled) {
|
|
883
|
+
this.formControl.disable({ emitEvent: false });
|
|
884
|
+
}
|
|
885
|
+
else {
|
|
886
|
+
this.formControl.enable({ emitEvent: false });
|
|
887
|
+
}
|
|
888
|
+
}
|
|
889
|
+
onTouched() {
|
|
890
|
+
this.onTouchedFn();
|
|
891
|
+
}
|
|
892
|
+
checkFormControlValid() {
|
|
893
|
+
var _a, _b, _c, _d;
|
|
894
|
+
if (((_b = (_a = this.ngControl) === null || _a === void 0 ? void 0 : _a.control) === null || _b === void 0 ? void 0 : _b.touched) && ((_d = (_c = this.ngControl) === null || _c === void 0 ? void 0 : _c.control) === null || _d === void 0 ? void 0 : _d.invalid)) {
|
|
895
|
+
return 'assessment-error-text assessment-text-danger';
|
|
896
|
+
}
|
|
897
|
+
return '';
|
|
898
|
+
}
|
|
899
|
+
optionDetection(obj, detectFromEdit) {
|
|
900
|
+
var _a, _b;
|
|
901
|
+
let option = (_b = (_a = this.question) === null || _a === void 0 ? void 0 : _a.defaultOptionsList) === null || _b === void 0 ? void 0 : _b.find((o) => o.options.id === obj.id);
|
|
902
|
+
let data = {
|
|
903
|
+
question: this.question,
|
|
904
|
+
list: option === null || option === void 0 ? void 0 : option.childQuestionList,
|
|
905
|
+
detectFrom: detectFromEdit
|
|
906
|
+
};
|
|
907
|
+
this.viewChild.emit(data);
|
|
908
|
+
}
|
|
909
|
+
}
|
|
910
|
+
QuestionTypeMultiselectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionTypeMultiselectComponent, deps: [{ token: i1$2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
911
|
+
QuestionTypeMultiselectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: QuestionTypeMultiselectComponent, selector: "lib-question-type-multiselect", inputs: { required: "required", question: "question" }, outputs: { viewChild: "viewChild" }, ngImport: i0, template: "<div class=\"d-flex flex-column gap-3 assessment-checkboxes mt-3\" (focusout)=\"onTouched()\">\r\n <ng-container *ngFor=\"let option of question.defaultOptionsList | orderBy\">\r\n <mat-checkbox class=\"assessment-text-medium-13\" [checked]=\"getSelection(option.options)\" [disabled]=\"formControl.disabled\"\r\n (change)=\"toggleSelection($event, option.options)\" [value]=\"option.options\" [required]=\"required\">\r\n <span class=\"text-wrap assessment-text-grey-ten\" [innerHtml]=\"option.options.optionName[0]?.text\"></span>\r\n </mat-checkbox>\r\n </ng-container>\r\n</div>", styles: [".assessment-text-grey-ten{color:var(--assessment-grey-ten)!important}.assessment-bg-grey-ten{background-color:var(--assessment-grey-ten)!important}.assessment-text-grey-nine{color:var(--assessment-grey-nine)!important}.assessment-bg-grey-nine{background-color:var(--assessment-grey-nine)!important}.assessment-text-grey-eight{color:var(--assessment-grey-eight)!important}.assessment-bg-grey-eight{background-color:var(--assessment-grey-eight)!important}.assessment-text-grey-seven{color:var(--assessment-grey-seven)!important}.assessment-bg-grey-seven{background-color:var(--assessment-grey-seven)!important}.assessment-text-grey-six{color:var(--assessment-grey-six)!important}.assessment-bg-grey-six{background-color:var(--assessment-grey-six)!important}.assessment-text-grey-five{color:var(--assessment-grey-five)!important}.assessment-bg-grey-five{background-color:var(--assessment-grey-five)!important}.assessment-text-grey-four{color:var(--assessment-grey-four)!important}.assessment-bg-grey-four{background-color:var(--assessment-grey-four)!important}.assessment-text-grey-three{color:var(--assessment-grey-three)!important}.assessment-bg-grey-three{background-color:var(--assessment-grey-three)!important}.assessment-text-grey-two{color:var(--assessment-grey-two)!important}.assessment-bg-grey-two{background-color:var(--assessment-grey-two)!important}.assessment-text-grey-one{color:var(--assessment-grey-one)!important}.assessment-bg-grey-one{background-color:var(--assessment-grey-one)!important}.assessment-text-white{color:var(--assessment-white)!important}.assessment-bg-white{background-color:var(--assessment-white)!important}.assessment-text-black{color:var(--assessment-black)!important}.assessment-bg-black{background-color:var(--assessment-black)!important}.assessment-text-danger{color:var(--assessment-danger)!important}.assessment-bg-danger{background-color:var(--assessment-danger)!important}.assessment-text-primary-one{color:var(--assessment-primary-one)!important}.assessment-bg-primary-one{background-color:var(--assessment-primary-one)!important}.assessment-text-primary-four{color:var(--assessment-primary-four)!important}.assessment-bg-primary-four{background-color:var(--assessment-primary-four)!important}.assessment-text-palette-EDF3FD{color:var(--assessment-palette-EDF3FD)!important}.assessment-bg-palette-EDF3FD{background-color:var(--assessment-palette-EDF3FD)!important}.assessment-text-palette-C8DAF9{color:var(--assessment-palette-C8DAF9)!important}.assessment-bg-palette-C8DAF9{background-color:var(--assessment-palette-C8DAF9)!important}.assessment-text-palette-ADC9F6{color:var(--assessment-palette-ADC9F6)!important}.assessment-bg-palette-ADC9F6{background-color:var(--assessment-palette-ADC9F6)!important}.assessment-text-palette-FEF9F1{color:var(--assessment-palette-FEF9F1)!important}.assessment-bg-palette-FEF9F1{background-color:var(--assessment-palette-FEF9F1)!important}.assessment-text-palette-F9DAA6{color:var(--assessment-palette-F9DAA6)!important}.assessment-bg-palette-F9DAA6{background-color:var(--assessment-palette-F9DAA6)!important}.assessment-text-palette-E8F7F0{color:var(--assessment-palette-E8F7F0)!important}.assessment-bg-palette-E8F7F0{background-color:var(--assessment-palette-E8F7F0)!important}.assessment-text-palette-B7E7CF{color:var(--assessment-palette-B7E7CF)!important}.assessment-bg-palette-B7E7CF{background-color:var(--assessment-palette-B7E7CF)!important}.assessment-box-shadow-one{box-shadow:var(--assessment-box-shadow-one)!important}.assessment-border-radius-one{border-radius:var(--assessment-border-radius-one)!important}.assessment-border-radius-two{border-radius:var(--assessment-border-radius-two)!important}.assessment-border-radius-three{border-radius:var(--assessment-border-radius-three)!important}.assessment-border-radius-four{border-radius:var(--assessment-border-radius-four)!important}.assessment-border-radius-five{border-radius:var(--assessment-border-radius-five)!important}.assessment-border-radius-six{border-radius:var(--assessment-border-radius-six)!important}.assessment-input-border-one{border:var(--assessment-input-border-one)!important}.assessment-input-border-invalid{border:var(--assessment-input-border-invalid)!important}.assessment-input-focus-border{border:var(--assessment-input-focus-border)!important}.assessment-border-two{border:var(--assessment-border-two)!important}.assessment-card-border{border:var(--assessment-card-border)!important}.assessment-tooltip-border{border:var(--assessment-tooltip-border)!important}.assessment-box-shadow-tooltip{box-shadow:var(--assessment-box-shadow-tooltip)!important}.assessment-button-padding{padding:var(--assessment-button-padding)!important}.assessment-button-padding-large{padding:var(--assessment-button-padding-large)!important}.assessment-input-padding{padding:var(--assessment-input-padding)!important}.assessment-text-font-family{color:var(--assessment-font-family)!important}.assessment-bg-font-family{background-color:var(--assessment-font-family)!important}.assessment-text-regular-12{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-bold-12{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-semibold-12{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-semibold-11{font-weight:600;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-medium-11{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-regular-11{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-medium-12{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-regular-13{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-bold-13{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-semibold-13{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-medium-13{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-regular-14{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-bold-14{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-medium-14{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw)!important;line-height:calc(1.2rem + .2vw)!important}.assessment-text-semibold-14{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-semibold-10{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.55rem + .1vw);line-height:calc(1rem + .1vw)}.assessment-text-regular-10{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.55rem + .1vw)!important;line-height:calc(1rem + .1vw)}.assessment-text-regular-15{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.85rem + .1vw);line-height:calc(1.4rem + .1vw)}.assessment-text-medium-15{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-semibold-15{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-bold-15{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-regular-16{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-semibold-16{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-bold-16{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-medium-16{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-regular-20{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-bold-20{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-semibold-20{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-medium-20{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-medium-18{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .1vw)!important}.assessment-text-regular-18{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .3vw)!important}.assessment-text-bold-18{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw);line-height:calc(1.5rem + .1vw)}.assessment-text-semibold-18{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .1vw)!important}.assessment-text-bold-34{overflow-wrap:break-word;font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(2rem + .15vw);line-height:calc(2.5rem + .15vw)}.assessment-text-medium-34{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(2rem + .15vw);line-height:calc(2.5rem + .15vw)}.assessment-text-bold-32{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.3rem + .75vw);line-height:calc(1.625rem + .5vw)}.assessment-text-bold-22{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-regular-22{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-semibold-22{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-medium-22{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-bold-24{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-regular-24{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-semibold-24{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-medium-24{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.8rem + .75vw);line-height:calc(1.2rem + .75vw)}.assessment-text-regular-26{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-medium-26{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-bold-26{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-semibold-26{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-regular-28{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-medium-28{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-semibold-28{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw);letter-spacing:1}.assessment-text-bold-28{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-regular-30{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .4vw)}.assessment-text-medium-30{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-bold-30{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .4vw);line-height:calc(2rem + .4vw)}.assessment-text-semibold-30{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .4vw);line-height:calc(1.5rem + .4vw);letter-spacing:.5}.assessment-text-bold-36{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(2rem + .25vw);line-height:calc(2.5rem + .3vw)}.assessment-text-semibold-36{font-weight:600;font-family:var(--assessment-font-family);font-size:calc(2rem + .25vw);line-height:calc(2.5rem + .3vw)}@media (min-height: 100vw) and (orientation: portrait){.assessment-text-bold-34{font-size:calc(1.8rem + .15vh);line-height:calc(2.2rem + .15vh)}.assessment-text-bold-32{font-size:calc(1.3rem + 1vh);line-height:calc(1.5rem + 1vh)}.assessment-text-semibold-30{font-size:calc(1.5rem + .4vh);line-height:calc(1.8rem + .4vh)}.assessment-text-medium-24{line-height:2.188rem}.assessment-text-medium-24,.assessment-text-regular-24,.assessment-text-semibold-24,.assessment-text-bold-24,.assessment-text-light-24{font-size:calc(1.3rem + .5vh);line-height:calc(1.8rem + .5vh)}.assessment-text-medium-18,.assessment-text-regular-18,.assessment-text-bold-18,.assessment-text-semibold-18,.assessment-text-light-18{font-size:calc(1rem + .1vh)!important;line-height:calc(1.6rem + .1vh)!important}.assessment-text-light-16,.assessment-text-bold-16{font-size:calc(.9rem + .3vh)!important;line-height:calc(1.2rem + .3vh)!important}.assessment-text-medium-16,.assessment-text-semibold-16,.assessment-text-regular-16{font-size:calc(.9rem + .2vh)!important;line-height:calc(1.4rem + .2vh)!important}.assessment-text-regular-15,.assessment-text-semibold-15,.assessment-text-bold-15,.assessment-text-light-15{font-size:calc(.8rem + .2vh);line-height:calc(1.27rem + .2vh)}.assessment-text-medium-15{font-size:calc(.8rem + .2vh);line-height:calc(1.27rem + .2vh)}.assessment-text-medium-12,.assessment-text-regular-12,.assessment-text-semibold-12,.assessment-text-bold-12,.assessment-text-medium-upper-12,.assessment-text-light-12{font-size:calc(.5rem + .4vh);line-height:calc(.8rem + .4vh)}.assessment-text-medium-14,.assessment-text-regular-14,.assessment-text-light-14,.assessment-text-medium-upper-14,.assessment-text-semibold-14,.assessment-text-bold-14{font-size:calc(.8rem + .1vh)!important;line-height:calc(1.2rem + .2vh)!important}.assessment-text-regular-13,.assessment-text-medium-13,.assessment-text-semibold-13,.assessment-text-bold-13,.assessment-text-light-13{font-size:calc(.7rem + .2vh)!important;line-height:calc(1rem + .3vh)!important}.assessment-text-regular-11,.assessment-text-medium-11,.assessment-text-semibold-11,.assessment-text-bold-11,.assessment-text-light-11{font-size:calc(.5rem + .2vh)!important;line-height:calc(.8rem + .2vh)!important}}.assessment-btn-primary{background-color:var(--assessment-primary-one);color:var(--assessment-white);border:.064rem solid var(--assessment-primary-one);border-radius:var(--assessment-border-radius-two)}.assessment-btn-primary-transparent{background-color:var(--assessment-white);color:var(--assessment-primary-one);border-radius:var(--assessment-border-radius-two);border:.064rem solid var(--assessment-primary-one)}.assessment-zoom-animation{transition:transform .2s ease;transform:translateZ(0);text-rendering:optimizeLegibility}.assessment-zoom-animation:hover{transform:scale(1.03)}.assessment-zoom-animation:active{transform:scale(1)}.assessment-zoom-animation:disabled{transform:none!important}.change-direction{transform:rotate(180deg);transition:.3s ease-out}.change-direction-reverse{transform:rotate(0);transition:.3s ease-out}.outline-0{outline:none}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.action-icon{width:1.2rem}.mat-menu-item{height:inherit}\n"], components: [{ type: i2$2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "orderBy": OrderByPipe } });
|
|
912
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionTypeMultiselectComponent, decorators: [{
|
|
913
|
+
type: Component,
|
|
914
|
+
args: [{
|
|
915
|
+
selector: 'lib-question-type-multiselect',
|
|
916
|
+
templateUrl: './question-type-multiselect.component.html',
|
|
917
|
+
styleUrls: ['./question-type-multiselect.component.scss']
|
|
918
|
+
}]
|
|
919
|
+
}], ctorParameters: function () { return [{ type: i1$2.NgControl, decorators: [{
|
|
920
|
+
type: Optional
|
|
921
|
+
}, {
|
|
922
|
+
type: Self
|
|
923
|
+
}] }]; }, propDecorators: { required: [{
|
|
924
|
+
type: Input
|
|
925
|
+
}], question: [{
|
|
926
|
+
type: Input
|
|
927
|
+
}], viewChild: [{
|
|
928
|
+
type: Output
|
|
929
|
+
}] } });
|
|
930
|
+
|
|
931
|
+
class QuestionTypePreferenceComponent {
|
|
932
|
+
constructor(ngControl) {
|
|
933
|
+
this.ngControl = ngControl;
|
|
934
|
+
this.viewChild = new EventEmitter();
|
|
935
|
+
this.selectData = [];
|
|
936
|
+
this.formControl = new FormControl();
|
|
937
|
+
this.onTouchedFn = () => { };
|
|
938
|
+
if (this.ngControl != null) {
|
|
939
|
+
this.ngControl.valueAccessor = this;
|
|
940
|
+
}
|
|
941
|
+
}
|
|
942
|
+
toggleSelection(data) {
|
|
943
|
+
if (this.formControl.disabled)
|
|
944
|
+
return;
|
|
945
|
+
const index = this.getSelectionIndex(data);
|
|
946
|
+
if (index === -1) {
|
|
947
|
+
this.selectData.push(data);
|
|
948
|
+
}
|
|
949
|
+
else {
|
|
950
|
+
this.selectData.splice(index, 1);
|
|
951
|
+
}
|
|
952
|
+
this.formControl.patchValue(this.selectData.length ? [...this.selectData] : null);
|
|
953
|
+
this.optionDetection(data, false);
|
|
954
|
+
this.onTouched();
|
|
955
|
+
}
|
|
956
|
+
writeValue(value) {
|
|
957
|
+
if (value && Array.isArray(value)) {
|
|
958
|
+
this.selectData = [...value];
|
|
959
|
+
this.formControl.setValue(this.selectData, { emitEvent: false });
|
|
960
|
+
}
|
|
961
|
+
else {
|
|
962
|
+
this.selectData = [];
|
|
963
|
+
this.formControl.setValue(null, { emitEvent: false });
|
|
964
|
+
}
|
|
965
|
+
}
|
|
966
|
+
getSelectionIndex(option) {
|
|
967
|
+
if (this.selectData) {
|
|
968
|
+
return this.selectData.findIndex((s) => s.id && s.id === option.id);
|
|
969
|
+
}
|
|
970
|
+
else {
|
|
971
|
+
return -1;
|
|
972
|
+
}
|
|
973
|
+
}
|
|
974
|
+
registerOnChange(fn) {
|
|
975
|
+
this.formControl.valueChanges.subscribe((val) => fn(val));
|
|
976
|
+
}
|
|
977
|
+
registerOnTouched(fn) {
|
|
978
|
+
this.onTouchedFn = fn;
|
|
979
|
+
}
|
|
980
|
+
setDisabledState(isDisabled) {
|
|
981
|
+
if (isDisabled) {
|
|
982
|
+
this.formControl.disable({ emitEvent: false });
|
|
983
|
+
}
|
|
984
|
+
else {
|
|
985
|
+
this.formControl.enable({ emitEvent: false });
|
|
986
|
+
}
|
|
987
|
+
}
|
|
988
|
+
onTouched() {
|
|
989
|
+
this.onTouchedFn();
|
|
990
|
+
}
|
|
991
|
+
checkFormControlValid() {
|
|
992
|
+
var _a, _b, _c, _d;
|
|
993
|
+
if (((_b = (_a = this.ngControl) === null || _a === void 0 ? void 0 : _a.control) === null || _b === void 0 ? void 0 : _b.touched) && ((_d = (_c = this.ngControl) === null || _c === void 0 ? void 0 : _c.control) === null || _d === void 0 ? void 0 : _d.invalid)) {
|
|
994
|
+
return 'assessment-error-text assessment-text-danger';
|
|
995
|
+
}
|
|
996
|
+
return '';
|
|
997
|
+
}
|
|
998
|
+
optionDetection(obj, detectFromEdit) {
|
|
999
|
+
var _a, _b;
|
|
1000
|
+
let option = (_b = (_a = this.question) === null || _a === void 0 ? void 0 : _a.defaultOptionsList) === null || _b === void 0 ? void 0 : _b.find((o) => o.options.id === obj.id);
|
|
1001
|
+
let data = {
|
|
1002
|
+
question: this.question,
|
|
1003
|
+
list: option === null || option === void 0 ? void 0 : option.childQuestionList,
|
|
1004
|
+
detectFrom: detectFromEdit
|
|
1005
|
+
};
|
|
1006
|
+
this.viewChild.emit(data);
|
|
1007
|
+
}
|
|
1008
|
+
}
|
|
1009
|
+
QuestionTypePreferenceComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionTypePreferenceComponent, deps: [{ token: i1$2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
1010
|
+
QuestionTypePreferenceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: QuestionTypePreferenceComponent, selector: "lib-question-type-preference", inputs: { required: "required", question: "question" }, outputs: { viewChild: "viewChild" }, ngImport: i0, template: "<div class=\"d-flex flex-column gap-3 assessment-checkboxes mt-3\" (focusout)=\"onTouched()\">\n <ng-container *ngFor=\"let option of question.defaultOptionsList | orderBy\">\n <div class=\"d-flex align-items-center gap-3 cursor-pointer\" [class.assessment-text-grey]=\"formControl.disabled\"\n (click)=\"toggleSelection(option.options)\">\n\n <div class=\"preference-box assessment-bg-white flex-shrink-0 assessment-input-border-one assessment-border-radius-two d-flex align-items-center justify-content-center p-1\"\n [ngClass]=\"{\n 'selected assessment-bg-primary-one assessment-text-white': getSelectionIndex(option.options) > -1,\n 'disabled': formControl.disabled\n }\">\n <span class=\"assessment-text-semibold-12\" *ngIf=\"getSelectionIndex(option.options) > -1\">\n {{getSelectionIndex(option.options) + 1}}\n </span>\n </div>\n\n <span class=\"text-wrap assessment-text-medium-14\" [innerHtml]=\"option.options.optionName[0]?.text\"></span>\n </div>\n </ng-container>\n</div>", styles: [".assessment-text-grey-ten{color:var(--assessment-grey-ten)!important}.assessment-bg-grey-ten{background-color:var(--assessment-grey-ten)!important}.assessment-text-grey-nine{color:var(--assessment-grey-nine)!important}.assessment-bg-grey-nine{background-color:var(--assessment-grey-nine)!important}.assessment-text-grey-eight{color:var(--assessment-grey-eight)!important}.assessment-bg-grey-eight{background-color:var(--assessment-grey-eight)!important}.assessment-text-grey-seven{color:var(--assessment-grey-seven)!important}.assessment-bg-grey-seven{background-color:var(--assessment-grey-seven)!important}.assessment-text-grey-six{color:var(--assessment-grey-six)!important}.assessment-bg-grey-six{background-color:var(--assessment-grey-six)!important}.assessment-text-grey-five{color:var(--assessment-grey-five)!important}.assessment-bg-grey-five{background-color:var(--assessment-grey-five)!important}.assessment-text-grey-four{color:var(--assessment-grey-four)!important}.assessment-bg-grey-four{background-color:var(--assessment-grey-four)!important}.assessment-text-grey-three{color:var(--assessment-grey-three)!important}.assessment-bg-grey-three{background-color:var(--assessment-grey-three)!important}.assessment-text-grey-two{color:var(--assessment-grey-two)!important}.assessment-bg-grey-two{background-color:var(--assessment-grey-two)!important}.assessment-text-grey-one{color:var(--assessment-grey-one)!important}.assessment-bg-grey-one{background-color:var(--assessment-grey-one)!important}.assessment-text-white{color:var(--assessment-white)!important}.assessment-bg-white{background-color:var(--assessment-white)!important}.assessment-text-black{color:var(--assessment-black)!important}.assessment-bg-black{background-color:var(--assessment-black)!important}.assessment-text-danger{color:var(--assessment-danger)!important}.assessment-bg-danger{background-color:var(--assessment-danger)!important}.assessment-text-primary-one{color:var(--assessment-primary-one)!important}.assessment-bg-primary-one{background-color:var(--assessment-primary-one)!important}.assessment-text-primary-four{color:var(--assessment-primary-four)!important}.assessment-bg-primary-four{background-color:var(--assessment-primary-four)!important}.assessment-text-palette-EDF3FD{color:var(--assessment-palette-EDF3FD)!important}.assessment-bg-palette-EDF3FD{background-color:var(--assessment-palette-EDF3FD)!important}.assessment-text-palette-C8DAF9{color:var(--assessment-palette-C8DAF9)!important}.assessment-bg-palette-C8DAF9{background-color:var(--assessment-palette-C8DAF9)!important}.assessment-text-palette-ADC9F6{color:var(--assessment-palette-ADC9F6)!important}.assessment-bg-palette-ADC9F6{background-color:var(--assessment-palette-ADC9F6)!important}.assessment-text-palette-FEF9F1{color:var(--assessment-palette-FEF9F1)!important}.assessment-bg-palette-FEF9F1{background-color:var(--assessment-palette-FEF9F1)!important}.assessment-text-palette-F9DAA6{color:var(--assessment-palette-F9DAA6)!important}.assessment-bg-palette-F9DAA6{background-color:var(--assessment-palette-F9DAA6)!important}.assessment-text-palette-E8F7F0{color:var(--assessment-palette-E8F7F0)!important}.assessment-bg-palette-E8F7F0{background-color:var(--assessment-palette-E8F7F0)!important}.assessment-text-palette-B7E7CF{color:var(--assessment-palette-B7E7CF)!important}.assessment-bg-palette-B7E7CF{background-color:var(--assessment-palette-B7E7CF)!important}.assessment-box-shadow-one{box-shadow:var(--assessment-box-shadow-one)!important}.assessment-border-radius-one{border-radius:var(--assessment-border-radius-one)!important}.assessment-border-radius-two{border-radius:var(--assessment-border-radius-two)!important}.assessment-border-radius-three{border-radius:var(--assessment-border-radius-three)!important}.assessment-border-radius-four{border-radius:var(--assessment-border-radius-four)!important}.assessment-border-radius-five{border-radius:var(--assessment-border-radius-five)!important}.assessment-border-radius-six{border-radius:var(--assessment-border-radius-six)!important}.assessment-input-border-one{border:var(--assessment-input-border-one)!important}.assessment-input-border-invalid{border:var(--assessment-input-border-invalid)!important}.assessment-input-focus-border{border:var(--assessment-input-focus-border)!important}.assessment-border-two{border:var(--assessment-border-two)!important}.assessment-card-border{border:var(--assessment-card-border)!important}.assessment-tooltip-border{border:var(--assessment-tooltip-border)!important}.assessment-box-shadow-tooltip{box-shadow:var(--assessment-box-shadow-tooltip)!important}.assessment-button-padding{padding:var(--assessment-button-padding)!important}.assessment-button-padding-large{padding:var(--assessment-button-padding-large)!important}.assessment-input-padding{padding:var(--assessment-input-padding)!important}.assessment-text-font-family{color:var(--assessment-font-family)!important}.assessment-bg-font-family{background-color:var(--assessment-font-family)!important}.assessment-text-regular-12{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-bold-12{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-semibold-12{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-semibold-11{font-weight:600;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-medium-11{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-regular-11{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-medium-12{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-regular-13{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-bold-13{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-semibold-13{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-medium-13{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-regular-14{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-bold-14{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-medium-14{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw)!important;line-height:calc(1.2rem + .2vw)!important}.assessment-text-semibold-14{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-semibold-10{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.55rem + .1vw);line-height:calc(1rem + .1vw)}.assessment-text-regular-10{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.55rem + .1vw)!important;line-height:calc(1rem + .1vw)}.assessment-text-regular-15{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.85rem + .1vw);line-height:calc(1.4rem + .1vw)}.assessment-text-medium-15{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-semibold-15{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-bold-15{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-regular-16{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-semibold-16{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-bold-16{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-medium-16{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-regular-20{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-bold-20{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-semibold-20{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-medium-20{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-medium-18{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .1vw)!important}.assessment-text-regular-18{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .3vw)!important}.assessment-text-bold-18{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw);line-height:calc(1.5rem + .1vw)}.assessment-text-semibold-18{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .1vw)!important}.assessment-text-bold-34{overflow-wrap:break-word;font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(2rem + .15vw);line-height:calc(2.5rem + .15vw)}.assessment-text-medium-34{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(2rem + .15vw);line-height:calc(2.5rem + .15vw)}.assessment-text-bold-32{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.3rem + .75vw);line-height:calc(1.625rem + .5vw)}.assessment-text-bold-22{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-regular-22{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-semibold-22{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-medium-22{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-bold-24{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-regular-24{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-semibold-24{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-medium-24{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.8rem + .75vw);line-height:calc(1.2rem + .75vw)}.assessment-text-regular-26{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-medium-26{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-bold-26{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-semibold-26{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-regular-28{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-medium-28{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-semibold-28{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw);letter-spacing:1}.assessment-text-bold-28{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-regular-30{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .4vw)}.assessment-text-medium-30{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-bold-30{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .4vw);line-height:calc(2rem + .4vw)}.assessment-text-semibold-30{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .4vw);line-height:calc(1.5rem + .4vw);letter-spacing:.5}.assessment-text-bold-36{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(2rem + .25vw);line-height:calc(2.5rem + .3vw)}.assessment-text-semibold-36{font-weight:600;font-family:var(--assessment-font-family);font-size:calc(2rem + .25vw);line-height:calc(2.5rem + .3vw)}@media (min-height: 100vw) and (orientation: portrait){.assessment-text-bold-34{font-size:calc(1.8rem + .15vh);line-height:calc(2.2rem + .15vh)}.assessment-text-bold-32{font-size:calc(1.3rem + 1vh);line-height:calc(1.5rem + 1vh)}.assessment-text-semibold-30{font-size:calc(1.5rem + .4vh);line-height:calc(1.8rem + .4vh)}.assessment-text-medium-24{line-height:2.188rem}.assessment-text-medium-24,.assessment-text-regular-24,.assessment-text-semibold-24,.assessment-text-bold-24,.assessment-text-light-24{font-size:calc(1.3rem + .5vh);line-height:calc(1.8rem + .5vh)}.assessment-text-medium-18,.assessment-text-regular-18,.assessment-text-bold-18,.assessment-text-semibold-18,.assessment-text-light-18{font-size:calc(1rem + .1vh)!important;line-height:calc(1.6rem + .1vh)!important}.assessment-text-light-16,.assessment-text-bold-16{font-size:calc(.9rem + .3vh)!important;line-height:calc(1.2rem + .3vh)!important}.assessment-text-medium-16,.assessment-text-semibold-16,.assessment-text-regular-16{font-size:calc(.9rem + .2vh)!important;line-height:calc(1.4rem + .2vh)!important}.assessment-text-regular-15,.assessment-text-semibold-15,.assessment-text-bold-15,.assessment-text-light-15{font-size:calc(.8rem + .2vh);line-height:calc(1.27rem + .2vh)}.assessment-text-medium-15{font-size:calc(.8rem + .2vh);line-height:calc(1.27rem + .2vh)}.assessment-text-medium-12,.assessment-text-regular-12,.assessment-text-semibold-12,.assessment-text-bold-12,.assessment-text-medium-upper-12,.assessment-text-light-12{font-size:calc(.5rem + .4vh);line-height:calc(.8rem + .4vh)}.assessment-text-medium-14,.assessment-text-regular-14,.assessment-text-light-14,.assessment-text-medium-upper-14,.assessment-text-semibold-14,.assessment-text-bold-14{font-size:calc(.8rem + .1vh)!important;line-height:calc(1.2rem + .2vh)!important}.assessment-text-regular-13,.assessment-text-medium-13,.assessment-text-semibold-13,.assessment-text-bold-13,.assessment-text-light-13{font-size:calc(.7rem + .2vh)!important;line-height:calc(1rem + .3vh)!important}.assessment-text-regular-11,.assessment-text-medium-11,.assessment-text-semibold-11,.assessment-text-bold-11,.assessment-text-light-11{font-size:calc(.5rem + .2vh)!important;line-height:calc(.8rem + .2vh)!important}}.assessment-btn-primary{background-color:var(--assessment-primary-one);color:var(--assessment-white);border:.064rem solid var(--assessment-primary-one);border-radius:var(--assessment-border-radius-two)}.assessment-btn-primary-transparent{background-color:var(--assessment-white);color:var(--assessment-primary-one);border-radius:var(--assessment-border-radius-two);border:.064rem solid var(--assessment-primary-one)}.assessment-zoom-animation{transition:transform .2s ease;transform:translateZ(0);text-rendering:optimizeLegibility}.assessment-zoom-animation:hover{transform:scale(1.03)}.assessment-zoom-animation:active{transform:scale(1)}.assessment-zoom-animation:disabled{transform:none!important}.change-direction{transform:rotate(180deg);transition:.3s ease-out}.change-direction-reverse{transform:rotate(0);transition:.3s ease-out}.outline-0{outline:none}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.action-icon{width:1.2rem}.mat-menu-item{height:inherit}.preference-box{width:1.5rem;height:1.5rem;transition:all .2s ease-in-out}.preference-box.selected{border-color:var(--assessment-primary-one)}.preference-box.disabled{opacity:.8}\n"], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "orderBy": OrderByPipe } });
|
|
1011
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionTypePreferenceComponent, decorators: [{
|
|
1012
|
+
type: Component,
|
|
1013
|
+
args: [{
|
|
1014
|
+
selector: 'lib-question-type-preference',
|
|
1015
|
+
templateUrl: './question-type-preference.component.html',
|
|
1016
|
+
styleUrls: ['./question-type-preference.component.scss']
|
|
1017
|
+
}]
|
|
1018
|
+
}], ctorParameters: function () { return [{ type: i1$2.NgControl, decorators: [{
|
|
1019
|
+
type: Optional
|
|
1020
|
+
}, {
|
|
1021
|
+
type: Self
|
|
1022
|
+
}] }]; }, propDecorators: { required: [{
|
|
1023
|
+
type: Input
|
|
1024
|
+
}], question: [{
|
|
1025
|
+
type: Input
|
|
1026
|
+
}], viewChild: [{
|
|
1027
|
+
type: Output
|
|
1028
|
+
}] } });
|
|
1029
|
+
|
|
1030
|
+
class QuestionTypeFileUploadComponent {
|
|
1031
|
+
constructor(ngControl, assessmentService) {
|
|
1032
|
+
this.ngControl = ngControl;
|
|
1033
|
+
this.assessmentService = assessmentService;
|
|
1034
|
+
this.labelConfig = {};
|
|
1035
|
+
this.imageConfig = {};
|
|
1036
|
+
this.files = [];
|
|
1037
|
+
this.formControl = new FormControl([]);
|
|
1038
|
+
this.onTouched = () => { };
|
|
1039
|
+
if (this.ngControl != null) {
|
|
1040
|
+
this.ngControl.valueAccessor = this;
|
|
1041
|
+
}
|
|
1042
|
+
}
|
|
1043
|
+
writeValue(value) {
|
|
1044
|
+
if (value && Array.isArray(value)) {
|
|
1045
|
+
this.files = value;
|
|
1046
|
+
this.formControl.setValue(value, { emitEvent: false });
|
|
1047
|
+
}
|
|
1048
|
+
else {
|
|
1049
|
+
this.files = [];
|
|
1050
|
+
this.formControl.setValue([], { emitEvent: false });
|
|
1051
|
+
}
|
|
1052
|
+
}
|
|
1053
|
+
registerOnChange(fn) {
|
|
1054
|
+
this.formControl.valueChanges.subscribe((val) => fn(val));
|
|
1055
|
+
}
|
|
1056
|
+
registerOnTouched(fn) {
|
|
1057
|
+
this.onTouched = fn;
|
|
1058
|
+
}
|
|
1059
|
+
setDisabledState(isDisabled) {
|
|
1060
|
+
if (isDisabled) {
|
|
1061
|
+
this.formControl.disable({ emitEvent: false });
|
|
1062
|
+
}
|
|
1063
|
+
else {
|
|
1064
|
+
this.formControl.enable({ emitEvent: false });
|
|
1065
|
+
}
|
|
1066
|
+
}
|
|
1067
|
+
get maxFiles() {
|
|
1068
|
+
var _a, _b;
|
|
1069
|
+
const config = (_b = (_a = this.question) === null || _a === void 0 ? void 0 : _a.questionConfigs) === null || _b === void 0 ? void 0 : _b.find(c => c.configKey === 'maxNoOfFiles');
|
|
1070
|
+
return config ? Number(config.configValue) : 1;
|
|
1071
|
+
}
|
|
1072
|
+
get maxFileSize() {
|
|
1073
|
+
var _a, _b;
|
|
1074
|
+
const config = (_b = (_a = this.question) === null || _a === void 0 ? void 0 : _a.questionConfigs) === null || _b === void 0 ? void 0 : _b.find(c => c.configKey === 'maxFileSize');
|
|
1075
|
+
// maxFileSize config is in MB, convert to bytes for comparison
|
|
1076
|
+
return config ? Number(config.configValue) * 1024 * 1024 : 0;
|
|
1077
|
+
}
|
|
1078
|
+
get allowMultiple() {
|
|
1079
|
+
return this.maxFiles > 1;
|
|
1080
|
+
}
|
|
1081
|
+
onFileChange(event) {
|
|
1082
|
+
const inputFiles = event.target.files;
|
|
1083
|
+
if (inputFiles && inputFiles.length > 0) {
|
|
1084
|
+
const newFiles = Array.from(inputFiles);
|
|
1085
|
+
const limit = this.maxFileSize;
|
|
1086
|
+
const validFiles = newFiles.filter(f => limit === 0 || f.size <= limit);
|
|
1087
|
+
if (validFiles.length < newFiles.length) {
|
|
1088
|
+
// this.matSnackBar.open('One or more selected files exceed the maximum allowed size.', 'OK', { duration: 4000 });
|
|
1089
|
+
}
|
|
1090
|
+
validFiles.forEach(file => {
|
|
1091
|
+
this.uploadFile(file);
|
|
1092
|
+
});
|
|
1093
|
+
}
|
|
1094
|
+
if (this.fileInput) {
|
|
1095
|
+
this.fileInput.nativeElement.value = '';
|
|
1096
|
+
}
|
|
1097
|
+
}
|
|
1098
|
+
uploadFile(file) {
|
|
1099
|
+
const formData = new FormData();
|
|
1100
|
+
formData.append('file', file);
|
|
1101
|
+
this.assessmentService.uploadAttachment(formData, { entityType: 'ENTITY_TYPE.ASSESSMENT_QUESTION' }).subscribe({
|
|
1102
|
+
next: (data) => {
|
|
1103
|
+
// this.matSnackBar.open('File uploaded successfully!', 'OK', { duration: 4000 });
|
|
1104
|
+
if (this.allowMultiple) {
|
|
1105
|
+
this.files = [...this.files, data];
|
|
1106
|
+
}
|
|
1107
|
+
else {
|
|
1108
|
+
this.files = [data];
|
|
1109
|
+
}
|
|
1110
|
+
this.formControl.setValue(this.files);
|
|
1111
|
+
this.onTouched();
|
|
1112
|
+
},
|
|
1113
|
+
error: (error) => {
|
|
1114
|
+
// this.matSnackBar.open('Failed to upload the file!', 'OK', { duration: 4000 });
|
|
1115
|
+
}
|
|
1116
|
+
});
|
|
1117
|
+
}
|
|
1118
|
+
removeFile(index) {
|
|
1119
|
+
this.files.splice(index, 1);
|
|
1120
|
+
this.formControl.setValue([...this.files]);
|
|
1121
|
+
this.onTouched();
|
|
1122
|
+
}
|
|
1123
|
+
imageErrorHandler(event, filePath) {
|
|
1124
|
+
event.target.src = filePath;
|
|
1125
|
+
}
|
|
1126
|
+
getFileIcon(attachment) {
|
|
1127
|
+
const mimeTypeMap = {
|
|
1128
|
+
'pdf': 'COMMONS_ASSESSMENT.ICON.PDF',
|
|
1129
|
+
'image/jpeg': 'COMMONS_ASSESSMENT.ICON.JPEG',
|
|
1130
|
+
'image/jpg': 'COMMONS_ASSESSMENT.ICON.JPG',
|
|
1131
|
+
'image/png': 'COMMONS_ASSESSMENT.ICON.PNG',
|
|
1132
|
+
'image/svg': 'COMMONS_ASSESSMENT.ICON.SVG'
|
|
1133
|
+
};
|
|
1134
|
+
const mimeType = attachment.mimeType;
|
|
1135
|
+
if (mimeType) {
|
|
1136
|
+
const mimeTypeLower = mimeType.toLowerCase();
|
|
1137
|
+
for (const key in mimeTypeMap) {
|
|
1138
|
+
if (mimeTypeLower.includes(key)) {
|
|
1139
|
+
return this.imageConfig[mimeTypeMap[key]] || this.imageConfig['COMMONS_ASSESSMENT.ICON.DEFAULT_FILE'];
|
|
1140
|
+
}
|
|
1141
|
+
}
|
|
1142
|
+
}
|
|
1143
|
+
return this.imageConfig['COMMONS_ASSESSMENT.ICON.DEFAULT_FILE'];
|
|
1144
|
+
}
|
|
1145
|
+
viewFile(url) {
|
|
1146
|
+
if (url) {
|
|
1147
|
+
window.open(url, '_blank');
|
|
1148
|
+
}
|
|
1149
|
+
}
|
|
1150
|
+
}
|
|
1151
|
+
QuestionTypeFileUploadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionTypeFileUploadComponent, deps: [{ token: i1$2.NgControl, optional: true, self: true }, { token: AssessmentTakerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1152
|
+
QuestionTypeFileUploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: QuestionTypeFileUploadComponent, selector: "lib-question-type-file-upload", inputs: { required: "required", question: "question", labelConfig: "labelConfig", imageConfig: "imageConfig" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<div class=\"file-upload-container col-12\">\n <input type=\"file\" #fileInput (change)=\"onFileChange($event)\" [multiple]=\"allowMultiple\" class=\"d-none\"\n [id]=\"question.id + '_file'\" [disabled]=\"formControl.disabled\" (blur)=\"onTouched()\">\n\n <div class=\"my-3 row mx-0 row-gap-3\" *ngIf=\"files.length > 0\">\n <div *ngFor=\"let file of files; let i = index\" class=\"col-lg-4 col-md-6 col-12\">\n <div\n class=\"col-12 d-flex align-items-center gap-3 assessment-border-radius-two assessment-bg-grey-one p-3 assessment-card-border cursor-pointer\">\n <img [src]=\"getFileIcon(file)\"\n (error)=\"imageErrorHandler($event, imageConfig['COMMONS_ASSESSMENT.ICON.DEFAULT_FILE'])\" class=\"file-icon\"\n alt=\"file icon\">\n <div class=\"flex-grow-1 cursor-pointer\" (click)=\"viewFile(file.completeURL)\">\n <p class=\"assessment-text-medium-15 mb-0 assessment-text-grey-ten\">\n {{ file.name }}</p>\n <p class=\"mb-0 assessment-text-medium-12 assessment-text-grey-eight\">\n {{file.fileSizeInBytes < 1024 ? (file.fileSizeInBytes | number: '1.1-1' ) + ' Kb' : file.fileSizeInBytes <\n 1000000 ? (file.fileSizeInBytes / 1024 | number: '1.1-1' ) + ' Kb' : (file.fileSizeInBytes / 1000000 |\n number: '1.1-1' ) + ' Mb' }} </p>\n </div>\n <img *ngIf=\"!formControl.disabled\" (click)=\"removeFile(i)\" [src]=\"imageConfig['COMMONS_ASSESSMENT.ICON.DELETE']\"\n (error)=\"imageErrorHandler($event, 'assets/commons-assessment/images/delete.svg')\"\n class=\"icon cursor-pointer\" alt=\"delete\">\n </div>\n </div>\n </div>\n\n <button *ngIf=\"!formControl.disabled\" type=\"button\"\n class=\"assessment-zoom-animation assessment-border-radius-two assessment-button-padding-large assessment-btn-primary-transparent assessment-text-semibold-13 mt-2\"\n (click)=\"fileInput.click()\">\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.UPLOAD']}}\n </button>", styles: [".assessment-text-grey-ten{color:var(--assessment-grey-ten)!important}.assessment-bg-grey-ten{background-color:var(--assessment-grey-ten)!important}.assessment-text-grey-nine{color:var(--assessment-grey-nine)!important}.assessment-bg-grey-nine{background-color:var(--assessment-grey-nine)!important}.assessment-text-grey-eight{color:var(--assessment-grey-eight)!important}.assessment-bg-grey-eight{background-color:var(--assessment-grey-eight)!important}.assessment-text-grey-seven{color:var(--assessment-grey-seven)!important}.assessment-bg-grey-seven{background-color:var(--assessment-grey-seven)!important}.assessment-text-grey-six{color:var(--assessment-grey-six)!important}.assessment-bg-grey-six{background-color:var(--assessment-grey-six)!important}.assessment-text-grey-five{color:var(--assessment-grey-five)!important}.assessment-bg-grey-five{background-color:var(--assessment-grey-five)!important}.assessment-text-grey-four{color:var(--assessment-grey-four)!important}.assessment-bg-grey-four{background-color:var(--assessment-grey-four)!important}.assessment-text-grey-three{color:var(--assessment-grey-three)!important}.assessment-bg-grey-three{background-color:var(--assessment-grey-three)!important}.assessment-text-grey-two{color:var(--assessment-grey-two)!important}.assessment-bg-grey-two{background-color:var(--assessment-grey-two)!important}.assessment-text-grey-one{color:var(--assessment-grey-one)!important}.assessment-bg-grey-one{background-color:var(--assessment-grey-one)!important}.assessment-text-white{color:var(--assessment-white)!important}.assessment-bg-white{background-color:var(--assessment-white)!important}.assessment-text-black{color:var(--assessment-black)!important}.assessment-bg-black{background-color:var(--assessment-black)!important}.assessment-text-danger{color:var(--assessment-danger)!important}.assessment-bg-danger{background-color:var(--assessment-danger)!important}.assessment-text-primary-one{color:var(--assessment-primary-one)!important}.assessment-bg-primary-one{background-color:var(--assessment-primary-one)!important}.assessment-text-primary-four{color:var(--assessment-primary-four)!important}.assessment-bg-primary-four{background-color:var(--assessment-primary-four)!important}.assessment-text-palette-EDF3FD{color:var(--assessment-palette-EDF3FD)!important}.assessment-bg-palette-EDF3FD{background-color:var(--assessment-palette-EDF3FD)!important}.assessment-text-palette-C8DAF9{color:var(--assessment-palette-C8DAF9)!important}.assessment-bg-palette-C8DAF9{background-color:var(--assessment-palette-C8DAF9)!important}.assessment-text-palette-ADC9F6{color:var(--assessment-palette-ADC9F6)!important}.assessment-bg-palette-ADC9F6{background-color:var(--assessment-palette-ADC9F6)!important}.assessment-text-palette-FEF9F1{color:var(--assessment-palette-FEF9F1)!important}.assessment-bg-palette-FEF9F1{background-color:var(--assessment-palette-FEF9F1)!important}.assessment-text-palette-F9DAA6{color:var(--assessment-palette-F9DAA6)!important}.assessment-bg-palette-F9DAA6{background-color:var(--assessment-palette-F9DAA6)!important}.assessment-text-palette-E8F7F0{color:var(--assessment-palette-E8F7F0)!important}.assessment-bg-palette-E8F7F0{background-color:var(--assessment-palette-E8F7F0)!important}.assessment-text-palette-B7E7CF{color:var(--assessment-palette-B7E7CF)!important}.assessment-bg-palette-B7E7CF{background-color:var(--assessment-palette-B7E7CF)!important}.assessment-box-shadow-one{box-shadow:var(--assessment-box-shadow-one)!important}.assessment-border-radius-one{border-radius:var(--assessment-border-radius-one)!important}.assessment-border-radius-two{border-radius:var(--assessment-border-radius-two)!important}.assessment-border-radius-three{border-radius:var(--assessment-border-radius-three)!important}.assessment-border-radius-four{border-radius:var(--assessment-border-radius-four)!important}.assessment-border-radius-five{border-radius:var(--assessment-border-radius-five)!important}.assessment-border-radius-six{border-radius:var(--assessment-border-radius-six)!important}.assessment-input-border-one{border:var(--assessment-input-border-one)!important}.assessment-input-border-invalid{border:var(--assessment-input-border-invalid)!important}.assessment-input-focus-border{border:var(--assessment-input-focus-border)!important}.assessment-border-two{border:var(--assessment-border-two)!important}.assessment-card-border{border:var(--assessment-card-border)!important}.assessment-tooltip-border{border:var(--assessment-tooltip-border)!important}.assessment-box-shadow-tooltip{box-shadow:var(--assessment-box-shadow-tooltip)!important}.assessment-button-padding{padding:var(--assessment-button-padding)!important}.assessment-button-padding-large{padding:var(--assessment-button-padding-large)!important}.assessment-input-padding{padding:var(--assessment-input-padding)!important}.assessment-text-font-family{color:var(--assessment-font-family)!important}.assessment-bg-font-family{background-color:var(--assessment-font-family)!important}.assessment-text-regular-12{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-bold-12{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-semibold-12{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-semibold-11{font-weight:600;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-medium-11{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-regular-11{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-medium-12{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-regular-13{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-bold-13{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-semibold-13{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-medium-13{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-regular-14{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-bold-14{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-medium-14{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw)!important;line-height:calc(1.2rem + .2vw)!important}.assessment-text-semibold-14{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-semibold-10{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.55rem + .1vw);line-height:calc(1rem + .1vw)}.assessment-text-regular-10{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.55rem + .1vw)!important;line-height:calc(1rem + .1vw)}.assessment-text-regular-15{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.85rem + .1vw);line-height:calc(1.4rem + .1vw)}.assessment-text-medium-15{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-semibold-15{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-bold-15{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-regular-16{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-semibold-16{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-bold-16{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-medium-16{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-regular-20{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-bold-20{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-semibold-20{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-medium-20{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-medium-18{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .1vw)!important}.assessment-text-regular-18{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .3vw)!important}.assessment-text-bold-18{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw);line-height:calc(1.5rem + .1vw)}.assessment-text-semibold-18{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .1vw)!important}.assessment-text-bold-34{overflow-wrap:break-word;font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(2rem + .15vw);line-height:calc(2.5rem + .15vw)}.assessment-text-medium-34{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(2rem + .15vw);line-height:calc(2.5rem + .15vw)}.assessment-text-bold-32{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.3rem + .75vw);line-height:calc(1.625rem + .5vw)}.assessment-text-bold-22{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-regular-22{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-semibold-22{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-medium-22{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-bold-24{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-regular-24{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-semibold-24{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-medium-24{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.8rem + .75vw);line-height:calc(1.2rem + .75vw)}.assessment-text-regular-26{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-medium-26{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-bold-26{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-semibold-26{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-regular-28{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-medium-28{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-semibold-28{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw);letter-spacing:1}.assessment-text-bold-28{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-regular-30{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .4vw)}.assessment-text-medium-30{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-bold-30{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .4vw);line-height:calc(2rem + .4vw)}.assessment-text-semibold-30{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .4vw);line-height:calc(1.5rem + .4vw);letter-spacing:.5}.assessment-text-bold-36{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(2rem + .25vw);line-height:calc(2.5rem + .3vw)}.assessment-text-semibold-36{font-weight:600;font-family:var(--assessment-font-family);font-size:calc(2rem + .25vw);line-height:calc(2.5rem + .3vw)}@media (min-height: 100vw) and (orientation: portrait){.assessment-text-bold-34{font-size:calc(1.8rem + .15vh);line-height:calc(2.2rem + .15vh)}.assessment-text-bold-32{font-size:calc(1.3rem + 1vh);line-height:calc(1.5rem + 1vh)}.assessment-text-semibold-30{font-size:calc(1.5rem + .4vh);line-height:calc(1.8rem + .4vh)}.assessment-text-medium-24{line-height:2.188rem}.assessment-text-medium-24,.assessment-text-regular-24,.assessment-text-semibold-24,.assessment-text-bold-24,.assessment-text-light-24{font-size:calc(1.3rem + .5vh);line-height:calc(1.8rem + .5vh)}.assessment-text-medium-18,.assessment-text-regular-18,.assessment-text-bold-18,.assessment-text-semibold-18,.assessment-text-light-18{font-size:calc(1rem + .1vh)!important;line-height:calc(1.6rem + .1vh)!important}.assessment-text-light-16,.assessment-text-bold-16{font-size:calc(.9rem + .3vh)!important;line-height:calc(1.2rem + .3vh)!important}.assessment-text-medium-16,.assessment-text-semibold-16,.assessment-text-regular-16{font-size:calc(.9rem + .2vh)!important;line-height:calc(1.4rem + .2vh)!important}.assessment-text-regular-15,.assessment-text-semibold-15,.assessment-text-bold-15,.assessment-text-light-15{font-size:calc(.8rem + .2vh);line-height:calc(1.27rem + .2vh)}.assessment-text-medium-15{font-size:calc(.8rem + .2vh);line-height:calc(1.27rem + .2vh)}.assessment-text-medium-12,.assessment-text-regular-12,.assessment-text-semibold-12,.assessment-text-bold-12,.assessment-text-medium-upper-12,.assessment-text-light-12{font-size:calc(.5rem + .4vh);line-height:calc(.8rem + .4vh)}.assessment-text-medium-14,.assessment-text-regular-14,.assessment-text-light-14,.assessment-text-medium-upper-14,.assessment-text-semibold-14,.assessment-text-bold-14{font-size:calc(.8rem + .1vh)!important;line-height:calc(1.2rem + .2vh)!important}.assessment-text-regular-13,.assessment-text-medium-13,.assessment-text-semibold-13,.assessment-text-bold-13,.assessment-text-light-13{font-size:calc(.7rem + .2vh)!important;line-height:calc(1rem + .3vh)!important}.assessment-text-regular-11,.assessment-text-medium-11,.assessment-text-semibold-11,.assessment-text-bold-11,.assessment-text-light-11{font-size:calc(.5rem + .2vh)!important;line-height:calc(.8rem + .2vh)!important}}.assessment-btn-primary{background-color:var(--assessment-primary-one);color:var(--assessment-white);border:.064rem solid var(--assessment-primary-one);border-radius:var(--assessment-border-radius-two)}.assessment-btn-primary-transparent{background-color:var(--assessment-white);color:var(--assessment-primary-one);border-radius:var(--assessment-border-radius-two);border:.064rem solid var(--assessment-primary-one)}.assessment-zoom-animation{transition:transform .2s ease;transform:translateZ(0);text-rendering:optimizeLegibility}.assessment-zoom-animation:hover{transform:scale(1.03)}.assessment-zoom-animation:active{transform:scale(1)}.assessment-zoom-animation:disabled{transform:none!important}.change-direction{transform:rotate(180deg);transition:.3s ease-out}.change-direction-reverse{transform:rotate(0);transition:.3s ease-out}.outline-0{outline:none}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.action-icon{width:1.2rem}.mat-menu-item{height:inherit}.icon{width:1.5rem}.file-icon{width:2rem}\n"], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "number": i3.DecimalPipe } });
|
|
1153
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionTypeFileUploadComponent, decorators: [{
|
|
1154
|
+
type: Component,
|
|
1155
|
+
args: [{
|
|
1156
|
+
selector: 'lib-question-type-file-upload',
|
|
1157
|
+
templateUrl: './question-type-file-upload.component.html',
|
|
1158
|
+
styleUrls: ['./question-type-file-upload.component.scss']
|
|
1159
|
+
}]
|
|
1160
|
+
}], ctorParameters: function () { return [{ type: i1$2.NgControl, decorators: [{
|
|
1161
|
+
type: Optional
|
|
1162
|
+
}, {
|
|
1163
|
+
type: Self
|
|
1164
|
+
}] }, { type: AssessmentTakerService }]; }, propDecorators: { required: [{
|
|
1165
|
+
type: Input
|
|
1166
|
+
}], question: [{
|
|
1167
|
+
type: Input
|
|
1168
|
+
}], labelConfig: [{
|
|
1169
|
+
type: Input
|
|
1170
|
+
}], imageConfig: [{
|
|
1171
|
+
type: Input
|
|
1172
|
+
}], fileInput: [{
|
|
1173
|
+
type: ViewChild,
|
|
1174
|
+
args: ['fileInput']
|
|
1175
|
+
}] } });
|
|
1176
|
+
|
|
1177
|
+
class AssessmentTakerComponent {
|
|
1178
|
+
constructor(assessmentTakerService, fb, responseBuilderService, sanitizer, dialog) {
|
|
1179
|
+
this.assessmentTakerService = assessmentTakerService;
|
|
1180
|
+
this.fb = fb;
|
|
1181
|
+
this.responseBuilderService = responseBuilderService;
|
|
1182
|
+
this.sanitizer = sanitizer;
|
|
1183
|
+
this.dialog = dialog;
|
|
1184
|
+
this.labelConfig = {};
|
|
1185
|
+
this.imageConfig = {};
|
|
1186
|
+
this.showFooter = false;
|
|
1187
|
+
this.assesseeData = { id: 0, actorId: 0, actorType: 'ACTOR_TYPE.BRIDGE_USER' };
|
|
1188
|
+
this.assessorData = { id: 0, actorId: 0, actorType: 'TENANT' };
|
|
1189
|
+
this.disabled = false;
|
|
1190
|
+
this.previewMode = false;
|
|
1191
|
+
this.verticalView = false;
|
|
1192
|
+
this.enableMarks = false;
|
|
1193
|
+
this.snackbarMessage = new EventEmitter();
|
|
1194
|
+
this.submitAssessment = new EventEmitter();
|
|
1195
|
+
this.showLoader = false;
|
|
1196
|
+
this.questionBank = {};
|
|
1197
|
+
this.assessmentQuestionPaperData = {};
|
|
1198
|
+
this.assessmentData = {};
|
|
1199
|
+
this.assesseeResponse = {};
|
|
1200
|
+
this.configsLoaded = false;
|
|
1201
|
+
this.isSubmitting = false;
|
|
1202
|
+
this.sectionFormGroups = [];
|
|
1203
|
+
this.selectedTabIndex = 0;
|
|
1204
|
+
this.sectionErrors = [];
|
|
1205
|
+
this.tenantId = 0;
|
|
1206
|
+
this.tooltipState = {};
|
|
1207
|
+
this.expandedState = [];
|
|
1208
|
+
}
|
|
1209
|
+
ngOnInit() {
|
|
1210
|
+
this.getConfigsFromJSON();
|
|
1211
|
+
if (this.previewMode) {
|
|
1212
|
+
this.disabled = true;
|
|
1213
|
+
}
|
|
1214
|
+
if (this.assessmentInstanceId) {
|
|
1215
|
+
this.showLoader = true;
|
|
1216
|
+
this.loadAssessmentData();
|
|
1217
|
+
}
|
|
1218
|
+
}
|
|
1219
|
+
getConfigsFromJSON() {
|
|
1220
|
+
forkJoin({
|
|
1221
|
+
labelConfig: this.assessmentTakerService.getConfigJSON('json/labelConfig'),
|
|
1222
|
+
imageConfig: this.assessmentTakerService.getConfigJSON('json/imageConfig')
|
|
1223
|
+
}).subscribe((res) => {
|
|
1224
|
+
this.labelConfig = Object.assign({}, res === null || res === void 0 ? void 0 : res.labelConfig, this.labelConfig);
|
|
1225
|
+
this.imageConfig = Object.assign({}, res === null || res === void 0 ? void 0 : res.imageConfig, this.imageConfig);
|
|
1226
|
+
this.configsLoaded = true;
|
|
1227
|
+
});
|
|
1228
|
+
}
|
|
1229
|
+
loadAssessmentData() {
|
|
1230
|
+
var _a;
|
|
1231
|
+
const apiCalls = Object.assign({ assessmentData: this.assessmentTakerService.getAssessmentContextById(this.assessmentId) }, (((_a = this.assesseeData) === null || _a === void 0 ? void 0 : _a.id) && {
|
|
1232
|
+
assesseeResponse: this.assessmentTakerService.getAnswersByAiaId(this.assesseeData.id)
|
|
1233
|
+
}));
|
|
1234
|
+
forkJoin(apiCalls).subscribe({
|
|
1235
|
+
next: (data) => {
|
|
1236
|
+
var _a, _b, _c, _d, _e;
|
|
1237
|
+
this.assessmentQuestionPaperData = (_a = data === null || data === void 0 ? void 0 : data.assessmentData) === null || _a === void 0 ? void 0 : _a.assessmentQuestionPaperDTO;
|
|
1238
|
+
this.assessmentData = (_b = data === null || data === void 0 ? void 0 : data.assessmentData) === null || _b === void 0 ? void 0 : _b.assessment;
|
|
1239
|
+
this.questionBank = (_c = data === null || data === void 0 ? void 0 : data.assessmentData) === null || _c === void 0 ? void 0 : _c.questionDTOMap;
|
|
1240
|
+
this.tenantId = (_e = (_d = data === null || data === void 0 ? void 0 : data.assessmentData) === null || _d === void 0 ? void 0 : _d.assessment) === null || _e === void 0 ? void 0 : _e.tenantId;
|
|
1241
|
+
if (data === null || data === void 0 ? void 0 : data.assesseeResponse) {
|
|
1242
|
+
this.assesseeResponse = data === null || data === void 0 ? void 0 : data.assesseeResponse;
|
|
1243
|
+
}
|
|
1244
|
+
else {
|
|
1245
|
+
this.assesseeResponse = {
|
|
1246
|
+
id: 0,
|
|
1247
|
+
assessmentInstance: { id: this.assessmentInstanceId },
|
|
1248
|
+
assessee: this.assesseeData,
|
|
1249
|
+
assessor: this.assessorData,
|
|
1250
|
+
aiadefaultResponseList: [],
|
|
1251
|
+
tenant: this.tenantId
|
|
1252
|
+
};
|
|
1253
|
+
}
|
|
1254
|
+
this.formSetup();
|
|
1255
|
+
this.showLoader = false;
|
|
1256
|
+
},
|
|
1257
|
+
error: error => {
|
|
1258
|
+
this.snackbarMessage.emit({ message: this.labelConfig['COMMONS_ASSESSMENT.TOAST.ERROR_DEFAULT'], type: 'error' });
|
|
1259
|
+
throw { error, method: 'GET' };
|
|
1260
|
+
}
|
|
1261
|
+
});
|
|
1262
|
+
}
|
|
1263
|
+
formSetup() {
|
|
1264
|
+
var _a, _b;
|
|
1265
|
+
this.sectionFormGroups = [];
|
|
1266
|
+
(_b = (_a = this.assessmentQuestionPaperData) === null || _a === void 0 ? void 0 : _a.questionPaperSectionList) === null || _b === void 0 ? void 0 : _b.forEach(section => {
|
|
1267
|
+
var _a, _b;
|
|
1268
|
+
const group = {};
|
|
1269
|
+
(_a = section === null || section === void 0 ? void 0 : section.sectionQuestionsList) === null || _a === void 0 ? void 0 : _a.forEach(sq => {
|
|
1270
|
+
var _a;
|
|
1271
|
+
const qId = sq.questionId;
|
|
1272
|
+
if (!qId || !this.questionBank[qId])
|
|
1273
|
+
return;
|
|
1274
|
+
const question = this.questionBank[qId];
|
|
1275
|
+
this.addControlForQuestion(group, question, question === null || question === void 0 ? void 0 : question.isMandatory);
|
|
1276
|
+
if ((_a = question.defaultOptionsList) === null || _a === void 0 ? void 0 : _a.length) {
|
|
1277
|
+
question.defaultOptionsList.forEach((option) => {
|
|
1278
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
1279
|
+
if (option.remarksRequired) {
|
|
1280
|
+
// Pre-populate remarks if we have answers matching this option.
|
|
1281
|
+
let remarkVal = null;
|
|
1282
|
+
const prefilledOptions = this.getPrefilledAnswer(qId);
|
|
1283
|
+
if (prefilledOptions) {
|
|
1284
|
+
const ansObj = (_b = (_a = this.assesseeResponse) === null || _a === void 0 ? void 0 : _a.aiadefaultResponseList) === null || _b === void 0 ? void 0 : _b.find((a) => { var _a; return ((_a = a.sectionQuestion) === null || _a === void 0 ? void 0 : _a.questionId) === qId && (!a.childQuestionId || a.childQuestionId === 0); });
|
|
1285
|
+
if (ansObj) {
|
|
1286
|
+
if (((_c = question.questionType) === null || _c === void 0 ? void 0 : _c.code) === 'QUESTION_TYPE.OBJECTIVE' && prefilledOptions.id === ((_e = (_d = option.options) === null || _d === void 0 ? void 0 : _d.id) !== null && _e !== void 0 ? _e : option.id)) {
|
|
1287
|
+
remarkVal = ansObj.remarks || null;
|
|
1288
|
+
}
|
|
1289
|
+
else if (Array.isArray(prefilledOptions)) {
|
|
1290
|
+
const matchingObj = (_f = ansObj.drobjectiveresponseList) === null || _f === void 0 ? void 0 : _f.find((r) => { var _a, _b, _c, _d; return ((_b = (_a = r.defaultOption) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.id) === ((_d = (_c = option.options) === null || _c === void 0 ? void 0 : _c.id) !== null && _d !== void 0 ? _d : option.id); });
|
|
1291
|
+
if (matchingObj) {
|
|
1292
|
+
remarkVal = matchingObj.remarks || null;
|
|
1293
|
+
}
|
|
1294
|
+
}
|
|
1295
|
+
}
|
|
1296
|
+
}
|
|
1297
|
+
const remarkCtrl = new FormControl(remarkVal);
|
|
1298
|
+
if (((_h = (_g = this.assesseeResponse) === null || _g === void 0 ? void 0 : _g.assessmentTaken) === null || _h === void 0 ? void 0 : _h.code) === 'ASSESSMENT_TAKEN.COMPLETED' || this.disabled)
|
|
1299
|
+
remarkCtrl.disable();
|
|
1300
|
+
group[`${qId}_remarks_${option.id}`] = remarkCtrl;
|
|
1301
|
+
}
|
|
1302
|
+
(_j = option.childQuestionList) === null || _j === void 0 ? void 0 : _j.forEach((childId) => {
|
|
1303
|
+
var _a, _b;
|
|
1304
|
+
const childQues = this.questionBank[childId];
|
|
1305
|
+
if (childQues) {
|
|
1306
|
+
this.addControlForQuestion(group, childQues, false, true, qId, (_b = (_a = option.options) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : option.id);
|
|
1307
|
+
}
|
|
1308
|
+
});
|
|
1309
|
+
});
|
|
1310
|
+
}
|
|
1311
|
+
});
|
|
1312
|
+
const fg = this.fb.group(group);
|
|
1313
|
+
(_b = section === null || section === void 0 ? void 0 : section.sectionQuestionsList) === null || _b === void 0 ? void 0 : _b.forEach(sq => {
|
|
1314
|
+
var _a, _b;
|
|
1315
|
+
const qId = sq.questionId;
|
|
1316
|
+
if (!qId || !this.questionBank[qId])
|
|
1317
|
+
return;
|
|
1318
|
+
const question = this.questionBank[qId];
|
|
1319
|
+
if ((_a = question.defaultOptionsList) === null || _a === void 0 ? void 0 : _a.length) {
|
|
1320
|
+
(_b = fg.get(qId.toString())) === null || _b === void 0 ? void 0 : _b.valueChanges.subscribe(val => {
|
|
1321
|
+
var _a;
|
|
1322
|
+
(_a = question.defaultOptionsList) === null || _a === void 0 ? void 0 : _a.forEach((option) => {
|
|
1323
|
+
var _a, _b;
|
|
1324
|
+
const isSelected = this.isOptionSelected(fg, question, (_a = option.options) === null || _a === void 0 ? void 0 : _a.id);
|
|
1325
|
+
if (option.remarksRequired) {
|
|
1326
|
+
const remarkCtrl = fg.get(`${qId}_remarks_${option.id}`);
|
|
1327
|
+
if (isSelected) {
|
|
1328
|
+
remarkCtrl === null || remarkCtrl === void 0 ? void 0 : remarkCtrl.setValidators([Validators.required]);
|
|
1329
|
+
}
|
|
1330
|
+
else {
|
|
1331
|
+
remarkCtrl === null || remarkCtrl === void 0 ? void 0 : remarkCtrl.clearValidators();
|
|
1332
|
+
remarkCtrl === null || remarkCtrl === void 0 ? void 0 : remarkCtrl.setValue(null);
|
|
1333
|
+
}
|
|
1334
|
+
remarkCtrl === null || remarkCtrl === void 0 ? void 0 : remarkCtrl.updateValueAndValidity();
|
|
1335
|
+
}
|
|
1336
|
+
if ((_b = option.childQuestionList) === null || _b === void 0 ? void 0 : _b.length) {
|
|
1337
|
+
option.childQuestionList.forEach((childId) => {
|
|
1338
|
+
const childQues = this.questionBank[childId];
|
|
1339
|
+
if (childQues === null || childQues === void 0 ? void 0 : childQues.id) {
|
|
1340
|
+
const childCtrl = fg.get(childQues.id.toString());
|
|
1341
|
+
if (isSelected) {
|
|
1342
|
+
const validators = this.getValidatorsForQuestion(childQues, childQues.isMandatory || false);
|
|
1343
|
+
childCtrl === null || childCtrl === void 0 ? void 0 : childCtrl.setValidators(validators);
|
|
1344
|
+
}
|
|
1345
|
+
else {
|
|
1346
|
+
childCtrl === null || childCtrl === void 0 ? void 0 : childCtrl.clearValidators();
|
|
1347
|
+
childCtrl === null || childCtrl === void 0 ? void 0 : childCtrl.setValue(null);
|
|
1348
|
+
}
|
|
1349
|
+
childCtrl === null || childCtrl === void 0 ? void 0 : childCtrl.updateValueAndValidity();
|
|
1350
|
+
}
|
|
1351
|
+
});
|
|
1352
|
+
}
|
|
1353
|
+
});
|
|
1354
|
+
});
|
|
1355
|
+
}
|
|
1356
|
+
});
|
|
1357
|
+
this.sectionFormGroups.push({
|
|
1358
|
+
sectionId: section.id,
|
|
1359
|
+
formGroup: fg
|
|
1360
|
+
});
|
|
1361
|
+
this.sectionErrors.push(false);
|
|
1362
|
+
});
|
|
1363
|
+
}
|
|
1364
|
+
addControlForQuestion(group, question, isMandatory = false, isChild = false, parentId, parentOptionId) {
|
|
1365
|
+
var _a, _b;
|
|
1366
|
+
const qId = question.id;
|
|
1367
|
+
if (!qId)
|
|
1368
|
+
return;
|
|
1369
|
+
const validators = this.getValidatorsForQuestion(question, isMandatory);
|
|
1370
|
+
let prefilledValue = this.getPrefilledAnswer(qId, isChild, parentId, parentOptionId);
|
|
1371
|
+
const control = new FormControl(prefilledValue, validators);
|
|
1372
|
+
// Disable if assessment is completed
|
|
1373
|
+
if (((_b = (_a = this.assesseeResponse) === null || _a === void 0 ? void 0 : _a.assessmentTaken) === null || _b === void 0 ? void 0 : _b.code) === 'ASSESSMENT_TAKEN.COMPLETED' || this.disabled) {
|
|
1374
|
+
control.disable();
|
|
1375
|
+
}
|
|
1376
|
+
group[qId] = control;
|
|
1377
|
+
// Attach mark assignment control if required
|
|
1378
|
+
if (this.enableMarks && this.shouldShowMarksDropdown(question)) {
|
|
1379
|
+
let markValue = this.getPrefilledMark(qId, isChild, parentId, parentOptionId);
|
|
1380
|
+
group[`${qId}_marks`] = new FormControl(markValue);
|
|
1381
|
+
}
|
|
1382
|
+
}
|
|
1383
|
+
getPrefilledMark(qId, isChild = false, parentId, parentOptionId) {
|
|
1384
|
+
var _a, _b;
|
|
1385
|
+
if (!((_a = this.assesseeResponse) === null || _a === void 0 ? void 0 : _a.aiadefaultResponseList))
|
|
1386
|
+
return null;
|
|
1387
|
+
const answerObj = this.assesseeResponse.aiadefaultResponseList.find((a) => {
|
|
1388
|
+
var _a;
|
|
1389
|
+
if (isChild) {
|
|
1390
|
+
return a.childQuestionId === qId && a.childQuestionParentQuestionId === parentId && a.childDefaultOptionId === parentOptionId;
|
|
1391
|
+
}
|
|
1392
|
+
else {
|
|
1393
|
+
return ((_a = a.sectionQuestion) === null || _a === void 0 ? void 0 : _a.questionId) === qId && (!a.childQuestionId || a.childQuestionId === 0);
|
|
1394
|
+
}
|
|
1395
|
+
});
|
|
1396
|
+
return (_b = answerObj === null || answerObj === void 0 ? void 0 : answerObj.marks) !== null && _b !== void 0 ? _b : null;
|
|
1397
|
+
}
|
|
1398
|
+
getQuestionWeight(qId) {
|
|
1399
|
+
var _a;
|
|
1400
|
+
return ((_a = this.questionBank[qId]) === null || _a === void 0 ? void 0 : _a.weight) || 0;
|
|
1401
|
+
}
|
|
1402
|
+
getMarksRange(qId) {
|
|
1403
|
+
const max = this.getQuestionWeight(qId);
|
|
1404
|
+
if (max === 0)
|
|
1405
|
+
return [];
|
|
1406
|
+
return Array.from({ length: Math.floor(max) + 1 }, (_, i) => i);
|
|
1407
|
+
}
|
|
1408
|
+
shouldShowMarksDropdown(question) {
|
|
1409
|
+
var _a;
|
|
1410
|
+
const autoAssignedTypes = [
|
|
1411
|
+
'QUESTION_TYPE.OBJECTIVE',
|
|
1412
|
+
'QUESTION_TYPE.MULTI_SELECT',
|
|
1413
|
+
'QUESTION_TYPE.SCALE_RATING',
|
|
1414
|
+
'QUESTION_TYPE.CONSENT',
|
|
1415
|
+
'QUESTION_TYPE.MULTISELECT_HIERARCHY',
|
|
1416
|
+
'QUESTION_TYPE.MULTISELECT_OPTION_RICHTEXT_REMARKS',
|
|
1417
|
+
'QUESTION_TYPE.PREFERENCE'
|
|
1418
|
+
];
|
|
1419
|
+
const hasWeight = this.getQuestionWeight(question.id || 0) > 0;
|
|
1420
|
+
return !autoAssignedTypes.includes(((_a = question.questionType) === null || _a === void 0 ? void 0 : _a.code) || '') && hasWeight;
|
|
1421
|
+
}
|
|
1422
|
+
getPrefilledAnswer(qId, isChild = false, parentId, parentOptionId) {
|
|
1423
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
1424
|
+
if (!((_a = this.assesseeResponse) === null || _a === void 0 ? void 0 : _a.aiadefaultResponseList))
|
|
1425
|
+
return null;
|
|
1426
|
+
const answerObj = this.assesseeResponse.aiadefaultResponseList.find((a) => {
|
|
1427
|
+
var _a;
|
|
1428
|
+
if (isChild) {
|
|
1429
|
+
return a.childQuestionId === qId && a.childQuestionParentQuestionId === parentId && a.childDefaultOptionId === parentOptionId;
|
|
1430
|
+
}
|
|
1431
|
+
else {
|
|
1432
|
+
return ((_a = a.sectionQuestion) === null || _a === void 0 ? void 0 : _a.questionId) === qId && (!a.childQuestionId || a.childQuestionId === 0);
|
|
1433
|
+
}
|
|
1434
|
+
});
|
|
1435
|
+
if (!answerObj)
|
|
1436
|
+
return null;
|
|
1437
|
+
const question = this.questionBank[qId];
|
|
1438
|
+
if (!question)
|
|
1439
|
+
return null;
|
|
1440
|
+
const qType = (_b = question.questionType) === null || _b === void 0 ? void 0 : _b.code;
|
|
1441
|
+
if (qType === 'QUESTION_TYPE.OBJECTIVE') {
|
|
1442
|
+
return (_c = answerObj.optionId) === null || _c === void 0 ? void 0 : _c.id;
|
|
1443
|
+
}
|
|
1444
|
+
else if (qType === 'QUESTION_TYPE.MULTI_SELECT' || qType === 'QUESTION_TYPE.PREFERENCE') {
|
|
1445
|
+
let sortedList = [...(answerObj.drobjectiveresponseList || [])];
|
|
1446
|
+
if (qType === 'QUESTION_TYPE.PREFERENCE') {
|
|
1447
|
+
sortedList.sort((a, b) => (a.orderNo || 0) - (b.orderNo || 0));
|
|
1448
|
+
}
|
|
1449
|
+
return sortedList.map((r) => { var _a; return (_a = r.defaultOption) === null || _a === void 0 ? void 0 : _a.options; }) || [];
|
|
1450
|
+
}
|
|
1451
|
+
else if (qType === 'QUESTION_TYPE.FILE_UPLOAD') {
|
|
1452
|
+
// Fallback parsing if we only have responseText
|
|
1453
|
+
return ((_d = answerObj.drsubjectiveresponseList) === null || _d === void 0 ? void 0 : _d.map((r) => {
|
|
1454
|
+
try {
|
|
1455
|
+
return JSON.parse(r.responseText);
|
|
1456
|
+
}
|
|
1457
|
+
catch (e) {
|
|
1458
|
+
return { id: r.responseText }; // basic fallback
|
|
1459
|
+
}
|
|
1460
|
+
})) || [];
|
|
1461
|
+
}
|
|
1462
|
+
else {
|
|
1463
|
+
return (_g = (_f = (_e = answerObj.drsubjectiveresponseList) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.responseText) !== null && _g !== void 0 ? _g : null;
|
|
1464
|
+
}
|
|
1465
|
+
}
|
|
1466
|
+
getValidatorsForQuestion(question, isMandatory) {
|
|
1467
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
1468
|
+
const validators = [];
|
|
1469
|
+
if (isMandatory) {
|
|
1470
|
+
validators.push(Validators.required);
|
|
1471
|
+
}
|
|
1472
|
+
if (question.responseValidation) {
|
|
1473
|
+
validators.push(Validators.pattern(question.responseValidation));
|
|
1474
|
+
}
|
|
1475
|
+
else {
|
|
1476
|
+
if (((_a = question.questionType) === null || _a === void 0 ? void 0 : _a.code) === 'QUESTION_TYPE.EMAIL') {
|
|
1477
|
+
validators.push(Validators.pattern(/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/));
|
|
1478
|
+
}
|
|
1479
|
+
else if (((_b = question.questionType) === null || _b === void 0 ? void 0 : _b.code) === 'QUESTION_TYPE.URL') {
|
|
1480
|
+
validators.push(Validators.pattern(/^(https?:\/\/)?([\w\-]+(\.[\w\-]+)+)([\/?#].*)?$/i));
|
|
1481
|
+
}
|
|
1482
|
+
else if (((_c = question.questionType) === null || _c === void 0 ? void 0 : _c.code) === 'QUESTION_TYPE.CONTACT_NUMBER') {
|
|
1483
|
+
validators.push(Validators.pattern(/^[0-9]{10}$/));
|
|
1484
|
+
}
|
|
1485
|
+
else if (((_d = question.questionType) === null || _d === void 0 ? void 0 : _d.code) === 'QUESTION_TYPE.NUMBER') {
|
|
1486
|
+
validators.push(Validators.pattern(/^[0-9]+$/));
|
|
1487
|
+
}
|
|
1488
|
+
}
|
|
1489
|
+
if (question.questionConfigs && question.questionConfigs.length > 0) {
|
|
1490
|
+
const minChar = (_e = question.questionConfigs.find(c => c.configKey === 'minCharacterCount')) === null || _e === void 0 ? void 0 : _e.configValue;
|
|
1491
|
+
if (minChar)
|
|
1492
|
+
validators.push(Validators.minLength(Number(minChar)));
|
|
1493
|
+
const maxChar = (_f = question.questionConfigs.find(c => c.configKey === 'maxCharacterCount')) === null || _f === void 0 ? void 0 : _f.configValue;
|
|
1494
|
+
if (maxChar)
|
|
1495
|
+
validators.push(Validators.maxLength(Number(maxChar)));
|
|
1496
|
+
const minOpt = (_g = question.questionConfigs.find(c => c.configKey === 'minimumNumberOfOption')) === null || _g === void 0 ? void 0 : _g.configValue;
|
|
1497
|
+
if (minOpt) {
|
|
1498
|
+
validators.push((control) => {
|
|
1499
|
+
var _a;
|
|
1500
|
+
if (!control.value || control.value.length < Number(minOpt)) {
|
|
1501
|
+
return { minOptions: { required: Number(minOpt), actual: ((_a = control.value) === null || _a === void 0 ? void 0 : _a.length) || 0 } };
|
|
1502
|
+
}
|
|
1503
|
+
return null;
|
|
1504
|
+
});
|
|
1505
|
+
}
|
|
1506
|
+
const maxOpt = (_h = question.questionConfigs.find(c => c.configKey === 'maximumNumberOfOption')) === null || _h === void 0 ? void 0 : _h.configValue;
|
|
1507
|
+
if (maxOpt) {
|
|
1508
|
+
validators.push((control) => {
|
|
1509
|
+
var _a;
|
|
1510
|
+
if (control.value && control.value.length > Number(maxOpt)) {
|
|
1511
|
+
return { maxOptions: { required: Number(maxOpt), actual: ((_a = control.value) === null || _a === void 0 ? void 0 : _a.length) || 0 } };
|
|
1512
|
+
}
|
|
1513
|
+
return null;
|
|
1514
|
+
});
|
|
1515
|
+
}
|
|
1516
|
+
const maxFiles = (_j = question.questionConfigs.find(c => c.configKey === 'maxNoOfFiles')) === null || _j === void 0 ? void 0 : _j.configValue;
|
|
1517
|
+
if (maxFiles) {
|
|
1518
|
+
validators.push((control) => {
|
|
1519
|
+
var _a;
|
|
1520
|
+
if (control.value && control.value.length > Number(maxFiles)) {
|
|
1521
|
+
return { maxFiles: { required: Number(maxFiles), actual: ((_a = control.value) === null || _a === void 0 ? void 0 : _a.length) || 0 } };
|
|
1522
|
+
}
|
|
1523
|
+
return null;
|
|
1524
|
+
});
|
|
1525
|
+
}
|
|
1526
|
+
const maxFileSize = (_k = question.questionConfigs.find(c => c.configKey === 'maxFileSize')) === null || _k === void 0 ? void 0 : _k.configValue;
|
|
1527
|
+
if (maxFileSize) {
|
|
1528
|
+
validators.push((control) => {
|
|
1529
|
+
if (control.value && Array.isArray(control.value)) {
|
|
1530
|
+
const hasLargeFile = control.value.some((file) => (file === null || file === void 0 ? void 0 : file.size) && file.size > (Number(maxFileSize) * 1024 * 1024));
|
|
1531
|
+
if (hasLargeFile) {
|
|
1532
|
+
return { maxFileSize: { requiredSize: Number(maxFileSize) } };
|
|
1533
|
+
}
|
|
1534
|
+
}
|
|
1535
|
+
return null;
|
|
1536
|
+
});
|
|
1537
|
+
}
|
|
1538
|
+
}
|
|
1539
|
+
return validators;
|
|
1540
|
+
}
|
|
1541
|
+
imageErrorHandler(event, filePath) {
|
|
1542
|
+
event.target.src = filePath;
|
|
1543
|
+
}
|
|
1544
|
+
isOptionSelected(formGroup, question, optionId) {
|
|
1545
|
+
var _a;
|
|
1546
|
+
if (!optionId)
|
|
1547
|
+
return false;
|
|
1548
|
+
let controlName = (_a = question.id) === null || _a === void 0 ? void 0 : _a.toString();
|
|
1549
|
+
if (!controlName)
|
|
1550
|
+
return false;
|
|
1551
|
+
const control = formGroup.get(controlName);
|
|
1552
|
+
if (!control || control.value == null)
|
|
1553
|
+
return false;
|
|
1554
|
+
// Multi-select deals with an array of values
|
|
1555
|
+
if (Array.isArray(control.value)) {
|
|
1556
|
+
return control.value.includes(optionId) || control.value.some((val) => (val === null || val === void 0 ? void 0 : val.id) === optionId);
|
|
1557
|
+
}
|
|
1558
|
+
// Objective / Single select deals with a single value (could be integer ID or object)
|
|
1559
|
+
if (typeof control.value === 'object' && control.value.id) {
|
|
1560
|
+
return control.value.id === optionId;
|
|
1561
|
+
}
|
|
1562
|
+
return control.value === optionId;
|
|
1563
|
+
}
|
|
1564
|
+
getMaxCharCount(question) {
|
|
1565
|
+
var _a;
|
|
1566
|
+
const config = (_a = question === null || question === void 0 ? void 0 : question.questionConfigs) === null || _a === void 0 ? void 0 : _a.find(c => c.configKey === 'maxCharacterCount');
|
|
1567
|
+
return config ? Number(config.configValue) : 0;
|
|
1568
|
+
}
|
|
1569
|
+
getRemainingChars(question, control) {
|
|
1570
|
+
const max = this.getMaxCharCount(question);
|
|
1571
|
+
const currentLength = control.value ? control.value.length : 0;
|
|
1572
|
+
return max - currentLength;
|
|
1573
|
+
}
|
|
1574
|
+
goBack() {
|
|
1575
|
+
if (this.selectedTabIndex > 0) {
|
|
1576
|
+
this.selectedTabIndex--;
|
|
1577
|
+
}
|
|
1578
|
+
}
|
|
1579
|
+
shouldDisableTab(index) {
|
|
1580
|
+
var _a, _b;
|
|
1581
|
+
for (let j = 0; j < index; j++) {
|
|
1582
|
+
if ((_b = (_a = this.sectionFormGroups[j]) === null || _a === void 0 ? void 0 : _a.formGroup) === null || _b === void 0 ? void 0 : _b.invalid) {
|
|
1583
|
+
return true;
|
|
1584
|
+
}
|
|
1585
|
+
}
|
|
1586
|
+
return false;
|
|
1587
|
+
}
|
|
1588
|
+
goNext(markAsCompleted = true) {
|
|
1589
|
+
var _a, _b, _c;
|
|
1590
|
+
const save = ((_c = (_b = (_a = this.assessmentData) === null || _a === void 0 ? void 0 : _a.assessmentConfigs) === null || _b === void 0 ? void 0 : _b.find(c => c.configKey == 'assesment.config.allowed-partial-response')) === null || _c === void 0 ? void 0 : _c.configValue) == '1';
|
|
1591
|
+
const currentSection = this.sectionFormGroups[this.selectedTabIndex];
|
|
1592
|
+
if (!currentSection)
|
|
1593
|
+
return;
|
|
1594
|
+
currentSection.formGroup.markAllAsTouched();
|
|
1595
|
+
if (currentSection.formGroup.invalid) {
|
|
1596
|
+
this.sectionErrors[this.selectedTabIndex] = true;
|
|
1597
|
+
return;
|
|
1598
|
+
}
|
|
1599
|
+
this.sectionErrors[this.selectedTabIndex] = false;
|
|
1600
|
+
if (this.selectedTabIndex < this.sectionFormGroups.length - 1) {
|
|
1601
|
+
save ? this.save() : this.selectedTabIndex++;
|
|
1602
|
+
}
|
|
1603
|
+
else {
|
|
1604
|
+
this.processSubmit(markAsCompleted);
|
|
1605
|
+
}
|
|
1606
|
+
}
|
|
1607
|
+
processSubmit(markAsCompleted = true) {
|
|
1608
|
+
let firstInvalidIndex = -1;
|
|
1609
|
+
this.sectionFormGroups.forEach((group, index) => {
|
|
1610
|
+
group.formGroup.markAllAsTouched();
|
|
1611
|
+
if (group.formGroup.invalid) {
|
|
1612
|
+
this.sectionErrors[index] = true;
|
|
1613
|
+
if (firstInvalidIndex === -1)
|
|
1614
|
+
firstInvalidIndex = index;
|
|
1615
|
+
}
|
|
1616
|
+
else {
|
|
1617
|
+
this.sectionErrors[index] = false;
|
|
1618
|
+
}
|
|
1619
|
+
});
|
|
1620
|
+
if (firstInvalidIndex !== -1) {
|
|
1621
|
+
if (!this.verticalView) {
|
|
1622
|
+
this.selectedTabIndex = firstInvalidIndex;
|
|
1623
|
+
}
|
|
1624
|
+
else {
|
|
1625
|
+
this.expandedState[firstInvalidIndex] = true;
|
|
1626
|
+
}
|
|
1627
|
+
this.snackbarMessage.emit({ message: this.labelConfig['COMMONS_ASSESSMENT.TOAST.FIX_ERRORS'], type: 'error' });
|
|
1628
|
+
this.scrollToFirstInvalidField(firstInvalidIndex);
|
|
1629
|
+
return;
|
|
1630
|
+
}
|
|
1631
|
+
this.save(true, markAsCompleted);
|
|
1632
|
+
}
|
|
1633
|
+
scrollToFirstInvalidField(sectionIndex) {
|
|
1634
|
+
setTimeout(() => {
|
|
1635
|
+
const formGroup = this.sectionFormGroups[sectionIndex].formGroup;
|
|
1636
|
+
for (const controlName in formGroup.controls) {
|
|
1637
|
+
if (formGroup.controls[controlName].invalid) {
|
|
1638
|
+
let qId = controlName;
|
|
1639
|
+
if (controlName.includes('_remarks_') || controlName.includes('_marks')) {
|
|
1640
|
+
qId = controlName.split('_')[0];
|
|
1641
|
+
}
|
|
1642
|
+
const element = document.getElementById(`question-container-${qId}`);
|
|
1643
|
+
if (element) {
|
|
1644
|
+
element.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
|
1645
|
+
break;
|
|
1646
|
+
}
|
|
1647
|
+
}
|
|
1648
|
+
}
|
|
1649
|
+
}, 100);
|
|
1650
|
+
}
|
|
1651
|
+
save(goNext = true, markAsCompleted = true) {
|
|
1652
|
+
var _a;
|
|
1653
|
+
this.isSubmitting = true;
|
|
1654
|
+
if (markAsCompleted && this.selectedTabIndex == this.sectionFormGroups.length - 1) {
|
|
1655
|
+
this.assesseeResponse.assessmentTaken = { code: 'ASSESSMENT_TAKEN.COMPLETED' };
|
|
1656
|
+
}
|
|
1657
|
+
else {
|
|
1658
|
+
this.assesseeResponse.assessmentTaken = { code: 'ASSESSMENT_TAKEN.INCOMPLETE' };
|
|
1659
|
+
}
|
|
1660
|
+
const payload = this.responseBuilderService.buildResponsePayload(this.assesseeResponse, this.assessmentQuestionPaperData, this.sectionFormGroups, this.questionBank, this.tenantId);
|
|
1661
|
+
const apiCall = ((_a = this.assesseeResponse) === null || _a === void 0 ? void 0 : _a.id) ? this.assessmentTakerService.patchAssessment(payload) : this.assessmentTakerService.submitAssessment(payload);
|
|
1662
|
+
apiCall.subscribe({
|
|
1663
|
+
next: (res) => {
|
|
1664
|
+
var _a, _b;
|
|
1665
|
+
if (!((_a = this.assesseeResponse) === null || _a === void 0 ? void 0 : _a.id)) {
|
|
1666
|
+
this.getAnswersByAiaId(res);
|
|
1667
|
+
}
|
|
1668
|
+
else {
|
|
1669
|
+
this.assesseeResponse = res;
|
|
1670
|
+
}
|
|
1671
|
+
this.isSubmitting = false;
|
|
1672
|
+
this.submitAssessment.emit({ assesseeId: ((_b = res === null || res === void 0 ? void 0 : res.assessee) === null || _b === void 0 ? void 0 : _b.id) || res, completed: goNext && (this.selectedTabIndex == this.sectionFormGroups.length - 1 || this.verticalView) });
|
|
1673
|
+
if (goNext && this.selectedTabIndex < this.sectionFormGroups.length - 1) {
|
|
1674
|
+
this.selectedTabIndex++;
|
|
1675
|
+
}
|
|
1676
|
+
},
|
|
1677
|
+
error: error => {
|
|
1678
|
+
var _a;
|
|
1679
|
+
this.isSubmitting = false;
|
|
1680
|
+
this.snackbarMessage.emit({ message: this.labelConfig['COMMONS_ASSESSMENT.TOAST.SAVE_FAILED'], type: 'error' });
|
|
1681
|
+
throw { error, method: ((_a = this.assesseeResponse) === null || _a === void 0 ? void 0 : _a.id) ? 'PATCH' : 'POST', payload };
|
|
1682
|
+
}
|
|
1683
|
+
});
|
|
1684
|
+
}
|
|
1685
|
+
getAnswersByAiaId(assesseeId) {
|
|
1686
|
+
this.assessmentTakerService.getAnswersByAiaId(assesseeId).subscribe({
|
|
1687
|
+
next: (res) => {
|
|
1688
|
+
this.assesseeResponse = res;
|
|
1689
|
+
},
|
|
1690
|
+
error: error => {
|
|
1691
|
+
this.snackbarMessage.emit({ message: this.labelConfig['COMMONS_ASSESSMENT.TOAST.GET_FAILED'], type: 'error' });
|
|
1692
|
+
throw { error, method: 'GET' };
|
|
1693
|
+
}
|
|
1694
|
+
});
|
|
1695
|
+
}
|
|
1696
|
+
addYoutubeIframeSrc(videoUrl) {
|
|
1697
|
+
const videoId = this.getVideoId(videoUrl);
|
|
1698
|
+
const youtubeUrl = `https://www.youtube.com/embed/${videoId}`;
|
|
1699
|
+
return this.sanitizer.bypassSecurityTrustResourceUrl(youtubeUrl);
|
|
1700
|
+
}
|
|
1701
|
+
getVideoId(videoUrl) {
|
|
1702
|
+
let pattern = null;
|
|
1703
|
+
if (videoUrl.includes('youtube.com')) {
|
|
1704
|
+
pattern = /(?:\?v=|&v=|youtu\.be\/|\/embed\/|\/\d\/|\/vi\/|\/v\/|https?:\/\/(?:www\.)?youtube\.com\/(?:v\/|embed\/|watch\?(?:\S+&)?v=|watch\?(?:\S+&)?vi=|\S+\/))([a-zA-Z0-9_-]{11})/;
|
|
1705
|
+
}
|
|
1706
|
+
else if (videoUrl.includes('youtu.be')) {
|
|
1707
|
+
pattern = /youtu\.be\/([a-zA-Z0-9_-]{11})/;
|
|
1708
|
+
}
|
|
1709
|
+
if (pattern) {
|
|
1710
|
+
const match = videoUrl.match(pattern);
|
|
1711
|
+
if (match && match[1]) {
|
|
1712
|
+
return match[1];
|
|
1713
|
+
}
|
|
1714
|
+
}
|
|
1715
|
+
return null;
|
|
1716
|
+
}
|
|
1717
|
+
openInstructionsDialog(section) {
|
|
1718
|
+
this.dialog.open(SectionInstructionsComponent, {
|
|
1719
|
+
autoFocus: false,
|
|
1720
|
+
maxWidth: '95%',
|
|
1721
|
+
width: 'calc(20rem + 500px)',
|
|
1722
|
+
maxHeight: '95dvh',
|
|
1723
|
+
panelClass: ['assessment-dialog'],
|
|
1724
|
+
data: {
|
|
1725
|
+
imageConfig: this.imageConfig,
|
|
1726
|
+
labelConfig: this.labelConfig,
|
|
1727
|
+
sectionDetails: section
|
|
1728
|
+
},
|
|
1729
|
+
});
|
|
1730
|
+
}
|
|
1731
|
+
}
|
|
1732
|
+
AssessmentTakerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AssessmentTakerComponent, deps: [{ token: AssessmentTakerService }, { token: i1$2.FormBuilder }, { token: ResponseBuilderService }, { token: i2.DomSanitizer }, { token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
1733
|
+
AssessmentTakerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AssessmentTakerComponent, selector: "lib-assessment-taker", inputs: { labelConfig: "labelConfig", imageConfig: "imageConfig", showFooter: "showFooter", assessmentId: "assessmentId", assessmentInstanceId: "assessmentInstanceId", assesseeData: "assesseeData", assessorData: "assessorData", disabled: "disabled", previewMode: "previewMode", verticalView: "verticalView", enableMarks: "enableMarks" }, outputs: { snackbarMessage: "snackbarMessage", submitAssessment: "submitAssessment" }, ngImport: i0, template: "<div *ngIf=\"configsLoaded && !showLoader; else loader\" class=\"col-12 h-100\">\r\n <div class=\"col-12 h-100 py-4\" [class.height-without-footer]=\"showFooter\">\r\n <ng-container *ngIf=\"assessmentQuestionPaperData?.questionPaperSectionList?.length\">\r\n <mat-tab-group *ngIf=\"!verticalView\" animationDuration=\"0ms\" class=\"assessment-mat-custom-tabs\"\r\n [(selectedIndex)]=\"selectedTabIndex\">\r\n <mat-tab\r\n *ngFor=\"let section of assessmentQuestionPaperData.questionPaperSectionList | orderBy; let i = index\"\r\n [disabled]=\"shouldDisableTab(i)\">\r\n <ng-template mat-tab-label>\r\n <span class=\"assessment-text-semibold-16\"\r\n [ngClass]=\"sectionErrors[i] ? 'assessment-text-danger' : ''\">{{section.qpsName?.[0]?.text}}</span>\r\n </ng-template>\r\n <div class=\"mt-4\">\r\n <ng-container\r\n *ngTemplateOutlet=\"sectionContent; context: { section: section, i: i }\"></ng-container>\r\n </div>\r\n </mat-tab>\r\n </mat-tab-group>\r\n\r\n <mat-accordion *ngIf=\"verticalView\" multi=\"true\" class=\"d-flex flex-column gap-4 mb-4\">\r\n <mat-expansion-panel\r\n *ngFor=\"let section of assessmentQuestionPaperData.questionPaperSectionList | orderBy; let i = index\"\r\n [expanded]=\"expandedState[i] !== false\" (opened)=\"expandedState[i] = true\"\r\n (closed)=\"expandedState[i] = false\"\r\n class=\"assessment-border-radius-two shadow-none m-0 assessment-panel\">\r\n <mat-expansion-panel-header class=\"assessment-bg-grey-two h-auto py-3 bg-transparent\">\r\n <mat-panel-title>\r\n <span class=\"assessment-text-semibold-16\"\r\n [ngClass]=\"sectionErrors[i] ? 'assessment-text-danger' : ''\">{{section.qpsName?.[0]?.text}}</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <div class=\"mt-4 px-md-3\">\r\n <ng-container\r\n *ngTemplateOutlet=\"sectionContent; context: { section: section, i: i }\"></ng-container>\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n </ng-container>\r\n\r\n <div *ngIf=\"!assessmentQuestionPaperData?.questionPaperSectionList?.length\"\r\n class=\"h-100 d-flex flex-column align-items-center justify-content-center gap-3\">\r\n <img [src]=\"imageConfig['COMMONS_ASSESSMENT.ICON.NO_QUESTIONS']\" class=\"col-sm-auto col-6\"\r\n (error)=\"imageErrorHandler($event, 'assets/commons-assessment/images/no-questions.svg')\" />\r\n <div class=\"text-center\">\r\n <p class=\"mb-1 assessment-text-medium-18\">{{labelConfig['COMMONS_ASSESSMENT.LABEL.NO_QUESTIONS']}}</p>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"showFooter\"\r\n class=\"bg-white p-3 position-sticky bottom-0 d-flex align-items-center justify-content-end border-top gap-3 z-index-1\">\r\n <button\r\n class=\"assessment-zoom-animation assessment-border-radius-two assessment-button-padding-large assessment-btn-primary-transparent assessment-text-semibold-13\"\r\n (click)=\"goBack()\" *ngIf=\"selectedTabIndex > 0 && !verticalView\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.GO_BACK']}}</button>\r\n <button [disabled]=\"isSubmitting\" (click)=\"verticalView ? processSubmit(true) : goNext()\"\r\n class=\"assessment-zoom-animation assessment-border-radius-two assessment-button-padding-large assessment-btn-primary assessment-text-semibold-13 position-relative\">\r\n <span [ngClass]=\"{'opacity-0': isSubmitting}\">\r\n {{ (verticalView || selectedTabIndex === sectionFormGroups.length - 1) ?\r\n labelConfig['COMMONS_ASSESSMENT.LABEL.SUBMIT'] : labelConfig['COMMONS_ASSESSMENT.LABEL.NEXT'] }}\r\n </span>\r\n <mat-spinner *ngIf=\"isSubmitting\" [diameter]=\"20\"\r\n class=\"position-absolute top-50 start-50 translate-middle assessment-spinner-white\"></mat-spinner>\r\n </button>\r\n </div>\r\n</div>\r\n\r\n<ng-template #loader>\r\n <div class=\"h-100 col-12 d-flex align-items-center justify-content-center py-5\">\r\n <mat-spinner diameter=\"60\" class=\"assessment-spinner-primary\"></mat-spinner>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- Recursive Template for Questions & Child Questions -->\r\n<ng-template #questionTemplate let-questionId=\"questionId\" let-isMandatory=\"isMandatory\" let-groupIndex=\"groupIndex\"\r\n let-parentOptionId=\"parentOptionId\" let-questionIndex=\"questionIndex\">\r\n <div [formGroup]=\"sectionFormGroups[groupIndex].formGroup\" [id]=\"'question-container-' + questionId\">\r\n <div class=\"assessment-border-radius-two mb-3\" [ngClass]=\"parentOptionId? '' : 'p-3 assessment-card-border'\"\r\n *ngIf=\"questionBank[questionId] as question\">\r\n <div\r\n class=\"d-flex flex-column flex-md-row justify-content-between gap-2 gap-md-3 align-items-md-start mb-3\">\r\n <div class=\"d-flex gap-md-3 gap-2 align-items-start flex-grow-1\">\r\n <div class=\"flex-grow-1\">\r\n <p class=\"assessment-text-medium-15 mb-0 d-flex gap-1 gap-md-2\">\r\n {{questionIndex + 1}}.\r\n <span [innerHtml]=\"question.questionText?.[0]?.text\"></span>\r\n </p>\r\n <div class=\"mt-3 col-12\" *ngIf=\"question?.mediaUrl\">\r\n <ng-container\r\n *ngTemplateOutlet=\"VideoTemplate; context:{videoUrl:question?.mediaUrl}\"></ng-container>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"question.hintText && !previewMode\">\r\n <img [src]=\"imageConfig['COMMONS_ASSESSMENT.ICON.INFO']\"\r\n (error)=\"imageErrorHandler($event, 'assets/commons-assessment/images/info.svg')\"\r\n cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\"\r\n (mouseenter)=\"tooltipState[question.id!] = true\"\r\n (mouseleave)=\"tooltipState[question.id!] = false\" class=\"cursor-pointer\" />\r\n <ng-template cdkConnectedOverlay [cdkConnectedOverlayOrigin]=\"trigger\"\r\n [cdkConnectedOverlayOpen]=\"tooltipState[question.id!] || false\"\r\n [cdkConnectedOverlayPositions]=\"[{ originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center', offsetX: -8, offsetY: 0 }, { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center', offsetX: 8, offsetY: 0 }]\">\r\n <div class=\"assessment-bg-grey-two assessment-tooltip-border p-3 assessment-border-radius-two assessment-box-shadow-tooltip question-info assessment-text-regular-13\"\r\n (mouseenter)=\"tooltipState[question.id!] = true\"\r\n (mouseleave)=\"tooltipState[question.id!] = false\" [innerHTML]=\"question.hintText\">\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n\r\n <!-- Assessor Marks Dropdown Logic -->\r\n <ng-container\r\n *ngIf=\"enableMarks && shouldShowMarksDropdown(question) && sectionFormGroups[groupIndex].formGroup.get(question.id + '_marks')\">\r\n <mat-form-field appearance=\"outline\"\r\n class=\"mb-0 assessment-marks-dropdown assessment-text-medium-12\">\r\n <mat-label\r\n class=\"assessment-text-medium-12\">{{labelConfig['COMMONS_ASSESSMENT.LABEL.MARKS']}}</mat-label>\r\n <mat-select [formControlName]=\"question.id + '_marks'\">\r\n <mat-option class=\"assessment-text-medium-12\"\r\n *ngFor=\"let mark of getMarksRange(question.id!)\" [value]=\"mark\">\r\n {{mark}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n </div>\r\n\r\n <ng-container [ngSwitch]=\"question.questionType?.code\">\r\n\r\n <div class=\"col-12\" *ngSwitchCase=\"'QUESTION_TYPE.SUBJECTIVE_SHORT'\">\r\n <lib-question-type-short [question]=\"question\" [formControlName]=\"question.id!\"\r\n [required]=\"isMandatory\" [previewMode]=\"previewMode\"\r\n [labelConfig]=\"labelConfig\"></lib-question-type-short>\r\n </div>\r\n\r\n <div class=\"col-12\" *ngSwitchCase=\"'QUESTION_TYPE.SUBJECTIVE_LONG'\">\r\n <lib-question-type-long [question]=\"question\" [formControlName]=\"question.id!\"\r\n [required]=\"isMandatory\" [previewMode]=\"previewMode\"\r\n [labelConfig]=\"labelConfig\"></lib-question-type-long>\r\n </div>\r\n\r\n <div class=\"col-12\" *ngSwitchCase=\"'QUESTION_TYPE.SUBJECTIVE_RICH_TEXT'\">\r\n <lib-question-type-editor [question]=\"question\" [formControlName]=\"question.id!\"\r\n [required]=\"isMandatory\" [previewMode]=\"previewMode\"\r\n [labelConfig]=\"labelConfig\"></lib-question-type-editor>\r\n </div>\r\n\r\n <div class=\"col-12\" *ngSwitchCase=\"'QUESTION_TYPE.OBJECTIVE'\">\r\n <lib-question-type-objective [question]=\"question\" [formControlName]=\"question.id!\"\r\n [required]=\"isMandatory\"></lib-question-type-objective>\r\n </div>\r\n\r\n <div class=\"col-12\" *ngSwitchCase=\"'QUESTION_TYPE.MULTI_SELECT'\">\r\n <lib-question-type-multiselect [question]=\"question\" [formControlName]=\"question.id!\"\r\n [required]=\"isMandatory\"></lib-question-type-multiselect>\r\n </div>\r\n\r\n <div class=\"col-12\" *ngSwitchCase=\"'QUESTION_TYPE.PREFERENCE'\">\r\n <lib-question-type-preference [question]=\"question\" [formControlName]=\"question.id!\"\r\n [required]=\"isMandatory\"></lib-question-type-preference>\r\n </div>\r\n\r\n <div class=\"col-12\" *ngSwitchCase=\"'QUESTION_TYPE.NUMBER'\">\r\n <lib-question-type-short [question]=\"question\" [formControlName]=\"question.id!\"\r\n [required]=\"isMandatory\" [previewMode]=\"previewMode\"\r\n [labelConfig]=\"labelConfig\"></lib-question-type-short>\r\n </div>\r\n\r\n <div class=\"col-12\" *ngSwitchCase=\"'QUESTION_TYPE.EMAIL'\">\r\n <lib-question-type-short [question]=\"question\" [formControlName]=\"question.id!\"\r\n [required]=\"isMandatory\" [previewMode]=\"previewMode\"\r\n [labelConfig]=\"labelConfig\"></lib-question-type-short>\r\n </div>\r\n\r\n <div class=\"col-12\" *ngSwitchCase=\"'QUESTION_TYPE.CONTACT_NUMBER'\">\r\n <lib-question-type-short [question]=\"question\" [formControlName]=\"question.id!\"\r\n [required]=\"isMandatory\" [previewMode]=\"previewMode\"\r\n [labelConfig]=\"labelConfig\"></lib-question-type-short>\r\n </div>\r\n\r\n <div class=\"col-12\" *ngSwitchCase=\"'QUESTION_TYPE.URL'\">\r\n <lib-question-type-short [question]=\"question\" [formControlName]=\"question.id!\"\r\n [required]=\"isMandatory\" [previewMode]=\"previewMode\"\r\n [labelConfig]=\"labelConfig\"></lib-question-type-short>\r\n </div>\r\n\r\n <div class=\"col-12\" *ngSwitchCase=\"'QUESTION_TYPE.FILE_UPLOAD'\">\r\n <lib-question-type-file-upload [question]=\"question\" [formControlName]=\"question.id!\"\r\n [required]=\"isMandatory\" [labelConfig]=\"labelConfig\"\r\n [imageConfig]=\"imageConfig\"></lib-question-type-file-upload>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- Error Messages and Character Count Container -->\r\n <ng-container *ngIf=\"sectionFormGroups[groupIndex].formGroup.get(question.id?.toString() || '') as control\">\r\n <div class=\"d-flex justify-content-between align-items-start mt-1\">\r\n <span>\r\n <mat-error class=\"assessment-text-regular-12 assessment-text-danger\"\r\n *ngIf=\"control.touched && control.errors?.['required']\">\r\n {{labelConfig['COMMONS_ASSESSMENT.ERROR.REQUIRED_RESPONSE']}}\r\n </mat-error>\r\n\r\n <mat-error class=\"assessment-text-regular-12 assessment-text-danger mt-1\"\r\n *ngIf=\"control.touched && control.errors?.['pattern']\">\r\n {{question?.validationMessage || labelConfig['COMMONS_ASSESSMENT.ERROR.INVALID_FORMAT']}}\r\n </mat-error>\r\n\r\n <mat-error class=\"assessment-text-regular-12 assessment-text-danger mt-1\"\r\n *ngIf=\"control.touched && control.errors?.['minlength']\">\r\n {{labelConfig['COMMONS_ASSESSMENT.ERROR.MIN_CHARS']?.replace('{{length}}',\r\n control.errors?.['minlength'].requiredLength + '')}}\r\n </mat-error>\r\n\r\n <mat-error class=\"assessment-text-regular-12 assessment-text-danger mt-1\"\r\n *ngIf=\"control.touched && control.errors?.['maxlength']\">\r\n {{labelConfig['COMMONS_ASSESSMENT.ERROR.MAX_CHARS']?.replace('{{length}}',\r\n control.errors?.['maxlength'].requiredLength + '')}}\r\n </mat-error>\r\n\r\n <mat-error class=\"assessment-text-regular-12 assessment-text-danger mt-1\"\r\n *ngIf=\"control.touched && control.errors?.['minOptions']\">\r\n {{labelConfig['COMMONS_ASSESSMENT.ERROR.MIN_OPTIONS']?.replace('{{count}}',\r\n control.errors?.['minOptions'].required + '')}}\r\n </mat-error>\r\n\r\n <mat-error class=\"assessment-text-regular-12 assessment-text-danger mt-1\"\r\n *ngIf=\"control.touched && control.errors?.['maxOptions']\">\r\n {{labelConfig['COMMONS_ASSESSMENT.ERROR.MAX_OPTIONS']?.replace('{{count}}',\r\n control.errors?.['maxOptions'].required + '')}}\r\n </mat-error>\r\n\r\n <mat-error class=\"assessment-text-regular-12 assessment-text-danger mt-1\"\r\n *ngIf=\"control.touched && control.errors?.['maxFiles']\">\r\n {{labelConfig['COMMONS_ASSESSMENT.ERROR.MAX_FILES']?.replace('{{count}}',\r\n control.errors?.['maxFiles'].required + '')}}\r\n </mat-error>\r\n\r\n <mat-error class=\"assessment-text-regular-12 assessment-text-danger mt-1\"\r\n *ngIf=\"control.touched && control.errors?.['maxFileSize']\">\r\n {{labelConfig['COMMONS_ASSESSMENT.ERROR.MAX_FILE_SIZE']?.replace('{{size}}',\r\n control.errors?.['maxFileSize'].requiredSize + '')}}\r\n </mat-error>\r\n </span>\r\n\r\n <div class=\"assessment-text-regular-12 assessment-text-grey-seven white-space-nowrap ms-2\"\r\n *ngIf=\"getMaxCharCount(question) > 0\">\r\n {{ getRemainingChars(question, control) }}\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.CHARACTER']}}{{getRemainingChars(question, control) !==\r\n 1\r\n ? 's' : ''}} {{labelConfig['COMMONS_ASSESSMENT.LABEL.REMAINING']}}\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n\r\n <!-- Child Questions and Remarks Rendering Logic based on checked form state -->\r\n <ng-container *ngIf=\"question.defaultOptionsList?.length\">\r\n <ng-container *ngFor=\"let option of question.defaultOptionsList\">\r\n\r\n <ng-container\r\n *ngIf=\"isOptionSelected(sectionFormGroups[groupIndex].formGroup, question, option.options?.id)\">\r\n\r\n <!-- REMARKS FIELD -->\r\n <div class=\"mt-3\"\r\n *ngIf=\"option.remarksRequired && sectionFormGroups[groupIndex].formGroup.get(question.id + '_remarks_' + option.id) as remarksControl\">\r\n <p class=\"assessment-text-regular-15 mb-2\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.REMARKS']}}</p>\r\n <textarea formControlName=\"{{question.id}}_remarks_{{option.id}}\" rows=\"2\"\r\n [placeholder]=\"labelConfig['COMMONS_ASSESSMENT.PLACEHOLDER.REMARKS']\"\r\n [ngClass]=\"remarksControl.invalid && remarksControl.touched ? 'assessment-input-border-invalid' : ''\"\r\n class=\"col-12 assessment-text-regular-13 assessment-input-border-one assessment-border-radius-two assessment-input-padding outline-0 assessment-bg-grey-one\"></textarea>\r\n <mat-error class=\"assessment-text-regular-12 assessment-text-danger mt-1\"\r\n *ngIf=\"remarksControl.invalid && remarksControl.touched\">\r\n {{labelConfig['COMMONS_ASSESSMENT.ERROR.FIELD_REQUIRED']}}\r\n </mat-error>\r\n </div>\r\n\r\n <!-- CHILD QUESTIONS RECURSION -->\r\n <div class=\"col-12 mt-3\" *ngIf=\"option.childQuestionList?.length\">\r\n <ng-container *ngFor=\"let childId of option.childQuestionList; let childIndex = index\">\r\n <ng-container *ngTemplateOutlet=\"questionTemplate; context: {\r\n questionId: childId,\r\n isMandatory: questionBank[childId]?.isMandatory,\r\n groupIndex: groupIndex,\r\n parentOptionId: option.id,\r\n questionIndex: childIndex\r\n }\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n </ng-container>\r\n\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- Reusable Section Form Template -->\r\n<ng-template #sectionContent let-section=\"section\" let-i=\"i\">\r\n <form class=\"w-100\" [formGroup]=\"sectionFormGroups[i].formGroup\" [name]=\"'sectionfrm-' + i\" novalidate>\r\n <div class=\"d-flex justify-content-between align-items-center mb-4\">\r\n <span class=\"assessment-text-semibold-14 assessment-text-grey-ten\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.TOTAL_QUESTIONS']}}{{ section?.totalQuestions || 0 }}\r\n </span>\r\n <button (click)=\"openInstructionsDialog(section)\"\r\n *ngIf=\"!previewMode && (section?.qpsDesc?.[0]?.text || section?.mediaUrl)\"\r\n class=\"assessment-zoom-animation assessment-button-padding assessment-text-medium-13 assessment-btn-primary-transparent\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.VIEW_INSTRUCTIONS']}}\r\n </button>\r\n </div>\r\n\r\n <ng-container *ngFor=\"let sq of section.sectionQuestionsList | orderBy; let j = index\">\r\n <ng-container *ngTemplateOutlet=\"questionTemplate; context: {\r\n questionId: sq.questionId,\r\n isMandatory: questionBank[sq.questionId]?.isMandatory,\r\n groupIndex: i,\r\n parentOptionId: null,\r\n questionIndex: j\r\n }\">\r\n </ng-container>\r\n </ng-container>\r\n </form>\r\n</ng-template>\r\n\r\n<!-- video preview -->\r\n<ng-template let-videoUrl=\"videoUrl\" #VideoTemplate>\r\n <div class=\"assessment-border-radius-two overflow-hidden col-md-10 col-12\">\r\n <video *ngIf=\"videoUrl?.includes('.mp4') else youtubeVideo\" width=\"400\" controls class=\"mw-100 d-block mx-auto\">\r\n <source [src]=\"videoUrl\" type=\"video/mp4\">\r\n </video>\r\n <ng-template #youtubeVideo>\r\n <div class=\"youtube-video position-relative h-100\">\r\n <iframe [src]=\"addYoutubeIframeSrc(videoUrl)\" title=\"YouTube video player\" frameborder=\"0\"\r\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\r\n allowfullscreen class=\"position-absolute top-0 start-0 w-100 h-100 d-block\">\r\n </iframe>\r\n </div>\r\n </ng-template>\r\n </div>\r\n</ng-template>", styles: [".assessment-text-grey-ten{color:var(--assessment-grey-ten)!important}.assessment-bg-grey-ten{background-color:var(--assessment-grey-ten)!important}.assessment-text-grey-nine{color:var(--assessment-grey-nine)!important}.assessment-bg-grey-nine{background-color:var(--assessment-grey-nine)!important}.assessment-text-grey-eight{color:var(--assessment-grey-eight)!important}.assessment-bg-grey-eight{background-color:var(--assessment-grey-eight)!important}.assessment-text-grey-seven{color:var(--assessment-grey-seven)!important}.assessment-bg-grey-seven{background-color:var(--assessment-grey-seven)!important}.assessment-text-grey-six{color:var(--assessment-grey-six)!important}.assessment-bg-grey-six{background-color:var(--assessment-grey-six)!important}.assessment-text-grey-five{color:var(--assessment-grey-five)!important}.assessment-bg-grey-five{background-color:var(--assessment-grey-five)!important}.assessment-text-grey-four{color:var(--assessment-grey-four)!important}.assessment-bg-grey-four{background-color:var(--assessment-grey-four)!important}.assessment-text-grey-three{color:var(--assessment-grey-three)!important}.assessment-bg-grey-three{background-color:var(--assessment-grey-three)!important}.assessment-text-grey-two{color:var(--assessment-grey-two)!important}.assessment-bg-grey-two{background-color:var(--assessment-grey-two)!important}.assessment-text-grey-one{color:var(--assessment-grey-one)!important}.assessment-bg-grey-one{background-color:var(--assessment-grey-one)!important}.assessment-text-white{color:var(--assessment-white)!important}.assessment-bg-white{background-color:var(--assessment-white)!important}.assessment-text-black{color:var(--assessment-black)!important}.assessment-bg-black{background-color:var(--assessment-black)!important}.assessment-text-danger{color:var(--assessment-danger)!important}.assessment-bg-danger{background-color:var(--assessment-danger)!important}.assessment-text-primary-one{color:var(--assessment-primary-one)!important}.assessment-bg-primary-one{background-color:var(--assessment-primary-one)!important}.assessment-text-primary-four{color:var(--assessment-primary-four)!important}.assessment-bg-primary-four{background-color:var(--assessment-primary-four)!important}.assessment-text-palette-EDF3FD{color:var(--assessment-palette-EDF3FD)!important}.assessment-bg-palette-EDF3FD{background-color:var(--assessment-palette-EDF3FD)!important}.assessment-text-palette-C8DAF9{color:var(--assessment-palette-C8DAF9)!important}.assessment-bg-palette-C8DAF9{background-color:var(--assessment-palette-C8DAF9)!important}.assessment-text-palette-ADC9F6{color:var(--assessment-palette-ADC9F6)!important}.assessment-bg-palette-ADC9F6{background-color:var(--assessment-palette-ADC9F6)!important}.assessment-text-palette-FEF9F1{color:var(--assessment-palette-FEF9F1)!important}.assessment-bg-palette-FEF9F1{background-color:var(--assessment-palette-FEF9F1)!important}.assessment-text-palette-F9DAA6{color:var(--assessment-palette-F9DAA6)!important}.assessment-bg-palette-F9DAA6{background-color:var(--assessment-palette-F9DAA6)!important}.assessment-text-palette-E8F7F0{color:var(--assessment-palette-E8F7F0)!important}.assessment-bg-palette-E8F7F0{background-color:var(--assessment-palette-E8F7F0)!important}.assessment-text-palette-B7E7CF{color:var(--assessment-palette-B7E7CF)!important}.assessment-bg-palette-B7E7CF{background-color:var(--assessment-palette-B7E7CF)!important}.assessment-box-shadow-one{box-shadow:var(--assessment-box-shadow-one)!important}.assessment-border-radius-one{border-radius:var(--assessment-border-radius-one)!important}.assessment-border-radius-two{border-radius:var(--assessment-border-radius-two)!important}.assessment-border-radius-three{border-radius:var(--assessment-border-radius-three)!important}.assessment-border-radius-four{border-radius:var(--assessment-border-radius-four)!important}.assessment-border-radius-five{border-radius:var(--assessment-border-radius-five)!important}.assessment-border-radius-six{border-radius:var(--assessment-border-radius-six)!important}.assessment-input-border-one{border:var(--assessment-input-border-one)!important}.assessment-input-border-invalid{border:var(--assessment-input-border-invalid)!important}.assessment-input-focus-border{border:var(--assessment-input-focus-border)!important}.assessment-border-two{border:var(--assessment-border-two)!important}.assessment-card-border{border:var(--assessment-card-border)!important}.assessment-tooltip-border{border:var(--assessment-tooltip-border)!important}.assessment-box-shadow-tooltip{box-shadow:var(--assessment-box-shadow-tooltip)!important}.assessment-button-padding{padding:var(--assessment-button-padding)!important}.assessment-button-padding-large{padding:var(--assessment-button-padding-large)!important}.assessment-input-padding{padding:var(--assessment-input-padding)!important}.assessment-text-font-family{color:var(--assessment-font-family)!important}.assessment-bg-font-family{background-color:var(--assessment-font-family)!important}.assessment-text-regular-12{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-bold-12{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-semibold-12{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-semibold-11{font-weight:600;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-medium-11{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-regular-11{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-medium-12{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-regular-13{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-bold-13{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-semibold-13{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-medium-13{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-regular-14{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-bold-14{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-medium-14{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw)!important;line-height:calc(1.2rem + .2vw)!important}.assessment-text-semibold-14{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-semibold-10{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.55rem + .1vw);line-height:calc(1rem + .1vw)}.assessment-text-regular-10{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.55rem + .1vw)!important;line-height:calc(1rem + .1vw)}.assessment-text-regular-15{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.85rem + .1vw);line-height:calc(1.4rem + .1vw)}.assessment-text-medium-15{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-semibold-15{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-bold-15{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-regular-16{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-semibold-16{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-bold-16{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-medium-16{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-regular-20{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-bold-20{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-semibold-20{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-medium-20{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-medium-18{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .1vw)!important}.assessment-text-regular-18{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .3vw)!important}.assessment-text-bold-18{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw);line-height:calc(1.5rem + .1vw)}.assessment-text-semibold-18{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .1vw)!important}.assessment-text-bold-34{overflow-wrap:break-word;font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(2rem + .15vw);line-height:calc(2.5rem + .15vw)}.assessment-text-medium-34{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(2rem + .15vw);line-height:calc(2.5rem + .15vw)}.assessment-text-bold-32{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.3rem + .75vw);line-height:calc(1.625rem + .5vw)}.assessment-text-bold-22{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-regular-22{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-semibold-22{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-medium-22{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-bold-24{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-regular-24{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-semibold-24{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-medium-24{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.8rem + .75vw);line-height:calc(1.2rem + .75vw)}.assessment-text-regular-26{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-medium-26{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-bold-26{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-semibold-26{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-regular-28{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-medium-28{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-semibold-28{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw);letter-spacing:1}.assessment-text-bold-28{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-regular-30{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .4vw)}.assessment-text-medium-30{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-bold-30{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .4vw);line-height:calc(2rem + .4vw)}.assessment-text-semibold-30{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .4vw);line-height:calc(1.5rem + .4vw);letter-spacing:.5}.assessment-text-bold-36{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(2rem + .25vw);line-height:calc(2.5rem + .3vw)}.assessment-text-semibold-36{font-weight:600;font-family:var(--assessment-font-family);font-size:calc(2rem + .25vw);line-height:calc(2.5rem + .3vw)}@media (min-height: 100vw) and (orientation: portrait){.assessment-text-bold-34{font-size:calc(1.8rem + .15vh);line-height:calc(2.2rem + .15vh)}.assessment-text-bold-32{font-size:calc(1.3rem + 1vh);line-height:calc(1.5rem + 1vh)}.assessment-text-semibold-30{font-size:calc(1.5rem + .4vh);line-height:calc(1.8rem + .4vh)}.assessment-text-medium-24{line-height:2.188rem}.assessment-text-medium-24,.assessment-text-regular-24,.assessment-text-semibold-24,.assessment-text-bold-24,.assessment-text-light-24{font-size:calc(1.3rem + .5vh);line-height:calc(1.8rem + .5vh)}.assessment-text-medium-18,.assessment-text-regular-18,.assessment-text-bold-18,.assessment-text-semibold-18,.assessment-text-light-18{font-size:calc(1rem + .1vh)!important;line-height:calc(1.6rem + .1vh)!important}.assessment-text-light-16,.assessment-text-bold-16{font-size:calc(.9rem + .3vh)!important;line-height:calc(1.2rem + .3vh)!important}.assessment-text-medium-16,.assessment-text-semibold-16,.assessment-text-regular-16{font-size:calc(.9rem + .2vh)!important;line-height:calc(1.4rem + .2vh)!important}.assessment-text-regular-15,.assessment-text-semibold-15,.assessment-text-bold-15,.assessment-text-light-15{font-size:calc(.8rem + .2vh);line-height:calc(1.27rem + .2vh)}.assessment-text-medium-15{font-size:calc(.8rem + .2vh);line-height:calc(1.27rem + .2vh)}.assessment-text-medium-12,.assessment-text-regular-12,.assessment-text-semibold-12,.assessment-text-bold-12,.assessment-text-medium-upper-12,.assessment-text-light-12{font-size:calc(.5rem + .4vh);line-height:calc(.8rem + .4vh)}.assessment-text-medium-14,.assessment-text-regular-14,.assessment-text-light-14,.assessment-text-medium-upper-14,.assessment-text-semibold-14,.assessment-text-bold-14{font-size:calc(.8rem + .1vh)!important;line-height:calc(1.2rem + .2vh)!important}.assessment-text-regular-13,.assessment-text-medium-13,.assessment-text-semibold-13,.assessment-text-bold-13,.assessment-text-light-13{font-size:calc(.7rem + .2vh)!important;line-height:calc(1rem + .3vh)!important}.assessment-text-regular-11,.assessment-text-medium-11,.assessment-text-semibold-11,.assessment-text-bold-11,.assessment-text-light-11{font-size:calc(.5rem + .2vh)!important;line-height:calc(.8rem + .2vh)!important}}.assessment-btn-primary{background-color:var(--assessment-primary-one);color:var(--assessment-white);border:.064rem solid var(--assessment-primary-one);border-radius:var(--assessment-border-radius-two)}.assessment-btn-primary-transparent{background-color:var(--assessment-white);color:var(--assessment-primary-one);border-radius:var(--assessment-border-radius-two);border:.064rem solid var(--assessment-primary-one)}.assessment-zoom-animation{transition:transform .2s ease;transform:translateZ(0);text-rendering:optimizeLegibility}.assessment-zoom-animation:hover{transform:scale(1.03)}.assessment-zoom-animation:active{transform:scale(1)}.assessment-zoom-animation:disabled{transform:none!important}.change-direction{transform:rotate(180deg);transition:.3s ease-out}.change-direction-reverse{transform:rotate(0);transition:.3s ease-out}.outline-0{outline:none}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.action-icon{width:1.2rem}.mat-menu-item{height:inherit}.height-without-footer{height:calc(100% - 4.4rem)!important}.z-index-1{z-index:1}.question-info{min-width:15rem;max-width:40vw}@media screen and (max-width: 768px){.question-info{max-width:75vw}}@media screen and (min-width: 768px){.assessment-marks-dropdown{width:6rem}}.youtube-video{aspect-ratio:16/9}\n"], components: [{ type: i6.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { type: i6.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby"], exportAs: ["matTab"] }, { type: i7.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { type: i7.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }, { type: i8.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: i9.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i10.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i11.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: QuestionTypeShortComponent, selector: "lib-question-type-short", inputs: ["required", "question", "previewMode", "labelConfig"] }, { type: QuestionTypeLongComponent, selector: "lib-question-type-long", inputs: ["required", "question", "previewMode", "labelConfig"] }, { type: QuestionTypeEditorComponent, selector: "lib-question-type-editor", inputs: ["required", "question", "previewMode", "labelConfig"] }, { type: QuestionTypeObjectiveComponent, selector: "lib-question-type-objective", inputs: ["required", "question"], outputs: ["viewChild"] }, { type: QuestionTypeMultiselectComponent, selector: "lib-question-type-multiselect", inputs: ["required", "question"], outputs: ["viewChild"] }, { type: QuestionTypePreferenceComponent, selector: "lib-question-type-preference", inputs: ["required", "question"], outputs: ["viewChild"] }, { type: QuestionTypeFileUploadComponent, selector: "lib-question-type-file-upload", inputs: ["required", "question", "labelConfig", "imageConfig"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.MatAccordion, selector: "mat-accordion", inputs: ["multi", "displayMode", "togglePosition", "hideToggle"], exportAs: ["matAccordion"] }, { type: i7.MatExpansionPanelTitle, selector: "mat-panel-title" }, { type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i20.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { type: i20.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayPositions", "cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayTransformOriginOn"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { type: i9.MatLabel, selector: "mat-label" }, { type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i9.MatError, selector: "mat-error", inputs: ["id"] }, { type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }], pipes: { "orderBy": OrderByPipe } });
|
|
1734
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AssessmentTakerComponent, decorators: [{
|
|
1735
|
+
type: Component,
|
|
1736
|
+
args: [{
|
|
1737
|
+
selector: 'lib-assessment-taker',
|
|
1738
|
+
templateUrl: './assessment-taker.component.html',
|
|
1739
|
+
styleUrls: ['./assessment-taker.component.scss']
|
|
1740
|
+
}]
|
|
1741
|
+
}], ctorParameters: function () { return [{ type: AssessmentTakerService }, { type: i1$2.FormBuilder }, { type: ResponseBuilderService }, { type: i2.DomSanitizer }, { type: i1.MatDialog }]; }, propDecorators: { labelConfig: [{
|
|
1742
|
+
type: Input
|
|
1743
|
+
}], imageConfig: [{
|
|
1744
|
+
type: Input
|
|
1745
|
+
}], showFooter: [{
|
|
1746
|
+
type: Input
|
|
1747
|
+
}], assessmentId: [{
|
|
1748
|
+
type: Input
|
|
1749
|
+
}], assessmentInstanceId: [{
|
|
1750
|
+
type: Input
|
|
1751
|
+
}], assesseeData: [{
|
|
1752
|
+
type: Input
|
|
1753
|
+
}], assessorData: [{
|
|
1754
|
+
type: Input
|
|
1755
|
+
}], disabled: [{
|
|
1756
|
+
type: Input
|
|
1757
|
+
}], previewMode: [{
|
|
1758
|
+
type: Input
|
|
1759
|
+
}], verticalView: [{
|
|
1760
|
+
type: Input
|
|
1761
|
+
}], enableMarks: [{
|
|
1762
|
+
type: Input
|
|
1763
|
+
}], snackbarMessage: [{
|
|
1764
|
+
type: Output
|
|
1765
|
+
}], submitAssessment: [{
|
|
1766
|
+
type: Output
|
|
1767
|
+
}] } });
|
|
1768
|
+
|
|
1769
|
+
const MATERIAL_MODULES = [
|
|
1770
|
+
MatProgressSpinnerModule,
|
|
1771
|
+
MatExpansionModule,
|
|
1772
|
+
MatSelectModule,
|
|
1773
|
+
DragDropModule,
|
|
1774
|
+
MatMenuModule,
|
|
1775
|
+
MatDialogModule,
|
|
1776
|
+
MatTooltipModule,
|
|
1777
|
+
MatFormFieldModule,
|
|
1778
|
+
MatTabsModule,
|
|
1779
|
+
MatRadioModule,
|
|
1780
|
+
MatCheckboxModule,
|
|
1781
|
+
OverlayModule,
|
|
1782
|
+
];
|
|
1783
|
+
class MaterialModules {
|
|
1784
|
+
}
|
|
1785
|
+
MaterialModules.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MaterialModules, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1786
|
+
MaterialModules.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MaterialModules, imports: [MatProgressSpinnerModule,
|
|
1787
|
+
MatExpansionModule,
|
|
1788
|
+
MatSelectModule,
|
|
1789
|
+
DragDropModule,
|
|
1790
|
+
MatMenuModule,
|
|
1791
|
+
MatDialogModule,
|
|
1792
|
+
MatTooltipModule,
|
|
1793
|
+
MatFormFieldModule,
|
|
1794
|
+
MatTabsModule,
|
|
1795
|
+
MatRadioModule,
|
|
1796
|
+
MatCheckboxModule,
|
|
1797
|
+
OverlayModule], exports: [MatProgressSpinnerModule,
|
|
1798
|
+
MatExpansionModule,
|
|
1799
|
+
MatSelectModule,
|
|
1800
|
+
DragDropModule,
|
|
1801
|
+
MatMenuModule,
|
|
1802
|
+
MatDialogModule,
|
|
1803
|
+
MatTooltipModule,
|
|
1804
|
+
MatFormFieldModule,
|
|
1805
|
+
MatTabsModule,
|
|
1806
|
+
MatRadioModule,
|
|
1807
|
+
MatCheckboxModule,
|
|
1808
|
+
OverlayModule] });
|
|
1809
|
+
MaterialModules.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MaterialModules, imports: [MATERIAL_MODULES, MatProgressSpinnerModule,
|
|
1810
|
+
MatExpansionModule,
|
|
1811
|
+
MatSelectModule,
|
|
1812
|
+
DragDropModule,
|
|
1813
|
+
MatMenuModule,
|
|
1814
|
+
MatDialogModule,
|
|
1815
|
+
MatTooltipModule,
|
|
1816
|
+
MatFormFieldModule,
|
|
1817
|
+
MatTabsModule,
|
|
1818
|
+
MatRadioModule,
|
|
1819
|
+
MatCheckboxModule,
|
|
1820
|
+
OverlayModule] });
|
|
1821
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MaterialModules, decorators: [{
|
|
1822
|
+
type: NgModule,
|
|
1823
|
+
args: [{
|
|
1824
|
+
imports: MATERIAL_MODULES,
|
|
1825
|
+
exports: MATERIAL_MODULES
|
|
1826
|
+
}]
|
|
1827
|
+
}] });
|
|
1828
|
+
|
|
1829
|
+
class SharedModule {
|
|
1830
|
+
}
|
|
1831
|
+
SharedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1832
|
+
SharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SharedModule, declarations: [TextEditorComponent,
|
|
1833
|
+
OrderByPipe], imports: [CommonModule,
|
|
1834
|
+
FormsModule,
|
|
1835
|
+
ReactiveFormsModule,
|
|
1836
|
+
MaterialModules,
|
|
1837
|
+
AngularEditorModule], exports: [TextEditorComponent,
|
|
1838
|
+
MaterialModules,
|
|
1839
|
+
OrderByPipe] });
|
|
1840
|
+
SharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SharedModule, imports: [[
|
|
1841
|
+
CommonModule,
|
|
1842
|
+
FormsModule,
|
|
1843
|
+
ReactiveFormsModule,
|
|
1844
|
+
MaterialModules,
|
|
1845
|
+
AngularEditorModule
|
|
1846
|
+
], MaterialModules] });
|
|
1847
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SharedModule, decorators: [{
|
|
1848
|
+
type: NgModule,
|
|
1849
|
+
args: [{
|
|
1850
|
+
declarations: [
|
|
1851
|
+
TextEditorComponent,
|
|
1852
|
+
OrderByPipe
|
|
1853
|
+
],
|
|
1854
|
+
imports: [
|
|
1855
|
+
CommonModule,
|
|
1856
|
+
FormsModule,
|
|
1857
|
+
ReactiveFormsModule,
|
|
1858
|
+
MaterialModules,
|
|
1859
|
+
AngularEditorModule
|
|
1860
|
+
],
|
|
1861
|
+
exports: [
|
|
1862
|
+
TextEditorComponent,
|
|
1863
|
+
MaterialModules,
|
|
1864
|
+
OrderByPipe
|
|
1865
|
+
]
|
|
1866
|
+
}]
|
|
1867
|
+
}] });
|
|
1868
|
+
|
|
1869
|
+
class QuestionTypeNumberComponent {
|
|
1870
|
+
constructor() {
|
|
1871
|
+
this.formControl = new FormControl();
|
|
1872
|
+
}
|
|
1873
|
+
writeValue(value) {
|
|
1874
|
+
this.formControl.setValue(value);
|
|
1875
|
+
}
|
|
1876
|
+
registerOnChange(fn) {
|
|
1877
|
+
this.formControl.valueChanges.subscribe((val) => fn(val));
|
|
1878
|
+
}
|
|
1879
|
+
registerOnTouched(fn) {
|
|
1880
|
+
this.formControl.valueChanges.subscribe((val) => fn(val));
|
|
1881
|
+
}
|
|
1882
|
+
}
|
|
1883
|
+
QuestionTypeNumberComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionTypeNumberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1884
|
+
QuestionTypeNumberComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: QuestionTypeNumberComponent, selector: "lib-question-type-number", inputs: { required: "required", optionsList: "optionsList" }, providers: [
|
|
1885
|
+
{
|
|
1886
|
+
provide: NG_VALUE_ACCESSOR,
|
|
1887
|
+
useExisting: forwardRef(() => QuestionTypeNumberComponent),
|
|
1888
|
+
multi: true,
|
|
1889
|
+
},
|
|
1890
|
+
], ngImport: i0, template: "<mat-form-field class=\"example-full-width\">\r\n <!-- <input matInput type=\"number\" [formControl]=\"formControl\" class=\"form-check-input\" placeholder=\"Enter number\" value=\"\" min=\"1\" oninput=\"validity.valid||(value='');\" [required]=\"required\"> -->\r\n <input matInput [formControl]=\"formControl\" class=\"form-check-input\" placeholder=\"Enter number\" value=\"\" [required]=\"required\">\r\n </mat-form-field>\r\n", styles: [".assessment-text-grey-ten{color:var(--assessment-grey-ten)!important}.assessment-bg-grey-ten{background-color:var(--assessment-grey-ten)!important}.assessment-text-grey-nine{color:var(--assessment-grey-nine)!important}.assessment-bg-grey-nine{background-color:var(--assessment-grey-nine)!important}.assessment-text-grey-eight{color:var(--assessment-grey-eight)!important}.assessment-bg-grey-eight{background-color:var(--assessment-grey-eight)!important}.assessment-text-grey-seven{color:var(--assessment-grey-seven)!important}.assessment-bg-grey-seven{background-color:var(--assessment-grey-seven)!important}.assessment-text-grey-six{color:var(--assessment-grey-six)!important}.assessment-bg-grey-six{background-color:var(--assessment-grey-six)!important}.assessment-text-grey-five{color:var(--assessment-grey-five)!important}.assessment-bg-grey-five{background-color:var(--assessment-grey-five)!important}.assessment-text-grey-four{color:var(--assessment-grey-four)!important}.assessment-bg-grey-four{background-color:var(--assessment-grey-four)!important}.assessment-text-grey-three{color:var(--assessment-grey-three)!important}.assessment-bg-grey-three{background-color:var(--assessment-grey-three)!important}.assessment-text-grey-two{color:var(--assessment-grey-two)!important}.assessment-bg-grey-two{background-color:var(--assessment-grey-two)!important}.assessment-text-grey-one{color:var(--assessment-grey-one)!important}.assessment-bg-grey-one{background-color:var(--assessment-grey-one)!important}.assessment-text-white{color:var(--assessment-white)!important}.assessment-bg-white{background-color:var(--assessment-white)!important}.assessment-text-black{color:var(--assessment-black)!important}.assessment-bg-black{background-color:var(--assessment-black)!important}.assessment-text-danger{color:var(--assessment-danger)!important}.assessment-bg-danger{background-color:var(--assessment-danger)!important}.assessment-text-primary-one{color:var(--assessment-primary-one)!important}.assessment-bg-primary-one{background-color:var(--assessment-primary-one)!important}.assessment-text-primary-four{color:var(--assessment-primary-four)!important}.assessment-bg-primary-four{background-color:var(--assessment-primary-four)!important}.assessment-text-palette-EDF3FD{color:var(--assessment-palette-EDF3FD)!important}.assessment-bg-palette-EDF3FD{background-color:var(--assessment-palette-EDF3FD)!important}.assessment-text-palette-C8DAF9{color:var(--assessment-palette-C8DAF9)!important}.assessment-bg-palette-C8DAF9{background-color:var(--assessment-palette-C8DAF9)!important}.assessment-text-palette-ADC9F6{color:var(--assessment-palette-ADC9F6)!important}.assessment-bg-palette-ADC9F6{background-color:var(--assessment-palette-ADC9F6)!important}.assessment-text-palette-FEF9F1{color:var(--assessment-palette-FEF9F1)!important}.assessment-bg-palette-FEF9F1{background-color:var(--assessment-palette-FEF9F1)!important}.assessment-text-palette-F9DAA6{color:var(--assessment-palette-F9DAA6)!important}.assessment-bg-palette-F9DAA6{background-color:var(--assessment-palette-F9DAA6)!important}.assessment-text-palette-E8F7F0{color:var(--assessment-palette-E8F7F0)!important}.assessment-bg-palette-E8F7F0{background-color:var(--assessment-palette-E8F7F0)!important}.assessment-text-palette-B7E7CF{color:var(--assessment-palette-B7E7CF)!important}.assessment-bg-palette-B7E7CF{background-color:var(--assessment-palette-B7E7CF)!important}.assessment-box-shadow-one{box-shadow:var(--assessment-box-shadow-one)!important}.assessment-border-radius-one{border-radius:var(--assessment-border-radius-one)!important}.assessment-border-radius-two{border-radius:var(--assessment-border-radius-two)!important}.assessment-border-radius-three{border-radius:var(--assessment-border-radius-three)!important}.assessment-border-radius-four{border-radius:var(--assessment-border-radius-four)!important}.assessment-border-radius-five{border-radius:var(--assessment-border-radius-five)!important}.assessment-border-radius-six{border-radius:var(--assessment-border-radius-six)!important}.assessment-input-border-one{border:var(--assessment-input-border-one)!important}.assessment-input-border-invalid{border:var(--assessment-input-border-invalid)!important}.assessment-input-focus-border{border:var(--assessment-input-focus-border)!important}.assessment-border-two{border:var(--assessment-border-two)!important}.assessment-card-border{border:var(--assessment-card-border)!important}.assessment-tooltip-border{border:var(--assessment-tooltip-border)!important}.assessment-box-shadow-tooltip{box-shadow:var(--assessment-box-shadow-tooltip)!important}.assessment-button-padding{padding:var(--assessment-button-padding)!important}.assessment-button-padding-large{padding:var(--assessment-button-padding-large)!important}.assessment-input-padding{padding:var(--assessment-input-padding)!important}.assessment-text-font-family{color:var(--assessment-font-family)!important}.assessment-bg-font-family{background-color:var(--assessment-font-family)!important}.assessment-text-regular-12{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-bold-12{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-semibold-12{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-semibold-11{font-weight:600;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-medium-11{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-regular-11{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-medium-12{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-regular-13{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-bold-13{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-semibold-13{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-medium-13{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-regular-14{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-bold-14{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-medium-14{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw)!important;line-height:calc(1.2rem + .2vw)!important}.assessment-text-semibold-14{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-semibold-10{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.55rem + .1vw);line-height:calc(1rem + .1vw)}.assessment-text-regular-10{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.55rem + .1vw)!important;line-height:calc(1rem + .1vw)}.assessment-text-regular-15{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.85rem + .1vw);line-height:calc(1.4rem + .1vw)}.assessment-text-medium-15{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-semibold-15{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-bold-15{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-regular-16{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-semibold-16{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-bold-16{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-medium-16{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-regular-20{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-bold-20{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-semibold-20{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-medium-20{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-medium-18{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .1vw)!important}.assessment-text-regular-18{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .3vw)!important}.assessment-text-bold-18{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw);line-height:calc(1.5rem + .1vw)}.assessment-text-semibold-18{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .1vw)!important}.assessment-text-bold-34{overflow-wrap:break-word;font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(2rem + .15vw);line-height:calc(2.5rem + .15vw)}.assessment-text-medium-34{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(2rem + .15vw);line-height:calc(2.5rem + .15vw)}.assessment-text-bold-32{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.3rem + .75vw);line-height:calc(1.625rem + .5vw)}.assessment-text-bold-22{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-regular-22{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-semibold-22{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-medium-22{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-bold-24{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-regular-24{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-semibold-24{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-medium-24{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.8rem + .75vw);line-height:calc(1.2rem + .75vw)}.assessment-text-regular-26{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-medium-26{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-bold-26{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-semibold-26{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-regular-28{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-medium-28{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-semibold-28{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw);letter-spacing:1}.assessment-text-bold-28{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-regular-30{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .4vw)}.assessment-text-medium-30{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-bold-30{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .4vw);line-height:calc(2rem + .4vw)}.assessment-text-semibold-30{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .4vw);line-height:calc(1.5rem + .4vw);letter-spacing:.5}.assessment-text-bold-36{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(2rem + .25vw);line-height:calc(2.5rem + .3vw)}.assessment-text-semibold-36{font-weight:600;font-family:var(--assessment-font-family);font-size:calc(2rem + .25vw);line-height:calc(2.5rem + .3vw)}@media (min-height: 100vw) and (orientation: portrait){.assessment-text-bold-34{font-size:calc(1.8rem + .15vh);line-height:calc(2.2rem + .15vh)}.assessment-text-bold-32{font-size:calc(1.3rem + 1vh);line-height:calc(1.5rem + 1vh)}.assessment-text-semibold-30{font-size:calc(1.5rem + .4vh);line-height:calc(1.8rem + .4vh)}.assessment-text-medium-24{line-height:2.188rem}.assessment-text-medium-24,.assessment-text-regular-24,.assessment-text-semibold-24,.assessment-text-bold-24,.assessment-text-light-24{font-size:calc(1.3rem + .5vh);line-height:calc(1.8rem + .5vh)}.assessment-text-medium-18,.assessment-text-regular-18,.assessment-text-bold-18,.assessment-text-semibold-18,.assessment-text-light-18{font-size:calc(1rem + .1vh)!important;line-height:calc(1.6rem + .1vh)!important}.assessment-text-light-16,.assessment-text-bold-16{font-size:calc(.9rem + .3vh)!important;line-height:calc(1.2rem + .3vh)!important}.assessment-text-medium-16,.assessment-text-semibold-16,.assessment-text-regular-16{font-size:calc(.9rem + .2vh)!important;line-height:calc(1.4rem + .2vh)!important}.assessment-text-regular-15,.assessment-text-semibold-15,.assessment-text-bold-15,.assessment-text-light-15{font-size:calc(.8rem + .2vh);line-height:calc(1.27rem + .2vh)}.assessment-text-medium-15{font-size:calc(.8rem + .2vh);line-height:calc(1.27rem + .2vh)}.assessment-text-medium-12,.assessment-text-regular-12,.assessment-text-semibold-12,.assessment-text-bold-12,.assessment-text-medium-upper-12,.assessment-text-light-12{font-size:calc(.5rem + .4vh);line-height:calc(.8rem + .4vh)}.assessment-text-medium-14,.assessment-text-regular-14,.assessment-text-light-14,.assessment-text-medium-upper-14,.assessment-text-semibold-14,.assessment-text-bold-14{font-size:calc(.8rem + .1vh)!important;line-height:calc(1.2rem + .2vh)!important}.assessment-text-regular-13,.assessment-text-medium-13,.assessment-text-semibold-13,.assessment-text-bold-13,.assessment-text-light-13{font-size:calc(.7rem + .2vh)!important;line-height:calc(1rem + .3vh)!important}.assessment-text-regular-11,.assessment-text-medium-11,.assessment-text-semibold-11,.assessment-text-bold-11,.assessment-text-light-11{font-size:calc(.5rem + .2vh)!important;line-height:calc(.8rem + .2vh)!important}}.assessment-btn-primary{background-color:var(--assessment-primary-one);color:var(--assessment-white);border:.064rem solid var(--assessment-primary-one);border-radius:var(--assessment-border-radius-two)}.assessment-btn-primary-transparent{background-color:var(--assessment-white);color:var(--assessment-primary-one);border-radius:var(--assessment-border-radius-two);border:.064rem solid var(--assessment-primary-one)}.assessment-zoom-animation{transition:transform .2s ease;transform:translateZ(0);text-rendering:optimizeLegibility}.assessment-zoom-animation:hover{transform:scale(1.03)}.assessment-zoom-animation:active{transform:scale(1)}.assessment-zoom-animation:disabled{transform:none!important}.change-direction{transform:rotate(180deg);transition:.3s ease-out}.change-direction-reverse{transform:rotate(0);transition:.3s ease-out}.outline-0{outline:none}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.action-icon{width:1.2rem}.mat-menu-item{height:inherit}\n"], components: [{ type: i9.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }], directives: [{ type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }] });
|
|
1891
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionTypeNumberComponent, decorators: [{
|
|
1892
|
+
type: Component,
|
|
1893
|
+
args: [{
|
|
1894
|
+
selector: 'lib-question-type-number',
|
|
1895
|
+
templateUrl: './question-type-number.component.html',
|
|
1896
|
+
styleUrls: ['./question-type-number.component.scss'],
|
|
1897
|
+
providers: [
|
|
1898
|
+
{
|
|
1899
|
+
provide: NG_VALUE_ACCESSOR,
|
|
1900
|
+
useExisting: forwardRef(() => QuestionTypeNumberComponent),
|
|
1901
|
+
multi: true,
|
|
1902
|
+
},
|
|
1903
|
+
],
|
|
1904
|
+
}]
|
|
1905
|
+
}], ctorParameters: function () { return []; }, propDecorators: { required: [{
|
|
1906
|
+
type: Input
|
|
1907
|
+
}], optionsList: [{
|
|
1908
|
+
type: Input
|
|
1909
|
+
}] } });
|
|
1910
|
+
|
|
1911
|
+
class AssessmentTakerModule {
|
|
1912
|
+
}
|
|
1913
|
+
AssessmentTakerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AssessmentTakerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1914
|
+
AssessmentTakerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AssessmentTakerModule, declarations: [AssessmentTakerComponent,
|
|
1915
|
+
QuestionTypeEditorComponent,
|
|
1916
|
+
QuestionTypeFileUploadComponent,
|
|
1917
|
+
QuestionTypeLongComponent,
|
|
1918
|
+
QuestionTypeMultiselectComponent,
|
|
1919
|
+
QuestionTypeNumberComponent,
|
|
1920
|
+
QuestionTypeObjectiveComponent,
|
|
1921
|
+
QuestionTypePreferenceComponent,
|
|
1922
|
+
QuestionTypeShortComponent,
|
|
1923
|
+
SectionInstructionsComponent], imports: [CommonModule,
|
|
1924
|
+
SharedModule,
|
|
1925
|
+
MaterialModules,
|
|
1926
|
+
FormsModule,
|
|
1927
|
+
ReactiveFormsModule], exports: [AssessmentTakerComponent] });
|
|
1928
|
+
AssessmentTakerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AssessmentTakerModule, providers: [AssessmentTakerService], imports: [[
|
|
1929
|
+
CommonModule,
|
|
1930
|
+
SharedModule,
|
|
1931
|
+
MaterialModules,
|
|
1932
|
+
FormsModule,
|
|
1933
|
+
ReactiveFormsModule
|
|
1934
|
+
]] });
|
|
1935
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AssessmentTakerModule, decorators: [{
|
|
1936
|
+
type: NgModule,
|
|
1937
|
+
args: [{
|
|
1938
|
+
declarations: [
|
|
1939
|
+
AssessmentTakerComponent,
|
|
1940
|
+
QuestionTypeEditorComponent,
|
|
1941
|
+
QuestionTypeFileUploadComponent,
|
|
1942
|
+
QuestionTypeLongComponent,
|
|
1943
|
+
QuestionTypeMultiselectComponent,
|
|
1944
|
+
QuestionTypeNumberComponent,
|
|
1945
|
+
QuestionTypeObjectiveComponent,
|
|
1946
|
+
QuestionTypePreferenceComponent,
|
|
1947
|
+
QuestionTypeShortComponent,
|
|
1948
|
+
SectionInstructionsComponent
|
|
1949
|
+
],
|
|
1950
|
+
imports: [
|
|
1951
|
+
CommonModule,
|
|
1952
|
+
SharedModule,
|
|
1953
|
+
MaterialModules,
|
|
1954
|
+
FormsModule,
|
|
1955
|
+
ReactiveFormsModule
|
|
1956
|
+
],
|
|
1957
|
+
exports: [
|
|
1958
|
+
AssessmentTakerComponent
|
|
1959
|
+
],
|
|
1960
|
+
providers: [AssessmentTakerService]
|
|
1961
|
+
}]
|
|
1962
|
+
}] });
|
|
1963
|
+
|
|
1964
|
+
class AddEditSectionIntroductionComponent {
|
|
1965
|
+
constructor(dialogRef, dialogData) {
|
|
1966
|
+
this.dialogRef = dialogRef;
|
|
1967
|
+
this.dialogData = dialogData;
|
|
1968
|
+
this.imageConfig = {};
|
|
1969
|
+
this.labelConfig = {};
|
|
1970
|
+
this.sectionDescription = '';
|
|
1971
|
+
this.sectionDetails = null;
|
|
1972
|
+
this.videoUrl = '';
|
|
1973
|
+
}
|
|
1974
|
+
ngOnInit() {
|
|
1975
|
+
var _a, _b, _c, _d;
|
|
1976
|
+
this.imageConfig = ((_a = this.dialogData) === null || _a === void 0 ? void 0 : _a.imageConfig) || {};
|
|
1977
|
+
this.labelConfig = ((_b = this.dialogData) === null || _b === void 0 ? void 0 : _b.labelConfig) || {};
|
|
1978
|
+
this.sectionDetails = deepClone((_c = this.dialogData) === null || _c === void 0 ? void 0 : _c.sectionDetails);
|
|
1979
|
+
if (this.sectionDetails && this.sectionDetails.qpsDesc && this.sectionDetails.qpsDesc.length > 0) {
|
|
1980
|
+
this.sectionDescription = this.sectionDetails.qpsDesc[0].text || '';
|
|
1981
|
+
}
|
|
1982
|
+
this.videoUrl = ((_d = this.sectionDetails) === null || _d === void 0 ? void 0 : _d.mediaUrl) || '';
|
|
1983
|
+
}
|
|
1984
|
+
imageErrorHandler(event, filePath) {
|
|
1985
|
+
event.target.src = filePath;
|
|
1986
|
+
}
|
|
1987
|
+
get isVideoUrlValid() {
|
|
1988
|
+
if (!this.videoUrl)
|
|
1989
|
+
return true;
|
|
1990
|
+
const urlPattern = /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?(\?[^\s]*)?$/i;
|
|
1991
|
+
return urlPattern.test(this.videoUrl);
|
|
1992
|
+
}
|
|
1993
|
+
onSubmit() {
|
|
1994
|
+
this.dialogRef.close({ update: true, description: this.sectionDescription, mediaUrl: this.videoUrl });
|
|
1995
|
+
}
|
|
1996
|
+
}
|
|
1997
|
+
AddEditSectionIntroductionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AddEditSectionIntroductionComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
1998
|
+
AddEditSectionIntroductionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AddEditSectionIntroductionComponent, selector: "lib-add-edit-section-introduction", ngImport: i0, template: "<div class=\"col-12\">\r\n <header class=\"p-3 d-flex align-items-center justify-content-between col-12 assessment-bg-grey-one pb-4\">\r\n <p class=\"mb-0 assessment-text-semibold-18\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.ADD_INSTRUCTIONS_HEADER']}}\r\n </p>\r\n <img mat-dialog-close [src]=\"imageConfig['COMMONS_ASSESSMENT.ICON.CLOSE']\" class=\"cursor-pointer\"\r\n (error)=\"imageErrorHandler($event, 'assets/commons-assessment/images/close.svg')\" />\r\n </header>\r\n\r\n <div class=\"col-12 px-md-4 px-3\">\r\n <div class=\"col-12 my-4\">\r\n <app-text-editor [preText]=\"sectionDescription\" (inputChange)=\"sectionDescription = $event\"\r\n [placeholder]=\"labelConfig['COMMONS_ASSESSMENT.PLACEHOLDER.ENTER_INSTRUCTIONS']\"\r\n class=\"assessment-custom-angular-editor-white assessment-text-regular-13 assessment-text-grey-ten\"\r\n [height]=\"'15rem'\">\r\n </app-text-editor>\r\n </div>\r\n <div class=\"col-12 my-4\">\r\n <input [(ngModel)]=\"videoUrl\"\r\n [placeholder]=\"labelConfig['COMMONS_ASSESSMENT.PLACEHOLDER.ENTER_INSTRUCTIONS_MEDIA']\"\r\n class=\"col-12 assessment-input-padding assessment-border-radius-two outline-0 assessment-input-border-one assessment-text-medium-13 assessment-bg-grey-one\"\r\n [ngClass]=\"{'border-danger': !isVideoUrlValid}\">\r\n <div *ngIf=\"!isVideoUrlValid\" class=\"text-danger assessment-text-regular-12 mt-1\">\r\n {{labelConfig['COMMONS_ASSESSMENT.ERROR.INVALID_URL']}}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <footer class=\"mt-auto p-3 pb-4 d-flex align-items-center justify-content-end gap-3 col-12\">\r\n <button mat-dialog-close\r\n class=\"assessment-btn-primary-transparent assessment-zoom-animation p-2 px-3 assessment-text-medium-13\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.DISCARD']}}\r\n </button>\r\n <button (click)=\"onSubmit()\" [disabled]=\"!isVideoUrlValid\"\r\n class=\"assessment-btn-primary assessment-zoom-animation p-2 px-3 assessment-text-medium-13\"\r\n [ngClass]=\"{'opacity-50': !isVideoUrlValid, 'cursor-not-allowed': !isVideoUrlValid}\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.SAVE_DETAILS']}}\r\n </button>\r\n </footer>\r\n</div>", styles: [".assessment-text-grey-ten{color:var(--assessment-grey-ten)!important}.assessment-bg-grey-ten{background-color:var(--assessment-grey-ten)!important}.assessment-text-grey-nine{color:var(--assessment-grey-nine)!important}.assessment-bg-grey-nine{background-color:var(--assessment-grey-nine)!important}.assessment-text-grey-eight{color:var(--assessment-grey-eight)!important}.assessment-bg-grey-eight{background-color:var(--assessment-grey-eight)!important}.assessment-text-grey-seven{color:var(--assessment-grey-seven)!important}.assessment-bg-grey-seven{background-color:var(--assessment-grey-seven)!important}.assessment-text-grey-six{color:var(--assessment-grey-six)!important}.assessment-bg-grey-six{background-color:var(--assessment-grey-six)!important}.assessment-text-grey-five{color:var(--assessment-grey-five)!important}.assessment-bg-grey-five{background-color:var(--assessment-grey-five)!important}.assessment-text-grey-four{color:var(--assessment-grey-four)!important}.assessment-bg-grey-four{background-color:var(--assessment-grey-four)!important}.assessment-text-grey-three{color:var(--assessment-grey-three)!important}.assessment-bg-grey-three{background-color:var(--assessment-grey-three)!important}.assessment-text-grey-two{color:var(--assessment-grey-two)!important}.assessment-bg-grey-two{background-color:var(--assessment-grey-two)!important}.assessment-text-grey-one{color:var(--assessment-grey-one)!important}.assessment-bg-grey-one{background-color:var(--assessment-grey-one)!important}.assessment-text-white{color:var(--assessment-white)!important}.assessment-bg-white{background-color:var(--assessment-white)!important}.assessment-text-black{color:var(--assessment-black)!important}.assessment-bg-black{background-color:var(--assessment-black)!important}.assessment-text-danger{color:var(--assessment-danger)!important}.assessment-bg-danger{background-color:var(--assessment-danger)!important}.assessment-text-primary-one{color:var(--assessment-primary-one)!important}.assessment-bg-primary-one{background-color:var(--assessment-primary-one)!important}.assessment-text-primary-four{color:var(--assessment-primary-four)!important}.assessment-bg-primary-four{background-color:var(--assessment-primary-four)!important}.assessment-text-palette-EDF3FD{color:var(--assessment-palette-EDF3FD)!important}.assessment-bg-palette-EDF3FD{background-color:var(--assessment-palette-EDF3FD)!important}.assessment-text-palette-C8DAF9{color:var(--assessment-palette-C8DAF9)!important}.assessment-bg-palette-C8DAF9{background-color:var(--assessment-palette-C8DAF9)!important}.assessment-text-palette-ADC9F6{color:var(--assessment-palette-ADC9F6)!important}.assessment-bg-palette-ADC9F6{background-color:var(--assessment-palette-ADC9F6)!important}.assessment-text-palette-FEF9F1{color:var(--assessment-palette-FEF9F1)!important}.assessment-bg-palette-FEF9F1{background-color:var(--assessment-palette-FEF9F1)!important}.assessment-text-palette-F9DAA6{color:var(--assessment-palette-F9DAA6)!important}.assessment-bg-palette-F9DAA6{background-color:var(--assessment-palette-F9DAA6)!important}.assessment-text-palette-E8F7F0{color:var(--assessment-palette-E8F7F0)!important}.assessment-bg-palette-E8F7F0{background-color:var(--assessment-palette-E8F7F0)!important}.assessment-text-palette-B7E7CF{color:var(--assessment-palette-B7E7CF)!important}.assessment-bg-palette-B7E7CF{background-color:var(--assessment-palette-B7E7CF)!important}.assessment-box-shadow-one{box-shadow:var(--assessment-box-shadow-one)!important}.assessment-border-radius-one{border-radius:var(--assessment-border-radius-one)!important}.assessment-border-radius-two{border-radius:var(--assessment-border-radius-two)!important}.assessment-border-radius-three{border-radius:var(--assessment-border-radius-three)!important}.assessment-border-radius-four{border-radius:var(--assessment-border-radius-four)!important}.assessment-border-radius-five{border-radius:var(--assessment-border-radius-five)!important}.assessment-border-radius-six{border-radius:var(--assessment-border-radius-six)!important}.assessment-input-border-one{border:var(--assessment-input-border-one)!important}.assessment-input-border-invalid{border:var(--assessment-input-border-invalid)!important}.assessment-input-focus-border{border:var(--assessment-input-focus-border)!important}.assessment-border-two{border:var(--assessment-border-two)!important}.assessment-card-border{border:var(--assessment-card-border)!important}.assessment-tooltip-border{border:var(--assessment-tooltip-border)!important}.assessment-box-shadow-tooltip{box-shadow:var(--assessment-box-shadow-tooltip)!important}.assessment-button-padding{padding:var(--assessment-button-padding)!important}.assessment-button-padding-large{padding:var(--assessment-button-padding-large)!important}.assessment-input-padding{padding:var(--assessment-input-padding)!important}.assessment-text-font-family{color:var(--assessment-font-family)!important}.assessment-bg-font-family{background-color:var(--assessment-font-family)!important}.assessment-text-regular-12{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-bold-12{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-semibold-12{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-semibold-11{font-weight:600;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-medium-11{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-regular-11{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-medium-12{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-regular-13{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-bold-13{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-semibold-13{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-medium-13{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-regular-14{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-bold-14{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-medium-14{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw)!important;line-height:calc(1.2rem + .2vw)!important}.assessment-text-semibold-14{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-semibold-10{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.55rem + .1vw);line-height:calc(1rem + .1vw)}.assessment-text-regular-10{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.55rem + .1vw)!important;line-height:calc(1rem + .1vw)}.assessment-text-regular-15{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.85rem + .1vw);line-height:calc(1.4rem + .1vw)}.assessment-text-medium-15{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-semibold-15{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-bold-15{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-regular-16{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-semibold-16{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-bold-16{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-medium-16{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-regular-20{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-bold-20{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-semibold-20{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-medium-20{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-medium-18{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .1vw)!important}.assessment-text-regular-18{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .3vw)!important}.assessment-text-bold-18{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw);line-height:calc(1.5rem + .1vw)}.assessment-text-semibold-18{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .1vw)!important}.assessment-text-bold-34{overflow-wrap:break-word;font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(2rem + .15vw);line-height:calc(2.5rem + .15vw)}.assessment-text-medium-34{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(2rem + .15vw);line-height:calc(2.5rem + .15vw)}.assessment-text-bold-32{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.3rem + .75vw);line-height:calc(1.625rem + .5vw)}.assessment-text-bold-22{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-regular-22{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-semibold-22{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-medium-22{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-bold-24{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-regular-24{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-semibold-24{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-medium-24{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.8rem + .75vw);line-height:calc(1.2rem + .75vw)}.assessment-text-regular-26{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-medium-26{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-bold-26{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-semibold-26{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-regular-28{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-medium-28{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-semibold-28{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw);letter-spacing:1}.assessment-text-bold-28{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-regular-30{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .4vw)}.assessment-text-medium-30{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-bold-30{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .4vw);line-height:calc(2rem + .4vw)}.assessment-text-semibold-30{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .4vw);line-height:calc(1.5rem + .4vw);letter-spacing:.5}.assessment-text-bold-36{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(2rem + .25vw);line-height:calc(2.5rem + .3vw)}.assessment-text-semibold-36{font-weight:600;font-family:var(--assessment-font-family);font-size:calc(2rem + .25vw);line-height:calc(2.5rem + .3vw)}@media (min-height: 100vw) and (orientation: portrait){.assessment-text-bold-34{font-size:calc(1.8rem + .15vh);line-height:calc(2.2rem + .15vh)}.assessment-text-bold-32{font-size:calc(1.3rem + 1vh);line-height:calc(1.5rem + 1vh)}.assessment-text-semibold-30{font-size:calc(1.5rem + .4vh);line-height:calc(1.8rem + .4vh)}.assessment-text-medium-24{line-height:2.188rem}.assessment-text-medium-24,.assessment-text-regular-24,.assessment-text-semibold-24,.assessment-text-bold-24,.assessment-text-light-24{font-size:calc(1.3rem + .5vh);line-height:calc(1.8rem + .5vh)}.assessment-text-medium-18,.assessment-text-regular-18,.assessment-text-bold-18,.assessment-text-semibold-18,.assessment-text-light-18{font-size:calc(1rem + .1vh)!important;line-height:calc(1.6rem + .1vh)!important}.assessment-text-light-16,.assessment-text-bold-16{font-size:calc(.9rem + .3vh)!important;line-height:calc(1.2rem + .3vh)!important}.assessment-text-medium-16,.assessment-text-semibold-16,.assessment-text-regular-16{font-size:calc(.9rem + .2vh)!important;line-height:calc(1.4rem + .2vh)!important}.assessment-text-regular-15,.assessment-text-semibold-15,.assessment-text-bold-15,.assessment-text-light-15{font-size:calc(.8rem + .2vh);line-height:calc(1.27rem + .2vh)}.assessment-text-medium-15{font-size:calc(.8rem + .2vh);line-height:calc(1.27rem + .2vh)}.assessment-text-medium-12,.assessment-text-regular-12,.assessment-text-semibold-12,.assessment-text-bold-12,.assessment-text-medium-upper-12,.assessment-text-light-12{font-size:calc(.5rem + .4vh);line-height:calc(.8rem + .4vh)}.assessment-text-medium-14,.assessment-text-regular-14,.assessment-text-light-14,.assessment-text-medium-upper-14,.assessment-text-semibold-14,.assessment-text-bold-14{font-size:calc(.8rem + .1vh)!important;line-height:calc(1.2rem + .2vh)!important}.assessment-text-regular-13,.assessment-text-medium-13,.assessment-text-semibold-13,.assessment-text-bold-13,.assessment-text-light-13{font-size:calc(.7rem + .2vh)!important;line-height:calc(1rem + .3vh)!important}.assessment-text-regular-11,.assessment-text-medium-11,.assessment-text-semibold-11,.assessment-text-bold-11,.assessment-text-light-11{font-size:calc(.5rem + .2vh)!important;line-height:calc(.8rem + .2vh)!important}}.assessment-btn-primary{background-color:var(--assessment-primary-one);color:var(--assessment-white);border:.064rem solid var(--assessment-primary-one);border-radius:var(--assessment-border-radius-two)}.assessment-btn-primary-transparent{background-color:var(--assessment-white);color:var(--assessment-primary-one);border-radius:var(--assessment-border-radius-two);border:.064rem solid var(--assessment-primary-one)}.assessment-zoom-animation{transition:transform .2s ease;transform:translateZ(0);text-rendering:optimizeLegibility}.assessment-zoom-animation:hover{transform:scale(1.03)}.assessment-zoom-animation:active{transform:scale(1)}.assessment-zoom-animation:disabled{transform:none!important}.change-direction{transform:rotate(180deg);transition:.3s ease-out}.change-direction-reverse{transform:rotate(0);transition:.3s ease-out}.outline-0{outline:none}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.action-icon{width:1.2rem}.mat-menu-item{height:inherit}\n"], components: [{ type: TextEditorComponent, selector: "app-text-editor", inputs: ["height", "placeholder", "subject", "preText", "maxLength", "disabled", "showToolbar", "editorConfig"], outputs: ["inputChange"] }], directives: [{ type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }, { type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
1999
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AddEditSectionIntroductionComponent, decorators: [{
|
|
2000
|
+
type: Component,
|
|
2001
|
+
args: [{
|
|
2002
|
+
selector: 'lib-add-edit-section-introduction',
|
|
2003
|
+
templateUrl: './add-edit-section-introduction.component.html',
|
|
2004
|
+
styleUrls: ['./add-edit-section-introduction.component.scss']
|
|
2005
|
+
}]
|
|
2006
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
2007
|
+
type: Inject,
|
|
2008
|
+
args: [MAT_DIALOG_DATA]
|
|
2009
|
+
}] }]; } });
|
|
2010
|
+
|
|
2011
|
+
class AssessmentBuilderService {
|
|
2012
|
+
constructor() {
|
|
2013
|
+
this.defaultAssessmentDTO = {};
|
|
2014
|
+
}
|
|
2015
|
+
setDefaultAssessmentDTO(value) {
|
|
2016
|
+
this.defaultAssessmentDTO = value;
|
|
2017
|
+
}
|
|
2018
|
+
setQuestionDTO(formData, existingQuestion = {}) {
|
|
2019
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
2020
|
+
const existingConfigsMap = ((existingQuestion === null || existingQuestion === void 0 ? void 0 : existingQuestion.questionConfigs) || [])
|
|
2021
|
+
.reduce((acc, config) => {
|
|
2022
|
+
acc[config.configKey] = config;
|
|
2023
|
+
return acc;
|
|
2024
|
+
}, {});
|
|
2025
|
+
const questionConfigs = [
|
|
2026
|
+
{ configKey: 'minCharacterCount', configValue: formData.minCharacterCount ? String(formData.minCharacterCount) : null },
|
|
2027
|
+
{ configKey: 'maxCharacterCount', configValue: formData.maxCharacterCount ? String(formData.maxCharacterCount) : null },
|
|
2028
|
+
{ configKey: 'minimumNumberOfOption', configValue: formData.minimumNumberOfOption ? String(formData.minimumNumberOfOption) : null },
|
|
2029
|
+
{ configKey: 'maximumNumberOfOption', configValue: formData.maximumNumberOfOption ? String(formData.maximumNumberOfOption) : null },
|
|
2030
|
+
{ configKey: 'maxFileSize', configValue: formData.maxFileSize ? String(formData.maxFileSize) : null },
|
|
2031
|
+
{ configKey: 'maxNoOfFiles', configValue: formData.maxNoOfFiles ? String(formData.maxNoOfFiles) : null },
|
|
2032
|
+
// { configKey: 'visibility', configValue: formData.visibility ? 'true' : 'false' }
|
|
2033
|
+
].map(config => {
|
|
2034
|
+
var _a;
|
|
2035
|
+
return (Object.assign({ id: ((_a = existingConfigsMap[config.configKey]) === null || _a === void 0 ? void 0 : _a.id) || 0 }, config));
|
|
2036
|
+
}).filter(Boolean);
|
|
2037
|
+
return Object.assign(Object.assign(Object.assign({}, existingQuestion), { questionText: [{
|
|
2038
|
+
id: ((_b = (_a = existingQuestion === null || existingQuestion === void 0 ? void 0 : existingQuestion.questionText) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.id) || 0,
|
|
2039
|
+
language: { code: 'ENG' },
|
|
2040
|
+
text: formData.questionText || ''
|
|
2041
|
+
}], questionType: { code: formData.questionType || '' }, questionSubtype: { code: formData.questionSubtype || ((_c = formData.questionType) === null || _c === void 0 ? void 0 : _c.replace('QUESTION_TYPE', 'QUESTION_SUB_TYPE')) || '' }, isMandatory: formData.isMandatory || false, weight: Number(formData.totalMarks || 0), hintText: formData.hintText || null, mediaUrl: formData.questionMedia || null, responseValidation: formData.customRegex || null, questionConfigs, defaultOptionsList: (() => {
|
|
2042
|
+
const existingOptions = (existingQuestion === null || existingQuestion === void 0 ? void 0 : existingQuestion.defaultOptionsList) || [];
|
|
2043
|
+
const formOptions = formData.options || [];
|
|
2044
|
+
// 1. Process items from formData (new and updated)
|
|
2045
|
+
const processedOptions = formOptions.map((opt, index) => {
|
|
2046
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
2047
|
+
const existingOpt = existingOptions.find(eo => eo.id === opt.id && eo.id !== 0) || {};
|
|
2048
|
+
return Object.assign(Object.assign(Object.assign({}, existingOpt), { id: opt.id || 0, uuid: existingOpt.uuid || opt.uuid, orderNo: index + 1, weight: Number(opt.weight || 0), remarksRequired: opt.remarksRequired || false, isActive: opt.isActive !== false, options: Object.assign(Object.assign(Object.assign({}, (existingOpt.options || {})), { id: ((_a = opt === null || opt === void 0 ? void 0 : opt.options) === null || _a === void 0 ? void 0 : _a.id) || ((_b = existingOpt.options) === null || _b === void 0 ? void 0 : _b.id) || 0, optionName: [{
|
|
2049
|
+
id: ((_e = (_d = (_c = existingOpt.options) === null || _c === void 0 ? void 0 : _c.optionName) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.id) || 0,
|
|
2050
|
+
language: { code: 'ENG' },
|
|
2051
|
+
text: opt.optionLabel || ''
|
|
2052
|
+
}] }), (((_f = this.defaultAssessmentDTO) === null || _f === void 0 ? void 0 : _f.tenant) && { tenant: (_g = this.defaultAssessmentDTO) === null || _g === void 0 ? void 0 : _g.tenant })), childQuestionList: opt.childQuestionList || existingOpt.childQuestionList || [] }), (((_h = this.defaultAssessmentDTO) === null || _h === void 0 ? void 0 : _h.tenant) && { tenant: (_j = this.defaultAssessmentDTO) === null || _j === void 0 ? void 0 : _j.tenant }));
|
|
2053
|
+
});
|
|
2054
|
+
// 2. Identify existing options that are NOT in formData (removed by user) and mark them inactive
|
|
2055
|
+
const formOptionIds = new Set(processedOptions.map((o) => o.id).filter((id) => id !== 0));
|
|
2056
|
+
const removedOptions = existingOptions.filter(eo => eo.id && !formOptionIds.has(eo.id)).map(eo => (Object.assign(Object.assign({}, eo), { isActive: false })));
|
|
2057
|
+
return [...processedOptions, ...removedOptions];
|
|
2058
|
+
})() }), (!(existingQuestion === null || existingQuestion === void 0 ? void 0 : existingQuestion.id) && Object.assign(Object.assign({ id: 0 }, (((_d = this.defaultAssessmentDTO) === null || _d === void 0 ? void 0 : _d.domain) && { domain: (_e = this.defaultAssessmentDTO) === null || _e === void 0 ? void 0 : _e.domain })), (((_f = this.defaultAssessmentDTO) === null || _f === void 0 ? void 0 : _f.tenant) && { tenant: (_g = this.defaultAssessmentDTO) === null || _g === void 0 ? void 0 : _g.tenant }))));
|
|
2059
|
+
}
|
|
2060
|
+
getQuestionDTO(questionData) {
|
|
2061
|
+
var _a, _b, _c, _d;
|
|
2062
|
+
const getConfig = (key) => { var _a, _b; return (_b = (_a = questionData.questionConfigs) === null || _a === void 0 ? void 0 : _a.find(c => c.configKey === key)) === null || _b === void 0 ? void 0 : _b.configValue; };
|
|
2063
|
+
return {
|
|
2064
|
+
id: questionData.id,
|
|
2065
|
+
questionText: ((_b = (_a = questionData.questionText) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.text) || '',
|
|
2066
|
+
questionType: ((_c = questionData.questionType) === null || _c === void 0 ? void 0 : _c.code) || '',
|
|
2067
|
+
isMandatory: questionData.isMandatory || false,
|
|
2068
|
+
totalMarks: questionData.weight || 0,
|
|
2069
|
+
hintText: questionData.hintText || '',
|
|
2070
|
+
questionMedia: questionData.mediaUrl || '',
|
|
2071
|
+
minCharacterCount: getConfig('minCharacterCount') ? Number(getConfig('minCharacterCount')) : null,
|
|
2072
|
+
maxCharacterCount: getConfig('maxCharacterCount') ? Number(getConfig('maxCharacterCount')) : null,
|
|
2073
|
+
minimumNumberOfOption: getConfig('minimumNumberOfOption') ? Number(getConfig('minimumNumberOfOption')) : null,
|
|
2074
|
+
maximumNumberOfOption: getConfig('maximumNumberOfOption') ? Number(getConfig('maximumNumberOfOption')) : null,
|
|
2075
|
+
maxFileSize: getConfig('maxFileSize') ? Number(getConfig('maxFileSize')) : null,
|
|
2076
|
+
maxNoOfFiles: getConfig('maxNoOfFiles') ? Number(getConfig('maxNoOfFiles')) : null,
|
|
2077
|
+
// visibility: getConfig('visibility') === 'true',
|
|
2078
|
+
customRegex: questionData === null || questionData === void 0 ? void 0 : questionData.responseValidation,
|
|
2079
|
+
options: ((_d = questionData.defaultOptionsList) === null || _d === void 0 ? void 0 : _d.map(opt => {
|
|
2080
|
+
var _a, _b, _c;
|
|
2081
|
+
return ({
|
|
2082
|
+
id: opt.id,
|
|
2083
|
+
uuid: opt.uuid,
|
|
2084
|
+
optionLabel: ((_c = (_b = (_a = opt.options) === null || _a === void 0 ? void 0 : _a.optionName) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.text) || '',
|
|
2085
|
+
weight: opt.weight || 0,
|
|
2086
|
+
remarksRequired: opt.remarksRequired || false,
|
|
2087
|
+
isActive: opt.isActive !== false,
|
|
2088
|
+
childQuestionList: opt.childQuestionList || [],
|
|
2089
|
+
});
|
|
2090
|
+
})) || [],
|
|
2091
|
+
childQuestions: (questionData === null || questionData === void 0 ? void 0 : questionData.childQuestions) || []
|
|
2092
|
+
};
|
|
2093
|
+
}
|
|
2094
|
+
createNewSection(sequence) {
|
|
2095
|
+
var _a, _b;
|
|
2096
|
+
return Object.assign({ id: 0, qpsName: [{
|
|
2097
|
+
id: 0,
|
|
2098
|
+
language: { code: 'ENG' },
|
|
2099
|
+
text: `Section ${sequence}`
|
|
2100
|
+
}], orderNo: sequence, sectionQuestionsList: [], totalMarks: 0, totalQuestions: 0 }, (((_a = this.defaultAssessmentDTO) === null || _a === void 0 ? void 0 : _a.tenant) && { tenant: (_b = this.defaultAssessmentDTO) === null || _b === void 0 ? void 0 : _b.tenant }));
|
|
2101
|
+
}
|
|
2102
|
+
generateSectionQuestion(question, sectionQuestion = {}) {
|
|
2103
|
+
var _a, _b;
|
|
2104
|
+
return Object.assign({ id: (sectionQuestion === null || sectionQuestion === void 0 ? void 0 : sectionQuestion.id) || 0, question, isMandatory: question === null || question === void 0 ? void 0 : question.isMandatory }, (!(sectionQuestion === null || sectionQuestion === void 0 ? void 0 : sectionQuestion.id) && ((_a = this.defaultAssessmentDTO) === null || _a === void 0 ? void 0 : _a.tenant) && { tenant: (_b = this.defaultAssessmentDTO) === null || _b === void 0 ? void 0 : _b.tenant }));
|
|
2105
|
+
}
|
|
2106
|
+
generateQuestionPaperDTO(questionPaper, questionBank) {
|
|
2107
|
+
var _a, _b, _c;
|
|
2108
|
+
if (!questionPaper)
|
|
2109
|
+
return questionPaper;
|
|
2110
|
+
if (!(questionPaper === null || questionPaper === void 0 ? void 0 : questionPaper.id) && ((_a = this.defaultAssessmentDTO) === null || _a === void 0 ? void 0 : _a.tenant)) {
|
|
2111
|
+
questionPaper.tenant = (_b = this.defaultAssessmentDTO) === null || _b === void 0 ? void 0 : _b.tenant;
|
|
2112
|
+
}
|
|
2113
|
+
(_c = questionPaper.questionPaperSectionList) === null || _c === void 0 ? void 0 : _c.forEach((section, sIndex) => {
|
|
2114
|
+
var _a;
|
|
2115
|
+
section.orderNo = sIndex + 1;
|
|
2116
|
+
let sectionMarks = 0;
|
|
2117
|
+
let sectionQuestionsCount = 0;
|
|
2118
|
+
(_a = section.sectionQuestionsList) === null || _a === void 0 ? void 0 : _a.forEach((q, qIndex) => {
|
|
2119
|
+
q.orderNo = qIndex + 1;
|
|
2120
|
+
const question = (q === null || q === void 0 ? void 0 : q.question) || questionBank[(q === null || q === void 0 ? void 0 : q.questionId) || -1];
|
|
2121
|
+
if (question && q.isActive !== false) {
|
|
2122
|
+
sectionMarks += Number(question.weight) || 0;
|
|
2123
|
+
sectionQuestionsCount++;
|
|
2124
|
+
}
|
|
2125
|
+
});
|
|
2126
|
+
section.totalMarks = sectionMarks;
|
|
2127
|
+
section.totalQuestions = sectionQuestionsCount;
|
|
2128
|
+
});
|
|
2129
|
+
return questionPaper;
|
|
2130
|
+
}
|
|
2131
|
+
generateAssessmentDTO(assessmentId, questionPaper) {
|
|
2132
|
+
var _a;
|
|
2133
|
+
return Object.assign({ id: assessmentId, totallMarks: ((_a = questionPaper === null || questionPaper === void 0 ? void 0 : questionPaper.questionPaperSectionList) === null || _a === void 0 ? void 0 : _a.filter((section) => section.isActive !== false).reduce((acc, section) => acc + (section.totalMarks || 0), 0)) || 0 }, (!assessmentId && Object.assign({}, this.defaultAssessmentDTO)));
|
|
2134
|
+
}
|
|
2135
|
+
generateAssessmentInstanceDTO(assessmentId) {
|
|
2136
|
+
var _a, _b;
|
|
2137
|
+
let d = new Date();
|
|
2138
|
+
let year = d.getFullYear();
|
|
2139
|
+
let month = d.getMonth();
|
|
2140
|
+
let day = d.getDate();
|
|
2141
|
+
let endDate = new Date(year + 20, month, day);
|
|
2142
|
+
return {
|
|
2143
|
+
id: 0,
|
|
2144
|
+
endDate: endDate,
|
|
2145
|
+
startDate: new Date(),
|
|
2146
|
+
assessment: Object.assign({ id: assessmentId }, (((_a = this.defaultAssessmentDTO) === null || _a === void 0 ? void 0 : _a.tenant) && { tenant: (_b = this.defaultAssessmentDTO) === null || _b === void 0 ? void 0 : _b.tenant }))
|
|
2147
|
+
};
|
|
2148
|
+
}
|
|
2149
|
+
}
|
|
2150
|
+
AssessmentBuilderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AssessmentBuilderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2151
|
+
AssessmentBuilderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AssessmentBuilderService, providedIn: 'root' });
|
|
2152
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AssessmentBuilderService, decorators: [{
|
|
2153
|
+
type: Injectable,
|
|
2154
|
+
args: [{
|
|
2155
|
+
providedIn: 'root'
|
|
2156
|
+
}]
|
|
2157
|
+
}], ctorParameters: function () { return []; } });
|
|
2158
|
+
|
|
2159
|
+
class AssessmentMakerService {
|
|
2160
|
+
constructor(config, http) {
|
|
2161
|
+
this.config = config;
|
|
2162
|
+
this.http = http;
|
|
2163
|
+
}
|
|
2164
|
+
getConfigJSON(fileName) {
|
|
2165
|
+
return this.http.get(`/assets/commons-assessment/${fileName}.json`);
|
|
2166
|
+
}
|
|
2167
|
+
createAssessmentAndQuestionPaper(payload) {
|
|
2168
|
+
return this.http.post(this.config.baseURL + assessmentMakerController.assessmentAndQuestionPaper, payload);
|
|
2169
|
+
}
|
|
2170
|
+
patchAssessmentAndQuestionPaper(payload) {
|
|
2171
|
+
return this.http.patch(this.config.baseURL + assessmentMakerController.assessmentAndQuestionPaper, payload);
|
|
2172
|
+
}
|
|
2173
|
+
createQuestion(payload) {
|
|
2174
|
+
return this.http.post(this.config.baseURL + assessmentMakerController.createQuestion, payload);
|
|
2175
|
+
}
|
|
2176
|
+
patchQuestion(payload) {
|
|
2177
|
+
return this.http.patch(this.config.baseURL + assessmentMakerController.patchQuestion, payload);
|
|
2178
|
+
}
|
|
2179
|
+
getQuestionsByIds(params) {
|
|
2180
|
+
return this.http.get(this.config.baseURL + assessmentMakerController.getQuestionsByIds, { params });
|
|
2181
|
+
}
|
|
2182
|
+
getAssessmentContext(assessmentId) {
|
|
2183
|
+
return this.http.get(this.config.baseURL + assessmentMakerController.getAssessmentContext.replace('$AssessmentId', assessmentId.toString()));
|
|
2184
|
+
}
|
|
2185
|
+
duplicateSection(questionPaperId, sectionId) {
|
|
2186
|
+
var _a, _b;
|
|
2187
|
+
return this.http.patch(this.config.baseURL + ((_b = (_a = assessmentMakerController.duplicateSection) === null || _a === void 0 ? void 0 : _a.replace('$AssessmentQuestionPaperId', questionPaperId === null || questionPaperId === void 0 ? void 0 : questionPaperId.toString())) === null || _b === void 0 ? void 0 : _b.replace('$SectionId', sectionId === null || sectionId === void 0 ? void 0 : sectionId.toString())), {});
|
|
2188
|
+
}
|
|
2189
|
+
duplicateQuestion(sectionId, sectionQuestionId) {
|
|
2190
|
+
var _a, _b;
|
|
2191
|
+
return this.http.patch(this.config.baseURL + ((_b = (_a = assessmentMakerController.duplicateQuestion) === null || _a === void 0 ? void 0 : _a.replace('$SectionId', sectionId === null || sectionId === void 0 ? void 0 : sectionId.toString())) === null || _b === void 0 ? void 0 : _b.replace('$SectionQuestionId', sectionQuestionId === null || sectionQuestionId === void 0 ? void 0 : sectionQuestionId.toString())), {});
|
|
2192
|
+
}
|
|
2193
|
+
createAssessmentInstance(payload) {
|
|
2194
|
+
return this.http.post(this.config.baseURL + assessmentMakerController.createAssessmentInstance, payload);
|
|
2195
|
+
}
|
|
2196
|
+
}
|
|
2197
|
+
AssessmentMakerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AssessmentMakerService, deps: [{ token: LIBRARY_CONFIG }, { token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2198
|
+
AssessmentMakerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AssessmentMakerService, providedIn: 'root' });
|
|
2199
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AssessmentMakerService, decorators: [{
|
|
2200
|
+
type: Injectable,
|
|
2201
|
+
args: [{
|
|
2202
|
+
providedIn: 'root'
|
|
2203
|
+
}]
|
|
2204
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
2205
|
+
type: Inject,
|
|
2206
|
+
args: [LIBRARY_CONFIG]
|
|
2207
|
+
}] }, { type: i1$1.HttpClient }]; } });
|
|
2208
|
+
|
|
2209
|
+
class AssessmentBuilderComponent {
|
|
2210
|
+
constructor(formBuilder, assessmentBuilderService, assessmentMakerService, dialogRef, dialogData) {
|
|
2211
|
+
this.formBuilder = formBuilder;
|
|
2212
|
+
this.assessmentBuilderService = assessmentBuilderService;
|
|
2213
|
+
this.assessmentMakerService = assessmentMakerService;
|
|
2214
|
+
this.dialogRef = dialogRef;
|
|
2215
|
+
this.dialogData = dialogData;
|
|
2216
|
+
this.labelConfig = {};
|
|
2217
|
+
this.imageConfig = {};
|
|
2218
|
+
this.questionTypes = [];
|
|
2219
|
+
this.questionDetails = null;
|
|
2220
|
+
this.rules = {};
|
|
2221
|
+
this.questionStack = [];
|
|
2222
|
+
this.childQuestionGroups = [];
|
|
2223
|
+
this.questionBank = {};
|
|
2224
|
+
this.isChild = false;
|
|
2225
|
+
// parentQuestion: AssessmentQuestion | null = null;
|
|
2226
|
+
this.assessmentId = 0;
|
|
2227
|
+
this.isSubmitting = false;
|
|
2228
|
+
}
|
|
2229
|
+
ngOnInit() {
|
|
2230
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
2231
|
+
this.labelConfig = (_a = this.dialogData) === null || _a === void 0 ? void 0 : _a.labelConfig;
|
|
2232
|
+
this.imageConfig = (_b = this.dialogData) === null || _b === void 0 ? void 0 : _b.imageConfig;
|
|
2233
|
+
this.rules = (_c = this.dialogData) === null || _c === void 0 ? void 0 : _c.rules;
|
|
2234
|
+
this.questionTypes = (_d = this.dialogData) === null || _d === void 0 ? void 0 : _d.questionTypes;
|
|
2235
|
+
this.questionBank = (_e = this.dialogData) === null || _e === void 0 ? void 0 : _e.questionBank;
|
|
2236
|
+
this.isChild = (_f = this.dialogData) === null || _f === void 0 ? void 0 : _f.isChild;
|
|
2237
|
+
this.assessmentId = (_g = this.dialogData) === null || _g === void 0 ? void 0 : _g.assessmentId;
|
|
2238
|
+
if (this.dialogData.questionDetails) {
|
|
2239
|
+
this.questionDetails = deepClone((_h = this.dialogData) === null || _h === void 0 ? void 0 : _h.questionDetails);
|
|
2240
|
+
}
|
|
2241
|
+
this.setupFormGroup();
|
|
2242
|
+
this.applyDynamicValidators();
|
|
2243
|
+
}
|
|
2244
|
+
generateChildQuestionList() {
|
|
2245
|
+
var _a, _b, _c, _d;
|
|
2246
|
+
if (this.isChild) {
|
|
2247
|
+
return [];
|
|
2248
|
+
}
|
|
2249
|
+
const uniqueIds = new Set();
|
|
2250
|
+
(_b = (_a = this.questionDetails) === null || _a === void 0 ? void 0 : _a.defaultOptionsList) === null || _b === void 0 ? void 0 : _b.forEach(option => {
|
|
2251
|
+
var _a;
|
|
2252
|
+
(_a = option.childQuestionList) === null || _a === void 0 ? void 0 : _a.forEach(id => uniqueIds.add(id));
|
|
2253
|
+
});
|
|
2254
|
+
return (_d = (_c = Array.from(uniqueIds)) === null || _c === void 0 ? void 0 : _c.map(id => {
|
|
2255
|
+
return this.questionBank[id] ? deepClone(this.questionBank[id]) : null;
|
|
2256
|
+
})) === null || _d === void 0 ? void 0 : _d.filter(Boolean);
|
|
2257
|
+
}
|
|
2258
|
+
setupFormGroup() {
|
|
2259
|
+
var _a;
|
|
2260
|
+
this.questionsFormGroup = this.formBuilder.group({
|
|
2261
|
+
questionType: ['', Validators.required],
|
|
2262
|
+
questionText: ['', Validators.required],
|
|
2263
|
+
isMandatory: [false],
|
|
2264
|
+
// visibility: [true],
|
|
2265
|
+
totalMarks: [null],
|
|
2266
|
+
minCharacterCount: [null],
|
|
2267
|
+
maxCharacterCount: [null],
|
|
2268
|
+
maximumNumberOfOption: [null],
|
|
2269
|
+
minimumNumberOfOption: [null],
|
|
2270
|
+
maxFileSize: [null],
|
|
2271
|
+
maxNoOfFiles: [null],
|
|
2272
|
+
customRegex: [''],
|
|
2273
|
+
hintText: [''],
|
|
2274
|
+
questionMedia: [''],
|
|
2275
|
+
options: this.formBuilder.array([]),
|
|
2276
|
+
childQuestions: [[]]
|
|
2277
|
+
});
|
|
2278
|
+
(_a = this.questionsFormGroup.get('questionType')) === null || _a === void 0 ? void 0 : _a.valueChanges.subscribe(() => {
|
|
2279
|
+
this.applyDynamicValidators();
|
|
2280
|
+
});
|
|
2281
|
+
if (this.questionDetails) {
|
|
2282
|
+
this.populateForm(this.questionDetails, true);
|
|
2283
|
+
}
|
|
2284
|
+
else {
|
|
2285
|
+
this.buildChildQuestionGroups([]);
|
|
2286
|
+
}
|
|
2287
|
+
}
|
|
2288
|
+
populateForm(questionDetails, buildChildGroups = false) {
|
|
2289
|
+
var _a;
|
|
2290
|
+
if (!questionDetails)
|
|
2291
|
+
return;
|
|
2292
|
+
const childQuestions = (questionDetails === null || questionDetails === void 0 ? void 0 : questionDetails.childQuestions) || this.generateChildQuestionList();
|
|
2293
|
+
const formData = this.assessmentBuilderService.getQuestionDTO(Object.assign(Object.assign({}, questionDetails), { childQuestions }));
|
|
2294
|
+
this.questionsFormGroup.patchValue(formData);
|
|
2295
|
+
if ((_a = formData.options) === null || _a === void 0 ? void 0 : _a.length) {
|
|
2296
|
+
formData.options.forEach((opt) => {
|
|
2297
|
+
const optGroup = this.createOption();
|
|
2298
|
+
optGroup.patchValue(opt);
|
|
2299
|
+
this.options.push(optGroup);
|
|
2300
|
+
});
|
|
2301
|
+
}
|
|
2302
|
+
if (buildChildGroups) {
|
|
2303
|
+
this.buildChildQuestionGroups(childQuestions);
|
|
2304
|
+
}
|
|
2305
|
+
}
|
|
2306
|
+
onSubmit() {
|
|
2307
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
2308
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2309
|
+
if (this.questionsFormGroup.invalid) {
|
|
2310
|
+
this.questionsFormGroup.markAllAsTouched();
|
|
2311
|
+
return;
|
|
2312
|
+
}
|
|
2313
|
+
this.isSubmitting = true;
|
|
2314
|
+
if (this.questionStack.length > 0) {
|
|
2315
|
+
// child question logic
|
|
2316
|
+
const state = this.questionStack[this.questionStack.length - 1];
|
|
2317
|
+
if ((state === null || state === void 0 ? void 0 : state.editingQuestionIndex) !== undefined) {
|
|
2318
|
+
if (!state.parentFormValue.childQuestions) {
|
|
2319
|
+
state.parentFormValue.childQuestions = [];
|
|
2320
|
+
}
|
|
2321
|
+
// Update existing child
|
|
2322
|
+
const childQuestion = state.parentFormValue.childQuestions[state.editingQuestionIndex];
|
|
2323
|
+
const payload = this.assessmentBuilderService.setQuestionDTO(this.questionsFormGroup.value, childQuestion);
|
|
2324
|
+
try {
|
|
2325
|
+
const question = yield this.updateQuestion(payload);
|
|
2326
|
+
state.parentFormValue.childQuestions[state.editingQuestionIndex] = question;
|
|
2327
|
+
if (question === null || question === void 0 ? void 0 : question.id) {
|
|
2328
|
+
this.questionBank[question.id] = question;
|
|
2329
|
+
}
|
|
2330
|
+
this.isSubmitting = false;
|
|
2331
|
+
}
|
|
2332
|
+
catch (error) {
|
|
2333
|
+
this.isSubmitting = false;
|
|
2334
|
+
console.error(error);
|
|
2335
|
+
(_b = (_a = this.dialogData) === null || _a === void 0 ? void 0 : _a.snackbarMessageEmitter) === null || _b === void 0 ? void 0 : _b.emit({ message: this.labelConfig['COMMONS_ASSESSMENT.TOAST.ERROR_DEFAULT'], type: 'error' });
|
|
2336
|
+
throw { error, method: 'PATCH', payload };
|
|
2337
|
+
}
|
|
2338
|
+
}
|
|
2339
|
+
else {
|
|
2340
|
+
// Add new child
|
|
2341
|
+
const payload = this.assessmentBuilderService.setQuestionDTO(this.questionsFormGroup.value);
|
|
2342
|
+
try {
|
|
2343
|
+
const question = yield this.createQuestion(payload);
|
|
2344
|
+
(_d = (_c = state === null || state === void 0 ? void 0 : state.parentFormValue) === null || _c === void 0 ? void 0 : _c.childQuestions) === null || _d === void 0 ? void 0 : _d.push(question);
|
|
2345
|
+
if (question === null || question === void 0 ? void 0 : question.id) {
|
|
2346
|
+
this.questionBank[question.id] = question;
|
|
2347
|
+
const grp = this.childQuestionGroups.find((g) => g.id === state.addingToGroupId);
|
|
2348
|
+
if (grp) {
|
|
2349
|
+
(_e = grp.questionIds) === null || _e === void 0 ? void 0 : _e.push(question === null || question === void 0 ? void 0 : question.id);
|
|
2350
|
+
if (grp.optionId) {
|
|
2351
|
+
const opt = (_g = (_f = state.parentFormValue) === null || _f === void 0 ? void 0 : _f.defaultOptionsList) === null || _g === void 0 ? void 0 : _g.find((o) => (o.id || o.uuid) == grp.optionId);
|
|
2352
|
+
if (opt) {
|
|
2353
|
+
opt.childQuestionList = opt.childQuestionList || [];
|
|
2354
|
+
opt.childQuestionList.push(question.id);
|
|
2355
|
+
}
|
|
2356
|
+
}
|
|
2357
|
+
}
|
|
2358
|
+
else {
|
|
2359
|
+
this.childQuestionGroups.push({
|
|
2360
|
+
id: generateUuid(),
|
|
2361
|
+
optionId: null,
|
|
2362
|
+
questionIds: [question === null || question === void 0 ? void 0 : question.id]
|
|
2363
|
+
});
|
|
2364
|
+
}
|
|
2365
|
+
}
|
|
2366
|
+
this.isSubmitting = false;
|
|
2367
|
+
}
|
|
2368
|
+
catch (error) {
|
|
2369
|
+
this.isSubmitting = false;
|
|
2370
|
+
console.error(error);
|
|
2371
|
+
(_j = (_h = this.dialogData) === null || _h === void 0 ? void 0 : _h.snackbarMessageEmitter) === null || _j === void 0 ? void 0 : _j.emit({ message: this.labelConfig['COMMONS_ASSESSMENT.TOAST.ERROR_DEFAULT'], type: 'error' });
|
|
2372
|
+
throw { error, method: 'POST', payload };
|
|
2373
|
+
}
|
|
2374
|
+
}
|
|
2375
|
+
this.questionStack.pop();
|
|
2376
|
+
// Re-populate parent form
|
|
2377
|
+
this.resetAndPopulate(state === null || state === void 0 ? void 0 : state.parentFormValue);
|
|
2378
|
+
}
|
|
2379
|
+
else {
|
|
2380
|
+
let questionDTO = this.assessmentBuilderService.setQuestionDTO(this.questionsFormGroup.value, this.questionDetails);
|
|
2381
|
+
// Update local template tree representation
|
|
2382
|
+
if ((_k = this.questionDetails) === null || _k === void 0 ? void 0 : _k.id) {
|
|
2383
|
+
try {
|
|
2384
|
+
questionDTO = yield this.updateQuestion(questionDTO);
|
|
2385
|
+
if (questionDTO === null || questionDTO === void 0 ? void 0 : questionDTO.id) {
|
|
2386
|
+
this.questionBank[questionDTO.id] = questionDTO;
|
|
2387
|
+
}
|
|
2388
|
+
(_m = (_l = this.dialogData) === null || _l === void 0 ? void 0 : _l.snackbarMessageEmitter) === null || _m === void 0 ? void 0 : _m.emit({ message: this.labelConfig['COMMONS_ASSESSMENT.TOAST.QUESTION_UPDATED_SUCCESS'], type: 'success' });
|
|
2389
|
+
this.dialogRef.close({ success: true });
|
|
2390
|
+
this.isSubmitting = false;
|
|
2391
|
+
}
|
|
2392
|
+
catch (error) {
|
|
2393
|
+
this.isSubmitting = false;
|
|
2394
|
+
console.error(error);
|
|
2395
|
+
(_p = (_o = this.dialogData) === null || _o === void 0 ? void 0 : _o.snackbarMessageEmitter) === null || _p === void 0 ? void 0 : _p.emit({ message: this.labelConfig['COMMONS_ASSESSMENT.TOAST.ERROR_DEFAULT'], type: 'error' });
|
|
2396
|
+
throw { error, method: 'PATCH', payload: questionDTO };
|
|
2397
|
+
}
|
|
2398
|
+
}
|
|
2399
|
+
else {
|
|
2400
|
+
this.createOrEditAssessmentAndQuestionPaper(questionDTO);
|
|
2401
|
+
}
|
|
2402
|
+
}
|
|
2403
|
+
});
|
|
2404
|
+
}
|
|
2405
|
+
createQuestion(payload) {
|
|
2406
|
+
return new Promise((resolve, reject) => {
|
|
2407
|
+
this.assessmentMakerService.createQuestion(payload).subscribe({
|
|
2408
|
+
next: (res) => resolve(res),
|
|
2409
|
+
error: (err) => reject(err)
|
|
2410
|
+
});
|
|
2411
|
+
});
|
|
2412
|
+
}
|
|
2413
|
+
updateQuestion(payload) {
|
|
2414
|
+
return new Promise((resolve, reject) => {
|
|
2415
|
+
this.assessmentMakerService.patchQuestion(payload).subscribe({
|
|
2416
|
+
next: (res) => resolve(res),
|
|
2417
|
+
error: (err) => reject(err)
|
|
2418
|
+
});
|
|
2419
|
+
});
|
|
2420
|
+
}
|
|
2421
|
+
createOrEditAssessmentAndQuestionPaper(question) {
|
|
2422
|
+
var _a, _b, _c, _d, _e, _f;
|
|
2423
|
+
const questionPaper = deepClone((_a = this.dialogData) === null || _a === void 0 ? void 0 : _a.assessmentQuestionPaperData);
|
|
2424
|
+
const sectionQuestion = this.assessmentBuilderService.generateSectionQuestion(question);
|
|
2425
|
+
if (!((_b = this.dialogData) === null || _b === void 0 ? void 0 : _b.sectionDetails)) {
|
|
2426
|
+
const list = questionPaper === null || questionPaper === void 0 ? void 0 : questionPaper.questionPaperSectionList;
|
|
2427
|
+
const lastSequence = (list === null || list === void 0 ? void 0 : list.length) ? list[list.length - 1].orderNo || 0 : 0;
|
|
2428
|
+
const newSection = this.assessmentBuilderService.createNewSection(lastSequence + 1);
|
|
2429
|
+
(_c = newSection === null || newSection === void 0 ? void 0 : newSection.sectionQuestionsList) === null || _c === void 0 ? void 0 : _c.push(sectionQuestion);
|
|
2430
|
+
(_d = questionPaper === null || questionPaper === void 0 ? void 0 : questionPaper.questionPaperSectionList) === null || _d === void 0 ? void 0 : _d.push(newSection);
|
|
2431
|
+
}
|
|
2432
|
+
else {
|
|
2433
|
+
const sectionRef = (_e = questionPaper === null || questionPaper === void 0 ? void 0 : questionPaper.questionPaperSectionList) === null || _e === void 0 ? void 0 : _e.find((section) => { var _a, _b; return (section === null || section === void 0 ? void 0 : section.id) == ((_b = (_a = this.dialogData) === null || _a === void 0 ? void 0 : _a.sectionDetails) === null || _b === void 0 ? void 0 : _b.id); });
|
|
2434
|
+
(_f = sectionRef === null || sectionRef === void 0 ? void 0 : sectionRef.sectionQuestionsList) === null || _f === void 0 ? void 0 : _f.push(sectionQuestion);
|
|
2435
|
+
}
|
|
2436
|
+
const questionPaperDTO = this.assessmentBuilderService.generateQuestionPaperDTO(questionPaper, this.questionBank);
|
|
2437
|
+
const assessmentDTO = this.assessmentBuilderService.generateAssessmentDTO(this.assessmentId, questionPaperDTO);
|
|
2438
|
+
const payload = {
|
|
2439
|
+
assessment: assessmentDTO,
|
|
2440
|
+
questionPaper: questionPaperDTO
|
|
2441
|
+
};
|
|
2442
|
+
const apiCall = this.assessmentId
|
|
2443
|
+
? this.assessmentMakerService.patchAssessmentAndQuestionPaper(payload)
|
|
2444
|
+
: this.assessmentMakerService.createAssessmentAndQuestionPaper(payload);
|
|
2445
|
+
apiCall.subscribe({
|
|
2446
|
+
next: (res) => {
|
|
2447
|
+
var _a;
|
|
2448
|
+
this.isSubmitting = false;
|
|
2449
|
+
this.dialogRef.close({
|
|
2450
|
+
success: true,
|
|
2451
|
+
assessmentId: (_a = res === null || res === void 0 ? void 0 : res.assessment) === null || _a === void 0 ? void 0 : _a.id,
|
|
2452
|
+
questionPaper: res === null || res === void 0 ? void 0 : res.questionPaper,
|
|
2453
|
+
questionMap: res === null || res === void 0 ? void 0 : res.questionMap
|
|
2454
|
+
});
|
|
2455
|
+
},
|
|
2456
|
+
error: (error) => {
|
|
2457
|
+
var _a, _b;
|
|
2458
|
+
console.error(error);
|
|
2459
|
+
this.isSubmitting = false;
|
|
2460
|
+
(_b = (_a = this.dialogData) === null || _a === void 0 ? void 0 : _a.snackbarMessageEmitter) === null || _b === void 0 ? void 0 : _b.emit({ message: this.labelConfig['COMMONS_ASSESSMENT.TOAST.ERROR_DEFAULT'], type: 'error' });
|
|
2461
|
+
throw { error, method: this.assessmentId ? 'PATCH' : 'POST', payload };
|
|
2462
|
+
}
|
|
2463
|
+
});
|
|
2464
|
+
}
|
|
2465
|
+
applyDynamicValidators() {
|
|
2466
|
+
var _a;
|
|
2467
|
+
if (!this.rules || Object.keys(this.rules).length === 0)
|
|
2468
|
+
return;
|
|
2469
|
+
const form = this.questionsFormGroup;
|
|
2470
|
+
const qType = (_a = form.get('questionType')) === null || _a === void 0 ? void 0 : _a.value;
|
|
2471
|
+
const currentRules = this.rules[qType] || {};
|
|
2472
|
+
const excludedControls = new Set(['questionType', 'questionText', 'options', 'visibility', 'isMandatory']);
|
|
2473
|
+
// Handle normal controls
|
|
2474
|
+
Object.entries(form.controls).forEach(([key, control]) => {
|
|
2475
|
+
if (excludedControls.has(key))
|
|
2476
|
+
return;
|
|
2477
|
+
const rule = currentRules[key];
|
|
2478
|
+
if (rule === null || rule === void 0 ? void 0 : rule.visible) {
|
|
2479
|
+
const validators = (rule === null || rule === void 0 ? void 0 : rule.required) ? [Validators.required] : [];
|
|
2480
|
+
if (key === 'questionMedia') {
|
|
2481
|
+
validators.push(Validators.pattern(/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?(\?[^\s]*)?$/i));
|
|
2482
|
+
}
|
|
2483
|
+
control.setValidators(validators.length > 0 ? validators : null);
|
|
2484
|
+
}
|
|
2485
|
+
else {
|
|
2486
|
+
control.clearValidators();
|
|
2487
|
+
control.setValue(key === 'childQuestions' ? [] : null, { emitEvent: false });
|
|
2488
|
+
}
|
|
2489
|
+
control.updateValueAndValidity({ emitEvent: false });
|
|
2490
|
+
});
|
|
2491
|
+
// Handle options FormArray
|
|
2492
|
+
const optionsControl = form.get('options');
|
|
2493
|
+
const optionsRule = currentRules['options'];
|
|
2494
|
+
if (!(optionsRule === null || optionsRule === void 0 ? void 0 : optionsRule.visible)) {
|
|
2495
|
+
optionsControl.clearValidators();
|
|
2496
|
+
optionsControl.clear();
|
|
2497
|
+
optionsControl.updateValueAndValidity({ emitEvent: false });
|
|
2498
|
+
return;
|
|
2499
|
+
}
|
|
2500
|
+
const optionsValidator = (optionsRule === null || optionsRule === void 0 ? void 0 : optionsRule.required) ? (control) => {
|
|
2501
|
+
const activeOptions = (control.value || []).filter((opt) => opt.isActive !== false);
|
|
2502
|
+
return activeOptions.length > 0 ? null : { required: true };
|
|
2503
|
+
} : null;
|
|
2504
|
+
optionsControl.setValidators(optionsValidator);
|
|
2505
|
+
const showWeightage = optionsRule === null || optionsRule === void 0 ? void 0 : optionsRule.showWeightage;
|
|
2506
|
+
const showRemarks = optionsRule === null || optionsRule === void 0 ? void 0 : optionsRule.showRemarks;
|
|
2507
|
+
optionsControl.controls.forEach(optGroup => {
|
|
2508
|
+
const weightCtrl = optGroup.get('weight');
|
|
2509
|
+
const remarksCtrl = optGroup.get('remarksRequired');
|
|
2510
|
+
if (!showWeightage)
|
|
2511
|
+
weightCtrl === null || weightCtrl === void 0 ? void 0 : weightCtrl.setValue(0, { emitEvent: false });
|
|
2512
|
+
if (!showRemarks)
|
|
2513
|
+
remarksCtrl === null || remarksCtrl === void 0 ? void 0 : remarksCtrl.setValue(false, { emitEvent: false });
|
|
2514
|
+
weightCtrl === null || weightCtrl === void 0 ? void 0 : weightCtrl.updateValueAndValidity({ emitEvent: false });
|
|
2515
|
+
remarksCtrl === null || remarksCtrl === void 0 ? void 0 : remarksCtrl.updateValueAndValidity({ emitEvent: false });
|
|
2516
|
+
});
|
|
2517
|
+
optionsControl.updateValueAndValidity({ emitEvent: false });
|
|
2518
|
+
}
|
|
2519
|
+
showField(fieldName, nestedProp) {
|
|
2520
|
+
var _a, _b, _c;
|
|
2521
|
+
const questionType = (_b = (_a = this.questionsFormGroup) === null || _a === void 0 ? void 0 : _a.get('questionType')) === null || _b === void 0 ? void 0 : _b.value;
|
|
2522
|
+
if (!questionType || !this.rules[questionType] || !this.rules[questionType][fieldName]) {
|
|
2523
|
+
return false;
|
|
2524
|
+
}
|
|
2525
|
+
if (nestedProp) {
|
|
2526
|
+
return !!this.rules[questionType][fieldName][nestedProp];
|
|
2527
|
+
}
|
|
2528
|
+
return !!((_c = this.rules[questionType][fieldName]) === null || _c === void 0 ? void 0 : _c.visible);
|
|
2529
|
+
}
|
|
2530
|
+
get options() {
|
|
2531
|
+
return this.questionsFormGroup.get('options');
|
|
2532
|
+
}
|
|
2533
|
+
addOption() {
|
|
2534
|
+
this.options.push(this.createOption());
|
|
2535
|
+
}
|
|
2536
|
+
removeOption(index) {
|
|
2537
|
+
var _a, _b, _c;
|
|
2538
|
+
const removedOption = this.options.at(index);
|
|
2539
|
+
const removedOptionId = (_a = removedOption.get('id')) === null || _a === void 0 ? void 0 : _a.value;
|
|
2540
|
+
const removedOptionUuid = (_b = removedOption.get('uuid')) === null || _b === void 0 ? void 0 : _b.value;
|
|
2541
|
+
const uniqueId = removedOptionId || removedOptionUuid;
|
|
2542
|
+
if (removedOptionId) {
|
|
2543
|
+
(_c = removedOption.get('isActive')) === null || _c === void 0 ? void 0 : _c.setValue(false);
|
|
2544
|
+
}
|
|
2545
|
+
else {
|
|
2546
|
+
this.options.removeAt(index);
|
|
2547
|
+
}
|
|
2548
|
+
this.childQuestionGroups.forEach(g => {
|
|
2549
|
+
if (g.optionId === uniqueId) {
|
|
2550
|
+
g.optionId = null;
|
|
2551
|
+
}
|
|
2552
|
+
});
|
|
2553
|
+
}
|
|
2554
|
+
createOption() {
|
|
2555
|
+
return this.formBuilder.group({
|
|
2556
|
+
id: [0],
|
|
2557
|
+
uuid: [generateUuid()],
|
|
2558
|
+
optionLabel: ['', Validators.required],
|
|
2559
|
+
weight: [0],
|
|
2560
|
+
remarksRequired: [false],
|
|
2561
|
+
isActive: [true],
|
|
2562
|
+
childQuestionList: [[]]
|
|
2563
|
+
});
|
|
2564
|
+
}
|
|
2565
|
+
allowOnlyNumbers(event) {
|
|
2566
|
+
event.target.value = event.target.value.replace(/\D/g, '');
|
|
2567
|
+
}
|
|
2568
|
+
imageErrorHandler(event, filePath) {
|
|
2569
|
+
event.target.src = filePath;
|
|
2570
|
+
}
|
|
2571
|
+
addEditChildQuestion(childQuestion, index, groupId) {
|
|
2572
|
+
var _a;
|
|
2573
|
+
// Save current parent state
|
|
2574
|
+
const questionData = this.assessmentBuilderService.setQuestionDTO(this.questionsFormGroup.value, this.questionDetails);
|
|
2575
|
+
this.questionStack.push({
|
|
2576
|
+
parentFormValue: Object.assign(Object.assign({}, questionData), { childQuestions: (_a = this.questionsFormGroup.get('childQuestions')) === null || _a === void 0 ? void 0 : _a.value }),
|
|
2577
|
+
editingQuestionIndex: index,
|
|
2578
|
+
addingToGroupId: groupId
|
|
2579
|
+
});
|
|
2580
|
+
// Reset form for child
|
|
2581
|
+
this.questionsFormGroup.reset({
|
|
2582
|
+
questionType: '',
|
|
2583
|
+
questionText: '',
|
|
2584
|
+
isMandatory: false,
|
|
2585
|
+
// visibility: true,
|
|
2586
|
+
totalMarks: null,
|
|
2587
|
+
minCharacterCount: null,
|
|
2588
|
+
maxCharacterCount: null,
|
|
2589
|
+
maximumNumberOfOption: null,
|
|
2590
|
+
minimumNumberOfOption: null,
|
|
2591
|
+
maxFileSize: null,
|
|
2592
|
+
maxNoOfFiles: null,
|
|
2593
|
+
customRegex: '',
|
|
2594
|
+
hintText: '',
|
|
2595
|
+
questionMedia: '',
|
|
2596
|
+
childQuestions: [[]]
|
|
2597
|
+
});
|
|
2598
|
+
const optionsControl = this.questionsFormGroup.get('options');
|
|
2599
|
+
while (optionsControl.length !== 0) {
|
|
2600
|
+
optionsControl.removeAt(0);
|
|
2601
|
+
}
|
|
2602
|
+
this.applyDynamicValidators();
|
|
2603
|
+
if (childQuestion) {
|
|
2604
|
+
this.populateForm(childQuestion);
|
|
2605
|
+
}
|
|
2606
|
+
this.scrollToTop();
|
|
2607
|
+
}
|
|
2608
|
+
deleteChildQuestion(index, event) {
|
|
2609
|
+
var _a, _b;
|
|
2610
|
+
event.stopPropagation();
|
|
2611
|
+
const deletedChild = (_a = this.questionsFormGroup.get('childQuestions')) === null || _a === void 0 ? void 0 : _a.value[index];
|
|
2612
|
+
this.options.controls.forEach(opt => {
|
|
2613
|
+
var _a, _b;
|
|
2614
|
+
let childList = [...(((_a = opt.get('childQuestionList')) === null || _a === void 0 ? void 0 : _a.value) || [])];
|
|
2615
|
+
childList = childList.filter((id) => id !== deletedChild.id);
|
|
2616
|
+
(_b = opt.get('childQuestionList')) === null || _b === void 0 ? void 0 : _b.setValue(childList);
|
|
2617
|
+
});
|
|
2618
|
+
(_b = this.questionsFormGroup.get('childQuestions')) === null || _b === void 0 ? void 0 : _b.value.splice(index, 1);
|
|
2619
|
+
this.childQuestionGroups.forEach(g => {
|
|
2620
|
+
g.questionIds = g.questionIds.filter(qid => qid !== deletedChild.id);
|
|
2621
|
+
});
|
|
2622
|
+
this.childQuestionGroups = this.childQuestionGroups.filter(g => g.questionIds.length > 0);
|
|
2623
|
+
}
|
|
2624
|
+
getOptionId(opt) {
|
|
2625
|
+
var _a, _b, _c;
|
|
2626
|
+
return ((_a = opt.get('id')) === null || _a === void 0 ? void 0 : _a.value) ? (_b = opt.get('id')) === null || _b === void 0 ? void 0 : _b.value : (_c = opt.get('uuid')) === null || _c === void 0 ? void 0 : _c.value;
|
|
2627
|
+
}
|
|
2628
|
+
getChildQuestionById(id) {
|
|
2629
|
+
var _a, _b;
|
|
2630
|
+
return (_b = (_a = this.questionsFormGroup.get('childQuestions')) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.find((q) => q.id === id);
|
|
2631
|
+
}
|
|
2632
|
+
getChildQuestionIndex(id) {
|
|
2633
|
+
var _a, _b;
|
|
2634
|
+
return (_b = (_a = this.questionsFormGroup.get('childQuestions')) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.findIndex((q) => q.id === id);
|
|
2635
|
+
}
|
|
2636
|
+
deleteChildQuestionById(id, event) {
|
|
2637
|
+
event.stopPropagation();
|
|
2638
|
+
const index = this.getChildQuestionIndex(id);
|
|
2639
|
+
if (index > -1) {
|
|
2640
|
+
this.deleteChildQuestion(index, event);
|
|
2641
|
+
}
|
|
2642
|
+
}
|
|
2643
|
+
buildChildQuestionGroups(childQuestions) {
|
|
2644
|
+
this.childQuestionGroups = [];
|
|
2645
|
+
const processedQuestionIds = new Set();
|
|
2646
|
+
this.options.controls.forEach(opt => {
|
|
2647
|
+
var _a;
|
|
2648
|
+
const optionId = this.getOptionId(opt);
|
|
2649
|
+
const childList = ((_a = opt.get('childQuestionList')) === null || _a === void 0 ? void 0 : _a.value) || [];
|
|
2650
|
+
if (childList.length > 0) {
|
|
2651
|
+
this.childQuestionGroups.push({
|
|
2652
|
+
id: generateUuid(),
|
|
2653
|
+
optionId: optionId,
|
|
2654
|
+
questionIds: [...childList]
|
|
2655
|
+
});
|
|
2656
|
+
childList.forEach((id) => processedQuestionIds.add(id));
|
|
2657
|
+
}
|
|
2658
|
+
});
|
|
2659
|
+
childQuestions.forEach(cq => {
|
|
2660
|
+
if (cq.id && !processedQuestionIds.has(cq.id)) {
|
|
2661
|
+
this.childQuestionGroups.push({
|
|
2662
|
+
id: generateUuid(),
|
|
2663
|
+
optionId: null,
|
|
2664
|
+
questionIds: [cq.id]
|
|
2665
|
+
});
|
|
2666
|
+
}
|
|
2667
|
+
});
|
|
2668
|
+
}
|
|
2669
|
+
onGroupOptionChange(groupId, newOptionId) {
|
|
2670
|
+
var _a, _b, _c, _d;
|
|
2671
|
+
const groupIndex = this.childQuestionGroups.findIndex(g => g.id === groupId);
|
|
2672
|
+
if (groupIndex === -1)
|
|
2673
|
+
return;
|
|
2674
|
+
const group = this.childQuestionGroups[groupIndex];
|
|
2675
|
+
const oldOptionId = group.optionId;
|
|
2676
|
+
if (oldOptionId) {
|
|
2677
|
+
const oldOpt = this.options.controls.find(opt => this.getOptionId(opt) === oldOptionId);
|
|
2678
|
+
if (oldOpt) {
|
|
2679
|
+
let childList = [...(((_a = oldOpt.get('childQuestionList')) === null || _a === void 0 ? void 0 : _a.value) || [])];
|
|
2680
|
+
childList = childList.filter(id => !group.questionIds.includes(id));
|
|
2681
|
+
(_b = oldOpt.get('childQuestionList')) === null || _b === void 0 ? void 0 : _b.setValue(childList);
|
|
2682
|
+
}
|
|
2683
|
+
}
|
|
2684
|
+
const existingGroup = this.childQuestionGroups.find(g => g.id !== groupId && g.optionId === newOptionId);
|
|
2685
|
+
if (existingGroup && newOptionId) {
|
|
2686
|
+
existingGroup.questionIds.push(...group.questionIds);
|
|
2687
|
+
this.childQuestionGroups.splice(groupIndex, 1);
|
|
2688
|
+
}
|
|
2689
|
+
else {
|
|
2690
|
+
group.optionId = newOptionId;
|
|
2691
|
+
}
|
|
2692
|
+
if (newOptionId) {
|
|
2693
|
+
const newOpt = this.options.controls.find(opt => this.getOptionId(opt) === newOptionId);
|
|
2694
|
+
if (newOpt) {
|
|
2695
|
+
let childList = [...(((_c = newOpt.get('childQuestionList')) === null || _c === void 0 ? void 0 : _c.value) || [])];
|
|
2696
|
+
const set = new Set([...childList, ...group.questionIds]);
|
|
2697
|
+
(_d = newOpt.get('childQuestionList')) === null || _d === void 0 ? void 0 : _d.setValue(Array.from(set));
|
|
2698
|
+
}
|
|
2699
|
+
}
|
|
2700
|
+
}
|
|
2701
|
+
goBack() {
|
|
2702
|
+
if (this.questionStack.length === 0) {
|
|
2703
|
+
this.dialogRef.close();
|
|
2704
|
+
return;
|
|
2705
|
+
}
|
|
2706
|
+
const state = this.questionStack.pop();
|
|
2707
|
+
this.resetAndPopulate(state === null || state === void 0 ? void 0 : state.parentFormValue);
|
|
2708
|
+
this.scrollToTop();
|
|
2709
|
+
}
|
|
2710
|
+
resetAndPopulate(parentValue) {
|
|
2711
|
+
this.questionsFormGroup.reset();
|
|
2712
|
+
const optionsControl = this.questionsFormGroup.get('options');
|
|
2713
|
+
while (optionsControl.length !== 0) {
|
|
2714
|
+
optionsControl.removeAt(0);
|
|
2715
|
+
}
|
|
2716
|
+
this.populateForm(parentValue);
|
|
2717
|
+
}
|
|
2718
|
+
scrollToTop() {
|
|
2719
|
+
if (this.scrollContainer && this.scrollContainer.nativeElement) {
|
|
2720
|
+
setTimeout(() => {
|
|
2721
|
+
this.scrollContainer.nativeElement.scrollTop = 0;
|
|
2722
|
+
}, 0);
|
|
2723
|
+
}
|
|
2724
|
+
}
|
|
2725
|
+
}
|
|
2726
|
+
AssessmentBuilderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AssessmentBuilderComponent, deps: [{ token: i1$2.FormBuilder }, { token: AssessmentBuilderService }, { token: AssessmentMakerService }, { token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
2727
|
+
AssessmentBuilderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AssessmentBuilderComponent, selector: "lib-app-assessment-builder", viewQueries: [{ propertyName: "scrollContainer", first: true, predicate: ["scrollContainer"], descendants: true }], ngImport: i0, template: "<div class=\"d-flex vh-100 position-relative overflow-hidden\">\r\n <div *ngIf=\"questionStack.length > 0 || isChild\"\r\n class=\"p-3 px-2 col-auto assessment-bg-palette-C8DAF9 flex-column align-items-center justify-content-end d-md-flex d-none\">\r\n <p class=\"m-0 assessment-text-semibold-18 vertical-text\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.CHILD_QUESTION']}}\r\n </p>\r\n </div>\r\n <div class=\"flex-grow-1 h-100 d-flex flex-column position-relative\">\r\n <header\r\n class=\"p-3 d-flex align-items-center justify-content-between position-sticky top-0 col-12 border-bottom\">\r\n <p *ngIf=\"questionStack.length == 0\" class=\"mb-0 assessment-text-semibold-18 d-md-inline d-none\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.INPUT_FIELD_SETTINGS']}}\r\n </p>\r\n <button *ngIf=\"questionStack.length > 0\" (click)=\"goBack()\"\r\n class=\"d-flex align-items-center gap-2 assessment-text-grey-ten border-0 outline-0 assessment-text-medium-14 bg-transparent\">\r\n <img [src]=\"imageConfig['COMMONS_ASSESSMENT.ICON.GO_BACK']\"\r\n (error)=\"imageErrorHandler($event, 'assets/commons-assessment/images/go-back.svg')\" />\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.GO_BACK']}}\r\n </button>\r\n <div class=\"d-flex align-items-center justify-content-md-end justify-content-between gap-3 flex-grow-1\">\r\n <button (click)=\"onSubmit()\" [disabled]=\"isSubmitting\"\r\n class=\"assessment-btn-primary assessment-button-padding assessment-text-medium-13 assessment-zoom-animation assessment-button-padding position-relative\">\r\n <span [ngClass]=\"{'opacity-0': isSubmitting}\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.SAVE_QUESTION']}}\r\n </span>\r\n <mat-spinner *ngIf=\"isSubmitting\" [diameter]=\"20\"\r\n class=\"position-absolute top-50 start-50 translate-middle assessment-spinner-white\"></mat-spinner>\r\n </button>\r\n <img class=\"d-md-none\" *ngIf=\"questionStack.length == 0\" mat-dialog-close\r\n [src]=\"imageConfig['COMMONS_ASSESSMENT.ICON.CLOSE']\"\r\n (error)=\"imageErrorHandler($event, 'assets/commons-assessment/images/close.svg')\" />\r\n </div>\r\n </header>\r\n <div #scrollContainer class=\"col-12 py-4 px-md-4 px-3 flex-grow-1 overflow-y-auto form-container\"\r\n [formGroup]=\"questionsFormGroup\">\r\n <div class=\"pb-4 col-12\">\r\n <label\r\n class=\"mb-2 assessment-text-medium-16 assessment-text-grey-ten col-12\">{{labelConfig['COMMONS_ASSESSMENT.LABEL.TYPE']}}</label>\r\n <mat-select formControlName=\"questionType\"\r\n [placeholder]=\"labelConfig['COMMONS_ASSESSMENT.PLACEHOLDER.SELECT_QUESTION_TYPE']\"\r\n class=\"assessment-mat-select col-12 assessment-border-radius-two outline-0 assessment-input-border-one assessment-text-medium-13 assessment-bg-grey-one\">\r\n <mat-option class=\"assessment-text-medium-13\" *ngFor=\"let type of questionTypes\" [value]=\"type?.code\">\r\n {{type?.label}}\r\n </mat-option>\r\n </mat-select>\r\n <mat-error\r\n *ngIf=\"questionsFormGroup.get('questionType')?.errors && questionsFormGroup.get('questionType')?.touched\"\r\n class=\"assessment-text-regular-12 assessment-text-danger\">{{labelConfig['COMMONS_ASSESSMENT.ERROR.REQUIRED']}}</mat-error>\r\n </div>\r\n <div class=\"pb-4 col-12\">\r\n <label class=\"mb-2 assessment-text-medium-16 assessment-text-grey-ten\">Question</label>\r\n <app-text-editor [preText]=\"questionsFormGroup?.get('questionText')?.value\"\r\n (inputChange)=\"questionsFormGroup?.get('questionText')?.patchValue($event)\"\r\n [placeholder]=\"labelConfig['COMMONS_ASSESSMENT.PLACEHOLDER.ENTER_QUESTION']\"\r\n class=\"assessment-custom-angular-editor-white assessment-text-regular-13 assessment-text-grey-ten\"\r\n [height]=\"'8rem'\">\r\n </app-text-editor>\r\n <mat-error\r\n *ngIf=\"questionsFormGroup.get('questionText')?.errors && questionsFormGroup.get('questionText')?.touched\"\r\n class=\"assessment-text-regular-12 assessment-text-danger\">{{labelConfig['COMMONS_ASSESSMENT.ERROR.REQUIRED']}}</mat-error>\r\n <div class=\"col-12 position-relative mt-3\" *ngIf=\"showField('questionMedia')\">\r\n <input formControlName=\"questionMedia\"\r\n [placeholder]=\"labelConfig['COMMONS_ASSESSMENT.PLACEHOLDER.ENTER_QUESTION_MEDIA']\"\r\n class=\"col-12 assessment-input-padding assessment-border-radius-two outline-0 assessment-input-border-one assessment-text-medium-13 assessment-bg-grey-one\"\r\n [ngClass]=\"{'border-danger': questionsFormGroup.get('questionMedia')?.invalid && questionsFormGroup.get('questionMedia')?.touched}\">\r\n <mat-error\r\n *ngIf=\"questionsFormGroup.get('questionMedia')?.hasError('pattern') && questionsFormGroup.get('questionMedia')?.touched\"\r\n class=\"assessment-text-regular-12 assessment-text-danger mt-1\">\r\n {{labelConfig['COMMONS_ASSESSMENT.ERROR.INVALID_URL']}}\r\n </mat-error>\r\n <mat-error\r\n *ngIf=\"questionsFormGroup.get('questionMedia')?.hasError('required') && questionsFormGroup.get('questionMedia')?.touched\"\r\n class=\"assessment-text-regular-12 assessment-text-danger mt-1\">{{labelConfig['COMMONS_ASSESSMENT.ERROR.REQUIRED']}}</mat-error>\r\n </div>\r\n </div>\r\n <div class=\"row mx-0 col-12 pb-4\" *ngIf=\"showField('minCharacterCount') || showField('maxCharacterCount')\">\r\n <div class=\"col-6 ps-0\" *ngIf=\"showField('minCharacterCount')\">\r\n <label\r\n class=\"mb-1 assessment-text-medium-13 assessment-text-grey-ten\">{{labelConfig['COMMONS_ASSESSMENT.LABEL.MIN_CHARACTER_LIMIT']}}</label>\r\n <div class=\"col-12 d-flex align-items-center gap-2 position-relative\">\r\n <input formControlName=\"minCharacterCount\"\r\n [placeholder]=\"labelConfig['COMMONS_ASSESSMENT.PLACEHOLDER.NOT_SET']\"\r\n (input)=\"allowOnlyNumbers($event)\"\r\n (blur)=\"questionsFormGroup.get('minCharacterCount')?.markAsTouched()\"\r\n class=\"col-12 assessment-input-padding assessment-border-radius-two outline-0 assessment-input-border-one assessment-text-medium-13 assessment-bg-grey-one\">\r\n <span\r\n class=\"assessment-text-regular-12 assessment-text-grey-seven position-absolute end-0 me-3\">{{labelConfig['COMMONS_ASSESSMENT.LABEL.CHARACTERS']}}</span>\r\n </div>\r\n <mat-error\r\n *ngIf=\"questionsFormGroup.get('minCharacterCount')?.errors && questionsFormGroup.get('minCharacterCount')?.touched\"\r\n class=\"assessment-text-regular-12 assessment-text-danger\">{{labelConfig['COMMONS_ASSESSMENT.ERROR.REQUIRED']}}</mat-error>\r\n </div>\r\n <div class=\"col-6 pe-0\" *ngIf=\"showField('maxCharacterCount')\">\r\n <label\r\n class=\"mb-1 assessment-text-medium-13 assessment-text-grey-ten\">{{labelConfig['COMMONS_ASSESSMENT.LABEL.MAX_CHARACTER_LIMIT']}}</label>\r\n <div class=\"col-12 d-flex align-items-center gap-2 position-relative\">\r\n <input formControlName=\"maxCharacterCount\"\r\n [placeholder]=\"labelConfig['COMMONS_ASSESSMENT.PLACEHOLDER.NOT_SET']\"\r\n (input)=\"allowOnlyNumbers($event)\"\r\n (blur)=\"questionsFormGroup.get('maxCharacterCount')?.markAsTouched()\"\r\n class=\"col-12 assessment-input-padding assessment-border-radius-two outline-0 assessment-input-border-one assessment-text-medium-13 assessment-bg-grey-one\">\r\n <span\r\n class=\"assessment-text-regular-12 assessment-text-grey-seven position-absolute end-0 me-3\">{{labelConfig['COMMONS_ASSESSMENT.LABEL.CHARACTERS']}}</span>\r\n </div>\r\n <mat-error\r\n *ngIf=\"questionsFormGroup.get('maxCharacterCount')?.errors && questionsFormGroup.get('maxCharacterCount')?.touched\"\r\n class=\"assessment-text-regular-12 assessment-text-danger\">{{labelConfig['COMMONS_ASSESSMENT.ERROR.REQUIRED']}}</mat-error>\r\n </div>\r\n </div>\r\n <div class=\"row mx-0 col-12 pb-4\" *ngIf=\"showField('maxFileSize') || showField('maxNoOfFiles')\">\r\n <div class=\"col-6 ps-0\" *ngIf=\"showField('maxFileSize')\">\r\n <label\r\n class=\"mb-1 assessment-text-medium-13 assessment-text-grey-ten\">{{labelConfig['COMMONS_ASSESSMENT.LABEL.MAX_FILE_SIZE']}}</label>\r\n <div class=\"col-12 d-flex align-items-center gap-2 position-relative\">\r\n <input formControlName=\"maxFileSize\"\r\n [placeholder]=\"labelConfig['COMMONS_ASSESSMENT.PLACEHOLDER.NOT_SET']\"\r\n (input)=\"allowOnlyNumbers($event)\"\r\n (blur)=\"questionsFormGroup.get('maxFileSize')?.markAsTouched()\"\r\n class=\"col-12 assessment-input-padding assessment-border-radius-two outline-0 assessment-input-border-one assessment-text-medium-13 assessment-bg-grey-one\">\r\n <span\r\n class=\"assessment-text-regular-12 assessment-text-grey-seven position-absolute end-0 me-3\">{{labelConfig['COMMONS_ASSESSMENT.LABEL.MB']}}</span>\r\n </div>\r\n <mat-error\r\n *ngIf=\"questionsFormGroup.get('maxFileSize')?.errors && questionsFormGroup.get('maxFileSize')?.touched\"\r\n class=\"assessment-text-regular-12 assessment-text-danger\">{{labelConfig['COMMONS_ASSESSMENT.ERROR.REQUIRED']}}</mat-error>\r\n </div>\r\n <div class=\"col-6 pe-0\" *ngIf=\"showField('maxNoOfFiles')\">\r\n <label\r\n class=\"mb-1 assessment-text-medium-13 assessment-text-grey-ten\">{{labelConfig['COMMONS_ASSESSMENT.LABEL.MAX_NO_OF_FILES']}}</label>\r\n <div class=\"col-12 d-flex align-items-center gap-2 position-relative\">\r\n <input formControlName=\"maxNoOfFiles\"\r\n [placeholder]=\"labelConfig['COMMONS_ASSESSMENT.PLACEHOLDER.NOT_SET']\"\r\n (input)=\"allowOnlyNumbers($event)\"\r\n (blur)=\"questionsFormGroup.get('maxNoOfFiles')?.markAsTouched()\"\r\n class=\"col-12 assessment-input-padding assessment-border-radius-two outline-0 assessment-input-border-one assessment-text-medium-13 assessment-bg-grey-one\">\r\n <span\r\n class=\"assessment-text-regular-12 assessment-text-grey-seven position-absolute end-0 me-3\">{{labelConfig['COMMONS_ASSESSMENT.LABEL.FILES']}}</span>\r\n </div>\r\n <mat-error\r\n *ngIf=\"questionsFormGroup.get('maxNoOfFiles')?.errors && questionsFormGroup.get('maxNoOfFiles')?.touched\"\r\n class=\"assessment-text-regular-12 assessment-text-danger\">{{labelConfig['COMMONS_ASSESSMENT.ERROR.REQUIRED']}}</mat-error>\r\n </div>\r\n </div>\r\n <div class=\"pb-4 col-12\" *ngIf=\"showField('customRegex')\">\r\n <label\r\n class=\"mb-1 assessment-text-medium-13 assessment-text-grey-ten\">{{labelConfig['COMMONS_ASSESSMENT.LABEL.CUSTOM_REGEX']}}</label>\r\n <div class=\"col-12 d-flex align-items-center gap-2 position-relative\">\r\n <input formControlName=\"customRegex\"\r\n [placeholder]=\"labelConfig['COMMONS_ASSESSMENT.PLACEHOLDER.ENTER_CUSTOM_REGEX']\"\r\n (blur)=\"questionsFormGroup.get('customRegex')?.markAsTouched()\"\r\n class=\"col-12 assessment-input-padding assessment-border-radius-two outline-0 assessment-input-border-one assessment-text-medium-13 assessment-bg-grey-one\">\r\n </div>\r\n <mat-error\r\n *ngIf=\"questionsFormGroup.get('customRegex')?.errors && questionsFormGroup.get('customRegex')?.touched\"\r\n class=\"assessment-text-regular-12 assessment-text-danger\">{{labelConfig['COMMONS_ASSESSMENT.ERROR.REQUIRED']}}</mat-error>\r\n </div>\r\n <div class=\"pb-4 col-12\" *ngIf=\"showField('totalMarks') && !isChild && questionStack.length == 0\">\r\n <label\r\n class=\"mb-1 assessment-text-medium-13 assessment-text-grey-ten\">{{labelConfig['COMMONS_ASSESSMENT.LABEL.TOTAL_MARKS']}}</label>\r\n <div class=\"col-12 d-flex align-items-center gap-2 position-relative\">\r\n <input formControlName=\"totalMarks\" placeholder=\"0\" (input)=\"allowOnlyNumbers($event)\"\r\n (blur)=\"questionsFormGroup.get('totalMarks')?.markAsTouched()\"\r\n class=\"col-12 assessment-input-padding assessment-border-radius-two outline-0 assessment-input-border-one assessment-text-medium-13 assessment-bg-grey-one\">\r\n <span\r\n class=\"assessment-text-regular-12 assessment-text-grey-seven position-absolute end-0 me-3\">{{labelConfig['COMMONS_ASSESSMENT.LABEL.MARKS']}}</span>\r\n </div>\r\n <mat-error\r\n *ngIf=\"questionsFormGroup.get('totalMarks')?.errors && questionsFormGroup.get('totalMarks')?.touched\"\r\n class=\"assessment-text-regular-12 assessment-text-danger\">{{labelConfig['COMMONS_ASSESSMENT.ERROR.REQUIRED']}}</mat-error>\r\n </div>\r\n\r\n <div class=\"row mx-0 col-12 pb-4\"\r\n *ngIf=\"showField('minimumNumberOfOption') || showField('maximumNumberOfOption')\">\r\n <div class=\"col-6 ps-0\" *ngIf=\"showField('minimumNumberOfOption')\">\r\n <label\r\n class=\"mb-1 assessment-text-medium-13 assessment-text-grey-ten\">{{labelConfig['COMMONS_ASSESSMENT.LABEL.MIN_OPTION_SELECT_LIMIT']}}</label>\r\n <div class=\"col-12 d-flex align-items-center gap-2 position-relative\">\r\n <input formControlName=\"minimumNumberOfOption\" placeholder=\"0\"\r\n (input)=\"allowOnlyNumbers($event)\"\r\n (blur)=\"questionsFormGroup.get('minimumNumberOfOption')?.markAsTouched()\"\r\n class=\"col-12 assessment-input-padding assessment-border-radius-two outline-0 assessment-input-border-one assessment-text-medium-13 assessment-bg-grey-one\">\r\n <span\r\n class=\"assessment-text-regular-12 assessment-text-grey-seven position-absolute end-0 me-3\">{{labelConfig['COMMONS_ASSESSMENT.LABEL.OPTIONS']}}</span>\r\n </div>\r\n <mat-error\r\n *ngIf=\"questionsFormGroup.get('minimumNumberOfOption')?.errors && questionsFormGroup.get('minimumNumberOfOption')?.touched\"\r\n class=\"assessment-text-regular-12 assessment-text-danger\">{{labelConfig['COMMONS_ASSESSMENT.ERROR.REQUIRED']}}</mat-error>\r\n </div>\r\n <div class=\"col-6 pe-0\" *ngIf=\"showField('maximumNumberOfOption')\">\r\n <label\r\n class=\"mb-1 assessment-text-medium-13 assessment-text-grey-ten\">{{labelConfig['COMMONS_ASSESSMENT.LABEL.MAX_OPTION_SELECT_LIMIT']}}</label>\r\n <div class=\"col-12 d-flex align-items-center gap-2 position-relative\">\r\n <input formControlName=\"maximumNumberOfOption\" [placeholder]=\"options.length || 0\"\r\n (input)=\"allowOnlyNumbers($event)\"\r\n (blur)=\"questionsFormGroup.get('maximumNumberOfOption')?.markAsTouched()\"\r\n class=\"col-12 assessment-input-padding assessment-border-radius-two outline-0 assessment-input-border-one assessment-text-medium-13 assessment-bg-grey-one\">\r\n <span\r\n class=\"assessment-text-regular-12 assessment-text-grey-seven position-absolute end-0 me-3\">{{labelConfig['COMMONS_ASSESSMENT.LABEL.OPTIONS']}}</span>\r\n </div>\r\n <mat-error\r\n *ngIf=\"questionsFormGroup.get('maximumNumberOfOption')?.errors && questionsFormGroup.get('maximumNumberOfOption')?.touched\"\r\n class=\"assessment-text-regular-12 assessment-text-danger\">{{labelConfig['COMMONS_ASSESSMENT.ERROR.REQUIRED']}}</mat-error>\r\n </div>\r\n </div>\r\n\r\n <div class=\"pb-4 col-12 mt-md-3\" *ngIf=\"showField('options')\">\r\n <div formArrayName=\"options\">\r\n <ng-container *ngFor=\"let option of options.controls; let i = index\">\r\n <div [formGroupName]=\"i\" *ngIf=\"option.get('isActive')?.value !== false\"\r\n class=\"py-md-0 py-3 border-bottom border-md-0 col-12 d-flex flex-wrap flex-md-nowrap align-items-md-start align-items-center justify-content-between gap-md-4 gap-3\">\r\n\r\n <div class=\"col-12 col-md flex-md-grow-1 d-flex flex-column justify-content-center mt-md-3\"\r\n [class.pt-md-3]=\"i == 0\">\r\n <div class=\"col-12 d-flex align-items-center justify-content-between gap-3\">\r\n <div class=\"flex-grow-1 d-flex align-items-center gap-2\">\r\n <div class=\"rounded-circle p-2 border-grey-ten-2 mt-1\"></div>\r\n <input formControlName=\"optionLabel\"\r\n [placeholder]=\"labelConfig['COMMONS_ASSESSMENT.PLACEHOLDER.ENTER_OPTION']\"\r\n class=\"flex-grow-1 assessment-text-medium-13 border-0 outline-0 bg-transparent input-focus py-1\">\r\n </div>\r\n <img class=\"cursor-pointer d-md-none\"\r\n [src]=\"imageConfig['COMMONS_ASSESSMENT.ICON.CLOSE']\" (click)=\"removeOption(i)\"\r\n (error)=\"imageErrorHandler($event, 'assets/commons-assessment/images/close.svg')\" />\r\n </div>\r\n <mat-error\r\n *ngIf=\"option.get('optionLabel')?.invalid && option.get('optionLabel')?.touched\"\r\n class=\"assessment-text-regular-12 mt-1\">{{labelConfig['COMMONS_ASSESSMENT.ERROR.REQUIRED']}}</mat-error>\r\n </div>\r\n\r\n <div *ngIf=\"showField('options', 'showWeightage') && !isChild && questionStack.length == 0\"\r\n class=\"col-auto\">\r\n <p class=\"assessment-text-medium-12 assessment-text-grey-six mb-2 mb-md-3\"\r\n [ngClass]=\"{'hidden-label': i > 0}\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.WEIGHTAGE']}}\r\n </p>\r\n <input (input)=\"allowOnlyNumbers($event)\" formControlName=\"weight\"\r\n class=\"px-3 py-md-1 py-2 assessment-border-radius-two assessment-input-border-one outline-0 assessment-text-regular-12 assessment-marks-input assessment-bg-grey-one\"\r\n [placeholder]=\"labelConfig['COMMONS_ASSESSMENT.LABEL.WEIGHTAGE']\">\r\n </div>\r\n\r\n <div *ngIf=\"showField('options', 'showRemarks')\" class=\"col-auto\">\r\n <p class=\"assessment-text-medium-12 assessment-text-grey-six mb-2 mb-md-3 pb-md-1\"\r\n [ngClass]=\"{'hidden-label': i > 0}\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.REMARKS']}}\r\n </p>\r\n <div class=\"form-check form-switch\">\r\n <input type=\"checkbox\" class=\"form-check-input cursor-pointer\"\r\n name=\"remarksRequired\" formControlName=\"remarksRequired\">\r\n </div>\r\n </div>\r\n\r\n <div class=\"d-none d-md-block pt-3\" [class.custom-margin]=\"i == 0\">\r\n <img class=\"cursor-pointer\" [src]=\"imageConfig['COMMONS_ASSESSMENT.ICON.CLOSE']\"\r\n (click)=\"removeOption(i)\"\r\n (error)=\"imageErrorHandler($event, 'assets/commons-assessment/images/close.svg')\" />\r\n </div>\r\n\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <button type=\"button\" (click)=\"addOption()\"\r\n class=\"assessment-border-radius-two d-flex align-items-center gap-2 bg-transparent assessment-text-primary-one assessment-text-medium-12 border-0 assessment-zoom-animation mt-4\">\r\n <img [src]=\"imageConfig['COMMONS_ASSESSMENT.ICON.PLUS_PRIMARY']\"\r\n (error)=\"imageErrorHandler($event, 'assets/commons-assessment/images/plus-primary.svg')\" />\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.ADD_OPTION']}}\r\n </button>\r\n <mat-error\r\n *ngIf=\"questionsFormGroup.get('options')?.errors && questionsFormGroup.get('options')?.touched\"\r\n class=\"assessment-text-regular-12 assessment-text-danger\">{{labelConfig['COMMONS_ASSESSMENT.ERROR.REQUIRED']}}</mat-error>\r\n </div>\r\n <div class=\"py-4 col-12 border-top\"\r\n *ngIf=\"showField('childQuestions') && questionStack.length == 0 && !isChild\">\r\n <div class=\"d-flex align-items-center justify-content-between mb-2\">\r\n <label\r\n class=\"assessment-text-medium-16 assessment-text-grey-ten\">{{labelConfig['COMMONS_ASSESSMENT.LABEL.CHILD_QUESTIONS']}}</label>\r\n <img matTooltip=\"{{labelConfig['COMMONS_ASSESSMENT.LABEL.CHILD_QUESTIONS_INFO']}}\"\r\n matTooltipPosition=\"above\" matTooltipClass=\"assessment-tooltip\"\r\n [src]=\"imageConfig['COMMONS_ASSESSMENT.ICON.INFO']\"\r\n (error)=\"imageErrorHandler($event, 'assets/commons-assessment/images/info.svg')\" />\r\n </div>\r\n\r\n <div *ngFor=\"let group of childQuestionGroups; let groupIndex = index\"\r\n class=\"col-12 p-3 my-3 assessment-bg-grey-one assessment-border-radius-three assessment-input-border-one\">\r\n <div class=\"col-12 mb-3\" *ngIf=\"options.length > 0\">\r\n <label\r\n class=\"mb-1 assessment-text-medium-13 assessment-text-grey-ten\">{{labelConfig['COMMONS_ASSESSMENT.LABEL.ASSIGNED_OPTION']}}</label>\r\n <mat-select [value]=\"group.optionId\"\r\n (selectionChange)=\"onGroupOptionChange(group.id, $event.value)\"\r\n [placeholder]=\"labelConfig['COMMONS_ASSESSMENT.PLACEHOLDER.SELECT_OPTION_TO_LINK']\"\r\n class=\"col-12 assessment-mat-select assessment-border-radius-two assessment-bg-white outline-0 assessment-input-border-one assessment-text-medium-13\">\r\n <mat-option class=\"assessment-text-medium-13\" [value]=\"null\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.NONE']}}\r\n </mat-option>\r\n <ng-container *ngFor=\"let opt of options.controls; let opIndex = index\">\r\n <mat-option *ngIf=\"opt.get('isActive')?.value !== false\" class=\"assessment-text-medium-13\"\r\n [value]=\"getOptionId(opt)\">\r\n {{ opt.get('optionLabel')?.value || ('Option ' + (opIndex + 1)) }}\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </div>\r\n\r\n <ng-container *ngFor=\"let questionId of group.questionIds; let i = index\">\r\n <ng-container *ngIf=\"getChildQuestionById(questionId) as child\">\r\n <div class=\"d-flex align-items-center justify-content-between mb-1 mt-3\">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <p class=\"mb-0 assessment-text-medium-14\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.QUESTION']}} {{i + 1}}</p>\r\n </div>\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <img [src]=\"imageConfig['COMMONS_ASSESSMENT.ICON.DELETE']\"\r\n class=\"action-icon cursor-pointer\"\r\n (click)=\"deleteChildQuestionById(child.id, $event)\"\r\n (error)=\"imageErrorHandler($event, 'assets/commons-assessment/images/delete.svg')\" />\r\n </div>\r\n </div>\r\n <div [innerHTML]=\"child?.questionText?.[0]?.text\"\r\n (click)=\"addEditChildQuestion(child, getChildQuestionIndex(child.id))\"\r\n class=\"col-12 assessment-button-padding assessment-border-radius-two assessment-bg-white assessment-input-border-one assessment-text-medium-12 cursor-pointer\">\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <button (click)=\"addEditChildQuestion(undefined, undefined, group.id)\"\r\n class=\"assessment-zoom-animation border-0 d-flex align-items-center justify-content-center gap-2 assessment-text-primary-one bg-transparent assessment-text-semibold-12 outline-0 mt-3\">\r\n <img [src]=\"imageConfig['COMMONS_ASSESSMENT.ICON.PLUS_PRIMARY']\"\r\n (error)=\"imageErrorHandler($event, 'assets/commons-assessment/images/plus-primary.svg')\" />\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.ADD_MORE']}}\r\n </button>\r\n </div>\r\n\r\n <button (click)=\"addEditChildQuestion()\"\r\n class=\"assessment-zoom-animation assessment-button-padding d-flex align-items-center justify-content-center gap-3 assessment-text-primary-one assessment-bg-palette-EDF3FD assessment-text-semibold-12 outline-0 col-12 assessment-border-radius-two mt-3 border-ADC9F6\">\r\n <img [src]=\"imageConfig['COMMONS_ASSESSMENT.ICON.PLUS_PRIMARY']\"\r\n (error)=\"imageErrorHandler($event, 'assets/commons-assessment/images/plus-primary.svg')\" />\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.ADD_CHILD_QUESTION']}}\r\n </button>\r\n </div>\r\n <div class=\"py-4 col-12 border-top\" *ngIf=\"showField('hintText')\">\r\n <label\r\n class=\"mb-2 assessment-text-medium-16 assessment-text-grey-ten\">{{labelConfig['COMMONS_ASSESSMENT.LABEL.ADD_HINT']}}</label>\r\n <app-text-editor [preText]=\"questionsFormGroup?.get('hintText')?.value\"\r\n (inputChange)=\"questionsFormGroup?.get('hintText')?.patchValue($event)\"\r\n [placeholder]=\"labelConfig['COMMONS_ASSESSMENT.PLACEHOLDER.ENTER_HINT']\"\r\n class=\"assessment-custom-angular-editor-white assessment-text-regular-13 assessment-text-grey-ten\"\r\n [height]=\"'8rem'\">\r\n </app-text-editor>\r\n <mat-error\r\n *ngIf=\"questionsFormGroup.get('hintText')?.errors && questionsFormGroup.get('hintText')?.touched\"\r\n class=\"assessment-text-regular-12 assessment-text-danger\">{{labelConfig['COMMONS_ASSESSMENT.ERROR.REQUIRED']}}</mat-error>\r\n </div>\r\n <div class=\"py-4 col-12 border-top\">\r\n <label class=\"mb-2 assessment-text-semibold-18 assessment-text-grey-ten col-12\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.FIELDS_SETTINGS']}}</label>\r\n <!-- <div class=\"my-3 d-flex align-items-center justify-content-between gap-2\">\r\n <div>\r\n <p class=\"mb-0 assessment-text-medium-13 assessment-text-grey-ten\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.SHOW_THIS_FIELD']}}</p>\r\n <p class=\"mb-0 assessment-text-regular-11 assessment-text-grey-eight\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.SHOW_THIS_FIELD_DESC']}}</p>\r\n </div>\r\n <div class=\"form-check form-switch\">\r\n <input type=\"checkbox\" class=\"form-check-input cursor-pointer\" name=\"visibility\"\r\n formControlName=\"visibility\">\r\n </div>\r\n </div> -->\r\n <div class=\"my-3 d-flex align-items-center justify-content-between gap-2\">\r\n <div>\r\n <p class=\"mb-0 assessment-text-medium-13 assessment-text-grey-ten\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.MANDATORY']}}</p>\r\n <p class=\"mb-0 assessment-text-regular-11 assessment-text-grey-eight\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.MANDATORY_DESC']}}</p>\r\n </div>\r\n <div class=\"form-check form-switch\">\r\n <input type=\"checkbox\" class=\"form-check-input cursor-pointer\" name=\"isMandatory\"\r\n formControlName=\"isMandatory\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".assessment-text-grey-ten{color:var(--assessment-grey-ten)!important}.assessment-bg-grey-ten{background-color:var(--assessment-grey-ten)!important}.assessment-text-grey-nine{color:var(--assessment-grey-nine)!important}.assessment-bg-grey-nine{background-color:var(--assessment-grey-nine)!important}.assessment-text-grey-eight{color:var(--assessment-grey-eight)!important}.assessment-bg-grey-eight{background-color:var(--assessment-grey-eight)!important}.assessment-text-grey-seven{color:var(--assessment-grey-seven)!important}.assessment-bg-grey-seven{background-color:var(--assessment-grey-seven)!important}.assessment-text-grey-six{color:var(--assessment-grey-six)!important}.assessment-bg-grey-six{background-color:var(--assessment-grey-six)!important}.assessment-text-grey-five{color:var(--assessment-grey-five)!important}.assessment-bg-grey-five{background-color:var(--assessment-grey-five)!important}.assessment-text-grey-four{color:var(--assessment-grey-four)!important}.assessment-bg-grey-four{background-color:var(--assessment-grey-four)!important}.assessment-text-grey-three{color:var(--assessment-grey-three)!important}.assessment-bg-grey-three{background-color:var(--assessment-grey-three)!important}.assessment-text-grey-two{color:var(--assessment-grey-two)!important}.assessment-bg-grey-two{background-color:var(--assessment-grey-two)!important}.assessment-text-grey-one{color:var(--assessment-grey-one)!important}.assessment-bg-grey-one{background-color:var(--assessment-grey-one)!important}.assessment-text-white{color:var(--assessment-white)!important}.assessment-bg-white{background-color:var(--assessment-white)!important}.assessment-text-black{color:var(--assessment-black)!important}.assessment-bg-black{background-color:var(--assessment-black)!important}.assessment-text-danger{color:var(--assessment-danger)!important}.assessment-bg-danger{background-color:var(--assessment-danger)!important}.assessment-text-primary-one{color:var(--assessment-primary-one)!important}.assessment-bg-primary-one{background-color:var(--assessment-primary-one)!important}.assessment-text-primary-four{color:var(--assessment-primary-four)!important}.assessment-bg-primary-four{background-color:var(--assessment-primary-four)!important}.assessment-text-palette-EDF3FD{color:var(--assessment-palette-EDF3FD)!important}.assessment-bg-palette-EDF3FD{background-color:var(--assessment-palette-EDF3FD)!important}.assessment-text-palette-C8DAF9{color:var(--assessment-palette-C8DAF9)!important}.assessment-bg-palette-C8DAF9{background-color:var(--assessment-palette-C8DAF9)!important}.assessment-text-palette-ADC9F6{color:var(--assessment-palette-ADC9F6)!important}.assessment-bg-palette-ADC9F6{background-color:var(--assessment-palette-ADC9F6)!important}.assessment-text-palette-FEF9F1{color:var(--assessment-palette-FEF9F1)!important}.assessment-bg-palette-FEF9F1{background-color:var(--assessment-palette-FEF9F1)!important}.assessment-text-palette-F9DAA6{color:var(--assessment-palette-F9DAA6)!important}.assessment-bg-palette-F9DAA6{background-color:var(--assessment-palette-F9DAA6)!important}.assessment-text-palette-E8F7F0{color:var(--assessment-palette-E8F7F0)!important}.assessment-bg-palette-E8F7F0{background-color:var(--assessment-palette-E8F7F0)!important}.assessment-text-palette-B7E7CF{color:var(--assessment-palette-B7E7CF)!important}.assessment-bg-palette-B7E7CF{background-color:var(--assessment-palette-B7E7CF)!important}.assessment-box-shadow-one{box-shadow:var(--assessment-box-shadow-one)!important}.assessment-border-radius-one{border-radius:var(--assessment-border-radius-one)!important}.assessment-border-radius-two{border-radius:var(--assessment-border-radius-two)!important}.assessment-border-radius-three{border-radius:var(--assessment-border-radius-three)!important}.assessment-border-radius-four{border-radius:var(--assessment-border-radius-four)!important}.assessment-border-radius-five{border-radius:var(--assessment-border-radius-five)!important}.assessment-border-radius-six{border-radius:var(--assessment-border-radius-six)!important}.assessment-input-border-one{border:var(--assessment-input-border-one)!important}.assessment-input-border-invalid{border:var(--assessment-input-border-invalid)!important}.assessment-input-focus-border{border:var(--assessment-input-focus-border)!important}.assessment-border-two{border:var(--assessment-border-two)!important}.assessment-card-border{border:var(--assessment-card-border)!important}.assessment-tooltip-border{border:var(--assessment-tooltip-border)!important}.assessment-box-shadow-tooltip{box-shadow:var(--assessment-box-shadow-tooltip)!important}.assessment-button-padding{padding:var(--assessment-button-padding)!important}.assessment-button-padding-large{padding:var(--assessment-button-padding-large)!important}.assessment-input-padding{padding:var(--assessment-input-padding)!important}.assessment-text-font-family{color:var(--assessment-font-family)!important}.assessment-bg-font-family{background-color:var(--assessment-font-family)!important}.assessment-text-regular-12{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-bold-12{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-semibold-12{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-semibold-11{font-weight:600;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-medium-11{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-regular-11{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-medium-12{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-regular-13{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-bold-13{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-semibold-13{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-medium-13{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-regular-14{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-bold-14{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-medium-14{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw)!important;line-height:calc(1.2rem + .2vw)!important}.assessment-text-semibold-14{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-semibold-10{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.55rem + .1vw);line-height:calc(1rem + .1vw)}.assessment-text-regular-10{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.55rem + .1vw)!important;line-height:calc(1rem + .1vw)}.assessment-text-regular-15{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.85rem + .1vw);line-height:calc(1.4rem + .1vw)}.assessment-text-medium-15{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-semibold-15{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-bold-15{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-regular-16{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-semibold-16{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-bold-16{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-medium-16{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-regular-20{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-bold-20{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-semibold-20{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-medium-20{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-medium-18{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .1vw)!important}.assessment-text-regular-18{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .3vw)!important}.assessment-text-bold-18{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw);line-height:calc(1.5rem + .1vw)}.assessment-text-semibold-18{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .1vw)!important}.assessment-text-bold-34{overflow-wrap:break-word;font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(2rem + .15vw);line-height:calc(2.5rem + .15vw)}.assessment-text-medium-34{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(2rem + .15vw);line-height:calc(2.5rem + .15vw)}.assessment-text-bold-32{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.3rem + .75vw);line-height:calc(1.625rem + .5vw)}.assessment-text-bold-22{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-regular-22{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-semibold-22{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-medium-22{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-bold-24{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-regular-24{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-semibold-24{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-medium-24{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.8rem + .75vw);line-height:calc(1.2rem + .75vw)}.assessment-text-regular-26{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-medium-26{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-bold-26{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-semibold-26{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-regular-28{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-medium-28{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-semibold-28{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw);letter-spacing:1}.assessment-text-bold-28{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-regular-30{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .4vw)}.assessment-text-medium-30{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-bold-30{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .4vw);line-height:calc(2rem + .4vw)}.assessment-text-semibold-30{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .4vw);line-height:calc(1.5rem + .4vw);letter-spacing:.5}.assessment-text-bold-36{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(2rem + .25vw);line-height:calc(2.5rem + .3vw)}.assessment-text-semibold-36{font-weight:600;font-family:var(--assessment-font-family);font-size:calc(2rem + .25vw);line-height:calc(2.5rem + .3vw)}@media (min-height: 100vw) and (orientation: portrait){.assessment-text-bold-34{font-size:calc(1.8rem + .15vh);line-height:calc(2.2rem + .15vh)}.assessment-text-bold-32{font-size:calc(1.3rem + 1vh);line-height:calc(1.5rem + 1vh)}.assessment-text-semibold-30{font-size:calc(1.5rem + .4vh);line-height:calc(1.8rem + .4vh)}.assessment-text-medium-24{line-height:2.188rem}.assessment-text-medium-24,.assessment-text-regular-24,.assessment-text-semibold-24,.assessment-text-bold-24,.assessment-text-light-24{font-size:calc(1.3rem + .5vh);line-height:calc(1.8rem + .5vh)}.assessment-text-medium-18,.assessment-text-regular-18,.assessment-text-bold-18,.assessment-text-semibold-18,.assessment-text-light-18{font-size:calc(1rem + .1vh)!important;line-height:calc(1.6rem + .1vh)!important}.assessment-text-light-16,.assessment-text-bold-16{font-size:calc(.9rem + .3vh)!important;line-height:calc(1.2rem + .3vh)!important}.assessment-text-medium-16,.assessment-text-semibold-16,.assessment-text-regular-16{font-size:calc(.9rem + .2vh)!important;line-height:calc(1.4rem + .2vh)!important}.assessment-text-regular-15,.assessment-text-semibold-15,.assessment-text-bold-15,.assessment-text-light-15{font-size:calc(.8rem + .2vh);line-height:calc(1.27rem + .2vh)}.assessment-text-medium-15{font-size:calc(.8rem + .2vh);line-height:calc(1.27rem + .2vh)}.assessment-text-medium-12,.assessment-text-regular-12,.assessment-text-semibold-12,.assessment-text-bold-12,.assessment-text-medium-upper-12,.assessment-text-light-12{font-size:calc(.5rem + .4vh);line-height:calc(.8rem + .4vh)}.assessment-text-medium-14,.assessment-text-regular-14,.assessment-text-light-14,.assessment-text-medium-upper-14,.assessment-text-semibold-14,.assessment-text-bold-14{font-size:calc(.8rem + .1vh)!important;line-height:calc(1.2rem + .2vh)!important}.assessment-text-regular-13,.assessment-text-medium-13,.assessment-text-semibold-13,.assessment-text-bold-13,.assessment-text-light-13{font-size:calc(.7rem + .2vh)!important;line-height:calc(1rem + .3vh)!important}.assessment-text-regular-11,.assessment-text-medium-11,.assessment-text-semibold-11,.assessment-text-bold-11,.assessment-text-light-11{font-size:calc(.5rem + .2vh)!important;line-height:calc(.8rem + .2vh)!important}}.assessment-btn-primary{background-color:var(--assessment-primary-one);color:var(--assessment-white);border:.064rem solid var(--assessment-primary-one);border-radius:var(--assessment-border-radius-two)}.assessment-btn-primary-transparent{background-color:var(--assessment-white);color:var(--assessment-primary-one);border-radius:var(--assessment-border-radius-two);border:.064rem solid var(--assessment-primary-one)}.assessment-zoom-animation{transition:transform .2s ease;transform:translateZ(0);text-rendering:optimizeLegibility}.assessment-zoom-animation:hover{transform:scale(1.03)}.assessment-zoom-animation:active{transform:scale(1)}.assessment-zoom-animation:disabled{transform:none!important}.change-direction{transform:rotate(180deg);transition:.3s ease-out}.change-direction-reverse{transform:rotate(0);transition:.3s ease-out}.outline-0{outline:none}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.action-icon{width:1.2rem}.mat-menu-item{height:inherit}.form-container{max-height:calc(100dvh - 4rem)}.border-grey-ten-2{border:.12rem solid var(--assessment-grey-ten)}.input-focus{overflow:hidden;text-overflow:ellipsis}.input-focus:focus-visible{border-bottom:var(--assessment-input-focus-border)!important}.assessment-marks-input{width:4.5rem}header{z-index:1}.vertical-text{writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);white-space:nowrap}@media (min-width: 768px){.hidden-label{visibility:hidden;line-height:0!important}}@media screen and (min-width: 768px){.border-md-0{border:0!important}}.primary-border{border:.064rem solid var(--assessment-primary-one)}.form-check-input:checked{background-color:var(--assessment-primary-one)!important;border-color:var(--assessment-primary-one)!important}.custom-margin{margin-top:1.3rem}.border-ADC9F6{border:.064rem solid var(--assessment-palette-ADC9F6)}\n"], components: [{ type: i8.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: i10.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i11.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: TextEditorComponent, selector: "app-text-editor", inputs: ["height", "placeholder", "subject", "preText", "maxLength", "disabled", "showToolbar", "editorConfig"], outputs: ["inputChange"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }, { type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i9.MatError, selector: "mat-error", inputs: ["id"] }, { type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1$2.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { type: i1$2.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i1$2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i11$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
|
|
2728
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AssessmentBuilderComponent, decorators: [{
|
|
2729
|
+
type: Component,
|
|
2730
|
+
args: [{
|
|
2731
|
+
selector: 'lib-app-assessment-builder',
|
|
2732
|
+
templateUrl: './assessment-builder.component.html',
|
|
2733
|
+
styleUrls: ['./assessment-builder.component.scss']
|
|
2734
|
+
}]
|
|
2735
|
+
}], ctorParameters: function () { return [{ type: i1$2.FormBuilder }, { type: AssessmentBuilderService }, { type: AssessmentMakerService }, { type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
2736
|
+
type: Inject,
|
|
2737
|
+
args: [MAT_DIALOG_DATA]
|
|
2738
|
+
}] }]; }, propDecorators: { scrollContainer: [{
|
|
2739
|
+
type: ViewChild,
|
|
2740
|
+
args: ['scrollContainer']
|
|
2741
|
+
}] } });
|
|
2742
|
+
|
|
2743
|
+
class QuestionDetailsComponent {
|
|
2744
|
+
constructor() {
|
|
2745
|
+
this.labelConfig = {};
|
|
2746
|
+
this.imageConfig = {};
|
|
2747
|
+
this.editQuestion = new EventEmitter();
|
|
2748
|
+
this.duplicateQuestion = new EventEmitter();
|
|
2749
|
+
this.deleteParentQuestion = new EventEmitter();
|
|
2750
|
+
this.deleteChildQuestion = new EventEmitter();
|
|
2751
|
+
this.expanded = false;
|
|
2752
|
+
this.showToggle = false;
|
|
2753
|
+
}
|
|
2754
|
+
ngAfterViewInit() {
|
|
2755
|
+
setTimeout(() => this.checkOverflow());
|
|
2756
|
+
}
|
|
2757
|
+
toggleText() {
|
|
2758
|
+
this.expanded = !this.expanded;
|
|
2759
|
+
if (!this.expanded) {
|
|
2760
|
+
setTimeout(() => this.checkOverflow());
|
|
2761
|
+
}
|
|
2762
|
+
}
|
|
2763
|
+
checkOverflow() {
|
|
2764
|
+
const el = this.questionText.nativeElement;
|
|
2765
|
+
this.showToggle = el.scrollHeight > el.clientHeight;
|
|
2766
|
+
}
|
|
2767
|
+
capitalizeFirst(text) {
|
|
2768
|
+
if (!text)
|
|
2769
|
+
return '';
|
|
2770
|
+
return text.toLowerCase().split(' ').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join(' ');
|
|
2771
|
+
}
|
|
2772
|
+
imageErrorHandler(event, filePath) {
|
|
2773
|
+
event.target.src = filePath;
|
|
2774
|
+
}
|
|
2775
|
+
childQuestionPresent(question) {
|
|
2776
|
+
var _a;
|
|
2777
|
+
return (_a = question === null || question === void 0 ? void 0 : question.defaultOptionsList) === null || _a === void 0 ? void 0 : _a.some(option => (option === null || option === void 0 ? void 0 : option.childQuestionList) && option.childQuestionList.length > 0);
|
|
2778
|
+
}
|
|
2779
|
+
}
|
|
2780
|
+
QuestionDetailsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionDetailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2781
|
+
QuestionDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: QuestionDetailsComponent, selector: "lib-question-details", inputs: { sectionQuestion: "sectionQuestion", question: "question", questionBank: "questionBank", labelConfig: "labelConfig", imageConfig: "imageConfig" }, outputs: { editQuestion: "editQuestion", duplicateQuestion: "duplicateQuestion", deleteParentQuestion: "deleteParentQuestion", deleteChildQuestion: "deleteChildQuestion" }, viewQueries: [{ propertyName: "questionText", first: true, predicate: ["questionText"], descendants: true }], ngImport: i0, template: "<div class=\"d-flex align-items-center justify-content-between mb-3\">\r\n <div class=\"d-flex flex-wrap gap-2\">\r\n <span\r\n class=\"assessment-border-radius-two p-2 assessment-bg-palette-FEF9F1 assessment-text-medium-12 border-palette-F9DAA6\">\r\n {{capitalizeFirst(question?.questionType?.labels?.[0]?.text)}}\r\n </span>\r\n <span *ngIf=\"question?.weight\"\r\n class=\"assessment-border-radius-two p-2 assessment-bg-palette-EDF3FD assessment-text-medium-12 border-palette-C8DAF9\">\r\n {{question?.weight}} {{labelConfig['COMMONS_ASSESSMENT.LABEL.MARKS']}}\r\n </span>\r\n <span *ngIf=\"question?.isMandatory\"\r\n class=\"assessment-border-radius-two p-2 assessment-bg-palette-E8F7F0 assessment-text-medium-12 border-palette-B7E7CF\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.MANDATORY']}}\r\n </span>\r\n </div>\r\n <button [matMenuTriggerFor]=\"questionsMenu\" (click)=\"$event.stopPropagation()\" class=\"border-0 bg-transparent py-2\">\r\n <img [src]=\"imageConfig['COMMONS_ASSESSMENT.ICON.ACTION_DOTS']\"\r\n (error)=\"imageErrorHandler($event, 'assets/commons-assessment/images/action-dots.svg')\" />\r\n </button>\r\n <mat-menu #questionsMenu=\"matMenu\" class=\"mat-menu assessment-border-radius-two assessment-border-grey-four-1\">\r\n <button (click)=\"duplicateQuestion.emit(sectionQuestion)\" mat-menu-item class=\"py-2 assessment-text-semibold-12\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.DUPLICATE']}}\r\n </button>\r\n <button (click)=\"deleteParentQuestion.emit(sectionQuestion)\" mat-menu-item\r\n class=\"py-2 assessment-text-semibold-12 assessment-text-danger\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.DELETE']}}\r\n </button>\r\n </mat-menu>\r\n</div>\r\n<div class=\"col-12\">\r\n <div #questionText class=\"assessment-text-medium-15 question-text cursor-pointer\" [class.collapsed]=\"!expanded\"\r\n (click)=\"$event.stopPropagation(); editQuestion.emit({questionId: sectionQuestion?.questionId, isChildQuestion: false})\"\r\n [innerHTML]=\"question?.questionText?.[0]?.text\">\r\n </div>\r\n\r\n <span *ngIf=\"showToggle\" class=\"assessment-text-semibold-15 assessment-text-primary-one cursor-pointer\"\r\n (click)=\"$event.stopPropagation(); expanded = !expanded\">\r\n {{ labelConfig[expanded ? 'COMMONS_ASSESSMENT.LABEL.READ_LESS' : 'COMMONS_ASSESSMENT.LABEL.READ_MORE'] }}\r\n </span>\r\n</div>\r\n\r\n<!-- Child Questions -->\r\n<ng-container *ngIf=\"question?.defaultOptionsList?.length\">\r\n <div class=\"mt-4 col-12\">\r\n <div *ngFor=\"let option of question?.defaultOptionsList | orderBy\" class=\"my-3 d-flex align-items-start gap-2\">\r\n <div class=\"rounded-circle custom-padding border-grey-ten-2\"></div>\r\n <span class=\"assessment-text-medium-13\">{{option.options?.optionName?.[0]?.text}}</span>\r\n </div>\r\n </div>\r\n\r\n <mat-accordion *ngIf=\"childQuestionPresent(question)\">\r\n <mat-expansion-panel (click)=\"$event.stopPropagation()\" class=\"bg-transparent mt-4 col-12\">\r\n <mat-expansion-panel-header class=\"p-0 bg-transparent pe-1\">\r\n <div class=\"d-flex align-items-center gap-2 flex-grow-1 pe-2\">\r\n <span class=\"assessment-text-semibold-12 assessment-text-grey-eight\">{{labelConfig['COMMONS_ASSESSMENT.LABEL.CHILD_QUESTIONS']}}</span>\r\n <div class=\"flex-grow-1 border-bottom\"></div>\r\n </div>\r\n </mat-expansion-panel-header>\r\n <ng-container *ngFor=\"let option of question?.defaultOptionsList | orderBy\">\r\n <div *ngIf=\"option.childQuestionList?.length\" class=\"mt-3\">\r\n <p class=\"assessment-text-primary-one assessment-text-semibold-14 mb-0\">\r\n {{option.options?.optionName?.[0]?.text}}</p>\r\n <div class=\"position-relative overflow-hidden\">\r\n <div *ngFor=\"let childQuestionId of option.childQuestionList\"\r\n class=\"assessment-child-node position-relative mt-3 ms-md-4 ms-3\">\r\n <div *ngIf=\"questionBank[childQuestionId] as childQuestion\"\r\n class=\"d-flex align-items-start justify-content-between gap-3 ps-1\">\r\n <div (click)=\"$event.stopPropagation(); editQuestion.emit({questionId: childQuestionId, isChildQuestion: true})\"\r\n [innerHTML]=\"childQuestion?.questionText?.[0]?.text\"\r\n class=\"flex-grow-1 assessment-text-regular-13 question-text collapsed cursor-pointer\">\r\n </div>\r\n <span\r\n class=\"assessment-text-medium-12 assessment-text-grey-eight d-md-inline d-none text-nowrap\">\r\n {{capitalizeFirst(childQuestion?.questionType?.labels?.[0]?.text)}}\r\n </span>\r\n <img (click)=\"$event.stopPropagation(); deleteChildQuestion.emit({option: option, childQuestionId: childQuestionId})\"\r\n [src]=\"imageConfig['COMMONS_ASSESSMENT.ICON.DELETE']\"\r\n class=\"action-icon d-md-inline d-none cursor-pointer\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n</ng-container>", styles: [".assessment-text-grey-ten{color:var(--assessment-grey-ten)!important}.assessment-bg-grey-ten{background-color:var(--assessment-grey-ten)!important}.assessment-text-grey-nine{color:var(--assessment-grey-nine)!important}.assessment-bg-grey-nine{background-color:var(--assessment-grey-nine)!important}.assessment-text-grey-eight{color:var(--assessment-grey-eight)!important}.assessment-bg-grey-eight{background-color:var(--assessment-grey-eight)!important}.assessment-text-grey-seven{color:var(--assessment-grey-seven)!important}.assessment-bg-grey-seven{background-color:var(--assessment-grey-seven)!important}.assessment-text-grey-six{color:var(--assessment-grey-six)!important}.assessment-bg-grey-six{background-color:var(--assessment-grey-six)!important}.assessment-text-grey-five{color:var(--assessment-grey-five)!important}.assessment-bg-grey-five{background-color:var(--assessment-grey-five)!important}.assessment-text-grey-four{color:var(--assessment-grey-four)!important}.assessment-bg-grey-four{background-color:var(--assessment-grey-four)!important}.assessment-text-grey-three{color:var(--assessment-grey-three)!important}.assessment-bg-grey-three{background-color:var(--assessment-grey-three)!important}.assessment-text-grey-two{color:var(--assessment-grey-two)!important}.assessment-bg-grey-two{background-color:var(--assessment-grey-two)!important}.assessment-text-grey-one{color:var(--assessment-grey-one)!important}.assessment-bg-grey-one{background-color:var(--assessment-grey-one)!important}.assessment-text-white{color:var(--assessment-white)!important}.assessment-bg-white{background-color:var(--assessment-white)!important}.assessment-text-black{color:var(--assessment-black)!important}.assessment-bg-black{background-color:var(--assessment-black)!important}.assessment-text-danger{color:var(--assessment-danger)!important}.assessment-bg-danger{background-color:var(--assessment-danger)!important}.assessment-text-primary-one{color:var(--assessment-primary-one)!important}.assessment-bg-primary-one{background-color:var(--assessment-primary-one)!important}.assessment-text-primary-four{color:var(--assessment-primary-four)!important}.assessment-bg-primary-four{background-color:var(--assessment-primary-four)!important}.assessment-text-palette-EDF3FD{color:var(--assessment-palette-EDF3FD)!important}.assessment-bg-palette-EDF3FD{background-color:var(--assessment-palette-EDF3FD)!important}.assessment-text-palette-C8DAF9{color:var(--assessment-palette-C8DAF9)!important}.assessment-bg-palette-C8DAF9{background-color:var(--assessment-palette-C8DAF9)!important}.assessment-text-palette-ADC9F6{color:var(--assessment-palette-ADC9F6)!important}.assessment-bg-palette-ADC9F6{background-color:var(--assessment-palette-ADC9F6)!important}.assessment-text-palette-FEF9F1{color:var(--assessment-palette-FEF9F1)!important}.assessment-bg-palette-FEF9F1{background-color:var(--assessment-palette-FEF9F1)!important}.assessment-text-palette-F9DAA6{color:var(--assessment-palette-F9DAA6)!important}.assessment-bg-palette-F9DAA6{background-color:var(--assessment-palette-F9DAA6)!important}.assessment-text-palette-E8F7F0{color:var(--assessment-palette-E8F7F0)!important}.assessment-bg-palette-E8F7F0{background-color:var(--assessment-palette-E8F7F0)!important}.assessment-text-palette-B7E7CF{color:var(--assessment-palette-B7E7CF)!important}.assessment-bg-palette-B7E7CF{background-color:var(--assessment-palette-B7E7CF)!important}.assessment-box-shadow-one{box-shadow:var(--assessment-box-shadow-one)!important}.assessment-border-radius-one{border-radius:var(--assessment-border-radius-one)!important}.assessment-border-radius-two{border-radius:var(--assessment-border-radius-two)!important}.assessment-border-radius-three{border-radius:var(--assessment-border-radius-three)!important}.assessment-border-radius-four{border-radius:var(--assessment-border-radius-four)!important}.assessment-border-radius-five{border-radius:var(--assessment-border-radius-five)!important}.assessment-border-radius-six{border-radius:var(--assessment-border-radius-six)!important}.assessment-input-border-one{border:var(--assessment-input-border-one)!important}.assessment-input-border-invalid{border:var(--assessment-input-border-invalid)!important}.assessment-input-focus-border{border:var(--assessment-input-focus-border)!important}.assessment-border-two{border:var(--assessment-border-two)!important}.assessment-card-border{border:var(--assessment-card-border)!important}.assessment-tooltip-border{border:var(--assessment-tooltip-border)!important}.assessment-box-shadow-tooltip{box-shadow:var(--assessment-box-shadow-tooltip)!important}.assessment-button-padding{padding:var(--assessment-button-padding)!important}.assessment-button-padding-large{padding:var(--assessment-button-padding-large)!important}.assessment-input-padding{padding:var(--assessment-input-padding)!important}.assessment-text-font-family{color:var(--assessment-font-family)!important}.assessment-bg-font-family{background-color:var(--assessment-font-family)!important}.assessment-text-regular-12{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-bold-12{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-semibold-12{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-semibold-11{font-weight:600;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-medium-11{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-regular-11{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-medium-12{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-regular-13{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-bold-13{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-semibold-13{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-medium-13{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-regular-14{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-bold-14{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-medium-14{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw)!important;line-height:calc(1.2rem + .2vw)!important}.assessment-text-semibold-14{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-semibold-10{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.55rem + .1vw);line-height:calc(1rem + .1vw)}.assessment-text-regular-10{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.55rem + .1vw)!important;line-height:calc(1rem + .1vw)}.assessment-text-regular-15{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.85rem + .1vw);line-height:calc(1.4rem + .1vw)}.assessment-text-medium-15{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-semibold-15{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-bold-15{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-regular-16{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-semibold-16{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-bold-16{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-medium-16{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-regular-20{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-bold-20{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-semibold-20{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-medium-20{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-medium-18{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .1vw)!important}.assessment-text-regular-18{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .3vw)!important}.assessment-text-bold-18{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw);line-height:calc(1.5rem + .1vw)}.assessment-text-semibold-18{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .1vw)!important}.assessment-text-bold-34{overflow-wrap:break-word;font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(2rem + .15vw);line-height:calc(2.5rem + .15vw)}.assessment-text-medium-34{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(2rem + .15vw);line-height:calc(2.5rem + .15vw)}.assessment-text-bold-32{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.3rem + .75vw);line-height:calc(1.625rem + .5vw)}.assessment-text-bold-22{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-regular-22{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-semibold-22{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-medium-22{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-bold-24{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-regular-24{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-semibold-24{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-medium-24{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.8rem + .75vw);line-height:calc(1.2rem + .75vw)}.assessment-text-regular-26{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-medium-26{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-bold-26{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-semibold-26{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-regular-28{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-medium-28{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-semibold-28{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw);letter-spacing:1}.assessment-text-bold-28{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-regular-30{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .4vw)}.assessment-text-medium-30{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-bold-30{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .4vw);line-height:calc(2rem + .4vw)}.assessment-text-semibold-30{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .4vw);line-height:calc(1.5rem + .4vw);letter-spacing:.5}.assessment-text-bold-36{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(2rem + .25vw);line-height:calc(2.5rem + .3vw)}.assessment-text-semibold-36{font-weight:600;font-family:var(--assessment-font-family);font-size:calc(2rem + .25vw);line-height:calc(2.5rem + .3vw)}@media (min-height: 100vw) and (orientation: portrait){.assessment-text-bold-34{font-size:calc(1.8rem + .15vh);line-height:calc(2.2rem + .15vh)}.assessment-text-bold-32{font-size:calc(1.3rem + 1vh);line-height:calc(1.5rem + 1vh)}.assessment-text-semibold-30{font-size:calc(1.5rem + .4vh);line-height:calc(1.8rem + .4vh)}.assessment-text-medium-24{line-height:2.188rem}.assessment-text-medium-24,.assessment-text-regular-24,.assessment-text-semibold-24,.assessment-text-bold-24,.assessment-text-light-24{font-size:calc(1.3rem + .5vh);line-height:calc(1.8rem + .5vh)}.assessment-text-medium-18,.assessment-text-regular-18,.assessment-text-bold-18,.assessment-text-semibold-18,.assessment-text-light-18{font-size:calc(1rem + .1vh)!important;line-height:calc(1.6rem + .1vh)!important}.assessment-text-light-16,.assessment-text-bold-16{font-size:calc(.9rem + .3vh)!important;line-height:calc(1.2rem + .3vh)!important}.assessment-text-medium-16,.assessment-text-semibold-16,.assessment-text-regular-16{font-size:calc(.9rem + .2vh)!important;line-height:calc(1.4rem + .2vh)!important}.assessment-text-regular-15,.assessment-text-semibold-15,.assessment-text-bold-15,.assessment-text-light-15{font-size:calc(.8rem + .2vh);line-height:calc(1.27rem + .2vh)}.assessment-text-medium-15{font-size:calc(.8rem + .2vh);line-height:calc(1.27rem + .2vh)}.assessment-text-medium-12,.assessment-text-regular-12,.assessment-text-semibold-12,.assessment-text-bold-12,.assessment-text-medium-upper-12,.assessment-text-light-12{font-size:calc(.5rem + .4vh);line-height:calc(.8rem + .4vh)}.assessment-text-medium-14,.assessment-text-regular-14,.assessment-text-light-14,.assessment-text-medium-upper-14,.assessment-text-semibold-14,.assessment-text-bold-14{font-size:calc(.8rem + .1vh)!important;line-height:calc(1.2rem + .2vh)!important}.assessment-text-regular-13,.assessment-text-medium-13,.assessment-text-semibold-13,.assessment-text-bold-13,.assessment-text-light-13{font-size:calc(.7rem + .2vh)!important;line-height:calc(1rem + .3vh)!important}.assessment-text-regular-11,.assessment-text-medium-11,.assessment-text-semibold-11,.assessment-text-bold-11,.assessment-text-light-11{font-size:calc(.5rem + .2vh)!important;line-height:calc(.8rem + .2vh)!important}}.assessment-btn-primary{background-color:var(--assessment-primary-one);color:var(--assessment-white);border:.064rem solid var(--assessment-primary-one);border-radius:var(--assessment-border-radius-two)}.assessment-btn-primary-transparent{background-color:var(--assessment-white);color:var(--assessment-primary-one);border-radius:var(--assessment-border-radius-two);border:.064rem solid var(--assessment-primary-one)}.assessment-zoom-animation{transition:transform .2s ease;transform:translateZ(0);text-rendering:optimizeLegibility}.assessment-zoom-animation:hover{transform:scale(1.03)}.assessment-zoom-animation:active{transform:scale(1)}.assessment-zoom-animation:disabled{transform:none!important}.change-direction{transform:rotate(180deg);transition:.3s ease-out}.change-direction-reverse{transform:rotate(0);transition:.3s ease-out}.outline-0{outline:none}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.action-icon{width:1.2rem}.mat-menu-item{height:inherit}.border-palette-F9DAA6{border:.064em solid var(--assessment-palette-F9DAA6)}.border-palette-C8DAF9{border:.064em solid var(--assessment-palette-C8DAF9)}.border-palette-B7E7CF{border:.064em solid var(--assessment-palette-B7E7CF)}.border-grey-ten-2{border:.12rem solid var(--assessment-grey-ten)}.custom-padding{padding:.4rem}.assessment-child-node:before{content:\"\";position:absolute;bottom:calc(100% - .7rem);top:-100vh;border-left:.064em solid var(--assessment-grey-five);border-bottom:.064em solid var(--assessment-grey-five);border-bottom-left-radius:.75rem;z-index:0;left:-1.5rem;width:1.5rem}@media screen and (max-width: 767px){.assessment-child-node:before{left:-1rem;width:1rem}}.question-text{word-break:break-word}.question-text.collapsed{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}\n"], components: [{ type: i1$4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i1$4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i7.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { type: i7.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.MatAccordion, selector: "mat-accordion", inputs: ["multi", "displayMode", "togglePosition", "hideToggle"], exportAs: ["matAccordion"] }], pipes: { "orderBy": OrderByPipe } });
|
|
2782
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: QuestionDetailsComponent, decorators: [{
|
|
2783
|
+
type: Component,
|
|
2784
|
+
args: [{
|
|
2785
|
+
selector: 'lib-question-details',
|
|
2786
|
+
templateUrl: './question-details.component.html',
|
|
2787
|
+
styleUrls: ['./question-details.component.scss']
|
|
2788
|
+
}]
|
|
2789
|
+
}], propDecorators: { sectionQuestion: [{
|
|
2790
|
+
type: Input
|
|
2791
|
+
}], question: [{
|
|
2792
|
+
type: Input
|
|
2793
|
+
}], questionBank: [{
|
|
2794
|
+
type: Input
|
|
2795
|
+
}], labelConfig: [{
|
|
2796
|
+
type: Input
|
|
2797
|
+
}], imageConfig: [{
|
|
2798
|
+
type: Input
|
|
2799
|
+
}], editQuestion: [{
|
|
2800
|
+
type: Output
|
|
2801
|
+
}], duplicateQuestion: [{
|
|
2802
|
+
type: Output
|
|
2803
|
+
}], deleteParentQuestion: [{
|
|
2804
|
+
type: Output
|
|
2805
|
+
}], deleteChildQuestion: [{
|
|
2806
|
+
type: Output
|
|
2807
|
+
}], questionText: [{
|
|
2808
|
+
type: ViewChild,
|
|
2809
|
+
args: ['questionText']
|
|
2810
|
+
}] } });
|
|
2811
|
+
|
|
2812
|
+
class AssessmentMakerComponent {
|
|
2813
|
+
constructor(assessmentMakerService, assessmentBuilderService, dialog) {
|
|
2814
|
+
this.assessmentMakerService = assessmentMakerService;
|
|
2815
|
+
this.assessmentBuilderService = assessmentBuilderService;
|
|
2816
|
+
this.dialog = dialog;
|
|
2817
|
+
this.labelConfig = {};
|
|
2818
|
+
this.imageConfig = {};
|
|
2819
|
+
this.questionTypes = [];
|
|
2820
|
+
this.showFooter = false;
|
|
2821
|
+
this.assessmentId = 0;
|
|
2822
|
+
this.assessmentInstanceId = 0;
|
|
2823
|
+
this.defaultAssessmentDTO = {};
|
|
2824
|
+
this.assessmentIdChange = new EventEmitter();
|
|
2825
|
+
this.assessmentInstanceIdChange = new EventEmitter();
|
|
2826
|
+
this.snackbarMessage = new EventEmitter();
|
|
2827
|
+
this.showLoader = false;
|
|
2828
|
+
this.questionBank = {};
|
|
2829
|
+
this.assessmentQuestionPaperData = { id: 0, questionPaperSectionList: [] };
|
|
2830
|
+
this.configsLoaded = false;
|
|
2831
|
+
this.isSubmitting = false;
|
|
2832
|
+
}
|
|
2833
|
+
ngOnInit() {
|
|
2834
|
+
this.assessmentBuilderService.setDefaultAssessmentDTO(this.defaultAssessmentDTO);
|
|
2835
|
+
this.getConfigsFromJSON();
|
|
2836
|
+
if (this.assessmentId) {
|
|
2837
|
+
this.showLoader = true;
|
|
2838
|
+
this.loadAssessmentData();
|
|
2839
|
+
}
|
|
2840
|
+
}
|
|
2841
|
+
getConfigsFromJSON() {
|
|
2842
|
+
var _a;
|
|
2843
|
+
forkJoin(Object.assign({ labelConfig: this.assessmentMakerService.getConfigJSON('json/labelConfig'), imageConfig: this.assessmentMakerService.getConfigJSON('json/imageConfig'), rules: this.assessmentMakerService.getConfigJSON('json/question-builder-rules') }, (!((_a = this.questionTypes) === null || _a === void 0 ? void 0 : _a.length) && {
|
|
2844
|
+
questionTypes: this.assessmentMakerService.getConfigJSON('json/questionTypes')
|
|
2845
|
+
}))).subscribe((res) => {
|
|
2846
|
+
this.labelConfig = Object.assign({}, res === null || res === void 0 ? void 0 : res.labelConfig, this.labelConfig);
|
|
2847
|
+
this.imageConfig = Object.assign({}, res === null || res === void 0 ? void 0 : res.imageConfig, this.imageConfig);
|
|
2848
|
+
if (res === null || res === void 0 ? void 0 : res.questionTypes) {
|
|
2849
|
+
this.questionTypes = res === null || res === void 0 ? void 0 : res.questionTypes;
|
|
2850
|
+
}
|
|
2851
|
+
// Merge customRules per questionType over default rules
|
|
2852
|
+
this.rules = Object.assign({}, res === null || res === void 0 ? void 0 : res.rules);
|
|
2853
|
+
if (this.customRules) {
|
|
2854
|
+
Object.keys(this.customRules).forEach(qType => {
|
|
2855
|
+
if (!this.rules[qType]) {
|
|
2856
|
+
this.rules[qType] = Object.assign({}, this.customRules[qType]);
|
|
2857
|
+
}
|
|
2858
|
+
else {
|
|
2859
|
+
this.rules[qType] = Object.assign(Object.assign({}, this.rules[qType]), this.customRules[qType]);
|
|
2860
|
+
}
|
|
2861
|
+
});
|
|
2862
|
+
}
|
|
2863
|
+
this.configsLoaded = true;
|
|
2864
|
+
});
|
|
2865
|
+
}
|
|
2866
|
+
loadAssessmentData() {
|
|
2867
|
+
this.assessmentMakerService.getAssessmentContext(this.assessmentId).subscribe({
|
|
2868
|
+
next: (res) => {
|
|
2869
|
+
this.questionBank = Object.assign(Object.assign({}, this.questionBank), ((res === null || res === void 0 ? void 0 : res.questionDTOMap) || {}));
|
|
2870
|
+
this.updateAssessmentQuestionPaperData(res === null || res === void 0 ? void 0 : res.assessmentQuestionPaperDTO);
|
|
2871
|
+
this.showLoader = false;
|
|
2872
|
+
},
|
|
2873
|
+
error: (error) => {
|
|
2874
|
+
console.error(error);
|
|
2875
|
+
this.snackbarMessage.emit({ message: this.labelConfig['COMMONS_ASSESSMENT.TOAST.ERROR_DEFAULT'], type: 'error' });
|
|
2876
|
+
throw { error, method: 'GET', payload: this.assessmentId };
|
|
2877
|
+
}
|
|
2878
|
+
});
|
|
2879
|
+
}
|
|
2880
|
+
generateQuestionBank() {
|
|
2881
|
+
var _a, _b;
|
|
2882
|
+
let childQuestionIds = [];
|
|
2883
|
+
(_b = (_a = this.assessmentQuestionPaperData) === null || _a === void 0 ? void 0 : _a.questionPaperSectionList) === null || _b === void 0 ? void 0 : _b.forEach((section) => {
|
|
2884
|
+
var _a;
|
|
2885
|
+
(_a = section === null || section === void 0 ? void 0 : section.sectionQuestionsList) === null || _a === void 0 ? void 0 : _a.forEach((q) => {
|
|
2886
|
+
var _a, _b, _c, _d, _e, _f;
|
|
2887
|
+
if ((_c = (_b = (_a = this.questionBank) === null || _a === void 0 ? void 0 : _a[q === null || q === void 0 ? void 0 : q.questionId]) === null || _b === void 0 ? void 0 : _b.defaultOptionsList) === null || _c === void 0 ? void 0 : _c.length) {
|
|
2888
|
+
(_f = (_e = (_d = this.questionBank) === null || _d === void 0 ? void 0 : _d[q === null || q === void 0 ? void 0 : q.questionId]) === null || _e === void 0 ? void 0 : _e.defaultOptionsList) === null || _f === void 0 ? void 0 : _f.forEach((option) => {
|
|
2889
|
+
var _a, _b;
|
|
2890
|
+
if ((_a = option === null || option === void 0 ? void 0 : option.childQuestionList) === null || _a === void 0 ? void 0 : _a.length) {
|
|
2891
|
+
(_b = option === null || option === void 0 ? void 0 : option.childQuestionList) === null || _b === void 0 ? void 0 : _b.forEach((ccq) => {
|
|
2892
|
+
childQuestionIds.push(ccq);
|
|
2893
|
+
});
|
|
2894
|
+
}
|
|
2895
|
+
});
|
|
2896
|
+
}
|
|
2897
|
+
});
|
|
2898
|
+
});
|
|
2899
|
+
// Remove duplicates and filter out ones we already have in the bank
|
|
2900
|
+
childQuestionIds = [...new Set(childQuestionIds)].filter(id => !this.questionBank[id]);
|
|
2901
|
+
if ((childQuestionIds === null || childQuestionIds === void 0 ? void 0 : childQuestionIds.length) > 0) {
|
|
2902
|
+
const params = { questionIds: childQuestionIds };
|
|
2903
|
+
this.assessmentMakerService.getQuestionsByIds(params).subscribe({
|
|
2904
|
+
next: (res) => {
|
|
2905
|
+
res === null || res === void 0 ? void 0 : res.forEach((question) => {
|
|
2906
|
+
this.questionBank[question.id] = question;
|
|
2907
|
+
});
|
|
2908
|
+
},
|
|
2909
|
+
error: (error) => {
|
|
2910
|
+
console.error(error);
|
|
2911
|
+
throw { error, method: 'GET', payload: params };
|
|
2912
|
+
}
|
|
2913
|
+
});
|
|
2914
|
+
}
|
|
2915
|
+
}
|
|
2916
|
+
imageErrorHandler(event, filePath) {
|
|
2917
|
+
event.target.src = filePath;
|
|
2918
|
+
}
|
|
2919
|
+
focusSectionInput(sectionIndex, event) {
|
|
2920
|
+
event.stopPropagation();
|
|
2921
|
+
const input = document.getElementById(`sectionNameInput_${sectionIndex}`);
|
|
2922
|
+
if (input) {
|
|
2923
|
+
input.focus();
|
|
2924
|
+
}
|
|
2925
|
+
}
|
|
2926
|
+
dropSection(event) {
|
|
2927
|
+
if (this.assessmentQuestionPaperData.questionPaperSectionList) {
|
|
2928
|
+
moveItemInArray(this.assessmentQuestionPaperData.questionPaperSectionList, event.previousIndex, event.currentIndex);
|
|
2929
|
+
}
|
|
2930
|
+
}
|
|
2931
|
+
dropQuestion(event) {
|
|
2932
|
+
moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);
|
|
2933
|
+
}
|
|
2934
|
+
addInstruction(section) {
|
|
2935
|
+
const dialogRef = this.dialog.open(AddEditSectionIntroductionComponent, {
|
|
2936
|
+
autoFocus: false,
|
|
2937
|
+
maxWidth: '95%',
|
|
2938
|
+
width: '40rem',
|
|
2939
|
+
maxHeight: '100dvh',
|
|
2940
|
+
panelClass: ['assessment-dialog'],
|
|
2941
|
+
data: {
|
|
2942
|
+
imageConfig: this.imageConfig,
|
|
2943
|
+
labelConfig: this.labelConfig,
|
|
2944
|
+
sectionDetails: section
|
|
2945
|
+
},
|
|
2946
|
+
});
|
|
2947
|
+
dialogRef.afterClosed().subscribe((result) => {
|
|
2948
|
+
if (result === null || result === void 0 ? void 0 : result.update) {
|
|
2949
|
+
if (!section.qpsDesc)
|
|
2950
|
+
section.qpsDesc = [];
|
|
2951
|
+
if (!section.qpsDesc[0])
|
|
2952
|
+
section.qpsDesc[0] = { id: 0, language: { code: 'ENG' }, text: '' };
|
|
2953
|
+
section.qpsDesc[0].text = result === null || result === void 0 ? void 0 : result.description;
|
|
2954
|
+
section.mediaUrl = (result === null || result === void 0 ? void 0 : result.mediaUrl) || null;
|
|
2955
|
+
this.patchAssessmentAndQuestionPaper(this.labelConfig['COMMONS_ASSESSMENT.TOAST.SECTION_INSTRUCTIONS_UPDATED_SUCCESS']);
|
|
2956
|
+
}
|
|
2957
|
+
});
|
|
2958
|
+
}
|
|
2959
|
+
deleteChildQuestion(option, childIdToRemove) {
|
|
2960
|
+
if (option.childQuestionList) {
|
|
2961
|
+
const idToRemove = typeof childIdToRemove === 'object' ? childIdToRemove === null || childIdToRemove === void 0 ? void 0 : childIdToRemove.id : childIdToRemove;
|
|
2962
|
+
option.childQuestionList = option.childQuestionList.filter((ccq) => {
|
|
2963
|
+
const id = typeof ccq === 'object' ? ccq === null || ccq === void 0 ? void 0 : ccq.id : ccq;
|
|
2964
|
+
return id !== idToRemove;
|
|
2965
|
+
});
|
|
2966
|
+
}
|
|
2967
|
+
}
|
|
2968
|
+
deleteParentQuestion(sectionQuestion) {
|
|
2969
|
+
sectionQuestion.isActive = false;
|
|
2970
|
+
this.patchAssessmentAndQuestionPaper(this.labelConfig['COMMONS_ASSESSMENT.TOAST.QUESTION_DELETED_SUCCESS']);
|
|
2971
|
+
}
|
|
2972
|
+
deleteSection(section) {
|
|
2973
|
+
section.isActive = false;
|
|
2974
|
+
this.patchAssessmentAndQuestionPaper(this.labelConfig['COMMONS_ASSESSMENT.TOAST.SECTION_DELETED_SUCCESS']);
|
|
2975
|
+
}
|
|
2976
|
+
createEditQuestion(sectionDetails, sectionQuestionId, isChild) {
|
|
2977
|
+
const questionDetails = this.getQuestionFromBank(sectionQuestionId);
|
|
2978
|
+
const dialogRef = this.dialog.open(AssessmentBuilderComponent, {
|
|
2979
|
+
autoFocus: false,
|
|
2980
|
+
position: { right: '0' },
|
|
2981
|
+
maxWidth: '100%',
|
|
2982
|
+
width: '55rem',
|
|
2983
|
+
height: '100vh',
|
|
2984
|
+
panelClass: ['assessment-dialog', 'assessment-dialog-slider-animation'],
|
|
2985
|
+
hasBackdrop: true,
|
|
2986
|
+
data: {
|
|
2987
|
+
labelConfig: this.labelConfig,
|
|
2988
|
+
imageConfig: this.imageConfig,
|
|
2989
|
+
questionTypes: this.questionTypes,
|
|
2990
|
+
rules: this.rules,
|
|
2991
|
+
questionBank: this.questionBank,
|
|
2992
|
+
isChild: isChild,
|
|
2993
|
+
questionDetails,
|
|
2994
|
+
sectionDetails,
|
|
2995
|
+
assessmentQuestionPaperData: this.assessmentQuestionPaperData,
|
|
2996
|
+
assessmentId: this.assessmentId,
|
|
2997
|
+
snackbarMessageEmitter: this.snackbarMessage
|
|
2998
|
+
},
|
|
2999
|
+
});
|
|
3000
|
+
dialogRef.afterClosed().subscribe((res) => {
|
|
3001
|
+
if (res === null || res === void 0 ? void 0 : res.success) {
|
|
3002
|
+
if (res === null || res === void 0 ? void 0 : res.assessmentId) {
|
|
3003
|
+
if (!this.assessmentId) {
|
|
3004
|
+
this.assessmentId = res.assessmentId;
|
|
3005
|
+
this.assessmentIdChange.emit(this.assessmentId);
|
|
3006
|
+
}
|
|
3007
|
+
this.questionBank = Object.assign(Object.assign({}, this.questionBank), ((res === null || res === void 0 ? void 0 : res.questionMap) || {}));
|
|
3008
|
+
this.updateAssessmentQuestionPaperData(res.questionPaper);
|
|
3009
|
+
}
|
|
3010
|
+
else {
|
|
3011
|
+
this.patchAssessmentAndQuestionPaper();
|
|
3012
|
+
}
|
|
3013
|
+
}
|
|
3014
|
+
});
|
|
3015
|
+
}
|
|
3016
|
+
duplicateSection(sectionId) {
|
|
3017
|
+
var _a;
|
|
3018
|
+
if (!((_a = this.assessmentQuestionPaperData) === null || _a === void 0 ? void 0 : _a.id))
|
|
3019
|
+
return;
|
|
3020
|
+
this.assessmentMakerService.duplicateSection(this.assessmentQuestionPaperData.id, sectionId).subscribe({
|
|
3021
|
+
next: (res) => {
|
|
3022
|
+
this.questionBank = Object.assign(Object.assign({}, this.questionBank), ((res === null || res === void 0 ? void 0 : res.questionMap) || {}));
|
|
3023
|
+
this.updateAssessmentQuestionPaperData(res === null || res === void 0 ? void 0 : res.questionPaper);
|
|
3024
|
+
this.generateQuestionBank();
|
|
3025
|
+
this.patchAssessmentAndQuestionPaper();
|
|
3026
|
+
this.snackbarMessage.emit({ message: this.labelConfig['COMMONS_ASSESSMENT.TOAST.SECTION_DUPLICATED_SUCCESS'], type: 'success' });
|
|
3027
|
+
},
|
|
3028
|
+
error: (error) => {
|
|
3029
|
+
this.showLoader = false;
|
|
3030
|
+
console.error(error);
|
|
3031
|
+
this.snackbarMessage.emit({ message: this.labelConfig['COMMONS_ASSESSMENT.TOAST.ERROR_DEFAULT'], type: 'error' });
|
|
3032
|
+
throw { error, method: 'PATCH' };
|
|
3033
|
+
}
|
|
3034
|
+
});
|
|
3035
|
+
}
|
|
3036
|
+
duplicateQuestion(section, sectionQuestion) {
|
|
3037
|
+
if (!sectionQuestion.id)
|
|
3038
|
+
return;
|
|
3039
|
+
this.assessmentMakerService.duplicateQuestion(section.id, sectionQuestion.id).subscribe({
|
|
3040
|
+
next: (res) => {
|
|
3041
|
+
this.questionBank = Object.assign(Object.assign({}, this.questionBank), ((res === null || res === void 0 ? void 0 : res.questionMap) || {}));
|
|
3042
|
+
this.updateAssessmentQuestionPaperData(res === null || res === void 0 ? void 0 : res.questionPaper);
|
|
3043
|
+
this.generateQuestionBank();
|
|
3044
|
+
this.patchAssessmentAndQuestionPaper();
|
|
3045
|
+
this.snackbarMessage.emit({ message: this.labelConfig['COMMONS_ASSESSMENT.TOAST.QUESTION_DUPLICATED_SUCCESS'], type: 'success' });
|
|
3046
|
+
},
|
|
3047
|
+
error: (error) => {
|
|
3048
|
+
this.showLoader = false;
|
|
3049
|
+
console.error(error);
|
|
3050
|
+
this.snackbarMessage.emit({ message: this.labelConfig['COMMONS_ASSESSMENT.TOAST.ERROR_DEFAULT'], type: 'error' });
|
|
3051
|
+
throw { error, method: 'PATCH' };
|
|
3052
|
+
}
|
|
3053
|
+
});
|
|
3054
|
+
}
|
|
3055
|
+
patchAssessmentAndQuestionPaper(successMessage) {
|
|
3056
|
+
const payload = {
|
|
3057
|
+
questionPaper: this.assessmentBuilderService.generateQuestionPaperDTO(this.assessmentQuestionPaperData, this.questionBank),
|
|
3058
|
+
assessment: this.assessmentBuilderService.generateAssessmentDTO(this.assessmentId, this.assessmentQuestionPaperData)
|
|
3059
|
+
};
|
|
3060
|
+
this.assessmentMakerService.patchAssessmentAndQuestionPaper(payload).subscribe({
|
|
3061
|
+
next: (res) => {
|
|
3062
|
+
this.updateAssessmentQuestionPaperData(res === null || res === void 0 ? void 0 : res.questionPaper);
|
|
3063
|
+
this.generateQuestionBank();
|
|
3064
|
+
if (successMessage) {
|
|
3065
|
+
this.snackbarMessage.emit({ message: successMessage, type: 'success' });
|
|
3066
|
+
}
|
|
3067
|
+
},
|
|
3068
|
+
error: error => {
|
|
3069
|
+
this.snackbarMessage.emit({ message: this.labelConfig['COMMONS_ASSESSMENT.TOAST.ERROR_DEFAULT'], type: 'error' });
|
|
3070
|
+
throw { error, method: 'PATCH', payload };
|
|
3071
|
+
}
|
|
3072
|
+
});
|
|
3073
|
+
}
|
|
3074
|
+
finalSubmit() {
|
|
3075
|
+
this.isSubmitting = true;
|
|
3076
|
+
const payload = {
|
|
3077
|
+
questionPaper: this.assessmentBuilderService.generateQuestionPaperDTO(this.assessmentQuestionPaperData, this.questionBank),
|
|
3078
|
+
assessment: this.assessmentBuilderService.generateAssessmentDTO(this.assessmentId, this.assessmentQuestionPaperData)
|
|
3079
|
+
};
|
|
3080
|
+
if (!this.assessmentId) {
|
|
3081
|
+
// returns null or 0 as assessment is not created yet. Handle the response in consumer app
|
|
3082
|
+
this.assessmentInstanceIdChange.emit(this.assessmentInstanceId);
|
|
3083
|
+
this.isSubmitting = false;
|
|
3084
|
+
return;
|
|
3085
|
+
}
|
|
3086
|
+
this.assessmentMakerService.patchAssessmentAndQuestionPaper(payload).subscribe({
|
|
3087
|
+
next: (res) => {
|
|
3088
|
+
this.updateAssessmentQuestionPaperData(res === null || res === void 0 ? void 0 : res.questionPaper);
|
|
3089
|
+
if (!this.assessmentInstanceId) {
|
|
3090
|
+
this.createAssessmentInstance();
|
|
3091
|
+
}
|
|
3092
|
+
else {
|
|
3093
|
+
this.assessmentInstanceIdChange.emit(this.assessmentInstanceId);
|
|
3094
|
+
this.isSubmitting = false;
|
|
3095
|
+
}
|
|
3096
|
+
},
|
|
3097
|
+
error: error => {
|
|
3098
|
+
this.isSubmitting = false;
|
|
3099
|
+
this.snackbarMessage.emit({ message: this.labelConfig['COMMONS_ASSESSMENT.TOAST.ERROR_DEFAULT'], type: 'error' });
|
|
3100
|
+
throw { error, method: 'PATCH', payload };
|
|
3101
|
+
}
|
|
3102
|
+
});
|
|
3103
|
+
}
|
|
3104
|
+
createAssessmentInstance() {
|
|
3105
|
+
const payload = this.assessmentBuilderService.generateAssessmentInstanceDTO(this.assessmentId);
|
|
3106
|
+
this.assessmentMakerService.createAssessmentInstance(payload).subscribe({
|
|
3107
|
+
next: (res) => {
|
|
3108
|
+
this.assessmentInstanceId = res;
|
|
3109
|
+
this.assessmentInstanceIdChange.emit(res);
|
|
3110
|
+
this.isSubmitting = false;
|
|
3111
|
+
// this.snackbarMessage.emit({ message: this.labelConfig['COMMONS_ASSESSMENT.TOAST.ASSESSMENT_PUBLISHED_SUCCESS'], type: 'success' });
|
|
3112
|
+
},
|
|
3113
|
+
error: error => {
|
|
3114
|
+
this.isSubmitting = false;
|
|
3115
|
+
this.snackbarMessage.emit({ message: this.labelConfig['COMMONS_ASSESSMENT.TOAST.ERROR_DEFAULT'], type: 'error' });
|
|
3116
|
+
throw { error, method: 'POST', payload };
|
|
3117
|
+
}
|
|
3118
|
+
});
|
|
3119
|
+
}
|
|
3120
|
+
discardChanges() {
|
|
3121
|
+
if (this.assessmentId) {
|
|
3122
|
+
this.showLoader = true;
|
|
3123
|
+
this.loadAssessmentData();
|
|
3124
|
+
}
|
|
3125
|
+
else {
|
|
3126
|
+
// Reset fully to empty if no assessment existed yet
|
|
3127
|
+
this.assessmentQuestionPaperData = { id: 0, questionPaperSectionList: [] };
|
|
3128
|
+
}
|
|
3129
|
+
}
|
|
3130
|
+
getQuestionFromBank(questionId) {
|
|
3131
|
+
var _a;
|
|
3132
|
+
return (_a = this.questionBank) === null || _a === void 0 ? void 0 : _a[questionId || -1];
|
|
3133
|
+
}
|
|
3134
|
+
updateAssessmentQuestionPaperData(newData) {
|
|
3135
|
+
var _a, _b, _c, _d, _e;
|
|
3136
|
+
const expandedList = (_c = (_b = (_a = this.assessmentQuestionPaperData) === null || _a === void 0 ? void 0 : _a.questionPaperSectionList) === null || _b === void 0 ? void 0 : _b.filter((s) => s.isExpanded)) === null || _c === void 0 ? void 0 : _c.map((s, idx) => { var _a, _b; return s.id ? s.id.toString() : `${idx}_${(_b = (_a = s.qpsName) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.text}`; });
|
|
3137
|
+
this.assessmentQuestionPaperData = newData || { id: 0, questionPaperSectionList: [] };
|
|
3138
|
+
this.filterInactiveSectionsAndQuestions();
|
|
3139
|
+
if (expandedList === null || expandedList === void 0 ? void 0 : expandedList.length) {
|
|
3140
|
+
(_e = (_d = this.assessmentQuestionPaperData) === null || _d === void 0 ? void 0 : _d.questionPaperSectionList) === null || _e === void 0 ? void 0 : _e.forEach((s, idx) => {
|
|
3141
|
+
var _a, _b;
|
|
3142
|
+
const key = s.id ? s.id.toString() : `${idx}_${(_b = (_a = s.qpsName) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.text}`;
|
|
3143
|
+
if (expandedList.includes(key)) {
|
|
3144
|
+
s.isExpanded = true;
|
|
3145
|
+
}
|
|
3146
|
+
});
|
|
3147
|
+
}
|
|
3148
|
+
}
|
|
3149
|
+
filterInactiveSectionsAndQuestions() {
|
|
3150
|
+
var _a, _b, _c, _d;
|
|
3151
|
+
this.assessmentQuestionPaperData.questionPaperSectionList = (_b = (_a = this.assessmentQuestionPaperData) === null || _a === void 0 ? void 0 : _a.questionPaperSectionList) === null || _b === void 0 ? void 0 : _b.filter((section) => section.isActive !== false);
|
|
3152
|
+
(_d = (_c = this.assessmentQuestionPaperData) === null || _c === void 0 ? void 0 : _c.questionPaperSectionList) === null || _d === void 0 ? void 0 : _d.forEach((section) => {
|
|
3153
|
+
var _a;
|
|
3154
|
+
section.sectionQuestionsList = (_a = section.sectionQuestionsList) === null || _a === void 0 ? void 0 : _a.filter((question) => question.isActive !== false);
|
|
3155
|
+
});
|
|
3156
|
+
if (this.questionBank) {
|
|
3157
|
+
Object.keys(this.questionBank).forEach(key => {
|
|
3158
|
+
const question = this.questionBank[key];
|
|
3159
|
+
if (question === null || question === void 0 ? void 0 : question.defaultOptionsList) {
|
|
3160
|
+
question.defaultOptionsList = question.defaultOptionsList.filter((opt) => opt.isActive !== false);
|
|
3161
|
+
}
|
|
3162
|
+
});
|
|
3163
|
+
}
|
|
3164
|
+
}
|
|
3165
|
+
capitalizeFirst(text) {
|
|
3166
|
+
if (!text)
|
|
3167
|
+
return '';
|
|
3168
|
+
return text.toLowerCase().split(' ').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join(' ');
|
|
3169
|
+
}
|
|
3170
|
+
}
|
|
3171
|
+
AssessmentMakerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AssessmentMakerComponent, deps: [{ token: AssessmentMakerService }, { token: AssessmentBuilderService }, { token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
3172
|
+
AssessmentMakerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AssessmentMakerComponent, selector: "lib-assessment-maker", inputs: { labelConfig: "labelConfig", imageConfig: "imageConfig", questionTypes: "questionTypes", showFooter: "showFooter", customRules: "customRules", assessmentId: "assessmentId", assessmentInstanceId: "assessmentInstanceId", defaultAssessmentDTO: "defaultAssessmentDTO" }, outputs: { assessmentIdChange: "assessmentIdChange", assessmentInstanceIdChange: "assessmentInstanceIdChange", snackbarMessage: "snackbarMessage" }, ngImport: i0, template: "<div *ngIf=\"configsLoaded && !showLoader; else loader\" class=\"col-12 h-100\">\r\n <div class=\"col-12 h-100 py-4\" [class.height-without-footer]=\"showFooter\">\r\n <ng-container *ngIf=\"assessmentQuestionPaperData?.questionPaperSectionList?.length\">\r\n <mat-accordion multi=\"true\" cdkDropList (cdkDropListDropped)=\"dropSection($event)\">\r\n <mat-expansion-panel [hideToggle]=\"true\" #panel=\"matExpansionPanel\" [expanded]=\"section.isExpanded\"\r\n (opened)=\"section.isExpanded = true\" (closed)=\"section.isExpanded = false\"\r\n class=\"mb-4 border-0 overflow-hidden assessment-panel shadow-none\" cdkDrag\r\n *ngFor=\"let section of assessmentQuestionPaperData?.questionPaperSectionList | orderBy; let sectionIndex = index\">\r\n <!-- Section Header -->\r\n <mat-expansion-panel-header class=\"col-12 p-0 h-auto bg-transparent\">\r\n <div class=\"d-flex col-12 align-items-center gap-md-3 gap-2\">\r\n <img cdkDragHandle [src]=\"imageConfig['COMMONS_ASSESSMENT.ICON.DRAG_DROP']\"\r\n class=\"cursor-grab\"\r\n (error)=\"imageErrorHandler($event, 'assets/commons-assessment/images/drag-drop.svg')\" />\r\n <div class=\"d-flex align-items-center gap-2 flex-grow-1 justify-content-between p-3 assessment-border-radius-two assessment-border-two\"\r\n [class.no-border]=\"section.isExpanded\">\r\n <div>\r\n <div class=\"d-flex align-items-center mb-1\">\r\n <input type=\"text\" [id]=\"'sectionNameInput_' + sectionIndex\"\r\n class=\"col-md-11 col-10 assessment-text-semibold-18 border-0 outline-0 bg-transparent p-0 input-focus\"\r\n [(ngModel)]=\"section.qpsName[0].text\"\r\n [attr.size]=\"(section.qpsName[0].text?.length || 1)\"\r\n (click)=\"$event.stopPropagation()\" (keydown)=\"$event.stopPropagation()\">\r\n <img [src]=\"imageConfig['COMMONS_ASSESSMENT.ICON.EDIT']\"\r\n class=\"action-icon cursor-pointer\"\r\n (click)=\"focusSectionInput(sectionIndex, $event)\"\r\n (error)=\"imageErrorHandler($event, 'assets/commons-assessment/images/pencil.svg')\" />\r\n </div>\r\n <p class=\"mb-0 assessment-text-medium-12 assessment-text-grey-seven\">\r\n {{section?.sectionQuestionsList?.length || 0}}\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.QUESTIONS']}}\r\n </p>\r\n </div>\r\n <div class=\"d-flex align-items-center gap-md-4 gap-2\">\r\n <img [src]=\"imageConfig['COMMONS_ASSESSMENT.ICON.ARROW_DOWN_BLACK']\"\r\n [ngClass]=\"panel.expanded ? 'change-direction' : 'change-direction-reverse'\"\r\n (error)=\"imageErrorHandler($event, 'assets/commons-assessment/images/arrow-down-black.svg')\" />\r\n <button [matMenuTriggerFor]=\"menu\" (click)=\"$event.stopPropagation()\"\r\n class=\"border-0 bg-transparent py-2\">\r\n <img [src]=\"imageConfig['COMMONS_ASSESSMENT.ICON.ACTION_DOTS']\"\r\n (error)=\"imageErrorHandler($event, 'assets/commons-assessment/images/action-dots.svg')\" />\r\n </button>\r\n <mat-menu #menu=\"matMenu\"\r\n class=\"mat-menu assessment-border-radius-two assessment-border-grey-four-1\">\r\n <button (click)=\"addInstruction(section)\" mat-menu-item\r\n class=\"py-2 assessment-text-semibold-12\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.ADD_INSTRUCTIONS']}}\r\n </button>\r\n <button (click)=\"duplicateSection(section.id)\" mat-menu-item\r\n class=\"py-2 assessment-text-semibold-12\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.DUPLICATE']}}\r\n </button>\r\n <button (click)=\"deleteSection(section)\" mat-menu-item\r\n class=\"py-2 assessment-text-semibold-12 assessment-text-danger\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.DELETE']}}\r\n </button>\r\n </mat-menu>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-expansion-panel-header>\r\n\r\n <!-- Questions inside section -->\r\n\r\n <div cdkDropList [cdkDropListData]=\"section.sectionQuestionsList || []\"\r\n (cdkDropListDropped)=\"dropQuestion($event)\">\r\n <div cdkDrag *ngFor=\"let sectionQuestion of section.sectionQuestionsList | orderBy; let i = index\"\r\n class=\"d-flex align-items-start gap-md-3 gap-2 my-3\">\r\n <img cdkDragHandle [src]=\"imageConfig['COMMONS_ASSESSMENT.ICON.DRAG_DROP']\"\r\n class=\"cursor-grab mt-4\"\r\n (error)=\"imageErrorHandler($event, 'assets/commons-assessment/images/drag-drop.svg')\" />\r\n <div class=\"flex-grow-1 p-3 assessment-border-two assessment-border-radius-two question-container\">\r\n <lib-question-details [sectionQuestion]=\"sectionQuestion\"\r\n [question]=\"getQuestionFromBank(sectionQuestion.questionId) || {}\"\r\n [questionBank]=\"questionBank\" [imageConfig]=\"imageConfig\"\r\n [labelConfig]=\"labelConfig\"\r\n (editQuestion)=\"createEditQuestion(section, $event?.questionId, $event?.isChildQuestion)\"\r\n (duplicateQuestion)=\"duplicateQuestion(section, $event)\"\r\n (deleteParentQuestion)=\"deleteParentQuestion($event)\"\r\n (deleteChildQuestion)=\"deleteChildQuestion($event.option, $event.childQuestionId)\">\r\n </lib-question-details>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 ps-4 border-bottom pb-4\">\r\n <button (click)=\"createEditQuestion(section)\"\r\n class=\"assessment-zoom-animation assessment-button-padding d-flex align-items-center justify-content-center gap-3 assessment-text-primary-one assessment-bg-palette-EDF3FD assessment-text-semibold-12 outline-0 assessment-border-radius-two mt-3 border-ADC9F6\">\r\n <img [src]=\"imageConfig['COMMONS_ASSESSMENT.ICON.PLUS_PRIMARY']\"\r\n (error)=\"imageErrorHandler($event, 'assets/commons-assessment/images/plus-primary.svg')\" />\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.ADD_A_QUESTION']}}\r\n </button>\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <button (click)=\"createEditQuestion()\"\r\n class=\"assessment-zoom-animation assessment-button-padding d-flex align-items-center justify-content-center gap-3 assessment-text-primary-one assessment-bg-palette-EDF3FD assessment-text-semibold-12 outline-0 assessment-border-radius-two mt-3 border-ADC9F6 ms-4\">\r\n <img [src]=\"imageConfig['COMMONS_ASSESSMENT.ICON.ADD_SECTION']\"\r\n (error)=\"imageErrorHandler($event, 'assets/commons-assessment/images/add-section.svg')\" />\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.ADD_A_SECTION']}}\r\n </button>\r\n </ng-container>\r\n <div *ngIf=\"!assessmentQuestionPaperData?.questionPaperSectionList?.length\"\r\n class=\"h-100 d-flex flex-column align-items-center justify-content-center gap-3\">\r\n <img [src]=\"imageConfig['COMMONS_ASSESSMENT.ICON.NO_QUESTIONS']\" class=\"col-sm-auto col-6\"\r\n (error)=\"imageErrorHandler($event, 'assets/commons-assessment/images/no-questions.svg')\" />\r\n <div class=\"text-center\">\r\n <p class=\"mb-1 assessment-text-medium-18\">{{labelConfig['COMMONS_ASSESSMENT.LABEL.ADD_CUSTOM_QUESTIONS']}}</p>\r\n <p class=\"mb-0 assessment-text-medium-12 assessment-text-grey-seven\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.ADD_QUESTION_DESC']}}</p>\r\n </div>\r\n <button (click)=\"createEditQuestion()\"\r\n class=\"assessment-button-padding assessment-border-radius-two d-flex align-items-center gap-2 assessment-bg-palette-EDF3FD assessment-text-primary-one assessment-text-semibold-12 border-0 assessment-zoom-animation\">\r\n <img [src]=\"imageConfig['COMMONS_ASSESSMENT.ICON.PLUS_PRIMARY']\"\r\n (error)=\"imageErrorHandler($event, 'assets/commons-assessment/images/plus-primary.svg')\" />\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.ADD_A_QUESTION']}}\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"showFooter\"\r\n class=\"bg-white p-3 position-sticky bottom-0 d-flex align-items-center justify-content-end border-top gap-3\">\r\n <button (click)=\"discardChanges()\" [disabled]=\"isSubmitting\"\r\n class=\"assessment-zoom-animation assessment-border-radius-two assessment-button-padding-large assessment-btn-primary-transparent assessment-text-semibold-13\">{{labelConfig['COMMONS_ASSESSMENT.LABEL.DISCARD']}}</button>\r\n <button (click)=\"finalSubmit()\" [disabled]=\"isSubmitting\"\r\n class=\"assessment-zoom-animation assessment-border-radius-two assessment-button-padding-large assessment-btn-primary assessment-text-semibold-13 position-relative\">\r\n <span [ngClass]=\"{'opacity-0': isSubmitting}\">\r\n {{labelConfig['COMMONS_ASSESSMENT.LABEL.PUBLISH']}}\r\n </span>\r\n <mat-spinner *ngIf=\"isSubmitting\" [diameter]=\"20\"\r\n class=\"position-absolute top-50 start-50 translate-middle assessment-spinner-white\"></mat-spinner>\r\n </button>\r\n </div>\r\n</div>\r\n<ng-template #loader>\r\n <div class=\"h-100 col-12 d-flex align-items-center justify-content-center py-5\">\r\n <mat-spinner diameter=\"60\" class=\"assessment-spinner-primary\"></mat-spinner>\r\n </div>\r\n</ng-template>", styles: [".assessment-text-grey-ten{color:var(--assessment-grey-ten)!important}.assessment-bg-grey-ten{background-color:var(--assessment-grey-ten)!important}.assessment-text-grey-nine{color:var(--assessment-grey-nine)!important}.assessment-bg-grey-nine{background-color:var(--assessment-grey-nine)!important}.assessment-text-grey-eight{color:var(--assessment-grey-eight)!important}.assessment-bg-grey-eight{background-color:var(--assessment-grey-eight)!important}.assessment-text-grey-seven{color:var(--assessment-grey-seven)!important}.assessment-bg-grey-seven{background-color:var(--assessment-grey-seven)!important}.assessment-text-grey-six{color:var(--assessment-grey-six)!important}.assessment-bg-grey-six{background-color:var(--assessment-grey-six)!important}.assessment-text-grey-five{color:var(--assessment-grey-five)!important}.assessment-bg-grey-five{background-color:var(--assessment-grey-five)!important}.assessment-text-grey-four{color:var(--assessment-grey-four)!important}.assessment-bg-grey-four{background-color:var(--assessment-grey-four)!important}.assessment-text-grey-three{color:var(--assessment-grey-three)!important}.assessment-bg-grey-three{background-color:var(--assessment-grey-three)!important}.assessment-text-grey-two{color:var(--assessment-grey-two)!important}.assessment-bg-grey-two{background-color:var(--assessment-grey-two)!important}.assessment-text-grey-one{color:var(--assessment-grey-one)!important}.assessment-bg-grey-one{background-color:var(--assessment-grey-one)!important}.assessment-text-white{color:var(--assessment-white)!important}.assessment-bg-white{background-color:var(--assessment-white)!important}.assessment-text-black{color:var(--assessment-black)!important}.assessment-bg-black{background-color:var(--assessment-black)!important}.assessment-text-danger{color:var(--assessment-danger)!important}.assessment-bg-danger{background-color:var(--assessment-danger)!important}.assessment-text-primary-one{color:var(--assessment-primary-one)!important}.assessment-bg-primary-one{background-color:var(--assessment-primary-one)!important}.assessment-text-primary-four{color:var(--assessment-primary-four)!important}.assessment-bg-primary-four{background-color:var(--assessment-primary-four)!important}.assessment-text-palette-EDF3FD{color:var(--assessment-palette-EDF3FD)!important}.assessment-bg-palette-EDF3FD{background-color:var(--assessment-palette-EDF3FD)!important}.assessment-text-palette-C8DAF9{color:var(--assessment-palette-C8DAF9)!important}.assessment-bg-palette-C8DAF9{background-color:var(--assessment-palette-C8DAF9)!important}.assessment-text-palette-ADC9F6{color:var(--assessment-palette-ADC9F6)!important}.assessment-bg-palette-ADC9F6{background-color:var(--assessment-palette-ADC9F6)!important}.assessment-text-palette-FEF9F1{color:var(--assessment-palette-FEF9F1)!important}.assessment-bg-palette-FEF9F1{background-color:var(--assessment-palette-FEF9F1)!important}.assessment-text-palette-F9DAA6{color:var(--assessment-palette-F9DAA6)!important}.assessment-bg-palette-F9DAA6{background-color:var(--assessment-palette-F9DAA6)!important}.assessment-text-palette-E8F7F0{color:var(--assessment-palette-E8F7F0)!important}.assessment-bg-palette-E8F7F0{background-color:var(--assessment-palette-E8F7F0)!important}.assessment-text-palette-B7E7CF{color:var(--assessment-palette-B7E7CF)!important}.assessment-bg-palette-B7E7CF{background-color:var(--assessment-palette-B7E7CF)!important}.assessment-box-shadow-one{box-shadow:var(--assessment-box-shadow-one)!important}.assessment-border-radius-one{border-radius:var(--assessment-border-radius-one)!important}.assessment-border-radius-two{border-radius:var(--assessment-border-radius-two)!important}.assessment-border-radius-three{border-radius:var(--assessment-border-radius-three)!important}.assessment-border-radius-four{border-radius:var(--assessment-border-radius-four)!important}.assessment-border-radius-five{border-radius:var(--assessment-border-radius-five)!important}.assessment-border-radius-six{border-radius:var(--assessment-border-radius-six)!important}.assessment-input-border-one{border:var(--assessment-input-border-one)!important}.assessment-input-border-invalid{border:var(--assessment-input-border-invalid)!important}.assessment-input-focus-border{border:var(--assessment-input-focus-border)!important}.assessment-border-two{border:var(--assessment-border-two)!important}.assessment-card-border{border:var(--assessment-card-border)!important}.assessment-tooltip-border{border:var(--assessment-tooltip-border)!important}.assessment-box-shadow-tooltip{box-shadow:var(--assessment-box-shadow-tooltip)!important}.assessment-button-padding{padding:var(--assessment-button-padding)!important}.assessment-button-padding-large{padding:var(--assessment-button-padding-large)!important}.assessment-input-padding{padding:var(--assessment-input-padding)!important}.assessment-text-font-family{color:var(--assessment-font-family)!important}.assessment-bg-font-family{background-color:var(--assessment-font-family)!important}.assessment-text-regular-12{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-bold-12{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-semibold-12{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-semibold-11{font-weight:600;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-medium-11{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-regular-11{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.48rem + .25vw);line-height:calc(.8rem + .25vw)}.assessment-text-medium-12{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.48rem + .3vw);line-height:calc(.9rem + .3vw)}.assessment-text-regular-13{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-bold-13{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-semibold-13{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-medium-13{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.64rem + .2vw)!important;line-height:calc(.9rem + .2vw)!important}.assessment-text-regular-14{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-bold-14{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-medium-14{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw)!important;line-height:calc(1.2rem + .2vw)!important}.assessment-text-semibold-14{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.7rem + .2vw);line-height:calc(1.2rem + .2vw)}.assessment-text-semibold-10{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.55rem + .1vw);line-height:calc(1rem + .1vw)}.assessment-text-regular-10{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.55rem + .1vw)!important;line-height:calc(1rem + .1vw)}.assessment-text-regular-15{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.85rem + .1vw);line-height:calc(1.4rem + .1vw)}.assessment-text-medium-15{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-semibold-15{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-bold-15{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.85rem + .1vw);line-height:calc(1.25rem + .1vw)}.assessment-text-regular-16{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-semibold-16{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-bold-16{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-medium-16{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(.77rem + .25vw);line-height:calc(1.25rem + .2vw)}.assessment-text-regular-20{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-bold-20{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-semibold-20{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-medium-20{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .3vw);line-height:calc(1.2rem + .3vw)}.assessment-text-medium-18{font-weight:500;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .1vw)!important}.assessment-text-regular-18{font-weight:400;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .3vw)!important}.assessment-text-bold-18{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw);line-height:calc(1.5rem + .1vw)}.assessment-text-semibold-18{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .125vw)!important;line-height:calc(1.5rem + .1vw)!important}.assessment-text-bold-34{overflow-wrap:break-word;font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(2rem + .15vw);line-height:calc(2.5rem + .15vw)}.assessment-text-medium-34{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(2rem + .15vw);line-height:calc(2.5rem + .15vw)}.assessment-text-bold-32{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.3rem + .75vw);line-height:calc(1.625rem + .5vw)}.assessment-text-bold-22{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-regular-22{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-semibold-22{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-medium-22{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-bold-24{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-regular-24{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-semibold-24{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(.8rem + .75vw);line-height:calc(.9rem + .75vw)}.assessment-text-medium-24{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(.8rem + .75vw);line-height:calc(1.2rem + .75vw)}.assessment-text-regular-26{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-medium-26{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-bold-26{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-semibold-26{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .1vw);line-height:calc(1.8rem + .1vw)}.assessment-text-regular-28{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-medium-28{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-semibold-28{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw);letter-spacing:1}.assessment-text-bold-28{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.55rem + .2vw);line-height:calc(2rem + .2vw)}.assessment-text-regular-30{font-weight:400;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .4vw)}.assessment-text-medium-30{font-weight:500;font-family:var(--assessment-font-family);font-size:calc(1.5rem + .4vw);line-height:calc(1.5rem + .4vw)}.assessment-text-bold-30{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .4vw);line-height:calc(2rem + .4vw)}.assessment-text-semibold-30{font-weight:600;font-family:var(--assessment-font-family)!important;font-size:calc(1.5rem + .4vw);line-height:calc(1.5rem + .4vw);letter-spacing:.5}.assessment-text-bold-36{font-weight:700;font-family:var(--assessment-font-family)!important;font-size:calc(2rem + .25vw);line-height:calc(2.5rem + .3vw)}.assessment-text-semibold-36{font-weight:600;font-family:var(--assessment-font-family);font-size:calc(2rem + .25vw);line-height:calc(2.5rem + .3vw)}@media (min-height: 100vw) and (orientation: portrait){.assessment-text-bold-34{font-size:calc(1.8rem + .15vh);line-height:calc(2.2rem + .15vh)}.assessment-text-bold-32{font-size:calc(1.3rem + 1vh);line-height:calc(1.5rem + 1vh)}.assessment-text-semibold-30{font-size:calc(1.5rem + .4vh);line-height:calc(1.8rem + .4vh)}.assessment-text-medium-24{line-height:2.188rem}.assessment-text-medium-24,.assessment-text-regular-24,.assessment-text-semibold-24,.assessment-text-bold-24,.assessment-text-light-24{font-size:calc(1.3rem + .5vh);line-height:calc(1.8rem + .5vh)}.assessment-text-medium-18,.assessment-text-regular-18,.assessment-text-bold-18,.assessment-text-semibold-18,.assessment-text-light-18{font-size:calc(1rem + .1vh)!important;line-height:calc(1.6rem + .1vh)!important}.assessment-text-light-16,.assessment-text-bold-16{font-size:calc(.9rem + .3vh)!important;line-height:calc(1.2rem + .3vh)!important}.assessment-text-medium-16,.assessment-text-semibold-16,.assessment-text-regular-16{font-size:calc(.9rem + .2vh)!important;line-height:calc(1.4rem + .2vh)!important}.assessment-text-regular-15,.assessment-text-semibold-15,.assessment-text-bold-15,.assessment-text-light-15{font-size:calc(.8rem + .2vh);line-height:calc(1.27rem + .2vh)}.assessment-text-medium-15{font-size:calc(.8rem + .2vh);line-height:calc(1.27rem + .2vh)}.assessment-text-medium-12,.assessment-text-regular-12,.assessment-text-semibold-12,.assessment-text-bold-12,.assessment-text-medium-upper-12,.assessment-text-light-12{font-size:calc(.5rem + .4vh);line-height:calc(.8rem + .4vh)}.assessment-text-medium-14,.assessment-text-regular-14,.assessment-text-light-14,.assessment-text-medium-upper-14,.assessment-text-semibold-14,.assessment-text-bold-14{font-size:calc(.8rem + .1vh)!important;line-height:calc(1.2rem + .2vh)!important}.assessment-text-regular-13,.assessment-text-medium-13,.assessment-text-semibold-13,.assessment-text-bold-13,.assessment-text-light-13{font-size:calc(.7rem + .2vh)!important;line-height:calc(1rem + .3vh)!important}.assessment-text-regular-11,.assessment-text-medium-11,.assessment-text-semibold-11,.assessment-text-bold-11,.assessment-text-light-11{font-size:calc(.5rem + .2vh)!important;line-height:calc(.8rem + .2vh)!important}}.assessment-btn-primary{background-color:var(--assessment-primary-one);color:var(--assessment-white);border:.064rem solid var(--assessment-primary-one);border-radius:var(--assessment-border-radius-two)}.assessment-btn-primary-transparent{background-color:var(--assessment-white);color:var(--assessment-primary-one);border-radius:var(--assessment-border-radius-two);border:.064rem solid var(--assessment-primary-one)}.assessment-zoom-animation{transition:transform .2s ease;transform:translateZ(0);text-rendering:optimizeLegibility}.assessment-zoom-animation:hover{transform:scale(1.03)}.assessment-zoom-animation:active{transform:scale(1)}.assessment-zoom-animation:disabled{transform:none!important}.change-direction{transform:rotate(180deg);transition:.3s ease-out}.change-direction-reverse{transform:rotate(0);transition:.3s ease-out}.outline-0{outline:none}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.action-icon{width:1.2rem}.mat-menu-item{height:inherit}.input-focus{overflow:hidden;text-overflow:ellipsis}.input-focus:focus-visible{border-bottom:var(--assessment-input-focus-border)!important}.one-line-truncate{display:inline-block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.height-without-footer{height:calc(100% - 4.4rem)!important}.question-container{transition:all .3s ease}.question-container:hover{box-shadow:var(--assessment-box-shadow-one);background-color:var(--assessment-palette-EDF3FD);border-color:var(--assessment-palette-C8DAF9)!important}.border-ADC9F6{border:.064rem solid var(--assessment-palette-ADC9F6)}.no-border{border-color:transparent!important}\n"], components: [{ type: i7.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { type: i7.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }, { type: i1$4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i1$4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: QuestionDetailsComponent, selector: "lib-question-details", inputs: ["sectionQuestion", "question", "questionBank", "labelConfig", "imageConfig"], outputs: ["editQuestion", "duplicateQuestion", "deleteParentQuestion", "deleteChildQuestion"] }, { type: i8.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.MatAccordion, selector: "mat-accordion", inputs: ["multi", "displayMode", "togglePosition", "hideToggle"], exportAs: ["matAccordion"] }, { type: i9$1.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "id", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListAutoScrollDisabled", "cdkDropListOrientation", "cdkDropListLockAxis", "cdkDropListData", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i9$1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragDisabled", "cdkDragStartDelay", "cdkDragLockAxis", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragBoundary", "cdkDragRootElement", "cdkDragPreviewContainer", "cdkDragData", "cdkDragFreeDragPosition"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { type: i9$1.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1$4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }], pipes: { "orderBy": OrderByPipe } });
|
|
3173
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AssessmentMakerComponent, decorators: [{
|
|
3174
|
+
type: Component,
|
|
3175
|
+
args: [{
|
|
3176
|
+
selector: 'lib-assessment-maker',
|
|
3177
|
+
templateUrl: './assessment-maker.component.html',
|
|
3178
|
+
styleUrls: ['./assessment-maker.component.scss']
|
|
3179
|
+
}]
|
|
3180
|
+
}], ctorParameters: function () { return [{ type: AssessmentMakerService }, { type: AssessmentBuilderService }, { type: i1.MatDialog }]; }, propDecorators: { labelConfig: [{
|
|
3181
|
+
type: Input
|
|
3182
|
+
}], imageConfig: [{
|
|
3183
|
+
type: Input
|
|
3184
|
+
}], questionTypes: [{
|
|
3185
|
+
type: Input
|
|
3186
|
+
}], showFooter: [{
|
|
3187
|
+
type: Input
|
|
3188
|
+
}], customRules: [{
|
|
3189
|
+
type: Input
|
|
3190
|
+
}], assessmentId: [{
|
|
3191
|
+
type: Input
|
|
3192
|
+
}], assessmentInstanceId: [{
|
|
3193
|
+
type: Input
|
|
3194
|
+
}], defaultAssessmentDTO: [{
|
|
3195
|
+
type: Input
|
|
3196
|
+
}], assessmentIdChange: [{
|
|
3197
|
+
type: Output
|
|
3198
|
+
}], assessmentInstanceIdChange: [{
|
|
3199
|
+
type: Output
|
|
3200
|
+
}], snackbarMessage: [{
|
|
3201
|
+
type: Output
|
|
3202
|
+
}] } });
|
|
3203
|
+
|
|
3204
|
+
class AssessmentMakerModule {
|
|
3205
|
+
}
|
|
3206
|
+
AssessmentMakerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AssessmentMakerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3207
|
+
AssessmentMakerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AssessmentMakerModule, declarations: [AssessmentMakerComponent,
|
|
3208
|
+
AddEditSectionIntroductionComponent,
|
|
3209
|
+
AssessmentBuilderComponent,
|
|
3210
|
+
QuestionDetailsComponent], imports: [CommonModule,
|
|
3211
|
+
SharedModule,
|
|
3212
|
+
MaterialModules,
|
|
3213
|
+
FormsModule,
|
|
3214
|
+
ReactiveFormsModule], exports: [AssessmentMakerComponent] });
|
|
3215
|
+
AssessmentMakerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AssessmentMakerModule, providers: [AssessmentMakerService], imports: [[
|
|
3216
|
+
CommonModule,
|
|
3217
|
+
SharedModule,
|
|
3218
|
+
MaterialModules,
|
|
3219
|
+
FormsModule,
|
|
3220
|
+
ReactiveFormsModule
|
|
3221
|
+
]] });
|
|
3222
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AssessmentMakerModule, decorators: [{
|
|
3223
|
+
type: NgModule,
|
|
3224
|
+
args: [{
|
|
3225
|
+
declarations: [
|
|
3226
|
+
AssessmentMakerComponent,
|
|
3227
|
+
AddEditSectionIntroductionComponent,
|
|
3228
|
+
AssessmentBuilderComponent,
|
|
3229
|
+
QuestionDetailsComponent
|
|
3230
|
+
],
|
|
3231
|
+
imports: [
|
|
3232
|
+
CommonModule,
|
|
3233
|
+
SharedModule,
|
|
3234
|
+
MaterialModules,
|
|
3235
|
+
FormsModule,
|
|
3236
|
+
ReactiveFormsModule
|
|
3237
|
+
],
|
|
3238
|
+
exports: [
|
|
3239
|
+
AssessmentMakerComponent
|
|
3240
|
+
],
|
|
3241
|
+
providers: [AssessmentMakerService]
|
|
3242
|
+
}]
|
|
3243
|
+
}] });
|
|
3244
|
+
|
|
3245
|
+
class CommonsAssessmentModule {
|
|
3246
|
+
static forRoot(config) {
|
|
3247
|
+
return {
|
|
3248
|
+
ngModule: CommonsAssessmentModule,
|
|
3249
|
+
providers: [
|
|
3250
|
+
{ provide: LIBRARY_CONFIG, useValue: config }
|
|
3251
|
+
],
|
|
3252
|
+
};
|
|
3253
|
+
}
|
|
3254
|
+
}
|
|
3255
|
+
CommonsAssessmentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CommonsAssessmentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3256
|
+
CommonsAssessmentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CommonsAssessmentModule, imports: [CommonModule] });
|
|
3257
|
+
CommonsAssessmentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CommonsAssessmentModule, imports: [[
|
|
3258
|
+
CommonModule
|
|
3259
|
+
]] });
|
|
3260
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CommonsAssessmentModule, decorators: [{
|
|
3261
|
+
type: NgModule,
|
|
3262
|
+
args: [{
|
|
3263
|
+
imports: [
|
|
3264
|
+
CommonModule
|
|
3265
|
+
]
|
|
3266
|
+
}]
|
|
3267
|
+
}] });
|
|
3268
|
+
|
|
3269
|
+
/*
|
|
3270
|
+
* Public API Surface of assessment-maker
|
|
3271
|
+
*/
|
|
3272
|
+
|
|
3273
|
+
/**
|
|
3274
|
+
* Generated bundle index. Do not edit.
|
|
3275
|
+
*/
|
|
3276
|
+
|
|
3277
|
+
export { AssessmentMakerComponent, AssessmentMakerModule, AssessmentTakerComponent, AssessmentTakerModule, CommonsAssessmentModule, deepClone, generateUuid };
|
|
3278
|
+
//# sourceMappingURL=commons-assessment.js.map
|