pcf-assessment-taker 0.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -0
- package/assessment-taker.d.ts +5 -0
- package/esm2020/assessment-taker.mjs +5 -0
- package/esm2020/lib/assessment-taker.component.mjs +24 -0
- package/esm2020/lib/assessment-taker.module.mjs +44 -0
- package/esm2020/lib/assessment-taker.routing.module.mjs +23 -0
- package/esm2020/lib/assessment-taker.service.mjs +46 -0
- package/esm2020/lib/components/feature/feature-routing.module.mjs +29 -0
- package/esm2020/lib/components/feature/feature.module.mjs +57 -0
- package/esm2020/lib/components/feature/quest-success/quest-success/quest-success.component.mjs +26 -0
- package/esm2020/lib/components/feature/quest-wizard/quest-wizard.component.mjs +437 -0
- package/esm2020/lib/configuration.mjs +4 -0
- package/esm2020/lib/shared/interceptor/lib-interceptor.interceptor.mjs +26 -0
- package/esm2020/lib/shared/pipe/order-by.pipe.mjs +22 -0
- package/esm2020/lib/shared/services/assessment-id.service.mjs +21 -0
- package/esm2020/lib/shared/shared-components/question-type-add-dialog/question-type-add-dialog.component.mjs +97 -0
- package/esm2020/lib/shared/shared-components/question-type-date/question-type-date.component.mjs +42 -0
- package/esm2020/lib/shared/shared-components/question-type-editor/question-type-editor.component.mjs +48 -0
- package/esm2020/lib/shared/shared-components/question-type-long/question-type-long.component.mjs +47 -0
- package/esm2020/lib/shared/shared-components/question-type-multiselect/question-type-multiselect.component.mjs +55 -0
- package/esm2020/lib/shared/shared-components/question-type-multiselect-sub/question-type-multiselect-sub.component.mjs +58 -0
- package/esm2020/lib/shared/shared-components/question-type-number/question-type-number.component.mjs +43 -0
- package/esm2020/lib/shared/shared-components/question-type-objective/question-type-objective.component.mjs +59 -0
- package/esm2020/lib/shared/shared-components/question-type-objective-sub/question-type-objective-sub.component.mjs +60 -0
- package/esm2020/lib/shared/shared-components/question-type-rating/question-type-rating.component.mjs +49 -0
- package/esm2020/lib/shared/shared-components/question-type-searchable-tag/question-type-searchable-tag.component.mjs +103 -0
- package/esm2020/lib/shared/shared-components/question-type-short/question-type-short.component.mjs +43 -0
- package/esm2020/lib/shared/shared-components/question-type-upload-file/question-type-upload-file.component.mjs +48 -0
- package/esm2020/lib/shared/shared-components/shared-components.module.mjs +143 -0
- package/esm2020/pcf-assessment-taker.mjs +5 -0
- package/esm2020/public-api.mjs +25 -0
- package/fesm2015/assessment-taker.mjs +1481 -0
- package/fesm2015/assessment-taker.mjs.map +1 -0
- package/fesm2015/pcf-assessment-taker.mjs +1481 -0
- package/fesm2015/pcf-assessment-taker.mjs.map +1 -0
- package/fesm2020/assessment-taker.mjs +1468 -0
- package/fesm2020/assessment-taker.mjs.map +1 -0
- package/fesm2020/pcf-assessment-taker.mjs +1468 -0
- package/fesm2020/pcf-assessment-taker.mjs.map +1 -0
- package/lib/assessment-taker.component.d.ts +13 -0
- package/lib/assessment-taker.module.d.ts +11 -0
- package/lib/assessment-taker.routing.module.d.ts +7 -0
- package/lib/assessment-taker.service.d.ts +18 -0
- package/lib/components/feature/feature-routing.module.d.ts +7 -0
- package/lib/components/feature/feature.module.d.ts +15 -0
- package/lib/components/feature/quest-success/quest-success/quest-success.component.d.ts +12 -0
- package/lib/components/feature/quest-wizard/quest-wizard.component.d.ts +51 -0
- package/lib/configuration.d.ts +6 -0
- package/lib/shared/interceptor/lib-interceptor.interceptor.d.ts +11 -0
- package/lib/shared/pipe/order-by.pipe.d.ts +7 -0
- package/lib/shared/services/assessment-id.service.d.ts +9 -0
- package/lib/shared/shared-components/question-type-add-dialog/question-type-add-dialog.component.d.ts +35 -0
- package/lib/shared/shared-components/question-type-date/question-type-date.component.d.ts +12 -0
- package/lib/shared/shared-components/question-type-editor/question-type-editor.component.d.ts +16 -0
- package/lib/shared/shared-components/question-type-long/question-type-long.component.d.ts +15 -0
- package/lib/shared/shared-components/question-type-multiselect/question-type-multiselect.component.d.ts +15 -0
- package/lib/shared/shared-components/question-type-multiselect-sub/question-type-multiselect-sub.component.d.ts +15 -0
- package/lib/shared/shared-components/question-type-number/question-type-number.component.d.ts +13 -0
- package/lib/shared/shared-components/question-type-objective/question-type-objective.component.d.ts +17 -0
- package/lib/shared/shared-components/question-type-objective-sub/question-type-objective-sub.component.d.ts +16 -0
- package/lib/shared/shared-components/question-type-rating/question-type-rating.component.d.ts +14 -0
- package/lib/shared/shared-components/question-type-searchable-tag/question-type-searchable-tag.component.d.ts +35 -0
- package/lib/shared/shared-components/question-type-short/question-type-short.component.d.ts +13 -0
- package/lib/shared/shared-components/question-type-upload-file/question-type-upload-file.component.d.ts +14 -0
- package/lib/shared/shared-components/shared-components.module.d.ts +34 -0
- package/package.json +32 -0
- package/pcf-assessment-taker.d.ts +5 -0
- package/public-api.d.ts +20 -0
- package/src/lib/assets/images/assessment-placeholder-2.png +0 -0
- package/src/lib/assets/images/new_tooltip.jpg +0 -0
- package/src/lib/assets/images/tooltip.png +0 -0
- package/src/lib/assets/images/tooltipimg.jpg +0 -0
- package/src/lib/assets/theme/_theme.scss +1077 -0
- package/src/lib/assets/theme/font.css +36 -0
- package/src/lib/assets/theme/fonts/halant/Halant-Bold.ttf +0 -0
- package/src/lib/assets/theme/fonts/halant/Halant-Light.ttf +0 -0
- package/src/lib/assets/theme/fonts/halant/Halant-Medium.ttf +0 -0
- package/src/lib/assets/theme/fonts/halant/Halant-Regular.ttf +0 -0
- package/src/lib/assets/theme/fonts/halant/Halant-SemiBold.ttf +0 -0
- package/src/lib/assets/theme/fonts/poppins/Poppins-Bold.ttf +0 -0
- package/src/lib/assets/theme/fonts/poppins/Poppins-ExtraBold.ttf +0 -0
- package/src/lib/assets/theme/fonts/poppins/Poppins-ExtraLight.ttf +0 -0
- package/src/lib/assets/theme/fonts/poppins/Poppins-Light.ttf +0 -0
- package/src/lib/assets/theme/fonts/poppins/Poppins-Medium.ttf +0 -0
- package/src/lib/assets/theme/fonts/poppins/Poppins-Regular.ttf +0 -0
- package/src/lib/assets/theme/fonts/poppins/Poppins-SemiBold.ttf +0 -0
- package/src/lib/assets/theme/fonts/poppins/Poppins-Thin.ttf +0 -0
- package/src/lib/assets/theme/fonts/roboto/Roboto-Bold.ttf +0 -0
- package/src/lib/assets/theme/fonts/roboto/Roboto-Light.ttf +0 -0
- package/src/lib/assets/theme/fonts/roboto/Roboto-Medium.ttf +0 -0
- package/src/lib/assets/theme/fonts/roboto/Roboto-Regular.ttf +0 -0
- package/src/lib/assets/theme/fonts/roboto/Roboto-Thin.ttf +0 -0
- package/src/lib/assets/theme/variables.css +392 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core';
|
|
2
|
+
import { FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/material/radio";
|
|
5
|
+
import * as i2 from "@angular/forms";
|
|
6
|
+
import * as i3 from "@angular/common";
|
|
7
|
+
import * as i4 from "../../pipe/order-by.pipe";
|
|
8
|
+
export class QuestionTypeObjectiveComponent {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.viewChild = new EventEmitter();
|
|
11
|
+
this.formControl = new FormControl();
|
|
12
|
+
}
|
|
13
|
+
writeValue(value) {
|
|
14
|
+
this.formControl.setValue(value);
|
|
15
|
+
}
|
|
16
|
+
registerOnChange(fn) {
|
|
17
|
+
this.formControl.valueChanges.subscribe((val) => fn(val));
|
|
18
|
+
}
|
|
19
|
+
registerOnTouched(fn) {
|
|
20
|
+
this.formControl.valueChanges.subscribe((val) => fn(val));
|
|
21
|
+
}
|
|
22
|
+
onChildDataChanged(data) {
|
|
23
|
+
this.viewChild.emit(data);
|
|
24
|
+
}
|
|
25
|
+
optionDetection(obj) {
|
|
26
|
+
console.log("the object is " + JSON.stringify(obj));
|
|
27
|
+
let data = {
|
|
28
|
+
question: this.optionsList,
|
|
29
|
+
list: obj['childQuestionList']
|
|
30
|
+
};
|
|
31
|
+
console.log("the childList is " + JSON.stringify(data));
|
|
32
|
+
obj['childQuestionList']?.length ? this.viewChild.emit(data) : null;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
QuestionTypeObjectiveComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: QuestionTypeObjectiveComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
36
|
+
QuestionTypeObjectiveComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: QuestionTypeObjectiveComponent, selector: "lib-question-type-objective", inputs: { required: "required", optionsList: "optionsList" }, outputs: { viewChild: "viewChild" }, providers: [
|
|
37
|
+
{
|
|
38
|
+
provide: NG_VALUE_ACCESSOR,
|
|
39
|
+
useExisting: forwardRef(() => QuestionTypeObjectiveComponent),
|
|
40
|
+
multi: true,
|
|
41
|
+
},
|
|
42
|
+
], ngImport: i0, template: "<!-- <div class=\"question-parent-container\">\r\n <div *ngFor=\"let question of assessmentQuestionsList; let i=index\">\r\n <div class=\"question-num-text me-4\">\r\n <p class=\"assessment-text-grey-nine assessment-text-semibold-18\">\r\n {{i+1}}. {{question.questionText[0]?.text}}\r\n <span class=\"mandatory\" *ngIf=\"question['isMandatory']\">*</span>\r\n </p>\r\n </div> -->\r\n <!-- <span class=\"question-sub-text opacity-7\"\r\n *ngIf=\"question.questionSubText[0].text!==''\" [innerHTML]=\"question.questionSubText[0].text\">\r\n </span> -->\r\n <!-- <div class=\"answer-input\" *ngIf=\"question.questionType.code === 'QUESTION_TYPE.OBJECTIVE'\">\r\n <div class=\"radio-group\">\r\n <label *ngFor=\"let option of question.defaultOptionsList\">\r\n <input\r\n type=\"radio\"\r\n [name]=\"question.id\" \r\n [value]=\"option.options.id\"\r\n />\r\n <span class=\"assessment-text-regular-18 mt-5\">{{ option.options.optionName[0]?.text }}</span>\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"answer-input\" *ngIf=\"question?.questionType?.code === 'QUESTION_TYPE.SUBJECTIVE_SHORT'\">\r\n <input *ngIf=\"question?.questionType?.code === 'QUESTION_TYPE.SUBJECTIVE_SHORT'\" \r\n [id]=\"'question_' + i\"\r\n rows=\"4\" class=\"input-tag\" placeholder=\"Enter your answer here\"/>\r\n </div>\r\n <div class=\"answer-input\" *ngIf=\"question.questionType.code === 'QUESTION_TYPE.DATE'\">\r\n <div class=\"form-field content dpicker\">\r\n <label for=\"datePickerInput\" class=\"sr-only\">Select Date</label>\r\n <input \r\n type=\"date\" \r\n id=\"datePickerInput\"\r\n class=\"answer-box-border p-3 dpickerInput\"\r\n [placeholder]=\"'DATE-FORMAT'\" \r\n />\r\n </div> \r\n </div>\r\n <div class=\"divider\"></div>\r\n </div>\r\n</div> -->\r\n\r\n<!-- <div class=\"radio-group\">\r\n <label *ngFor=\"let option of optionsList.defaultOptionsList\">\r\n <input\r\n type=\"radio\" \r\n [value]=\"option.options.id\"\r\n [name]=\"optionsList.id\"\r\n />\r\n <span class=\"assessment-text-regular-18 mt-5\">{{ option.options.optionName[0]?.text }}</span>\r\n </label>\r\n</div> -->\r\n<mat-radio-group\r\n aria-labelledby=\"example-radio-group-label\"\r\n [formControl]=\"formControl\" class=\"example-radio-group\">\r\n <ng-container *ngFor=\"let option of optionsList.defaultOptionsList | orderBy\">\r\n <mat-radio-button class=\"example-radio-button\" (change)=\"optionDetection(option)\"\r\n (viewChild)=\"onChildDataChanged($event)\" [value]=\"option.options\" \r\n [required]=\"required\">{{ option.options.optionName[0]?.text }}</mat-radio-button>\r\n </ng-container>\r\n</mat-radio-group>\r\n", styles: [""], components: [{ type: i1.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }], directives: [{ type: i1.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "orderBy": i4.OrderByPipe } });
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: QuestionTypeObjectiveComponent, decorators: [{
|
|
44
|
+
type: Component,
|
|
45
|
+
args: [{ selector: 'lib-question-type-objective', providers: [
|
|
46
|
+
{
|
|
47
|
+
provide: NG_VALUE_ACCESSOR,
|
|
48
|
+
useExisting: forwardRef(() => QuestionTypeObjectiveComponent),
|
|
49
|
+
multi: true,
|
|
50
|
+
},
|
|
51
|
+
], template: "<!-- <div class=\"question-parent-container\">\r\n <div *ngFor=\"let question of assessmentQuestionsList; let i=index\">\r\n <div class=\"question-num-text me-4\">\r\n <p class=\"assessment-text-grey-nine assessment-text-semibold-18\">\r\n {{i+1}}. {{question.questionText[0]?.text}}\r\n <span class=\"mandatory\" *ngIf=\"question['isMandatory']\">*</span>\r\n </p>\r\n </div> -->\r\n <!-- <span class=\"question-sub-text opacity-7\"\r\n *ngIf=\"question.questionSubText[0].text!==''\" [innerHTML]=\"question.questionSubText[0].text\">\r\n </span> -->\r\n <!-- <div class=\"answer-input\" *ngIf=\"question.questionType.code === 'QUESTION_TYPE.OBJECTIVE'\">\r\n <div class=\"radio-group\">\r\n <label *ngFor=\"let option of question.defaultOptionsList\">\r\n <input\r\n type=\"radio\"\r\n [name]=\"question.id\" \r\n [value]=\"option.options.id\"\r\n />\r\n <span class=\"assessment-text-regular-18 mt-5\">{{ option.options.optionName[0]?.text }}</span>\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"answer-input\" *ngIf=\"question?.questionType?.code === 'QUESTION_TYPE.SUBJECTIVE_SHORT'\">\r\n <input *ngIf=\"question?.questionType?.code === 'QUESTION_TYPE.SUBJECTIVE_SHORT'\" \r\n [id]=\"'question_' + i\"\r\n rows=\"4\" class=\"input-tag\" placeholder=\"Enter your answer here\"/>\r\n </div>\r\n <div class=\"answer-input\" *ngIf=\"question.questionType.code === 'QUESTION_TYPE.DATE'\">\r\n <div class=\"form-field content dpicker\">\r\n <label for=\"datePickerInput\" class=\"sr-only\">Select Date</label>\r\n <input \r\n type=\"date\" \r\n id=\"datePickerInput\"\r\n class=\"answer-box-border p-3 dpickerInput\"\r\n [placeholder]=\"'DATE-FORMAT'\" \r\n />\r\n </div> \r\n </div>\r\n <div class=\"divider\"></div>\r\n </div>\r\n</div> -->\r\n\r\n<!-- <div class=\"radio-group\">\r\n <label *ngFor=\"let option of optionsList.defaultOptionsList\">\r\n <input\r\n type=\"radio\" \r\n [value]=\"option.options.id\"\r\n [name]=\"optionsList.id\"\r\n />\r\n <span class=\"assessment-text-regular-18 mt-5\">{{ option.options.optionName[0]?.text }}</span>\r\n </label>\r\n</div> -->\r\n<mat-radio-group\r\n aria-labelledby=\"example-radio-group-label\"\r\n [formControl]=\"formControl\" class=\"example-radio-group\">\r\n <ng-container *ngFor=\"let option of optionsList.defaultOptionsList | orderBy\">\r\n <mat-radio-button class=\"example-radio-button\" (change)=\"optionDetection(option)\"\r\n (viewChild)=\"onChildDataChanged($event)\" [value]=\"option.options\" \r\n [required]=\"required\">{{ option.options.optionName[0]?.text }}</mat-radio-button>\r\n </ng-container>\r\n</mat-radio-group>\r\n", styles: [""] }]
|
|
52
|
+
}], ctorParameters: function () { return []; }, propDecorators: { required: [{
|
|
53
|
+
type: Input
|
|
54
|
+
}], optionsList: [{
|
|
55
|
+
type: Input
|
|
56
|
+
}], viewChild: [{
|
|
57
|
+
type: Output
|
|
58
|
+
}] } });
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tdHlwZS1vYmplY3RpdmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXNzZXNzbWVudC10YWtlci9zcmMvbGliL3NoYXJlZC9zaGFyZWQtY29tcG9uZW50cy9xdWVzdGlvbi10eXBlLW9iamVjdGl2ZS9xdWVzdGlvbi10eXBlLW9iamVjdGl2ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc3Nlc3NtZW50LXRha2VyL3NyYy9saWIvc2hhcmVkL3NoYXJlZC1jb21wb25lbnRzL3F1ZXN0aW9uLXR5cGUtb2JqZWN0aXZlL3F1ZXN0aW9uLXR5cGUtb2JqZWN0aXZlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBbUMsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQWNqRyxNQUFNLE9BQU8sOEJBQThCO0lBTXpDO1FBSFUsY0FBUyxHQUFDLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEMsZ0JBQVcsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztJQUduRCxDQUFDO0lBR0YsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQVk7UUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBWTtRQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxJQUFTO1FBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxlQUFlLENBQUMsR0FBUTtRQUN0QixPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixHQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNsRCxJQUFJLElBQUksR0FBQztZQUNQLFFBQVEsRUFBQyxJQUFJLENBQUMsV0FBVztZQUN6QixJQUFJLEVBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDO1NBQzlCLENBQUE7UUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixHQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN0RCxHQUFHLENBQUMsbUJBQW1CLENBQUMsRUFBRSxNQUFNLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUE7SUFDakUsQ0FBQzs7NEhBbENVLDhCQUE4QjtnSEFBOUIsOEJBQThCLHlKQVI5QjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDhCQUE4QixDQUFDO1lBQzdELEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRiwwQkNiSCxvbUdBOERBOzRGRC9DYSw4QkFBOEI7a0JBWjFDLFNBQVM7K0JBQ0UsNkJBQTZCLGFBRzVCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLCtCQUErQixDQUFDOzRCQUM3RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjswRUFHUSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0ksU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1BcnJheSwgRm9ybUNvbnRyb2wsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItcXVlc3Rpb24tdHlwZS1vYmplY3RpdmUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWVzdGlvbi10eXBlLW9iamVjdGl2ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcXVlc3Rpb24tdHlwZS1vYmplY3RpdmUuY29tcG9uZW50LmNzcyddLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUXVlc3Rpb25UeXBlT2JqZWN0aXZlQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBRdWVzdGlvblR5cGVPYmplY3RpdmVDb21wb25lbnQgIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIEBJbnB1dCgpIHJlcXVpcmVkOmFueTtcclxuICBASW5wdXQoKSBvcHRpb25zTGlzdDphbnk7XHJcbiAgQE91dHB1dCgpIHZpZXdDaGlsZD1uZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgcHVibGljIGZvcm1Db250cm9sOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgfVxyXG5cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IEZ1bmN0aW9uKSB7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbCkgPT4gZm4odmFsKSk7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogRnVuY3Rpb24pIHtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsKSA9PiBmbih2YWwpKTtcclxuICB9XHJcblxyXG4gIG9uQ2hpbGREYXRhQ2hhbmdlZChkYXRhOiBhbnkpIHtcclxuICAgIHRoaXMudmlld0NoaWxkLmVtaXQoZGF0YSk7XHJcbiAgfVxyXG5cclxuICBvcHRpb25EZXRlY3Rpb24ob2JqOiBhbnkpe1xyXG4gICAgY29uc29sZS5sb2coXCJ0aGUgb2JqZWN0IGlzIFwiK0pTT04uc3RyaW5naWZ5KG9iaikpO1xyXG4gICAgbGV0IGRhdGE9e1xyXG4gICAgICBxdWVzdGlvbjp0aGlzLm9wdGlvbnNMaXN0LFxyXG4gICAgICBsaXN0Om9ialsnY2hpbGRRdWVzdGlvbkxpc3QnXVxyXG4gICAgfVxyXG4gICAgY29uc29sZS5sb2coXCJ0aGUgY2hpbGRMaXN0IGlzIFwiK0pTT04uc3RyaW5naWZ5KGRhdGEpKTtcclxuICAgIG9ialsnY2hpbGRRdWVzdGlvbkxpc3QnXT8ubGVuZ3RoP3RoaXMudmlld0NoaWxkLmVtaXQoZGF0YSk6bnVsbFxyXG4gIH1cclxufVxyXG4iLCI8IS0tIDxkaXYgY2xhc3M9XCJxdWVzdGlvbi1wYXJlbnQtY29udGFpbmVyXCI+XHJcbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBxdWVzdGlvbiBvZiBhc3Nlc3NtZW50UXVlc3Rpb25zTGlzdDsgbGV0IGk9aW5kZXhcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicXVlc3Rpb24tbnVtLXRleHQgbWUtNFwiPlxyXG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJhc3Nlc3NtZW50LXRleHQtZ3JleS1uaW5lIGFzc2Vzc21lbnQtdGV4dC1zZW1pYm9sZC0xOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7aSsxfX0uJm5ic3A7e3txdWVzdGlvbi5xdWVzdGlvblRleHRbMF0/LnRleHR9fVxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWFuZGF0b3J5XCIgKm5nSWY9XCJxdWVzdGlvblsnaXNNYW5kYXRvcnknXVwiPio8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgIDwhLS0gPHNwYW4gY2xhc3M9XCJxdWVzdGlvbi1zdWItdGV4dCBvcGFjaXR5LTdcIlxyXG4gICAgICAgICAgICAqbmdJZj1cInF1ZXN0aW9uLnF1ZXN0aW9uU3ViVGV4dFswXS50ZXh0IT09JydcIiBbaW5uZXJIVE1MXT1cInF1ZXN0aW9uLnF1ZXN0aW9uU3ViVGV4dFswXS50ZXh0XCI+XHJcbiAgICAgICAgPC9zcGFuPiAtLT5cclxuICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJhbnN3ZXItaW5wdXRcIiAqbmdJZj1cInF1ZXN0aW9uLnF1ZXN0aW9uVHlwZS5jb2RlID09PSAnUVVFU1RJT05fVFlQRS5PQkpFQ1RJVkUnXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyYWRpby1ncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgcXVlc3Rpb24uZGVmYXVsdE9wdGlvbnNMaXN0XCI+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxyXG4gICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cInF1ZXN0aW9uLmlkXCIgIFxyXG4gICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb24ub3B0aW9ucy5pZFwiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhc3Nlc3NtZW50LXRleHQtcmVndWxhci0xOCBtdC01XCI+e3sgb3B0aW9uLm9wdGlvbnMub3B0aW9uTmFtZVswXT8udGV4dCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhbnN3ZXItaW5wdXRcIiAqbmdJZj1cInF1ZXN0aW9uPy5xdWVzdGlvblR5cGU/LmNvZGUgPT09ICdRVUVTVElPTl9UWVBFLlNVQkpFQ1RJVkVfU0hPUlQnXCI+XHJcbiAgICAgICAgICAgICA8aW5wdXQgKm5nSWY9XCJxdWVzdGlvbj8ucXVlc3Rpb25UeXBlPy5jb2RlID09PSAnUVVFU1RJT05fVFlQRS5TVUJKRUNUSVZFX1NIT1JUJ1wiIFxyXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCIncXVlc3Rpb25fJyArIGlcIlxyXG4gICAgICAgICAgICAgICAgICAgIHJvd3M9XCI0XCIgY2xhc3M9XCJpbnB1dC10YWdcIiBwbGFjZWhvbGRlcj1cIkVudGVyIHlvdXIgYW5zd2VyIGhlcmVcIi8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFuc3dlci1pbnB1dFwiICpuZ0lmPVwicXVlc3Rpb24ucXVlc3Rpb25UeXBlLmNvZGUgPT09ICdRVUVTVElPTl9UWVBFLkRBVEUnXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkIGNvbnRlbnQgZHBpY2tlclwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImRhdGVQaWNrZXJJbnB1dFwiIGNsYXNzPVwic3Itb25seVwiPlNlbGVjdCBEYXRlPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJkYXRlXCIgXHJcbiAgICAgICAgICAgICAgICBpZD1cImRhdGVQaWNrZXJJbnB1dFwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFuc3dlci1ib3gtYm9yZGVyIHAtMyBkcGlja2VySW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidEQVRFLUZPUk1BVCdcIiAgXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj4gIFxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkaXZpZGVyXCI+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+IC0tPlxyXG5cclxuPCEtLSA8ZGl2IGNsYXNzPVwicmFkaW8tZ3JvdXBcIj5cclxuICAgIDxsYWJlbCAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnNMaXN0LmRlZmF1bHRPcHRpb25zTGlzdFwiPlxyXG4gICAgPGlucHV0XHJcbiAgICAgICAgdHlwZT1cInJhZGlvXCIgXHJcbiAgICAgICAgW3ZhbHVlXT1cIm9wdGlvbi5vcHRpb25zLmlkXCJcclxuICAgICAgICBbbmFtZV09XCJvcHRpb25zTGlzdC5pZFwiXHJcbiAgICAvPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJhc3Nlc3NtZW50LXRleHQtcmVndWxhci0xOCBtdC01XCI+e3sgb3B0aW9uLm9wdGlvbnMub3B0aW9uTmFtZVswXT8udGV4dCB9fTwvc3Bhbj5cclxuICAgIDwvbGFiZWw+XHJcbjwvZGl2PiAtLT5cclxuPG1hdC1yYWRpby1ncm91cFxyXG4gIGFyaWEtbGFiZWxsZWRieT1cImV4YW1wbGUtcmFkaW8tZ3JvdXAtbGFiZWxcIlxyXG4gIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiIGNsYXNzPVwiZXhhbXBsZS1yYWRpby1ncm91cFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnNMaXN0LmRlZmF1bHRPcHRpb25zTGlzdCB8IG9yZGVyQnlcIj5cclxuICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvbiBjbGFzcz1cImV4YW1wbGUtcmFkaW8tYnV0dG9uXCIgKGNoYW5nZSk9XCJvcHRpb25EZXRlY3Rpb24ob3B0aW9uKVwiXHJcbiAgICAgICAgKHZpZXdDaGlsZCk9XCJvbkNoaWxkRGF0YUNoYW5nZWQoJGV2ZW50KVwiIFt2YWx1ZV09XCJvcHRpb24ub3B0aW9uc1wiIFxyXG4gICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiPnt7IG9wdGlvbi5vcHRpb25zLm9wdGlvbk5hbWVbMF0/LnRleHQgfX08L21hdC1yYWRpby1idXR0b24+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuPC9tYXQtcmFkaW8tZ3JvdXA+XHJcbiJdfQ==
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Component, forwardRef, Input } from '@angular/core';
|
|
2
|
+
import { FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/material/radio";
|
|
5
|
+
import * as i2 from "@angular/material/form-field";
|
|
6
|
+
import * as i3 from "@angular/common";
|
|
7
|
+
import * as i4 from "@angular/forms";
|
|
8
|
+
import * as i5 from "@angular/material/input";
|
|
9
|
+
import * as i6 from "../../pipe/order-by.pipe";
|
|
10
|
+
export class QuestionTypeObjectiveSubComponent {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.formControl = new FormControl();
|
|
13
|
+
}
|
|
14
|
+
writeValue(value) {
|
|
15
|
+
this.formControl.setValue(value);
|
|
16
|
+
}
|
|
17
|
+
registerOnChange(fn) {
|
|
18
|
+
this.formControl.valueChanges.subscribe((val) => fn(val));
|
|
19
|
+
}
|
|
20
|
+
registerOnTouched(fn) {
|
|
21
|
+
this.formControl.valueChanges.subscribe((val) => fn(val));
|
|
22
|
+
}
|
|
23
|
+
SubjectiveInputOnChange(event) {
|
|
24
|
+
const val = this.formControl.value || {};
|
|
25
|
+
val.subjective = event.target.value;
|
|
26
|
+
this.formControl.patchValue(val);
|
|
27
|
+
}
|
|
28
|
+
;
|
|
29
|
+
ObjectiveOnChange(event, data) {
|
|
30
|
+
const val = this.formControl.value || {};
|
|
31
|
+
val.objective = data.id;
|
|
32
|
+
this.formControl.patchValue(val);
|
|
33
|
+
}
|
|
34
|
+
;
|
|
35
|
+
}
|
|
36
|
+
QuestionTypeObjectiveSubComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: QuestionTypeObjectiveSubComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
37
|
+
QuestionTypeObjectiveSubComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: QuestionTypeObjectiveSubComponent, selector: "lib-question-type-objective-sub", inputs: { required: "required", optionsList: "optionsList", fieldAttributes: "fieldAttributes" }, providers: [
|
|
38
|
+
{
|
|
39
|
+
provide: NG_VALUE_ACCESSOR,
|
|
40
|
+
useExisting: forwardRef(() => QuestionTypeObjectiveSubComponent),
|
|
41
|
+
multi: true,
|
|
42
|
+
},
|
|
43
|
+
], ngImport: i0, template: "<!-- <mat-radio-group aria-labelledby=\"example-radio-group-label\" class=\"example-radio-group\">\r\n <ng-container *ngFor=\"let option of optionsList.defaultOptionsList | orderBy\">\r\n <mat-radio-button [formControl]=\"formControl\" class=\"example-radio-button\" [value]=\"option.options\">{{ option.options.optionName[0]?.text\r\n }}</mat-radio-button>\r\n </ng-container>\r\n</mat-radio-group> -->\r\n<mat-radio-group\r\n aria-labelledby=\"example-radio-group-label\"\r\n \r\n name=\"{{fieldAttributes.id}}[objective]\"\r\n class=\"example-radio-group\">\r\n <ng-container *ngFor=\"let option of optionsList.defaultOptionsList | orderBy\">\r\n <mat-radio-button formControlName=\"objective\" class=\"example-radio-button\" (change)=\"ObjectiveOnChange($event, option.options)\" [value]=\"option.options\" [required]=\"required\">{{ option.options.optionName[0]?.text }}</mat-radio-button>\r\n </ng-container>\r\n</mat-radio-group>\r\n<mat-form-field class=\"example-full-width radimatc\">\r\n <input matInput formControlName=\"subjective\"\r\n name=\"{{fieldAttributes.id}}[subjective]\" class=\"form-check-input\" placeholder=\"Enter your answer here\" [required]=\"required\" (change)=\"SubjectiveInputOnChange($event)\">\r\n</mat-form-field>\r\n", styles: [""], components: [{ type: i1.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }], directives: [{ type: i1.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }], pipes: { "orderBy": i6.OrderByPipe } });
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: QuestionTypeObjectiveSubComponent, decorators: [{
|
|
45
|
+
type: Component,
|
|
46
|
+
args: [{ selector: 'lib-question-type-objective-sub', providers: [
|
|
47
|
+
{
|
|
48
|
+
provide: NG_VALUE_ACCESSOR,
|
|
49
|
+
useExisting: forwardRef(() => QuestionTypeObjectiveSubComponent),
|
|
50
|
+
multi: true,
|
|
51
|
+
},
|
|
52
|
+
], template: "<!-- <mat-radio-group aria-labelledby=\"example-radio-group-label\" class=\"example-radio-group\">\r\n <ng-container *ngFor=\"let option of optionsList.defaultOptionsList | orderBy\">\r\n <mat-radio-button [formControl]=\"formControl\" class=\"example-radio-button\" [value]=\"option.options\">{{ option.options.optionName[0]?.text\r\n }}</mat-radio-button>\r\n </ng-container>\r\n</mat-radio-group> -->\r\n<mat-radio-group\r\n aria-labelledby=\"example-radio-group-label\"\r\n \r\n name=\"{{fieldAttributes.id}}[objective]\"\r\n class=\"example-radio-group\">\r\n <ng-container *ngFor=\"let option of optionsList.defaultOptionsList | orderBy\">\r\n <mat-radio-button formControlName=\"objective\" class=\"example-radio-button\" (change)=\"ObjectiveOnChange($event, option.options)\" [value]=\"option.options\" [required]=\"required\">{{ option.options.optionName[0]?.text }}</mat-radio-button>\r\n </ng-container>\r\n</mat-radio-group>\r\n<mat-form-field class=\"example-full-width radimatc\">\r\n <input matInput formControlName=\"subjective\"\r\n name=\"{{fieldAttributes.id}}[subjective]\" class=\"form-check-input\" placeholder=\"Enter your answer here\" [required]=\"required\" (change)=\"SubjectiveInputOnChange($event)\">\r\n</mat-form-field>\r\n", styles: [""] }]
|
|
53
|
+
}], ctorParameters: function () { return []; }, propDecorators: { required: [{
|
|
54
|
+
type: Input
|
|
55
|
+
}], optionsList: [{
|
|
56
|
+
type: Input
|
|
57
|
+
}], fieldAttributes: [{
|
|
58
|
+
type: Input
|
|
59
|
+
}] } });
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tdHlwZS1vYmplY3RpdmUtc3ViLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fzc2Vzc21lbnQtdGFrZXIvc3JjL2xpYi9zaGFyZWQvc2hhcmVkLWNvbXBvbmVudHMvcXVlc3Rpb24tdHlwZS1vYmplY3RpdmUtc3ViL3F1ZXN0aW9uLXR5cGUtb2JqZWN0aXZlLXN1Yi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc3Nlc3NtZW50LXRha2VyL3NyYy9saWIvc2hhcmVkL3NoYXJlZC1jb21wb25lbnRzL3F1ZXN0aW9uLXR5cGUtb2JqZWN0aXZlLXN1Yi9xdWVzdGlvbi10eXBlLW9iamVjdGl2ZS1zdWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBd0IsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBY3RGLE1BQU0sT0FBTyxpQ0FBaUM7SUFLNUM7UUFETyxnQkFBVyxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFakIsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQVk7UUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBWTtRQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxLQUFVO1FBQ2hDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUN6QyxHQUFHLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFBQSxDQUFDO0lBR0YsaUJBQWlCLENBQUMsS0FBVSxFQUFFLElBQVM7UUFDckMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ3pDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBQUEsQ0FBQzs7K0hBOUJTLGlDQUFpQzttSEFBakMsaUNBQWlDLDRKQVJqQztRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlDQUFpQyxDQUFDO1lBQ2hFLEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRiwwQkNiSCx1eENBbUJBOzRGREphLGlDQUFpQztrQkFaN0MsU0FBUzsrQkFDRSxpQ0FBaUMsYUFHaEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0NBQWtDLENBQUM7NEJBQ2hFLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzBFQUdRLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQ29udHJvbCwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1xdWVzdGlvbi10eXBlLW9iamVjdGl2ZS1zdWInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWVzdGlvbi10eXBlLW9iamVjdGl2ZS1zdWIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3F1ZXN0aW9uLXR5cGUtb2JqZWN0aXZlLXN1Yi5jb21wb25lbnQuY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBRdWVzdGlvblR5cGVPYmplY3RpdmVTdWJDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFF1ZXN0aW9uVHlwZU9iamVjdGl2ZVN1YkNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBASW5wdXQoKSByZXF1aXJlZDphbnk7XHJcbiAgQElucHV0KCkgb3B0aW9uc0xpc3Q6YW55O1xyXG4gIEBJbnB1dCgpIGZpZWxkQXR0cmlidXRlczogYW55O1xyXG4gIHB1YmxpYyBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogRnVuY3Rpb24pIHtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsKSA9PiBmbih2YWwpKTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBGdW5jdGlvbikge1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWwpID0+IGZuKHZhbCkpO1xyXG4gIH1cclxuXHJcbiAgU3ViamVjdGl2ZUlucHV0T25DaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3QgdmFsID0gdGhpcy5mb3JtQ29udHJvbC52YWx1ZSB8fCB7fTtcclxuICAgIHZhbC5zdWJqZWN0aXZlID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbC5wYXRjaFZhbHVlKHZhbCk7XHJcbiAgfTtcclxuXHJcbiAgXHJcbiAgT2JqZWN0aXZlT25DaGFuZ2UoZXZlbnQ6IGFueSwgZGF0YTogYW55KSB7XHJcbiAgICBjb25zdCB2YWwgPSB0aGlzLmZvcm1Db250cm9sLnZhbHVlIHx8IHt9O1xyXG4gICAgdmFsLm9iamVjdGl2ZSA9IGRhdGEuaWQ7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLnBhdGNoVmFsdWUodmFsKTtcclxuICB9O1xyXG5cclxuXHJcbn1cclxuIiwiPCEtLSA8bWF0LXJhZGlvLWdyb3VwIGFyaWEtbGFiZWxsZWRieT1cImV4YW1wbGUtcmFkaW8tZ3JvdXAtbGFiZWxcIiBjbGFzcz1cImV4YW1wbGUtcmFkaW8tZ3JvdXBcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zTGlzdC5kZWZhdWx0T3B0aW9uc0xpc3QgfCBvcmRlckJ5XCI+XHJcbiAgICAgICAgPG1hdC1yYWRpby1idXR0b24gW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCIgY2xhc3M9XCJleGFtcGxlLXJhZGlvLWJ1dHRvblwiIFt2YWx1ZV09XCJvcHRpb24ub3B0aW9uc1wiPnt7IG9wdGlvbi5vcHRpb25zLm9wdGlvbk5hbWVbMF0/LnRleHRcclxuICAgICAgICAgICAgfX08L21hdC1yYWRpby1idXR0b24+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuPC9tYXQtcmFkaW8tZ3JvdXA+IC0tPlxyXG48bWF0LXJhZGlvLWdyb3VwXHJcbiAgYXJpYS1sYWJlbGxlZGJ5PVwiZXhhbXBsZS1yYWRpby1ncm91cC1sYWJlbFwiXHJcbiBcclxuICBuYW1lPVwie3tmaWVsZEF0dHJpYnV0ZXMuaWR9fVtvYmplY3RpdmVdXCJcclxuICBjbGFzcz1cImV4YW1wbGUtcmFkaW8tZ3JvdXBcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zTGlzdC5kZWZhdWx0T3B0aW9uc0xpc3QgfCBvcmRlckJ5XCI+XHJcbiAgICAgICAgPG1hdC1yYWRpby1idXR0b24gIGZvcm1Db250cm9sTmFtZT1cIm9iamVjdGl2ZVwiIGNsYXNzPVwiZXhhbXBsZS1yYWRpby1idXR0b25cIiAoY2hhbmdlKT1cIk9iamVjdGl2ZU9uQ2hhbmdlKCRldmVudCwgb3B0aW9uLm9wdGlvbnMpXCIgW3ZhbHVlXT1cIm9wdGlvbi5vcHRpb25zXCIgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCI+e3sgb3B0aW9uLm9wdGlvbnMub3B0aW9uTmFtZVswXT8udGV4dCB9fTwvbWF0LXJhZGlvLWJ1dHRvbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG48L21hdC1yYWRpby1ncm91cD5cclxuPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZXhhbXBsZS1mdWxsLXdpZHRoIHJhZGltYXRjXCI+XHJcbiAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwic3ViamVjdGl2ZVwiXHJcbiAgICBuYW1lPVwie3tmaWVsZEF0dHJpYnV0ZXMuaWR9fVtzdWJqZWN0aXZlXVwiIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIHBsYWNlaG9sZGVyPVwiRW50ZXIgeW91ciBhbnN3ZXIgaGVyZVwiIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiIChjaGFuZ2UpPVwiU3ViamVjdGl2ZUlucHV0T25DaGFuZ2UoJGV2ZW50KVwiPlxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG4iXX0=
|
package/esm2020/lib/shared/shared-components/question-type-rating/question-type-rating.component.mjs
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Component, Input, forwardRef } from '@angular/core';
|
|
2
|
+
import { FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/material/button-toggle";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
import * as i3 from "../../pipe/order-by.pipe";
|
|
7
|
+
export class QuestionTypeRatingComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.formControl = new FormControl();
|
|
10
|
+
}
|
|
11
|
+
toggleSelection(data) {
|
|
12
|
+
//data.selected = !data.selected;
|
|
13
|
+
console.log(data);
|
|
14
|
+
this.formControl.patchValue(data);
|
|
15
|
+
}
|
|
16
|
+
;
|
|
17
|
+
writeValue(value) {
|
|
18
|
+
this.formControl.setValue(value);
|
|
19
|
+
}
|
|
20
|
+
registerOnChange(fn) {
|
|
21
|
+
this.formControl.valueChanges.subscribe((val) => fn(val));
|
|
22
|
+
}
|
|
23
|
+
registerOnTouched(fn) {
|
|
24
|
+
this.formControl.valueChanges.subscribe((val) => fn(val));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
QuestionTypeRatingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: QuestionTypeRatingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
28
|
+
QuestionTypeRatingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: QuestionTypeRatingComponent, selector: "lib-question-type-rating", inputs: { required: "required", optionsList: "optionsList" }, providers: [
|
|
29
|
+
{
|
|
30
|
+
provide: NG_VALUE_ACCESSOR,
|
|
31
|
+
useExisting: forwardRef(() => QuestionTypeRatingComponent),
|
|
32
|
+
multi: true,
|
|
33
|
+
},
|
|
34
|
+
], ngImport: i0, template: "<mat-button-toggle-group\r\n appearance=\"legacy\" class=\"custmattog\">\r\n <ng-container *ngFor=\"let option of optionsList.defaultOptionsList | orderBy\">\r\n <mat-button-toggle (change)=\"toggleSelection(option.options)\" value=\"{{option.options.id}}\">\r\n {{ option.options.optionName[0]?.text }}</mat-button-toggle>\r\n </ng-container>\r\n</mat-button-toggle-group>", styles: [""], components: [{ type: i1.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }], directives: [{ type: i1.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "orderBy": i3.OrderByPipe } });
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: QuestionTypeRatingComponent, decorators: [{
|
|
36
|
+
type: Component,
|
|
37
|
+
args: [{ selector: 'lib-question-type-rating', providers: [
|
|
38
|
+
{
|
|
39
|
+
provide: NG_VALUE_ACCESSOR,
|
|
40
|
+
useExisting: forwardRef(() => QuestionTypeRatingComponent),
|
|
41
|
+
multi: true,
|
|
42
|
+
},
|
|
43
|
+
], template: "<mat-button-toggle-group\r\n appearance=\"legacy\" class=\"custmattog\">\r\n <ng-container *ngFor=\"let option of optionsList.defaultOptionsList | orderBy\">\r\n <mat-button-toggle (change)=\"toggleSelection(option.options)\" value=\"{{option.options.id}}\">\r\n {{ option.options.optionName[0]?.text }}</mat-button-toggle>\r\n </ng-container>\r\n</mat-button-toggle-group>", styles: [""] }]
|
|
44
|
+
}], ctorParameters: function () { return []; }, propDecorators: { required: [{
|
|
45
|
+
type: Input
|
|
46
|
+
}], optionsList: [{
|
|
47
|
+
type: Input
|
|
48
|
+
}] } });
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tdHlwZS1yYXRpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXNzZXNzbWVudC10YWtlci9zcmMvbGliL3NoYXJlZC9zaGFyZWQtY29tcG9uZW50cy9xdWVzdGlvbi10eXBlLXJhdGluZy9xdWVzdGlvbi10eXBlLXJhdGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc3Nlc3NtZW50LXRha2VyL3NyYy9saWIvc2hhcmVkL3NoYXJlZC1jb21wb25lbnRzL3F1ZXN0aW9uLXR5cGUtcmF0aW5nL3F1ZXN0aW9uLXR5cGUtcmF0aW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQXdCLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQWN0RixNQUFNLE9BQU8sMkJBQTJCO0lBS3RDO1FBRk8sZ0JBQVcsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztJQUVwQyxDQUFDO0lBRWpCLGVBQWUsQ0FBQyxJQUFTO1FBQ3ZCLGlDQUFpQztRQUNqQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFBQSxDQUFDO0lBRUYsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQVk7UUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBWTtRQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7O3lIQXZCVSwyQkFBMkI7NkdBQTNCLDJCQUEyQixpSEFSM0I7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztZQUMxRCxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsMEJDYkgsa1pBTTBCOzRGRFNiLDJCQUEyQjtrQkFadkMsU0FBUzsrQkFDRSwwQkFBMEIsYUFHekI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsNEJBQTRCLENBQUM7NEJBQzFELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzBFQUdRLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItcXVlc3Rpb24tdHlwZS1yYXRpbmcnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWVzdGlvbi10eXBlLXJhdGluZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcXVlc3Rpb24tdHlwZS1yYXRpbmcuY29tcG9uZW50LmNzcyddLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUXVlc3Rpb25UeXBlUmF0aW5nQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBRdWVzdGlvblR5cGVSYXRpbmdDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgQElucHV0KCkgcmVxdWlyZWQ6YW55O1xyXG4gIEBJbnB1dCgpIG9wdGlvbnNMaXN0OiBhbnk7XHJcbiAgcHVibGljIGZvcm1Db250cm9sOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICB0b2dnbGVTZWxlY3Rpb24oZGF0YTogYW55KSB7XHJcbiAgICAvL2RhdGEuc2VsZWN0ZWQgPSAhZGF0YS5zZWxlY3RlZDtcclxuICAgIGNvbnNvbGUubG9nKGRhdGEpO1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbC5wYXRjaFZhbHVlKGRhdGEpO1xyXG4gIH07XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBGdW5jdGlvbikge1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWwpID0+IGZuKHZhbCkpO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IEZ1bmN0aW9uKSB7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbCkgPT4gZm4odmFsKSk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXBcclxuICAgIGFwcGVhcmFuY2U9XCJsZWdhY3lcIiBjbGFzcz1cImN1c3RtYXR0b2dcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zTGlzdC5kZWZhdWx0T3B0aW9uc0xpc3QgfCBvcmRlckJ5XCI+XHJcbiAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIChjaGFuZ2UpPVwidG9nZ2xlU2VsZWN0aW9uKG9wdGlvbi5vcHRpb25zKVwiIHZhbHVlPVwie3tvcHRpb24ub3B0aW9ucy5pZH19XCI+XHJcbiAgICAgICAgICAgIHt7IG9wdGlvbi5vcHRpb25zLm9wdGlvbk5hbWVbMF0/LnRleHQgfX08L21hdC1idXR0b24tdG9nZ2xlPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbjwvbWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXA+Il19
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { COMMA, ENTER, SEMICOLON } from "@angular/cdk/keycodes";
|
|
2
|
+
import { Component, Input, ViewChild, forwardRef } from "@angular/core";
|
|
3
|
+
import { FormControl, NG_VALUE_ACCESSOR } from "@angular/forms";
|
|
4
|
+
import { map, startWith } from "rxjs/operators";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/material/dialog";
|
|
7
|
+
import * as i2 from "@angular/material/form-field";
|
|
8
|
+
import * as i3 from "@angular/material/chips";
|
|
9
|
+
import * as i4 from "@angular/material/icon";
|
|
10
|
+
import * as i5 from "@angular/material/autocomplete";
|
|
11
|
+
import * as i6 from "@angular/material/core";
|
|
12
|
+
import * as i7 from "@angular/common";
|
|
13
|
+
import * as i8 from "@angular/forms";
|
|
14
|
+
export class QuestionTypeSearchableTagComponent {
|
|
15
|
+
constructor(dialog) {
|
|
16
|
+
this.dialog = dialog;
|
|
17
|
+
this.visible = true;
|
|
18
|
+
this.selectable = true;
|
|
19
|
+
this.removable = true;
|
|
20
|
+
this.separatorKeysCodes = [ENTER, COMMA, SEMICOLON, 188];
|
|
21
|
+
this.formControl = new FormControl();
|
|
22
|
+
this.options = [];
|
|
23
|
+
this.allOptions = ["Lemon", "Lime", "Orange", "Strawberry"];
|
|
24
|
+
this.filteredOptions = this.formControl.valueChanges.pipe(startWith(null), map((option) => option ? this._filter(option) : this.allOptions.slice()));
|
|
25
|
+
}
|
|
26
|
+
writeValue(value) {
|
|
27
|
+
this.formControl.setValue(value);
|
|
28
|
+
}
|
|
29
|
+
registerOnChange(fn) {
|
|
30
|
+
this.formControl.valueChanges.subscribe((val) => fn(val));
|
|
31
|
+
}
|
|
32
|
+
registerOnTouched(fn) {
|
|
33
|
+
this.formControl.valueChanges.subscribe((val) => fn(val));
|
|
34
|
+
}
|
|
35
|
+
add(event) {
|
|
36
|
+
const input = event.input;
|
|
37
|
+
const value = event.value;
|
|
38
|
+
// Add our option
|
|
39
|
+
if ((value || "").trim()) {
|
|
40
|
+
this.options.push(value.trim());
|
|
41
|
+
}
|
|
42
|
+
// Reset the input value
|
|
43
|
+
if (input) {
|
|
44
|
+
input.value = "";
|
|
45
|
+
}
|
|
46
|
+
this.formControl.setValue(null);
|
|
47
|
+
this.updateControlValue();
|
|
48
|
+
}
|
|
49
|
+
remove(option) {
|
|
50
|
+
const index = this.options.indexOf(option);
|
|
51
|
+
if (index >= 0) {
|
|
52
|
+
this.options.splice(index, 1);
|
|
53
|
+
}
|
|
54
|
+
this.updateControlValue();
|
|
55
|
+
}
|
|
56
|
+
selected(event) {
|
|
57
|
+
this.options.push(event.option.viewValue);
|
|
58
|
+
this.optionInput.nativeElement.value = "";
|
|
59
|
+
this.formControl.setValue(null);
|
|
60
|
+
this.updateControlValue();
|
|
61
|
+
}
|
|
62
|
+
updateControlValue() {
|
|
63
|
+
this.formControl.patchValue(this.options);
|
|
64
|
+
}
|
|
65
|
+
openDialog(templateRef) {
|
|
66
|
+
this.dialog.open(templateRef);
|
|
67
|
+
}
|
|
68
|
+
_filter(value) {
|
|
69
|
+
const filterValue = value.toLowerCase();
|
|
70
|
+
return this.allOptions.filter(option => option.toLowerCase().indexOf(filterValue) === 0);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
QuestionTypeSearchableTagComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: QuestionTypeSearchableTagComponent, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
74
|
+
QuestionTypeSearchableTagComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: QuestionTypeSearchableTagComponent, selector: "lib-question-type-searchable-tag", inputs: { required: "required", optionsList: "optionsList", fieldAttributes: "fieldAttributes" }, providers: [
|
|
75
|
+
{
|
|
76
|
+
provide: NG_VALUE_ACCESSOR,
|
|
77
|
+
useExisting: forwardRef(() => QuestionTypeSearchableTagComponent),
|
|
78
|
+
multi: true,
|
|
79
|
+
},
|
|
80
|
+
], viewQueries: [{ propertyName: "optionInput", first: true, predicate: ["optionInput"], descendants: true }, { propertyName: "matAutocomplete", first: true, predicate: ["auto"], descendants: true }], ngImport: i0, template: "<mat-form-field class=\"example-chip-list\">\r\n <mat-chip-list #chipList>\r\n <mat-chip *ngFor=\"let option of options\" [selectable]=\"selectable\" [removable]=\"removable\"\r\n (removed)=\"remove(option)\">\r\n {{option}}\r\n <mat-icon matChipRemove *ngIf=\"removable\">cancel</mat-icon>\r\n </mat-chip>\r\n <input placeholder=\"\" #optionInput [formControl]=\"formControl\" [required]=\"required\" [matAutocomplete]=\"auto\"\r\n [matChipInputFor]=\"chipList\" [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\r\n (matChipInputTokenEnd)=\"add($event)\">\r\n </mat-chip-list>\r\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"selected($event)\">\r\n <mat-option *ngFor=\"let option of filteredOptions | async\" [value]=\"option\">\r\n {{option}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n</mat-form-field>\r\n\r\n\r\n", styles: [""], components: [{ type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i3.MatChipList, selector: "mat-chip-list", inputs: ["errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i5.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.MatChipRemove, selector: "[matChipRemove]" }, { type: i8.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: i5.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i3.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i8.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }], pipes: { "async": i7.AsyncPipe } });
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: QuestionTypeSearchableTagComponent, decorators: [{
|
|
82
|
+
type: Component,
|
|
83
|
+
args: [{ selector: 'lib-question-type-searchable-tag', providers: [
|
|
84
|
+
{
|
|
85
|
+
provide: NG_VALUE_ACCESSOR,
|
|
86
|
+
useExisting: forwardRef(() => QuestionTypeSearchableTagComponent),
|
|
87
|
+
multi: true,
|
|
88
|
+
},
|
|
89
|
+
], template: "<mat-form-field class=\"example-chip-list\">\r\n <mat-chip-list #chipList>\r\n <mat-chip *ngFor=\"let option of options\" [selectable]=\"selectable\" [removable]=\"removable\"\r\n (removed)=\"remove(option)\">\r\n {{option}}\r\n <mat-icon matChipRemove *ngIf=\"removable\">cancel</mat-icon>\r\n </mat-chip>\r\n <input placeholder=\"\" #optionInput [formControl]=\"formControl\" [required]=\"required\" [matAutocomplete]=\"auto\"\r\n [matChipInputFor]=\"chipList\" [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\r\n (matChipInputTokenEnd)=\"add($event)\">\r\n </mat-chip-list>\r\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"selected($event)\">\r\n <mat-option *ngFor=\"let option of filteredOptions | async\" [value]=\"option\">\r\n {{option}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n</mat-form-field>\r\n\r\n\r\n", styles: [""] }]
|
|
90
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialog }]; }, propDecorators: { required: [{
|
|
91
|
+
type: Input
|
|
92
|
+
}], optionsList: [{
|
|
93
|
+
type: Input
|
|
94
|
+
}], fieldAttributes: [{
|
|
95
|
+
type: Input
|
|
96
|
+
}], optionInput: [{
|
|
97
|
+
type: ViewChild,
|
|
98
|
+
args: ["optionInput"]
|
|
99
|
+
}], matAutocomplete: [{
|
|
100
|
+
type: ViewChild,
|
|
101
|
+
args: ["auto"]
|
|
102
|
+
}] } });
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tdHlwZS1zZWFyY2hhYmxlLXRhZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc3Nlc3NtZW50LXRha2VyL3NyYy9saWIvc2hhcmVkL3NoYXJlZC1jb21wb25lbnRzL3F1ZXN0aW9uLXR5cGUtc2VhcmNoYWJsZS10YWcvcXVlc3Rpb24tdHlwZS1zZWFyY2hhYmxlLXRhZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc3Nlc3NtZW50LXRha2VyL3NyYy9saWIvc2hhcmVkL3NoYXJlZC1jb21wb25lbnRzL3F1ZXN0aW9uLXR5cGUtc2VhcmNoYWJsZS10YWcvcXVlc3Rpb24tdHlwZS1zZWFyY2hhYmxlLXRhZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBdUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQXdCLFdBQVcsRUFBQyxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBT3JGLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7QUFlaEQsTUFBTSxPQUFPLGtDQUFrQztJQWU3QyxZQUFvQixNQUFpQjtRQUFqQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBWHJDLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsdUJBQWtCLEdBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN2RCxnQkFBVyxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO1FBRXBELFlBQU8sR0FBYSxFQUFFLENBQUM7UUFDdkIsZUFBVSxHQUFhLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFLL0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ3ZELFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFDZixHQUFHLENBQUMsQ0FBQyxNQUFxQixFQUFFLEVBQUUsQ0FDNUIsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUN4RCxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQVk7UUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBWTtRQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxHQUFHLENBQUMsS0FBd0I7UUFDMUIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUMxQixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBRTFCLGlCQUFpQjtRQUNqQixJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ2pDO1FBRUQsd0JBQXdCO1FBQ3hCLElBQUksS0FBSyxFQUFFO1lBQ1QsS0FBSyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7U0FDbEI7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQWM7UUFDbkIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFM0MsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFO1lBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQy9CO1FBQ0QsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFtQztRQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELFVBQVUsQ0FBQyxXQUE2QjtRQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU8sT0FBTyxDQUFDLEtBQWE7UUFDM0IsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRXhDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQzNCLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQzFELENBQUM7SUFDSixDQUFDOztnSUFuRlUsa0NBQWtDO29IQUFsQyxrQ0FBa0MsNkpBUmxDO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0NBQWtDLENBQUM7WUFDakUsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLGdPQ3RCSCxnNEJBbUJBOzRGREthLGtDQUFrQztrQkFaOUMsU0FBUzsrQkFDRSxrQ0FBa0MsYUFHakM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsbUNBQW1DLENBQUM7NEJBQ2pFLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2dHQUdRLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQVVvQixXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWE7Z0JBQ0wsZUFBZTtzQkFBakMsU0FBUzt1QkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ09NTUEsIEVOVEVSLCBTRU1JQ09MT04gfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2tleWNvZGVzXCI7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgZm9yd2FyZFJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQ29udHJvbCxOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQge1xyXG4gIE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQsXHJcbiAgTWF0QXV0b2NvbXBsZXRlXHJcbn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZVwiO1xyXG5pbXBvcnQgeyBNYXRDaGlwSW5wdXRFdmVudCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jaGlwc1wiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgbWFwLCBzdGFydFdpdGggfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXF1ZXN0aW9uLXR5cGUtc2VhcmNoYWJsZS10YWcnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWVzdGlvbi10eXBlLXNlYXJjaGFibGUtdGFnLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9xdWVzdGlvbi10eXBlLXNlYXJjaGFibGUtdGFnLmNvbXBvbmVudC5jc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFF1ZXN0aW9uVHlwZVNlYXJjaGFibGVUYWdDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFF1ZXN0aW9uVHlwZVNlYXJjaGFibGVUYWdDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgQElucHV0KCkgcmVxdWlyZWQ6YW55O1xyXG4gIEBJbnB1dCgpIG9wdGlvbnNMaXN0OmFueTtcclxuICBASW5wdXQoKSBmaWVsZEF0dHJpYnV0ZXM6IGFueTtcclxuICB2aXNpYmxlID0gdHJ1ZTtcclxuICBzZWxlY3RhYmxlID0gdHJ1ZTtcclxuICByZW1vdmFibGUgPSB0cnVlO1xyXG4gIHNlcGFyYXRvcktleXNDb2RlczogbnVtYmVyW10gPSBbRU5URVIsIENPTU1BLCBTRU1JQ09MT04sIDE4OF07XHJcbiAgcHVibGljIGZvcm1Db250cm9sOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xyXG4gIGZpbHRlcmVkT3B0aW9uczogT2JzZXJ2YWJsZTxzdHJpbmdbXT47XHJcbiAgb3B0aW9uczogc3RyaW5nW10gPSBbXTtcclxuICBhbGxPcHRpb25zOiBzdHJpbmdbXSA9IFtcIkxlbW9uXCIsIFwiTGltZVwiLCBcIk9yYW5nZVwiLCBcIlN0cmF3YmVycnlcIl07XHJcblxyXG4gIEBWaWV3Q2hpbGQoXCJvcHRpb25JbnB1dFwiKSBvcHRpb25JbnB1dCE6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZChcImF1dG9cIikgbWF0QXV0b2NvbXBsZXRlITogTWF0QXV0b2NvbXBsZXRlO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2cpIHsgXHJcbiAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXHJcbiAgICAgIHN0YXJ0V2l0aChudWxsKSxcclxuICAgICAgbWFwKChvcHRpb246IHN0cmluZyB8IG51bGwpID0+XHJcbiAgICAgICAgb3B0aW9uID8gdGhpcy5fZmlsdGVyKG9wdGlvbikgOiB0aGlzLmFsbE9wdGlvbnMuc2xpY2UoKVxyXG4gICAgICApXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IEZ1bmN0aW9uKSB7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbCkgPT4gZm4odmFsKSk7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogRnVuY3Rpb24pIHtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsKSA9PiBmbih2YWwpKTtcclxuICB9XHJcblxyXG4gIGFkZChldmVudDogTWF0Q2hpcElucHV0RXZlbnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQuaW5wdXQ7XHJcbiAgICBjb25zdCB2YWx1ZSA9IGV2ZW50LnZhbHVlO1xyXG5cclxuICAgIC8vIEFkZCBvdXIgb3B0aW9uXHJcbiAgICBpZiAoKHZhbHVlIHx8IFwiXCIpLnRyaW0oKSkge1xyXG4gICAgICB0aGlzLm9wdGlvbnMucHVzaCh2YWx1ZS50cmltKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFJlc2V0IHRoZSBpbnB1dCB2YWx1ZVxyXG4gICAgaWYgKGlucHV0KSB7XHJcbiAgICAgIGlucHV0LnZhbHVlID0gXCJcIjtcclxuICAgIH1cclxuICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUobnVsbCk7XHJcbiAgICB0aGlzLnVwZGF0ZUNvbnRyb2xWYWx1ZSgpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlKG9wdGlvbjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMub3B0aW9ucy5pbmRleE9mKG9wdGlvbik7XHJcblxyXG4gICAgaWYgKGluZGV4ID49IDApIHtcclxuICAgICAgdGhpcy5vcHRpb25zLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnVwZGF0ZUNvbnRyb2xWYWx1ZSgpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0ZWQoZXZlbnQ6IE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMub3B0aW9ucy5wdXNoKGV2ZW50Lm9wdGlvbi52aWV3VmFsdWUpO1xyXG4gICAgdGhpcy5vcHRpb25JbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gXCJcIjtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUobnVsbCk7XHJcbiAgICB0aGlzLnVwZGF0ZUNvbnRyb2xWYWx1ZSgpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlQ29udHJvbFZhbHVlKCl7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLnBhdGNoVmFsdWUodGhpcy5vcHRpb25zKTtcclxuICB9XHJcblxyXG4gIG9wZW5EaWFsb2codGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4pIHtcclxuICAgIHRoaXMuZGlhbG9nLm9wZW4odGVtcGxhdGVSZWYpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZmlsdGVyKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmdbXSB7XHJcbiAgICBjb25zdCBmaWx0ZXJWYWx1ZSA9IHZhbHVlLnRvTG93ZXJDYXNlKCk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuYWxsT3B0aW9ucy5maWx0ZXIoXHJcbiAgICAgIG9wdGlvbiA9PiBvcHRpb24udG9Mb3dlckNhc2UoKS5pbmRleE9mKGZpbHRlclZhbHVlKSA9PT0gMFxyXG4gICAgKTtcclxuICB9XHJcbiAgXHJcblxyXG59XHJcbiIsIjxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImV4YW1wbGUtY2hpcC1saXN0XCI+XHJcbiAgPG1hdC1jaGlwLWxpc3QgI2NoaXBMaXN0PlxyXG4gICAgPG1hdC1jaGlwICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiIFtzZWxlY3RhYmxlXT1cInNlbGVjdGFibGVcIiBbcmVtb3ZhYmxlXT1cInJlbW92YWJsZVwiXHJcbiAgICAgIChyZW1vdmVkKT1cInJlbW92ZShvcHRpb24pXCI+XHJcbiAgICAgIHt7b3B0aW9ufX1cclxuICAgICAgPG1hdC1pY29uIG1hdENoaXBSZW1vdmUgKm5nSWY9XCJyZW1vdmFibGVcIj5jYW5jZWw8L21hdC1pY29uPlxyXG4gICAgPC9tYXQtY2hpcD5cclxuICAgIDxpbnB1dCBwbGFjZWhvbGRlcj1cIlwiICNvcHRpb25JbnB1dCBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIiBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIlxyXG4gICAgICBbbWF0Q2hpcElucHV0Rm9yXT1cImNoaXBMaXN0XCIgW21hdENoaXBJbnB1dFNlcGFyYXRvcktleUNvZGVzXT1cInNlcGFyYXRvcktleXNDb2Rlc1wiXHJcbiAgICAgIChtYXRDaGlwSW5wdXRUb2tlbkVuZCk9XCJhZGQoJGV2ZW50KVwiPlxyXG4gIDwvbWF0LWNoaXAtbGlzdD5cclxuICA8bWF0LWF1dG9jb21wbGV0ZSAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiIChvcHRpb25TZWxlY3RlZCk9XCJzZWxlY3RlZCgkZXZlbnQpXCI+XHJcbiAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGZpbHRlcmVkT3B0aW9ucyB8IGFzeW5jXCIgW3ZhbHVlXT1cIm9wdGlvblwiPlxyXG4gICAgICB7e29wdGlvbn19XHJcbiAgICA8L21hdC1vcHRpb24+XHJcbiAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuXHJcbiJdfQ==
|
package/esm2020/lib/shared/shared-components/question-type-short/question-type-short.component.mjs
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Component, forwardRef, Input } from '@angular/core';
|
|
2
|
+
import { ControlContainer, FormControl, NG_VALUE_ACCESSOR, NgForm } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/material/form-field";
|
|
5
|
+
import * as i2 from "@angular/material/input";
|
|
6
|
+
import * as i3 from "@angular/forms";
|
|
7
|
+
export class QuestionTypeShortComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.formControl = new FormControl();
|
|
10
|
+
}
|
|
11
|
+
writeValue(value) {
|
|
12
|
+
this.formControl.setValue(value);
|
|
13
|
+
}
|
|
14
|
+
registerOnChange(fn) {
|
|
15
|
+
this.formControl.valueChanges.subscribe((val) => fn(val));
|
|
16
|
+
}
|
|
17
|
+
registerOnTouched(fn) {
|
|
18
|
+
this.formControl.valueChanges.subscribe((val) => fn(val));
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
QuestionTypeShortComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: QuestionTypeShortComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
22
|
+
QuestionTypeShortComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: QuestionTypeShortComponent, selector: "lib-question-type-short", inputs: { optionsList: "optionsList", required: "required" }, providers: [
|
|
23
|
+
{
|
|
24
|
+
provide: NG_VALUE_ACCESSOR,
|
|
25
|
+
useExisting: forwardRef(() => QuestionTypeShortComponent),
|
|
26
|
+
multi: true,
|
|
27
|
+
},
|
|
28
|
+
], ngImport: i0, template: " <!-- <input \r\n [id]=\"'question_'\"\r\n rows=\"4\" class=\"input-tag\" placeholder=\"Enter your answer here!\" tooltip=\"FDFD FDS D AF \" title=\"Enter your answer here\" matTooltip='Permissions \"Disk\"'/> -->\r\n <mat-form-field class=\"example-full-width\">\r\n <input matInput [id]=\"optionsList.id\" [formControl]=\"formControl\" class=\"form-control\" placeholder=\"Enter your answer here\" [required]=\"required\">\r\n <!-- <p *ngIf=\"f.shortAns.errors && (f.shortAns.touched || f.shortAns.dirty)\" class=\"text-danger\">\r\n {{f.username.errors | json}}\r\n </p> -->\r\n <!-- <mat-hint style=\"color: red;\" *ngIf=\"!parentForm.controls['shortAns'].valid\">\r\n Short answer is required\r\n </mat-hint> -->\r\n <!-- <div *ngIf=\"parentForm.controls['shortAns'].enabled === true && !parentForm.controls['shortAns'].valid\" class=\"validation-message\">\r\n not valid\r\n </div> -->\r\n </mat-form-field>\r\n", styles: [".input-tag{font-family:assessment-Medium;font-size:14px;width:75%;border-left:none;border-right:none;border-top:none;outline:none;padding:.75rem}.input-tag:focus{border-color:#007bff}\n"], components: [{ type: i1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }], directives: [{ type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i3.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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }] });
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: QuestionTypeShortComponent, decorators: [{
|
|
30
|
+
type: Component,
|
|
31
|
+
args: [{ selector: 'lib-question-type-short', viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], providers: [
|
|
32
|
+
{
|
|
33
|
+
provide: NG_VALUE_ACCESSOR,
|
|
34
|
+
useExisting: forwardRef(() => QuestionTypeShortComponent),
|
|
35
|
+
multi: true,
|
|
36
|
+
},
|
|
37
|
+
], template: " <!-- <input \r\n [id]=\"'question_'\"\r\n rows=\"4\" class=\"input-tag\" placeholder=\"Enter your answer here!\" tooltip=\"FDFD FDS D AF \" title=\"Enter your answer here\" matTooltip='Permissions \"Disk\"'/> -->\r\n <mat-form-field class=\"example-full-width\">\r\n <input matInput [id]=\"optionsList.id\" [formControl]=\"formControl\" class=\"form-control\" placeholder=\"Enter your answer here\" [required]=\"required\">\r\n <!-- <p *ngIf=\"f.shortAns.errors && (f.shortAns.touched || f.shortAns.dirty)\" class=\"text-danger\">\r\n {{f.username.errors | json}}\r\n </p> -->\r\n <!-- <mat-hint style=\"color: red;\" *ngIf=\"!parentForm.controls['shortAns'].valid\">\r\n Short answer is required\r\n </mat-hint> -->\r\n <!-- <div *ngIf=\"parentForm.controls['shortAns'].enabled === true && !parentForm.controls['shortAns'].valid\" class=\"validation-message\">\r\n not valid\r\n </div> -->\r\n </mat-form-field>\r\n", styles: [".input-tag{font-family:assessment-Medium;font-size:14px;width:75%;border-left:none;border-right:none;border-top:none;outline:none;padding:.75rem}.input-tag:focus{border-color:#007bff}\n"] }]
|
|
38
|
+
}], ctorParameters: function () { return []; }, propDecorators: { optionsList: [{
|
|
39
|
+
type: Input
|
|
40
|
+
}], required: [{
|
|
41
|
+
type: Input
|
|
42
|
+
}] } });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tdHlwZS1zaG9ydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc3Nlc3NtZW50LXRha2VyL3NyYy9saWIvc2hhcmVkL3NoYXJlZC1jb21wb25lbnRzL3F1ZXN0aW9uLXR5cGUtc2hvcnQvcXVlc3Rpb24tdHlwZS1zaG9ydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc3Nlc3NtZW50LXRha2VyL3NyYy9saWIvc2hhcmVkL3NoYXJlZC1jb21wb25lbnRzL3F1ZXN0aW9uLXR5cGUtc2hvcnQvcXVlc3Rpb24tdHlwZS1zaG9ydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLGdCQUFnQixFQUFxQyxXQUFXLEVBQWlDLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQWU1SixNQUFNLE9BQU8sMEJBQTBCO0lBSXJDO1FBRE8sZ0JBQVcsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRWpCLFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFZO1FBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQVk7UUFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDOzt3SEFoQlUsMEJBQTBCOzRHQUExQiwwQkFBMEIsZ0hBUjFCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMEJBQTBCLENBQUM7WUFDekQsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLDBCQ2RILHk5QkFlQSw4NENEVmlCLENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFDOzRGQVd4RCwwQkFBMEI7a0JBYnRDLFNBQVM7K0JBQ0UseUJBQXlCLGlCQUNwQixDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxhQUd4RDt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSwyQkFBMkIsQ0FBQzs0QkFDekQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7MEVBR1EsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xDb250YWluZXIsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgRm9ybUdyb3VwRGlyZWN0aXZlLCBOR19WQUxVRV9BQ0NFU1NPUiwgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItcXVlc3Rpb24tdHlwZS1zaG9ydCcsXHJcbiAgdmlld1Byb3ZpZGVyczogW3sgcHJvdmlkZTogQ29udHJvbENvbnRhaW5lciwgdXNlRXhpc3Rpbmc6IE5nRm9ybSB9XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vcXVlc3Rpb24tdHlwZS1zaG9ydC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcXVlc3Rpb24tdHlwZS1zaG9ydC5jb21wb25lbnQuY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBRdWVzdGlvblR5cGVTaG9ydENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUXVlc3Rpb25UeXBlU2hvcnRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgQElucHV0KCkgb3B0aW9uc0xpc3Q6YW55O1xyXG4gIEBJbnB1dCgpIHJlcXVpcmVkOmFueTtcclxuICBwdWJsaWMgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IEZ1bmN0aW9uKSB7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbCkgPT4gZm4odmFsKSk7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogRnVuY3Rpb24pIHtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsKSA9PiBmbih2YWwpKTtcclxuICB9XHJcbiAgXHJcblxyXG59XHJcbiIsIiA8IS0tIDxpbnB1dCBcclxuICAgIFtpZF09XCIncXVlc3Rpb25fJ1wiXHJcbiAgICByb3dzPVwiNFwiIGNsYXNzPVwiaW5wdXQtdGFnXCIgcGxhY2Vob2xkZXI9XCJFbnRlciB5b3VyIGFuc3dlciBoZXJlIVwiIHRvb2x0aXA9XCJGREZEIEZEUyBEIEFGIFwiIHRpdGxlPVwiRW50ZXIgeW91ciBhbnN3ZXIgaGVyZVwiIG1hdFRvb2x0aXA9J1Blcm1pc3Npb25zIFwiRGlza1wiJy8+IC0tPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZXhhbXBsZS1mdWxsLXdpZHRoXCI+XHJcbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBbaWRdPVwib3B0aW9uc0xpc3QuaWRcIiBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIHBsYWNlaG9sZGVyPVwiRW50ZXIgeW91ciBhbnN3ZXIgaGVyZVwiIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiPlxyXG4gICAgICA8IS0tIDxwICpuZ0lmPVwiZi5zaG9ydEFucy5lcnJvcnMgJiYgKGYuc2hvcnRBbnMudG91Y2hlZCB8fCBmLnNob3J0QW5zLmRpcnR5KVwiIGNsYXNzPVwidGV4dC1kYW5nZXJcIj5cclxuICAgICAgICB7e2YudXNlcm5hbWUuZXJyb3JzIHwganNvbn19XHJcbiAgICAgIDwvcD4gLS0+XHJcbiAgICAgIDwhLS0gPG1hdC1oaW50IHN0eWxlPVwiY29sb3I6IHJlZDtcIiAqbmdJZj1cIiFwYXJlbnRGb3JtLmNvbnRyb2xzWydzaG9ydEFucyddLnZhbGlkXCI+XHJcbiAgICAgICAgU2hvcnQgYW5zd2VyIGlzIHJlcXVpcmVkXHJcbiAgICAgIDwvbWF0LWhpbnQ+IC0tPlxyXG4gICAgICA8IS0tIDxkaXYgKm5nSWY9XCJwYXJlbnRGb3JtLmNvbnRyb2xzWydzaG9ydEFucyddLmVuYWJsZWQgPT09IHRydWUgJiYgIXBhcmVudEZvcm0uY29udHJvbHNbJ3Nob3J0QW5zJ10udmFsaWRcIiBjbGFzcz1cInZhbGlkYXRpb24tbWVzc2FnZVwiPlxyXG4gICAgICAgIG5vdCB2YWxpZFxyXG4gICAgPC9kaXY+IC0tPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuIl19
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Component, forwardRef, Input } from '@angular/core';
|
|
2
|
+
import { FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class QuestionTypeUploadFileComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.fileToUpload = null;
|
|
7
|
+
this.formControl = new FormControl();
|
|
8
|
+
}
|
|
9
|
+
writeValue(value) {
|
|
10
|
+
this.formControl.setValue(value);
|
|
11
|
+
}
|
|
12
|
+
registerOnChange(fn) {
|
|
13
|
+
this.formControl.valueChanges.subscribe((val) => fn(val));
|
|
14
|
+
}
|
|
15
|
+
registerOnTouched(fn) {
|
|
16
|
+
this.formControl.valueChanges.subscribe((val) => fn(val));
|
|
17
|
+
}
|
|
18
|
+
handleFileInput(event) {
|
|
19
|
+
const files = event.dataTransfer ? event.dataTransfer.files : event.target.files;
|
|
20
|
+
if (files.length > 0) {
|
|
21
|
+
const file = files[0];
|
|
22
|
+
this.formControl.patchValue({
|
|
23
|
+
fileSource: file
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
QuestionTypeUploadFileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: QuestionTypeUploadFileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
+
QuestionTypeUploadFileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: QuestionTypeUploadFileComponent, selector: "lib-question-type-upload-file", inputs: { required: "required" }, providers: [
|
|
30
|
+
{
|
|
31
|
+
provide: NG_VALUE_ACCESSOR,
|
|
32
|
+
useExisting: forwardRef(() => QuestionTypeUploadFileComponent),
|
|
33
|
+
multi: true,
|
|
34
|
+
},
|
|
35
|
+
], ngImport: i0, template: "<input \r\n[id]=\"'question_'\" type=\"file\" (change)=\"handleFileInput($event)\" class=\"input-tag\" placeholder=\"Upload File\" [required]=\"required\"/>\r\n<!-- \r\n<label for=\"formFile\" class=\"form-label\">Add file</label>\r\n <input class=\"form-control\" type=\"file\" id=\"formFile\">\r\n <button type=\"button\" class=\"btn btn-primary mt-3\"><mat-icon>file_upload</mat-icon></button> -->", styles: [""] });
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: QuestionTypeUploadFileComponent, decorators: [{
|
|
37
|
+
type: Component,
|
|
38
|
+
args: [{ selector: 'lib-question-type-upload-file', providers: [
|
|
39
|
+
{
|
|
40
|
+
provide: NG_VALUE_ACCESSOR,
|
|
41
|
+
useExisting: forwardRef(() => QuestionTypeUploadFileComponent),
|
|
42
|
+
multi: true,
|
|
43
|
+
},
|
|
44
|
+
], template: "<input \r\n[id]=\"'question_'\" type=\"file\" (change)=\"handleFileInput($event)\" class=\"input-tag\" placeholder=\"Upload File\" [required]=\"required\"/>\r\n<!-- \r\n<label for=\"formFile\" class=\"form-label\">Add file</label>\r\n <input class=\"form-control\" type=\"file\" id=\"formFile\">\r\n <button type=\"button\" class=\"btn btn-primary mt-3\"><mat-icon>file_upload</mat-icon></button> -->", styles: [""] }]
|
|
45
|
+
}], ctorParameters: function () { return []; }, propDecorators: { required: [{
|
|
46
|
+
type: Input
|
|
47
|
+
}] } });
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tdHlwZS11cGxvYWQtZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc3Nlc3NtZW50LXRha2VyL3NyYy9saWIvc2hhcmVkL3NoYXJlZC1jb21wb25lbnRzL3F1ZXN0aW9uLXR5cGUtdXBsb2FkLWZpbGUvcXVlc3Rpb24tdHlwZS11cGxvYWQtZmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc3Nlc3NtZW50LXRha2VyL3NyYy9saWIvc2hhcmVkL3NoYXJlZC1jb21wb25lbnRzL3F1ZXN0aW9uLXR5cGUtdXBsb2FkLWZpbGUvcXVlc3Rpb24tdHlwZS11cGxvYWQtZmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUF3QixXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFjdEYsTUFBTSxPQUFPLCtCQUErQjtJQUsxQztRQUhBLGlCQUFZLEdBQW1CLElBQUksQ0FBQztRQUM3QixnQkFBVyxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO0lBRXBDLENBQUM7SUFFakIsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQVk7UUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBWTtRQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFHRCxlQUFlLENBQUMsS0FBVTtRQUN4QixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDakYsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNwQixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUM7Z0JBQzFCLFVBQVUsRUFBRSxJQUFJO2FBQ2pCLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7NkhBNUJVLCtCQUErQjtpSEFBL0IsK0JBQStCLDBGQVIvQjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLCtCQUErQixDQUFDO1lBQzlELEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRiwwQkNiSCw4WkFLdUc7NEZEVTFGLCtCQUErQjtrQkFaM0MsU0FBUzsrQkFDRSwrQkFBK0IsYUFHOUI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZ0NBQWdDLENBQUM7NEJBQzlELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzBFQUdRLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1Db250cm9sLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXF1ZXN0aW9uLXR5cGUtdXBsb2FkLWZpbGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWVzdGlvbi10eXBlLXVwbG9hZC1maWxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9xdWVzdGlvbi10eXBlLXVwbG9hZC1maWxlLmNvbXBvbmVudC5jc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFF1ZXN0aW9uVHlwZVVwbG9hZEZpbGVDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFF1ZXN0aW9uVHlwZVVwbG9hZEZpbGVDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgQElucHV0KCkgcmVxdWlyZWQ6YW55O1xyXG4gIGZpbGVUb1VwbG9hZDogRmlsZUxpc3QgfCBhbnkgPSBudWxsO1xyXG4gIHB1YmxpYyBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IEZ1bmN0aW9uKSB7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbCkgPT4gZm4odmFsKSk7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogRnVuY3Rpb24pIHtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsKSA9PiBmbih2YWwpKTtcclxuICB9XHJcblxyXG5cclxuICBoYW5kbGVGaWxlSW5wdXQoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3QgZmlsZXMgPSBldmVudC5kYXRhVHJhbnNmZXIgPyBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXMgOiBldmVudC50YXJnZXQuZmlsZXM7XHJcbiAgICBpZiAoZmlsZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCBmaWxlID0gZmlsZXNbMF07XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wucGF0Y2hWYWx1ZSh7XHJcbiAgICAgICAgZmlsZVNvdXJjZTogZmlsZVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiIsIjxpbnB1dCBcclxuW2lkXT1cIidxdWVzdGlvbl8nXCIgdHlwZT1cImZpbGVcIiAoY2hhbmdlKT1cImhhbmRsZUZpbGVJbnB1dCgkZXZlbnQpXCIgY2xhc3M9XCJpbnB1dC10YWdcIiBwbGFjZWhvbGRlcj1cIlVwbG9hZCBGaWxlXCIgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCIvPlxyXG48IS0tIFxyXG48bGFiZWwgZm9yPVwiZm9ybUZpbGVcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5BZGQgZmlsZTwvbGFiZWw+XHJcbiAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiB0eXBlPVwiZmlsZVwiIGlkPVwiZm9ybUZpbGVcIj5cclxuICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IG10LTNcIj48bWF0LWljb24+ZmlsZV91cGxvYWQ8L21hdC1pY29uPjwvYnV0dG9uPiAtLT4iXX0=
|