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.
Files changed (93) hide show
  1. package/README.md +24 -0
  2. package/assessment-taker.d.ts +5 -0
  3. package/esm2020/assessment-taker.mjs +5 -0
  4. package/esm2020/lib/assessment-taker.component.mjs +24 -0
  5. package/esm2020/lib/assessment-taker.module.mjs +44 -0
  6. package/esm2020/lib/assessment-taker.routing.module.mjs +23 -0
  7. package/esm2020/lib/assessment-taker.service.mjs +46 -0
  8. package/esm2020/lib/components/feature/feature-routing.module.mjs +29 -0
  9. package/esm2020/lib/components/feature/feature.module.mjs +57 -0
  10. package/esm2020/lib/components/feature/quest-success/quest-success/quest-success.component.mjs +26 -0
  11. package/esm2020/lib/components/feature/quest-wizard/quest-wizard.component.mjs +437 -0
  12. package/esm2020/lib/configuration.mjs +4 -0
  13. package/esm2020/lib/shared/interceptor/lib-interceptor.interceptor.mjs +26 -0
  14. package/esm2020/lib/shared/pipe/order-by.pipe.mjs +22 -0
  15. package/esm2020/lib/shared/services/assessment-id.service.mjs +21 -0
  16. package/esm2020/lib/shared/shared-components/question-type-add-dialog/question-type-add-dialog.component.mjs +97 -0
  17. package/esm2020/lib/shared/shared-components/question-type-date/question-type-date.component.mjs +42 -0
  18. package/esm2020/lib/shared/shared-components/question-type-editor/question-type-editor.component.mjs +48 -0
  19. package/esm2020/lib/shared/shared-components/question-type-long/question-type-long.component.mjs +47 -0
  20. package/esm2020/lib/shared/shared-components/question-type-multiselect/question-type-multiselect.component.mjs +55 -0
  21. package/esm2020/lib/shared/shared-components/question-type-multiselect-sub/question-type-multiselect-sub.component.mjs +58 -0
  22. package/esm2020/lib/shared/shared-components/question-type-number/question-type-number.component.mjs +43 -0
  23. package/esm2020/lib/shared/shared-components/question-type-objective/question-type-objective.component.mjs +59 -0
  24. package/esm2020/lib/shared/shared-components/question-type-objective-sub/question-type-objective-sub.component.mjs +60 -0
  25. package/esm2020/lib/shared/shared-components/question-type-rating/question-type-rating.component.mjs +49 -0
  26. package/esm2020/lib/shared/shared-components/question-type-searchable-tag/question-type-searchable-tag.component.mjs +103 -0
  27. package/esm2020/lib/shared/shared-components/question-type-short/question-type-short.component.mjs +43 -0
  28. package/esm2020/lib/shared/shared-components/question-type-upload-file/question-type-upload-file.component.mjs +48 -0
  29. package/esm2020/lib/shared/shared-components/shared-components.module.mjs +143 -0
  30. package/esm2020/pcf-assessment-taker.mjs +5 -0
  31. package/esm2020/public-api.mjs +25 -0
  32. package/fesm2015/assessment-taker.mjs +1481 -0
  33. package/fesm2015/assessment-taker.mjs.map +1 -0
  34. package/fesm2015/pcf-assessment-taker.mjs +1481 -0
  35. package/fesm2015/pcf-assessment-taker.mjs.map +1 -0
  36. package/fesm2020/assessment-taker.mjs +1468 -0
  37. package/fesm2020/assessment-taker.mjs.map +1 -0
  38. package/fesm2020/pcf-assessment-taker.mjs +1468 -0
  39. package/fesm2020/pcf-assessment-taker.mjs.map +1 -0
  40. package/lib/assessment-taker.component.d.ts +13 -0
  41. package/lib/assessment-taker.module.d.ts +11 -0
  42. package/lib/assessment-taker.routing.module.d.ts +7 -0
  43. package/lib/assessment-taker.service.d.ts +18 -0
  44. package/lib/components/feature/feature-routing.module.d.ts +7 -0
  45. package/lib/components/feature/feature.module.d.ts +15 -0
  46. package/lib/components/feature/quest-success/quest-success/quest-success.component.d.ts +12 -0
  47. package/lib/components/feature/quest-wizard/quest-wizard.component.d.ts +51 -0
  48. package/lib/configuration.d.ts +6 -0
  49. package/lib/shared/interceptor/lib-interceptor.interceptor.d.ts +11 -0
  50. package/lib/shared/pipe/order-by.pipe.d.ts +7 -0
  51. package/lib/shared/services/assessment-id.service.d.ts +9 -0
  52. package/lib/shared/shared-components/question-type-add-dialog/question-type-add-dialog.component.d.ts +35 -0
  53. package/lib/shared/shared-components/question-type-date/question-type-date.component.d.ts +12 -0
  54. package/lib/shared/shared-components/question-type-editor/question-type-editor.component.d.ts +16 -0
  55. package/lib/shared/shared-components/question-type-long/question-type-long.component.d.ts +15 -0
  56. package/lib/shared/shared-components/question-type-multiselect/question-type-multiselect.component.d.ts +15 -0
  57. package/lib/shared/shared-components/question-type-multiselect-sub/question-type-multiselect-sub.component.d.ts +15 -0
  58. package/lib/shared/shared-components/question-type-number/question-type-number.component.d.ts +13 -0
  59. package/lib/shared/shared-components/question-type-objective/question-type-objective.component.d.ts +17 -0
  60. package/lib/shared/shared-components/question-type-objective-sub/question-type-objective-sub.component.d.ts +16 -0
  61. package/lib/shared/shared-components/question-type-rating/question-type-rating.component.d.ts +14 -0
  62. package/lib/shared/shared-components/question-type-searchable-tag/question-type-searchable-tag.component.d.ts +35 -0
  63. package/lib/shared/shared-components/question-type-short/question-type-short.component.d.ts +13 -0
  64. package/lib/shared/shared-components/question-type-upload-file/question-type-upload-file.component.d.ts +14 -0
  65. package/lib/shared/shared-components/shared-components.module.d.ts +34 -0
  66. package/package.json +32 -0
  67. package/pcf-assessment-taker.d.ts +5 -0
  68. package/public-api.d.ts +20 -0
  69. package/src/lib/assets/images/assessment-placeholder-2.png +0 -0
  70. package/src/lib/assets/images/new_tooltip.jpg +0 -0
  71. package/src/lib/assets/images/tooltip.png +0 -0
  72. package/src/lib/assets/images/tooltipimg.jpg +0 -0
  73. package/src/lib/assets/theme/_theme.scss +1077 -0
  74. package/src/lib/assets/theme/font.css +36 -0
  75. package/src/lib/assets/theme/fonts/halant/Halant-Bold.ttf +0 -0
  76. package/src/lib/assets/theme/fonts/halant/Halant-Light.ttf +0 -0
  77. package/src/lib/assets/theme/fonts/halant/Halant-Medium.ttf +0 -0
  78. package/src/lib/assets/theme/fonts/halant/Halant-Regular.ttf +0 -0
  79. package/src/lib/assets/theme/fonts/halant/Halant-SemiBold.ttf +0 -0
  80. package/src/lib/assets/theme/fonts/poppins/Poppins-Bold.ttf +0 -0
  81. package/src/lib/assets/theme/fonts/poppins/Poppins-ExtraBold.ttf +0 -0
  82. package/src/lib/assets/theme/fonts/poppins/Poppins-ExtraLight.ttf +0 -0
  83. package/src/lib/assets/theme/fonts/poppins/Poppins-Light.ttf +0 -0
  84. package/src/lib/assets/theme/fonts/poppins/Poppins-Medium.ttf +0 -0
  85. package/src/lib/assets/theme/fonts/poppins/Poppins-Regular.ttf +0 -0
  86. package/src/lib/assets/theme/fonts/poppins/Poppins-SemiBold.ttf +0 -0
  87. package/src/lib/assets/theme/fonts/poppins/Poppins-Thin.ttf +0 -0
  88. package/src/lib/assets/theme/fonts/roboto/Roboto-Bold.ttf +0 -0
  89. package/src/lib/assets/theme/fonts/roboto/Roboto-Light.ttf +0 -0
  90. package/src/lib/assets/theme/fonts/roboto/Roboto-Medium.ttf +0 -0
  91. package/src/lib/assets/theme/fonts/roboto/Roboto-Regular.ttf +0 -0
  92. package/src/lib/assets/theme/fonts/roboto/Roboto-Thin.ttf +0 -0
  93. package/src/lib/assets/theme/variables.css +392 -0
@@ -0,0 +1,4 @@
1
+ // configuration.ts
2
+ import { InjectionToken } from '@angular/core';
3
+ export const LIBRARY_CONFIG = new InjectionToken('LIBRARY_CONFIG');
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Fzc2Vzc21lbnQtdGFrZXIvc3JjL2xpYi9jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1CQUFtQjtBQUNuQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTy9DLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBZ0IsZ0JBQWdCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGNvbmZpZ3VyYXRpb24udHNcclxuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTGlicmFyeUNvbmZpZyB7XHJcbiAgZW52aXJvbm1lbnQ6IGFueTtcclxuICB0b2tlbjogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgTElCUkFSWV9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48TGlicmFyeUNvbmZpZz4oJ0xJQlJBUllfQ09ORklHJyk7XHJcbiJdfQ==
@@ -0,0 +1,26 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { LIBRARY_CONFIG } from '../../configuration';
3
+ import * as i0 from "@angular/core";
4
+ export class LibInterceptor {
5
+ constructor(config) {
6
+ this.config = config;
7
+ }
8
+ intercept(req, next) {
9
+ if (req?.url?.includes('dev.platformcommons.org/gateway/commons-assessment-service')) {
10
+ let headers = req.headers;
11
+ headers = headers.set('X-SESSIONID', this.config?.token);
12
+ const modifiedReq = req.clone({ headers });
13
+ return next.handle(modifiedReq);
14
+ }
15
+ return next.handle(req);
16
+ }
17
+ }
18
+ LibInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LibInterceptor, deps: [{ token: LIBRARY_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
19
+ LibInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LibInterceptor });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LibInterceptor, decorators: [{
21
+ type: Injectable
22
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
23
+ type: Inject,
24
+ args: [LIBRARY_CONFIG]
25
+ }] }]; } });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLWludGVyY2VwdG9yLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXNzZXNzbWVudC10YWtlci9zcmMvbGliL3NoYXJlZC9pbnRlcmNlcHRvci9saWItaW50ZXJjZXB0b3IuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFRbkQsT0FBTyxFQUFFLGNBQWMsRUFBaUIsTUFBTSxxQkFBcUIsQ0FBQzs7QUFHcEUsTUFBTSxPQUFPLGNBQWM7SUFFekIsWUFBNEMsTUFBcUI7UUFBckIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtJQUFJLENBQUM7SUFFdEUsU0FBUyxDQUFDLEdBQXFCLEVBQUUsSUFBaUI7UUFDaEQsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLFFBQVEsQ0FBQyw0REFBNEQsQ0FBQyxFQUFFO1lBQ3BGLElBQUksT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUM7WUFDMUIsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDekQsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDM0MsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ2pDO1FBQ0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLENBQUM7OzRHQVpVLGNBQWMsa0JBRUwsY0FBYztnSEFGdkIsY0FBYzs0RkFBZCxjQUFjO2tCQUQxQixVQUFVOzswQkFHSSxNQUFNOzJCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBIdHRwUmVxdWVzdCxcclxuICBIdHRwSGFuZGxlcixcclxuICBIdHRwRXZlbnQsXHJcbiAgSHR0cEludGVyY2VwdG9yXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IExJQlJBUllfQ09ORklHLCBMaWJyYXJ5Q29uZmlnIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbic7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBMaWJJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoTElCUkFSWV9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBMaWJyYXJ5Q29uZmlnKSB7IH1cclxuXHJcbiAgaW50ZXJjZXB0KHJlcTogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7ICAgICAgICBcclxuICAgIGlmIChyZXE/LnVybD8uaW5jbHVkZXMoJ2Rldi5wbGF0Zm9ybWNvbW1vbnMub3JnL2dhdGV3YXkvY29tbW9ucy1hc3Nlc3NtZW50LXNlcnZpY2UnKSkge1xyXG4gICAgICBsZXQgaGVhZGVycyA9IHJlcS5oZWFkZXJzO1xyXG4gICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ1gtU0VTU0lPTklEJywgdGhpcy5jb25maWc/LnRva2VuKTtcclxuICAgICAgY29uc3QgbW9kaWZpZWRSZXEgPSByZXEuY2xvbmUoeyBoZWFkZXJzIH0pO1xyXG4gICAgICByZXR1cm4gbmV4dC5oYW5kbGUobW9kaWZpZWRSZXEpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,22 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class OrderByPipe {
4
+ transform(value, order = "asc") {
5
+ console.log(value);
6
+ return value.sort((a, b) => {
7
+ if (order === "desc") {
8
+ return b.orderNo - a.orderNo;
9
+ }
10
+ return a.orderNo - b.orderNo;
11
+ });
12
+ }
13
+ }
14
+ OrderByPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: OrderByPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
15
+ OrderByPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: OrderByPipe, name: "orderBy" });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: OrderByPipe, decorators: [{
17
+ type: Pipe,
18
+ args: [{
19
+ name: 'orderBy'
20
+ }]
21
+ }] });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItYnkucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fzc2Vzc21lbnQtdGFrZXIvc3JjL2xpYi9zaGFyZWQvcGlwZS9vcmRlci1ieS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUtwRCxNQUFNLE9BQU8sV0FBVztJQUV0QixTQUFTLENBQUMsS0FBVSxFQUFDLFFBQXdCLEtBQUs7UUFDaEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUF1QixFQUFFLENBQXVCLEVBQUUsRUFBRTtZQUNyRSxJQUFJLEtBQUssS0FBSyxNQUFNLEVBQUU7Z0JBQ3BCLE9BQU8sQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDO2FBQzlCO1lBQ0QsT0FBTyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDOzt5R0FWVSxXQUFXO3VHQUFYLFdBQVc7NEZBQVgsV0FBVztrQkFIdkIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsU0FBUztpQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ29yZGVyQnknXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPcmRlckJ5UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICB0cmFuc2Zvcm0odmFsdWU6IGFueSxvcmRlcjogXCJhc2NcIiB8IFwiZGVzY1wiID0gXCJhc2NcIik6IGFueSB7XHJcbiAgICBjb25zb2xlLmxvZyh2YWx1ZSk7XHJcbiAgICByZXR1cm4gdmFsdWUuc29ydCgoYTogeyBvcmRlck5vOiBudW1iZXI7IH0sIGI6IHsgb3JkZXJObzogbnVtYmVyOyB9KSA9PiB7XHJcbiAgICAgIGlmIChvcmRlciA9PT0gXCJkZXNjXCIpIHtcclxuICAgICAgICByZXR1cm4gYi5vcmRlck5vIC0gYS5vcmRlck5vO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBhLm9yZGVyTm8gLSBiLm9yZGVyTm87XHJcbiAgICAgfSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -0,0 +1,21 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export class AssessmentIdService {
5
+ constructor() {
6
+ this.assessmentIdSource = new BehaviorSubject(null);
7
+ this.currentAssessmentId = this.assessmentIdSource.asObservable();
8
+ }
9
+ changeAssessmentId(id) {
10
+ this.assessmentIdSource.next(id);
11
+ }
12
+ }
13
+ AssessmentIdService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AssessmentIdService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
14
+ AssessmentIdService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AssessmentIdService, providedIn: 'root' });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AssessmentIdService, decorators: [{
16
+ type: Injectable,
17
+ args: [{
18
+ providedIn: 'root'
19
+ }]
20
+ }], ctorParameters: function () { return []; } });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXNzbWVudC1pZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXNzZXNzbWVudC10YWtlci9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9hc3Nlc3NtZW50LWlkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUt2QyxNQUFNLE9BQU8sbUJBQW1CO0lBSTlCO1FBSFEsdUJBQWtCLEdBQUcsSUFBSSxlQUFlLENBQU0sSUFBSSxDQUFDLENBQUM7UUFDNUQsd0JBQW1CLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBRTlDLENBQUM7SUFHaEIsa0JBQWtCLENBQUMsRUFBTztRQUN4QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7O2lIQVRVLG1CQUFtQjtxSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBc3Nlc3NtZW50SWRTZXJ2aWNlIHtcclxuICBwcml2YXRlIGFzc2Vzc21lbnRJZFNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTsgIFxyXG4gIGN1cnJlbnRBc3Nlc3NtZW50SWQgPSB0aGlzLmFzc2Vzc21lbnRJZFNvdXJjZS5hc09ic2VydmFibGUoKTsgXHJcbiAgXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBcclxuICBjaGFuZ2VBc3Nlc3NtZW50SWQoaWQ6IGFueSkge1xyXG4gICAgdGhpcy5hc3Nlc3NtZW50SWRTb3VyY2UubmV4dChpZCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,97 @@
1
+ import { ENTER } from '@angular/cdk/keycodes';
2
+ import { Component, forwardRef, Input, ViewChild } from '@angular/core';
3
+ import { FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';
4
+ import { map, startWith } from 'rxjs';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/material/dialog";
7
+ import * as i2 from "@angular/material/icon";
8
+ export class QuestionTypeAddDialogComponent {
9
+ constructor(dialog) {
10
+ this.dialog = dialog;
11
+ this.visible = true;
12
+ this.selectable = true;
13
+ this.removable = true;
14
+ this.separatorKeysCodes = [ENTER, 188];
15
+ this.formControl = new FormControl();
16
+ this.options = [];
17
+ this.allOptions = ["Lemon", "Lime", "Orange", "Strawberry"];
18
+ this.filteredOptions = this.formControl.valueChanges.pipe(startWith(null), map((option) => option ? this._filter(option) : this.allOptions.slice()));
19
+ }
20
+ writeValue(value) {
21
+ this.formControl.setValue(value);
22
+ }
23
+ registerOnChange(fn) {
24
+ this.formControl.valueChanges.subscribe((val) => fn(val));
25
+ }
26
+ registerOnTouched(fn) {
27
+ this.formControl.valueChanges.subscribe((val) => fn(val));
28
+ }
29
+ add(event) {
30
+ const input = event.input;
31
+ const value = event.value;
32
+ // Add our option
33
+ if ((value || "").trim()) {
34
+ this.options.push(value.trim());
35
+ }
36
+ // Reset the input value
37
+ if (input) {
38
+ input.value = "";
39
+ }
40
+ this.formControl.setValue(null);
41
+ this.updateControlValue();
42
+ }
43
+ remove(option) {
44
+ const index = this.options.indexOf(option);
45
+ if (index >= 0) {
46
+ this.options.splice(index, 1);
47
+ }
48
+ this.updateControlValue();
49
+ }
50
+ selected(event) {
51
+ this.options.push(event.option.viewValue);
52
+ this.optionInput.nativeElement.value = "";
53
+ this.formControl.setValue(null);
54
+ this.updateControlValue();
55
+ }
56
+ updateControlValue() {
57
+ this.formControl.patchValue(this.options);
58
+ }
59
+ openDialog(templateRef) {
60
+ this.dialog.open(templateRef);
61
+ }
62
+ _filter(value) {
63
+ const filterValue = value.toLowerCase();
64
+ return this.allOptions.filter(option => option.toLowerCase().indexOf(filterValue) === 0);
65
+ }
66
+ }
67
+ QuestionTypeAddDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: QuestionTypeAddDialogComponent, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
68
+ QuestionTypeAddDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: QuestionTypeAddDialogComponent, selector: "lib-question-type-add-dialog", inputs: { required: "required", optionsList: "optionsList", fieldAttributes: "fieldAttributes" }, providers: [
69
+ {
70
+ provide: NG_VALUE_ACCESSOR,
71
+ useExisting: forwardRef(() => QuestionTypeAddDialogComponent),
72
+ multi: true,
73
+ },
74
+ ], viewQueries: [{ propertyName: "optionInput", first: true, predicate: ["optionInput"], descendants: true }, { propertyName: "matAutocomplete", first: true, predicate: ["auto"], descendants: true }], ngImport: i0, template: "<div class=\"example-button-row\">\r\n <button mat-flat-button (click)=\"openDialog(autoCompleteModal)\" type=\"button\">+ Add</button>\r\n </div>\r\n \r\n <ng-template #autoCompleteModal let-data let-ref=\"dialogRef\" id=\"autoCompleteModal\">\r\n <div class=\"def--modal\">\r\n <div class=\"def--modal-title d-flex align-items-center\">\r\n <h3 class=\"modal-title my-0\">Test\r\n <mat-icon (click)=\"ref.close()\" class=\"float-right close close-icon-color close-icon\">close\r\n </mat-icon>\r\n </h3>\r\n </div>\r\n <div class=\"def--modal-spinner-div\">\r\n fda fdas fa f dfa fda d fa afd\r\n </div>\r\n </div>\r\n </ng-template>", styles: [""], components: [{ type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: QuestionTypeAddDialogComponent, decorators: [{
76
+ type: Component,
77
+ args: [{ selector: 'lib-question-type-add-dialog', providers: [
78
+ {
79
+ provide: NG_VALUE_ACCESSOR,
80
+ useExisting: forwardRef(() => QuestionTypeAddDialogComponent),
81
+ multi: true,
82
+ },
83
+ ], template: "<div class=\"example-button-row\">\r\n <button mat-flat-button (click)=\"openDialog(autoCompleteModal)\" type=\"button\">+ Add</button>\r\n </div>\r\n \r\n <ng-template #autoCompleteModal let-data let-ref=\"dialogRef\" id=\"autoCompleteModal\">\r\n <div class=\"def--modal\">\r\n <div class=\"def--modal-title d-flex align-items-center\">\r\n <h3 class=\"modal-title my-0\">Test\r\n <mat-icon (click)=\"ref.close()\" class=\"float-right close close-icon-color close-icon\">close\r\n </mat-icon>\r\n </h3>\r\n </div>\r\n <div class=\"def--modal-spinner-div\">\r\n fda fdas fa f dfa fda d fa afd\r\n </div>\r\n </div>\r\n </ng-template>", styles: [""] }]
84
+ }], ctorParameters: function () { return [{ type: i1.MatDialog }]; }, propDecorators: { required: [{
85
+ type: Input
86
+ }], optionsList: [{
87
+ type: Input
88
+ }], fieldAttributes: [{
89
+ type: Input
90
+ }], optionInput: [{
91
+ type: ViewChild,
92
+ args: ["optionInput"]
93
+ }], matAutocomplete: [{
94
+ type: ViewChild,
95
+ args: ["auto"]
96
+ }] } });
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tdHlwZS1hZGQtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fzc2Vzc21lbnQtdGFrZXIvc3JjL2xpYi9zaGFyZWQvc2hhcmVkLWNvbXBvbmVudHMvcXVlc3Rpb24tdHlwZS1hZGQtZGlhbG9nL3F1ZXN0aW9uLXR5cGUtYWRkLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc3Nlc3NtZW50LXRha2VyL3NyYy9saWIvc2hhcmVkL3NoYXJlZC1jb21wb25lbnRzL3F1ZXN0aW9uLXR5cGUtYWRkLWRpYWxvZy9xdWVzdGlvbi10eXBlLWFkZC1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQWMsVUFBVSxFQUFFLEtBQUssRUFBdUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBd0IsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJdEYsT0FBTyxFQUFFLEdBQUcsRUFBYyxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7QUFjbEQsTUFBTSxPQUFPLDhCQUE4QjtJQWV6QyxZQUFvQixNQUFpQjtRQUFqQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBWHJDLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsdUJBQWtCLEdBQWEsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDckMsZ0JBQVcsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUVwRCxZQUFPLEdBQWEsRUFBRSxDQUFDO1FBQ3ZCLGVBQVUsR0FBYSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBSy9ELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUN2RCxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQ2YsR0FBRyxDQUFDLENBQUMsTUFBcUIsRUFBRSxFQUFFLENBQzVCLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FDeEQsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFZO1FBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQVk7UUFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsR0FBRyxDQUFDLEtBQXdCO1FBQzFCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDMUIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUUxQixpQkFBaUI7UUFDakIsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUNqQztRQUVELHdCQUF3QjtRQUN4QixJQUFJLEtBQUssRUFBRTtZQUNULEtBQUssQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1NBQ2xCO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFjO1FBQ25CLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTNDLElBQUksS0FBSyxJQUFJLENBQUMsRUFBRTtZQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztTQUMvQjtRQUNELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBbUM7UUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxVQUFVLENBQUMsV0FBNkI7UUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVPLE9BQU8sQ0FBQyxLQUFhO1FBQzNCLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUV4QyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUMzQixNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUMxRCxDQUFDO0lBQ0osQ0FBQzs7NEhBbkZVLDhCQUE4QjtnSEFBOUIsOEJBQThCLHlKQVI5QjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDhCQUE4QixDQUFDO1lBQzdELEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRixnT0NsQkgsb3NCQWdCZ0I7NEZESUgsOEJBQThCO2tCQVoxQyxTQUFTOytCQUNFLDhCQUE4QixhQUc3Qjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSwrQkFBK0IsQ0FBQzs0QkFDN0QsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7Z0dBR1EsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBVW9CLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYTtnQkFDTCxlQUFlO3NCQUFqQyxTQUFTO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFTlRFUiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGUsIE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xyXG5pbXBvcnQgeyBNYXRDaGlwSW5wdXRFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXF1ZXN0aW9uLXR5cGUtYWRkLWRpYWxvZycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3F1ZXN0aW9uLXR5cGUtYWRkLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcXVlc3Rpb24tdHlwZS1hZGQtZGlhbG9nLmNvbXBvbmVudC5jc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFF1ZXN0aW9uVHlwZUFkZERpYWxvZ0NvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUXVlc3Rpb25UeXBlQWRkRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIEBJbnB1dCgpIHJlcXVpcmVkOmFueTtcclxuICBASW5wdXQoKSBvcHRpb25zTGlzdDphbnk7XHJcbiAgQElucHV0KCkgZmllbGRBdHRyaWJ1dGVzOiBhbnk7XHJcbiAgdmlzaWJsZSA9IHRydWU7XHJcbiAgc2VsZWN0YWJsZSA9IHRydWU7XHJcbiAgcmVtb3ZhYmxlID0gdHJ1ZTtcclxuICBzZXBhcmF0b3JLZXlzQ29kZXM6IG51bWJlcltdID0gW0VOVEVSLCAxODhdO1xyXG4gIHB1YmxpYyBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcclxuICBmaWx0ZXJlZE9wdGlvbnM6IE9ic2VydmFibGU8c3RyaW5nW10+O1xyXG4gIG9wdGlvbnM6IHN0cmluZ1tdID0gW107XHJcbiAgYWxsT3B0aW9uczogc3RyaW5nW10gPSBbXCJMZW1vblwiLCBcIkxpbWVcIiwgXCJPcmFuZ2VcIiwgXCJTdHJhd2JlcnJ5XCJdO1xyXG5cclxuICBAVmlld0NoaWxkKFwib3B0aW9uSW5wdXRcIikgb3B0aW9uSW5wdXQhOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoXCJhdXRvXCIpIG1hdEF1dG9jb21wbGV0ZSE6IE1hdEF1dG9jb21wbGV0ZTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nKSB7IFxyXG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLmZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxyXG4gICAgICBzdGFydFdpdGgobnVsbCksXHJcbiAgICAgIG1hcCgob3B0aW9uOiBzdHJpbmcgfCBudWxsKSA9PlxyXG4gICAgICAgIG9wdGlvbiA/IHRoaXMuX2ZpbHRlcihvcHRpb24pIDogdGhpcy5hbGxPcHRpb25zLnNsaWNlKClcclxuICAgICAgKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBGdW5jdGlvbikge1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWwpID0+IGZuKHZhbCkpO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IEZ1bmN0aW9uKSB7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbCkgPT4gZm4odmFsKSk7XHJcbiAgfVxyXG5cclxuICBhZGQoZXZlbnQ6IE1hdENoaXBJbnB1dEV2ZW50KTogdm9pZCB7XHJcbiAgICBjb25zdCBpbnB1dCA9IGV2ZW50LmlucHV0O1xyXG4gICAgY29uc3QgdmFsdWUgPSBldmVudC52YWx1ZTtcclxuXHJcbiAgICAvLyBBZGQgb3VyIG9wdGlvblxyXG4gICAgaWYgKCh2YWx1ZSB8fCBcIlwiKS50cmltKCkpIHtcclxuICAgICAgdGhpcy5vcHRpb25zLnB1c2godmFsdWUudHJpbSgpKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBSZXNldCB0aGUgaW5wdXQgdmFsdWVcclxuICAgIGlmIChpbnB1dCkge1xyXG4gICAgICBpbnB1dC52YWx1ZSA9IFwiXCI7XHJcbiAgICB9XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKG51bGwpO1xyXG4gICAgdGhpcy51cGRhdGVDb250cm9sVmFsdWUoKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZShvcHRpb246IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLm9wdGlvbnMuaW5kZXhPZihvcHRpb24pO1xyXG5cclxuICAgIGlmIChpbmRleCA+PSAwKSB7XHJcbiAgICAgIHRoaXMub3B0aW9ucy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgfVxyXG4gICAgdGhpcy51cGRhdGVDb250cm9sVmFsdWUoKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdGVkKGV2ZW50OiBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLm9wdGlvbnMucHVzaChldmVudC5vcHRpb24udmlld1ZhbHVlKTtcclxuICAgIHRoaXMub3B0aW9uSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9IFwiXCI7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKG51bGwpO1xyXG4gICAgdGhpcy51cGRhdGVDb250cm9sVmFsdWUoKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZUNvbnRyb2xWYWx1ZSgpe1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbC5wYXRjaFZhbHVlKHRoaXMub3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBvcGVuRGlhbG9nKHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XHJcbiAgICB0aGlzLmRpYWxvZy5vcGVuKHRlbXBsYXRlUmVmKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2ZpbHRlcih2YWx1ZTogc3RyaW5nKTogc3RyaW5nW10ge1xyXG4gICAgY29uc3QgZmlsdGVyVmFsdWUgPSB2YWx1ZS50b0xvd2VyQ2FzZSgpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmFsbE9wdGlvbnMuZmlsdGVyKFxyXG4gICAgICBvcHRpb24gPT4gb3B0aW9uLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihmaWx0ZXJWYWx1ZSkgPT09IDBcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJleGFtcGxlLWJ1dHRvbi1yb3dcIj5cclxuICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIChjbGljayk9XCJvcGVuRGlhbG9nKGF1dG9Db21wbGV0ZU1vZGFsKVwiIHR5cGU9XCJidXR0b25cIj4rIEFkZDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG4gIFxyXG4gIDxuZy10ZW1wbGF0ZSAjYXV0b0NvbXBsZXRlTW9kYWwgbGV0LWRhdGEgbGV0LXJlZj1cImRpYWxvZ1JlZlwiIGlkPVwiYXV0b0NvbXBsZXRlTW9kYWxcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJkZWYtLW1vZGFsXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkZWYtLW1vZGFsLXRpdGxlIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICA8aDMgY2xhc3M9XCJtb2RhbC10aXRsZSBteS0wXCI+VGVzdFxyXG4gICAgICAgICAgPG1hdC1pY29uIChjbGljayk9XCJyZWYuY2xvc2UoKVwiIGNsYXNzPVwiZmxvYXQtcmlnaHQgY2xvc2UgY2xvc2UtaWNvbi1jb2xvciBjbG9zZS1pY29uXCI+Y2xvc2VcclxuICAgICAgICAgIDwvbWF0LWljb24+XHJcbiAgICAgICAgPC9oMz5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkZWYtLW1vZGFsLXNwaW5uZXItZGl2XCI+XHJcbiAgICAgICAgZmRhIGZkYXMgZmEgZiBkZmEgZmRhIGQgZmEgYWZkXHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy10ZW1wbGF0ZT4iXX0=
@@ -0,0 +1,42 @@
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/form-field";
5
+ import * as i2 from "@angular/material/datepicker";
6
+ import * as i3 from "@angular/material/input";
7
+ import * as i4 from "@angular/forms";
8
+ export class QuestionTypeDateComponent {
9
+ constructor() {
10
+ this.formControl = new FormControl();
11
+ }
12
+ writeValue(value) {
13
+ this.formControl.setValue(value);
14
+ }
15
+ registerOnChange(fn) {
16
+ this.formControl.valueChanges.subscribe((val) => fn(val));
17
+ }
18
+ registerOnTouched(fn) {
19
+ this.formControl.valueChanges.subscribe((val) => fn(val));
20
+ }
21
+ }
22
+ QuestionTypeDateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: QuestionTypeDateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
+ QuestionTypeDateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: QuestionTypeDateComponent, selector: "lib-question-type-date", inputs: { required: "required" }, providers: [
24
+ {
25
+ provide: NG_VALUE_ACCESSOR,
26
+ useExisting: forwardRef(() => QuestionTypeDateComponent),
27
+ multi: true,
28
+ },
29
+ ], ngImport: i0, template: "<mat-form-field class=\"datesty\">\r\n <mat-label>Choose a date</mat-label>\r\n <input matInput [formControl]=\"formControl\" class=\"form-check-input\" [matDatepicker]=\"picker\" readonly [required]=\"required\">\r\n <mat-hint>MM/DD/YYYY</mat-hint>\r\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n <mat-datepicker #picker></mat-datepicker>\r\n </mat-form-field>", styles: [""], components: [{ type: i1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i2.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { type: i2.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }], directives: [{ type: i1.MatLabel, selector: "mat-label" }, { type: i3.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]" }, { type: i2.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }] });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: QuestionTypeDateComponent, decorators: [{
31
+ type: Component,
32
+ args: [{ selector: 'lib-question-type-date', providers: [
33
+ {
34
+ provide: NG_VALUE_ACCESSOR,
35
+ useExisting: forwardRef(() => QuestionTypeDateComponent),
36
+ multi: true,
37
+ },
38
+ ], template: "<mat-form-field class=\"datesty\">\r\n <mat-label>Choose a date</mat-label>\r\n <input matInput [formControl]=\"formControl\" class=\"form-check-input\" [matDatepicker]=\"picker\" readonly [required]=\"required\">\r\n <mat-hint>MM/DD/YYYY</mat-hint>\r\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n <mat-datepicker #picker></mat-datepicker>\r\n </mat-form-field>", styles: [""] }]
39
+ }], ctorParameters: function () { return []; }, propDecorators: { required: [{
40
+ type: Input
41
+ }] } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tdHlwZS1kYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fzc2Vzc21lbnQtdGFrZXIvc3JjL2xpYi9zaGFyZWQvc2hhcmVkLWNvbXBvbmVudHMvcXVlc3Rpb24tdHlwZS1kYXRlL3F1ZXN0aW9uLXR5cGUtZGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc3Nlc3NtZW50LXRha2VyL3NyYy9saWIvc2hhcmVkL3NoYXJlZC1jb21wb25lbnRzL3F1ZXN0aW9uLXR5cGUtZGF0ZS9xdWVzdGlvbi10eXBlLWRhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBd0IsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQWN0RixNQUFNLE9BQU8seUJBQXlCO0lBR3BDO1FBRE8sZ0JBQVcsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRWpCLFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFZO1FBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQVk7UUFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDOzt1SEFmVSx5QkFBeUI7MkdBQXpCLHlCQUF5QixtRkFSekI7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztZQUN4RCxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsMEJDYkgsa2FBTW1COzRGRFNOLHlCQUF5QjtrQkFackMsU0FBUzsrQkFDRSx3QkFBd0IsYUFHdkI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsMEJBQTBCLENBQUM7NEJBQ3hELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzBFQUdRLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1Db250cm9sLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXF1ZXN0aW9uLXR5cGUtZGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3F1ZXN0aW9uLXR5cGUtZGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcXVlc3Rpb24tdHlwZS1kYXRlLmNvbXBvbmVudC5jc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFF1ZXN0aW9uVHlwZURhdGVDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFF1ZXN0aW9uVHlwZURhdGVDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgQElucHV0KCkgcmVxdWlyZWQ6YW55O1xyXG4gIHB1YmxpYyBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogRnVuY3Rpb24pIHtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsKSA9PiBmbih2YWwpKTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBGdW5jdGlvbikge1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWwpID0+IGZuKHZhbCkpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZGF0ZXN0eVwiPlxyXG4gICAgPG1hdC1sYWJlbD5DaG9vc2UgYSBkYXRlPC9tYXQtbGFiZWw+XHJcbiAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCIgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgW21hdERhdGVwaWNrZXJdPVwicGlja2VyXCIgcmVhZG9ubHkgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCI+XHJcbiAgICA8bWF0LWhpbnQ+TU0vREQvWVlZWTwvbWF0LWhpbnQ+XHJcbiAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIG1hdEljb25TdWZmaXggW2Zvcl09XCJwaWNrZXJcIj48L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cclxuICAgIDxtYXQtZGF0ZXBpY2tlciAjcGlja2VyPjwvbWF0LWRhdGVwaWNrZXI+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD4iXX0=
@@ -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
+ import * as i1 from "@kolkov/angular-editor";
5
+ import * as i2 from "@angular/forms";
6
+ const ANGULAR_EDITOR_LOGO_URL = 'http://localhost:4200/assets/images/new_tooltip.jpg?raw=true';
7
+ export class QuestionTypeEditorComponent {
8
+ constructor() {
9
+ this.angularEditorLogo = `<img alt="angular editor logo" src="${ANGULAR_EDITOR_LOGO_URL}">`;
10
+ this.formControl = new FormControl();
11
+ }
12
+ writeValue(value) {
13
+ this.formControl.setValue(value);
14
+ }
15
+ registerOnChange(fn) {
16
+ this.formControl.valueChanges.subscribe((val) => fn(val));
17
+ }
18
+ registerOnTouched(fn) {
19
+ this.formControl.valueChanges.subscribe((val) => fn(val));
20
+ }
21
+ }
22
+ QuestionTypeEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: QuestionTypeEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
+ QuestionTypeEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: QuestionTypeEditorComponent, selector: "lib-question-type-editor", inputs: { required: "required", optionsList: "optionsList", fieldAttributes: "fieldAttributes", config: "config" }, providers: [
24
+ {
25
+ provide: NG_VALUE_ACCESSOR,
26
+ useExisting: forwardRef(() => QuestionTypeEditorComponent),
27
+ multi: true,
28
+ },
29
+ ], ngImport: i0, template: "<angular-editor [config]=\"config\" [formControl]=\"formControl\" [required]=\"required\">\r\n <ng-template #customButtons let-executeCommandFn=\"executeCommandFn\">\r\n <ae-toolbar-set>\r\n <ae-button iconClass=\"fa fa-html5\" title=\"Angular editor logo\" (buttonClick)=\"executeCommandFn('insertHtml', angularEditorLogo)\"></ae-button>\r\n </ae-toolbar-set>\r\n </ng-template>\r\n</angular-editor>\r\n", styles: [""], components: [{ type: i1.AngularEditorComponent, selector: "angular-editor", inputs: ["id", "config", "placeholder", "tabIndex"], outputs: ["html", "viewMode", "blur", "focus"] }, { type: i1.AeToolbarSetComponent, selector: "ae-toolbar-set" }, { type: i1.AeButtonComponent, selector: "ae-button", inputs: ["iconClass", "title"], outputs: ["buttonClick"] }], directives: [{ type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }] });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: QuestionTypeEditorComponent, decorators: [{
31
+ type: Component,
32
+ args: [{ selector: 'lib-question-type-editor', providers: [
33
+ {
34
+ provide: NG_VALUE_ACCESSOR,
35
+ useExisting: forwardRef(() => QuestionTypeEditorComponent),
36
+ multi: true,
37
+ },
38
+ ], template: "<angular-editor [config]=\"config\" [formControl]=\"formControl\" [required]=\"required\">\r\n <ng-template #customButtons let-executeCommandFn=\"executeCommandFn\">\r\n <ae-toolbar-set>\r\n <ae-button iconClass=\"fa fa-html5\" title=\"Angular editor logo\" (buttonClick)=\"executeCommandFn('insertHtml', angularEditorLogo)\"></ae-button>\r\n </ae-toolbar-set>\r\n </ng-template>\r\n</angular-editor>\r\n", styles: [""] }]
39
+ }], ctorParameters: function () { return []; }, propDecorators: { required: [{
40
+ type: Input
41
+ }], optionsList: [{
42
+ type: Input
43
+ }], fieldAttributes: [{
44
+ type: Input
45
+ }], config: [{
46
+ type: Input
47
+ }] } });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tdHlwZS1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXNzZXNzbWVudC10YWtlci9zcmMvbGliL3NoYXJlZC9zaGFyZWQtY29tcG9uZW50cy9xdWVzdGlvbi10eXBlLWVkaXRvci9xdWVzdGlvbi10eXBlLWVkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc3Nlc3NtZW50LXRha2VyL3NyYy9saWIvc2hhcmVkL3NoYXJlZC1jb21wb25lbnRzL3F1ZXN0aW9uLXR5cGUtZWRpdG9yL3F1ZXN0aW9uLXR5cGUtZWRpdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQXdCLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBRXRGLE1BQU0sdUJBQXVCLEdBQUUsOERBQThELENBQUE7QUFhN0YsTUFBTSxPQUFPLDJCQUEyQjtJQU90QztRQU5BLHNCQUFpQixHQUFHLHVDQUF1Qyx1QkFBdUIsSUFBSSxDQUFDO1FBS2hGLGdCQUFXLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVqQixVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBWTtRQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFZO1FBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQzs7eUhBbkJVLDJCQUEyQjs2R0FBM0IsMkJBQTJCLHVLQVIzQjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDJCQUEyQixDQUFDO1lBQzFELEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRiwwQkNkSCwyYUFPQTs0RkRTYSwyQkFBMkI7a0JBWnZDLFNBQVM7K0JBQ0UsMEJBQTBCLGFBR3pCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDRCQUE0QixDQUFDOzRCQUMxRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjswRUFJUSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1Db250cm9sLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQW5ndWxhckVkaXRvckNvbmZpZyB9IGZyb20gJ0Brb2xrb3YvYW5ndWxhci1lZGl0b3InO1xyXG5jb25zdCBBTkdVTEFSX0VESVRPUl9MT0dPX1VSTCA9J2h0dHA6Ly9sb2NhbGhvc3Q6NDIwMC9hc3NldHMvaW1hZ2VzL25ld190b29sdGlwLmpwZz9yYXc9dHJ1ZSdcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItcXVlc3Rpb24tdHlwZS1lZGl0b3InLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWVzdGlvbi10eXBlLWVkaXRvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcXVlc3Rpb24tdHlwZS1lZGl0b3IuY29tcG9uZW50LmNzcyddLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUXVlc3Rpb25UeXBlRWRpdG9yQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBRdWVzdGlvblR5cGVFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgYW5ndWxhckVkaXRvckxvZ28gPSBgPGltZyBhbHQ9XCJhbmd1bGFyIGVkaXRvciBsb2dvXCIgc3JjPVwiJHtBTkdVTEFSX0VESVRPUl9MT0dPX1VSTH1cIj5gO1xyXG4gIEBJbnB1dCgpIHJlcXVpcmVkOmFueTtcclxuICBASW5wdXQoKSBvcHRpb25zTGlzdDphbnk7XHJcbiAgQElucHV0KCkgZmllbGRBdHRyaWJ1dGVzOiBhbnk7XHJcbiAgQElucHV0KCkgY29uZmlnOmFueTtcclxuICBwdWJsaWMgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IEZ1bmN0aW9uKSB7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbCkgPT4gZm4odmFsKSk7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogRnVuY3Rpb24pIHtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsKSA9PiBmbih2YWwpKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxhbmd1bGFyLWVkaXRvciBbY29uZmlnXT1cImNvbmZpZ1wiIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiPlxyXG4gIDxuZy10ZW1wbGF0ZSAjY3VzdG9tQnV0dG9ucyBsZXQtZXhlY3V0ZUNvbW1hbmRGbj1cImV4ZWN1dGVDb21tYW5kRm5cIj5cclxuICAgICAgPGFlLXRvb2xiYXItc2V0PlxyXG4gICAgICAgIDxhZS1idXR0b24gaWNvbkNsYXNzPVwiZmEgZmEtaHRtbDVcIiB0aXRsZT1cIkFuZ3VsYXIgZWRpdG9yIGxvZ29cIiAoYnV0dG9uQ2xpY2spPVwiZXhlY3V0ZUNvbW1hbmRGbignaW5zZXJ0SHRtbCcsIGFuZ3VsYXJFZGl0b3JMb2dvKVwiPjwvYWUtYnV0dG9uPlxyXG4gICAgICA8L2FlLXRvb2xiYXItc2V0PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuPC9hbmd1bGFyLWVkaXRvcj5cclxuIl19
@@ -0,0 +1,47 @@
1
+ import { Component, forwardRef, Input } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR, FormControl } 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 QuestionTypeLongComponent {
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
+ QuestionTypeLongComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: QuestionTypeLongComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
22
+ QuestionTypeLongComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: QuestionTypeLongComponent, selector: "lib-question-type-long", inputs: { required: "required", optionsList: "optionsList", fieldAttributes: "fieldAttributes", config: "config" }, providers: [
23
+ {
24
+ provide: NG_VALUE_ACCESSOR,
25
+ useExisting: forwardRef(() => QuestionTypeLongComponent),
26
+ multi: true,
27
+ },
28
+ ], ngImport: i0, template: "<mat-form-field class=\"example-full-width\">\r\n <textarea matInput [formControl]=\"formControl\" class=\"form-check-input\" [name]=\"fieldAttributes.id\" placeholder=\"Enter your answer here\" [required]=\"required\"></textarea>\r\n </mat-form-field>\r\n\r\n <!-- <angular-editor [config]=\"config\" [formControl]=\"formControl\">\r\n <ng-template #customButtons let-executeCommandFn=\"executeCommandFn\">\r\n <ae-toolbar-set>\r\n <ae-button iconClass=\"fa fa-html5\" title=\"Angular editor logo\" (buttonClick)=\"executeCommandFn('insertHtml', angularEditorLogo)\"></ae-button>\r\n </ae-toolbar-set>\r\n </ng-template>\r\n</angular-editor> -->", styles: [""], 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"] }] });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: QuestionTypeLongComponent, decorators: [{
30
+ type: Component,
31
+ args: [{ selector: 'lib-question-type-long', providers: [
32
+ {
33
+ provide: NG_VALUE_ACCESSOR,
34
+ useExisting: forwardRef(() => QuestionTypeLongComponent),
35
+ multi: true,
36
+ },
37
+ ], template: "<mat-form-field class=\"example-full-width\">\r\n <textarea matInput [formControl]=\"formControl\" class=\"form-check-input\" [name]=\"fieldAttributes.id\" placeholder=\"Enter your answer here\" [required]=\"required\"></textarea>\r\n </mat-form-field>\r\n\r\n <!-- <angular-editor [config]=\"config\" [formControl]=\"formControl\">\r\n <ng-template #customButtons let-executeCommandFn=\"executeCommandFn\">\r\n <ae-toolbar-set>\r\n <ae-button iconClass=\"fa fa-html5\" title=\"Angular editor logo\" (buttonClick)=\"executeCommandFn('insertHtml', angularEditorLogo)\"></ae-button>\r\n </ae-toolbar-set>\r\n </ng-template>\r\n</angular-editor> -->", styles: [""] }]
38
+ }], ctorParameters: function () { return []; }, propDecorators: { required: [{
39
+ type: Input
40
+ }], optionsList: [{
41
+ type: Input
42
+ }], fieldAttributes: [{
43
+ type: Input
44
+ }], config: [{
45
+ type: Input
46
+ }] } });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tdHlwZS1sb25nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fzc2Vzc21lbnQtdGFrZXIvc3JjL2xpYi9zaGFyZWQvc2hhcmVkLWNvbXBvbmVudHMvcXVlc3Rpb24tdHlwZS1sb25nL3F1ZXN0aW9uLXR5cGUtbG9uZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc3Nlc3NtZW50LXRha2VyL3NyYy9saWIvc2hhcmVkL3NoYXJlZC1jb21wb25lbnRzL3F1ZXN0aW9uLXR5cGUtbG9uZy9xdWVzdGlvbi10eXBlLWxvbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBY3RGLE1BQU0sT0FBTyx5QkFBeUI7SUFNcEM7UUFETyxnQkFBVyxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFakIsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQVk7UUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBWTtRQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7O3VIQWxCVSx5QkFBeUI7MkdBQXpCLHlCQUF5QixxS0FSekI7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztZQUN4RCxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsMEJDYkgsNHFCQVVxQjs0RkRLUix5QkFBeUI7a0JBWnJDLFNBQVM7K0JBQ0Usd0JBQXdCLGFBR3ZCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDBCQUEwQixDQUFDOzRCQUN4RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjswRUFHUSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXF1ZXN0aW9uLXR5cGUtbG9uZycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3F1ZXN0aW9uLXR5cGUtbG9uZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcXVlc3Rpb24tdHlwZS1sb25nLmNvbXBvbmVudC5jc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFF1ZXN0aW9uVHlwZUxvbmdDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFF1ZXN0aW9uVHlwZUxvbmdDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgQElucHV0KCkgcmVxdWlyZWQ6YW55O1xyXG4gIEBJbnB1dCgpIG9wdGlvbnNMaXN0OmFueTtcclxuICBASW5wdXQoKSBmaWVsZEF0dHJpYnV0ZXM6IGFueTtcclxuICBASW5wdXQoKSBjb25maWc6YW55O1xyXG4gIHB1YmxpYyBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogRnVuY3Rpb24pIHtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsKSA9PiBmbih2YWwpKTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBGdW5jdGlvbikge1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWwpID0+IGZuKHZhbCkpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZXhhbXBsZS1mdWxsLXdpZHRoXCI+XHJcbiAgICA8dGV4dGFyZWEgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCIgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgW25hbWVdPVwiZmllbGRBdHRyaWJ1dGVzLmlkXCIgcGxhY2Vob2xkZXI9XCJFbnRlciB5b3VyIGFuc3dlciBoZXJlXCIgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCI+PC90ZXh0YXJlYT5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuICA8IS0tIDxhbmd1bGFyLWVkaXRvciBbY29uZmlnXT1cImNvbmZpZ1wiIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiPlxyXG4gICAgPG5nLXRlbXBsYXRlICNjdXN0b21CdXR0b25zIGxldC1leGVjdXRlQ29tbWFuZEZuPVwiZXhlY3V0ZUNvbW1hbmRGblwiPlxyXG4gICAgICAgIDxhZS10b29sYmFyLXNldD5cclxuICAgICAgICAgIDxhZS1idXR0b24gaWNvbkNsYXNzPVwiZmEgZmEtaHRtbDVcIiB0aXRsZT1cIkFuZ3VsYXIgZWRpdG9yIGxvZ29cIiAoYnV0dG9uQ2xpY2spPVwiZXhlY3V0ZUNvbW1hbmRGbignaW5zZXJ0SHRtbCcsIGFuZ3VsYXJFZGl0b3JMb2dvKVwiPjwvYWUtYnV0dG9uPlxyXG4gICAgICAgIDwvYWUtdG9vbGJhci1zZXQ+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbjwvYW5ndWxhci1lZGl0b3I+IC0tPiJdfQ==
@@ -0,0 +1,55 @@
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/checkbox";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "../../pipe/order-by.pipe";
7
+ export class QuestionTypeMultiselectComponent {
8
+ constructor() {
9
+ this.selectData = [];
10
+ this.formControl = new FormControl();
11
+ }
12
+ toggleSelection(event, data) {
13
+ if (event.checked) {
14
+ this.selectData.push(data);
15
+ }
16
+ else {
17
+ const i = this.selectData.findIndex(value => value.id == data.id);
18
+ this.selectData.splice(i, 1);
19
+ }
20
+ this.formControl.patchValue(this.selectData);
21
+ }
22
+ ;
23
+ writeValue(value) {
24
+ this.formControl.setValue(value);
25
+ }
26
+ registerOnChange(fn) {
27
+ this.formControl.valueChanges.subscribe((val) => fn(val));
28
+ }
29
+ registerOnTouched(fn) {
30
+ this.formControl.valueChanges.subscribe((val) => fn(val));
31
+ }
32
+ }
33
+ QuestionTypeMultiselectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: QuestionTypeMultiselectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
34
+ QuestionTypeMultiselectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: QuestionTypeMultiselectComponent, selector: "lib-question-type-multiselect", inputs: { required: "required", optionsList: "optionsList" }, providers: [
35
+ {
36
+ provide: NG_VALUE_ACCESSOR,
37
+ useExisting: forwardRef(() => QuestionTypeMultiselectComponent),
38
+ multi: true,
39
+ },
40
+ ], ngImport: i0, template: "<!-- <div class=\"checkbox-group\">\r\n <label *ngFor=\"let option of optionsList.defaultOptionsList\">\r\n <input\r\n type=\"checkbox\" \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<section class=\"example-section\">\r\n <ng-container *ngFor=\"let option of optionsList.defaultOptionsList | orderBy\">\r\n <mat-checkbox class=\"form-check-input example-margin\" \r\n (change)=\"toggleSelection($event,option.options)\"\r\n [value]=\"option.options\" [required]=\"required\">{{ option.options.optionName[0]?.text }}</mat-checkbox>\r\n </ng-container>\r\n</section>\r\n<!-- <ng-container\r\n *ngFor=\"let option of optionsList.defaultOptionsList | orderBy\"\r\n [value]=\"option.options\"\r\n >\r\n <div (click)=\"optionClicked($event, option.options)\">\r\n <mat-checkbox\r\n (change)=\"toggleSelection(option.options)\"\r\n (click)=\"$event.stopPropagation()\"\r\n >\r\n {{ option.options.optionName[0]?.text }}\r\n </mat-checkbox>\r\n </div>\r\n </ng-container> -->", styles: [""], components: [{ type: i1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "orderBy": i3.OrderByPipe } });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: QuestionTypeMultiselectComponent, decorators: [{
42
+ type: Component,
43
+ args: [{ selector: 'lib-question-type-multiselect', providers: [
44
+ {
45
+ provide: NG_VALUE_ACCESSOR,
46
+ useExisting: forwardRef(() => QuestionTypeMultiselectComponent),
47
+ multi: true,
48
+ },
49
+ ], template: "<!-- <div class=\"checkbox-group\">\r\n <label *ngFor=\"let option of optionsList.defaultOptionsList\">\r\n <input\r\n type=\"checkbox\" \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<section class=\"example-section\">\r\n <ng-container *ngFor=\"let option of optionsList.defaultOptionsList | orderBy\">\r\n <mat-checkbox class=\"form-check-input example-margin\" \r\n (change)=\"toggleSelection($event,option.options)\"\r\n [value]=\"option.options\" [required]=\"required\">{{ option.options.optionName[0]?.text }}</mat-checkbox>\r\n </ng-container>\r\n</section>\r\n<!-- <ng-container\r\n *ngFor=\"let option of optionsList.defaultOptionsList | orderBy\"\r\n [value]=\"option.options\"\r\n >\r\n <div (click)=\"optionClicked($event, option.options)\">\r\n <mat-checkbox\r\n (change)=\"toggleSelection(option.options)\"\r\n (click)=\"$event.stopPropagation()\"\r\n >\r\n {{ option.options.optionName[0]?.text }}\r\n </mat-checkbox>\r\n </div>\r\n </ng-container> -->", styles: [""] }]
50
+ }], ctorParameters: function () { return []; }, propDecorators: { required: [{
51
+ type: Input
52
+ }], optionsList: [{
53
+ type: Input
54
+ }] } });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tdHlwZS1tdWx0aXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc3Nlc3NtZW50LXRha2VyL3NyYy9saWIvc2hhcmVkL3NoYXJlZC1jb21wb25lbnRzL3F1ZXN0aW9uLXR5cGUtbXVsdGlzZWxlY3QvcXVlc3Rpb24tdHlwZS1tdWx0aXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc3Nlc3NtZW50LXRha2VyL3NyYy9saWIvc2hhcmVkL3NoYXJlZC1jb21wb25lbnRzL3F1ZXN0aW9uLXR5cGUtbXVsdGlzZWxlY3QvcXVlc3Rpb24tdHlwZS1tdWx0aXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFtQyxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFjakcsTUFBTSxPQUFPLGdDQUFnQztJQU0zQztRQUhBLGVBQVUsR0FBZSxFQUFFLENBQUM7UUFDckIsZ0JBQVcsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztJQUVwQyxDQUFDO0lBRWpCLGVBQWUsQ0FBQyxLQUFVLEVBQUUsSUFBUztRQUNuQyxJQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUM7WUFDZixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM1QjthQUFNO1lBQ0wsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNsRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDOUI7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUFBLENBQUM7SUFHRixVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBWTtRQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFZO1FBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQzs7OEhBN0JVLGdDQUFnQztrSEFBaEMsZ0NBQWdDLHNIQVJoQztRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdDQUFnQyxDQUFDO1lBQy9ELEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRiwwQkNiSCx1dENBNkJxQjs0RkRkUixnQ0FBZ0M7a0JBWjVDLFNBQVM7K0JBQ0UsK0JBQStCLGFBRzlCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGlDQUFpQyxDQUFDOzRCQUMvRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjswRUFHUSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1BcnJheSwgRm9ybUNvbnRyb2wsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItcXVlc3Rpb24tdHlwZS1tdWx0aXNlbGVjdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3F1ZXN0aW9uLXR5cGUtbXVsdGlzZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3F1ZXN0aW9uLXR5cGUtbXVsdGlzZWxlY3QuY29tcG9uZW50LmNzcyddLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUXVlc3Rpb25UeXBlTXVsdGlzZWxlY3RDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFF1ZXN0aW9uVHlwZU11bHRpc2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIEBJbnB1dCgpIHJlcXVpcmVkOiBhbnk7XHJcbiAgQElucHV0KCkgb3B0aW9uc0xpc3Q6IGFueTtcclxuICBzZWxlY3REYXRhOiBBcnJheTxhbnk+ID0gW107XHJcbiAgcHVibGljIGZvcm1Db250cm9sOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICB0b2dnbGVTZWxlY3Rpb24oZXZlbnQ6IGFueSwgZGF0YTogYW55KSB7XHJcbiAgICBpZihldmVudC5jaGVja2VkKXtcclxuICAgICAgdGhpcy5zZWxlY3REYXRhLnB1c2goZGF0YSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBpID0gdGhpcy5zZWxlY3REYXRhLmZpbmRJbmRleCh2YWx1ZSA9PiB2YWx1ZS5pZCA9PSBkYXRhLmlkKTtcclxuICAgICAgdGhpcy5zZWxlY3REYXRhLnNwbGljZShpLCAxKTtcclxuICAgIH1cclxuICAgIHRoaXMuZm9ybUNvbnRyb2wucGF0Y2hWYWx1ZSh0aGlzLnNlbGVjdERhdGEpO1xyXG4gIH07XHJcblxyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogRnVuY3Rpb24pIHtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsKSA9PiBmbih2YWwpKTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBGdW5jdGlvbikge1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWwpID0+IGZuKHZhbCkpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPCEtLSA8ZGl2IGNsYXNzPVwiY2hlY2tib3gtZ3JvdXBcIj5cclxuICAgIDxsYWJlbCAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnNMaXN0LmRlZmF1bHRPcHRpb25zTGlzdFwiPlxyXG4gICAgPGlucHV0XHJcbiAgICAgICAgdHlwZT1cImNoZWNrYm94XCIgXHJcbiAgICAgICAgW3ZhbHVlXT1cIm9wdGlvbi5vcHRpb25zLmlkXCJcclxuICAgICAgICBbbmFtZV09XCJvcHRpb25zTGlzdC5pZFwiXHJcbiAgICAvPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJhc3Nlc3NtZW50LXRleHQtcmVndWxhci0xOCBtdC01XCI+e3sgb3B0aW9uLm9wdGlvbnMub3B0aW9uTmFtZVswXT8udGV4dCB9fTwvc3Bhbj5cclxuICAgIDwvbGFiZWw+XHJcbjwvZGl2PiAtLT5cclxuPHNlY3Rpb24gY2xhc3M9XCJleGFtcGxlLXNlY3Rpb25cIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zTGlzdC5kZWZhdWx0T3B0aW9uc0xpc3QgfCBvcmRlckJ5XCI+XHJcbiAgICAgICAgPG1hdC1jaGVja2JveCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXQgZXhhbXBsZS1tYXJnaW5cIiBcclxuICAgICAgICAoY2hhbmdlKT1cInRvZ2dsZVNlbGVjdGlvbigkZXZlbnQsb3B0aW9uLm9wdGlvbnMpXCJcclxuICAgICAgICBbdmFsdWVdPVwib3B0aW9uLm9wdGlvbnNcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIj57eyBvcHRpb24ub3B0aW9ucy5vcHRpb25OYW1lWzBdPy50ZXh0IH19PC9tYXQtY2hlY2tib3g+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuPC9zZWN0aW9uPlxyXG48IS0tIDxuZy1jb250YWluZXJcclxuICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc0xpc3QuZGVmYXVsdE9wdGlvbnNMaXN0IHwgb3JkZXJCeVwiXHJcbiAgICBbdmFsdWVdPVwib3B0aW9uLm9wdGlvbnNcIlxyXG4gID5cclxuICAgIDxkaXYgKGNsaWNrKT1cIm9wdGlvbkNsaWNrZWQoJGV2ZW50LCBvcHRpb24ub3B0aW9ucylcIj5cclxuICAgICAgPG1hdC1jaGVja2JveFxyXG4gICAgICAgIChjaGFuZ2UpPVwidG9nZ2xlU2VsZWN0aW9uKG9wdGlvbi5vcHRpb25zKVwiXHJcbiAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgID5cclxuICAgICAgICB7eyBvcHRpb24ub3B0aW9ucy5vcHRpb25OYW1lWzBdPy50ZXh0IH19XHJcbiAgICAgIDwvbWF0LWNoZWNrYm94PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+IC0tPiJdfQ==
@@ -0,0 +1,58 @@
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/checkbox";
5
+ import * as i2 from "@angular/material/form-field";
6
+ import * as i3 from "@angular/common";
7
+ import * as i4 from "@angular/material/input";
8
+ import * as i5 from "@angular/forms";
9
+ import * as i6 from "../../pipe/order-by.pipe";
10
+ export class QuestionTypeMultiselectSubComponent {
11
+ constructor() {
12
+ this.selectData = [];
13
+ this.formControl = new FormControl();
14
+ }
15
+ toggleSelection(event, data) {
16
+ if (event.checked) {
17
+ this.selectData.push(data);
18
+ }
19
+ else {
20
+ const i = this.selectData.findIndex(value => value.id == data.id);
21
+ this.selectData.splice(i, 1);
22
+ }
23
+ this.formControl.patchValue(this.selectData);
24
+ }
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
+ }
36
+ QuestionTypeMultiselectSubComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: QuestionTypeMultiselectSubComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
37
+ QuestionTypeMultiselectSubComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: QuestionTypeMultiselectSubComponent, selector: "lib-question-type-multiselect-sub", inputs: { required: "required", optionsList: "optionsList" }, providers: [
38
+ {
39
+ provide: NG_VALUE_ACCESSOR,
40
+ useExisting: forwardRef(() => QuestionTypeMultiselectSubComponent),
41
+ multi: true,
42
+ },
43
+ ], ngImport: i0, template: "<section class=\"example-section\">\r\n <ng-container *ngFor=\"let option of optionsList.defaultOptionsList | orderBy\">\r\n <mat-checkbox\r\n (change)=\"toggleSelection($event,option.options)\"\r\n [value]=\"option.options.id\" \r\n [required]=\"required\" \r\n class=\"example-margin\">{{ option.options.optionName[0]?.text }}</mat-checkbox>\r\n </ng-container>\r\n</section>\r\n<mat-form-field class=\"example-full-width\">\r\n <input matInput [formControl]=\"formControl\" name=\"stortc\" class=\"form-check-input\" placeholder=\"Enter your answer here\" [required]=\"required\">\r\n</mat-form-field>", styles: [""], components: [{ type: i1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.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: i5.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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }], pipes: { "orderBy": i6.OrderByPipe } });
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: QuestionTypeMultiselectSubComponent, decorators: [{
45
+ type: Component,
46
+ args: [{ selector: 'lib-question-type-multiselect-sub', providers: [
47
+ {
48
+ provide: NG_VALUE_ACCESSOR,
49
+ useExisting: forwardRef(() => QuestionTypeMultiselectSubComponent),
50
+ multi: true,
51
+ },
52
+ ], template: "<section class=\"example-section\">\r\n <ng-container *ngFor=\"let option of optionsList.defaultOptionsList | orderBy\">\r\n <mat-checkbox\r\n (change)=\"toggleSelection($event,option.options)\"\r\n [value]=\"option.options.id\" \r\n [required]=\"required\" \r\n class=\"example-margin\">{{ option.options.optionName[0]?.text }}</mat-checkbox>\r\n </ng-container>\r\n</section>\r\n<mat-form-field class=\"example-full-width\">\r\n <input matInput [formControl]=\"formControl\" name=\"stortc\" class=\"form-check-input\" placeholder=\"Enter your answer here\" [required]=\"required\">\r\n</mat-form-field>", styles: [""] }]
53
+ }], ctorParameters: function () { return []; }, propDecorators: { required: [{
54
+ type: Input
55
+ }], optionsList: [{
56
+ type: Input
57
+ }] } });
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tdHlwZS1tdWx0aXNlbGVjdC1zdWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXNzZXNzbWVudC10YWtlci9zcmMvbGliL3NoYXJlZC9zaGFyZWQtY29tcG9uZW50cy9xdWVzdGlvbi10eXBlLW11bHRpc2VsZWN0LXN1Yi9xdWVzdGlvbi10eXBlLW11bHRpc2VsZWN0LXN1Yi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc3Nlc3NtZW50LXRha2VyL3NyYy9saWIvc2hhcmVkL3NoYXJlZC1jb21wb25lbnRzL3F1ZXN0aW9uLXR5cGUtbXVsdGlzZWxlY3Qtc3ViL3F1ZXN0aW9uLXR5cGUtbXVsdGlzZWxlY3Qtc3ViLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQXdCLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztBQWN0RixNQUFNLE9BQU8sbUNBQW1DO0lBSzlDO1FBRkEsZUFBVSxHQUFlLEVBQUUsQ0FBQztRQUNyQixnQkFBVyxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFakIsZUFBZSxDQUFDLEtBQVUsRUFBRSxJQUFTO1FBQ25DLElBQUcsS0FBSyxDQUFDLE9BQU8sRUFBQztZQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzVCO2FBQU07WUFDTCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2xFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUM5QjtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBQUEsQ0FBQztJQUVGLFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFZO1FBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQVk7UUFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDOztpSUEzQlUsbUNBQW1DO3FIQUFuQyxtQ0FBbUMsMEhBUm5DO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsbUNBQW1DLENBQUM7WUFDbEUsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLDBCQ2JILDBvQkFXaUI7NEZESUosbUNBQW1DO2tCQVovQyxTQUFTOytCQUNFLG1DQUFtQyxhQUdsQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxvQ0FBb0MsQ0FBQzs0QkFDbEUsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7MEVBR1EsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQ29udHJvbCwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1xdWVzdGlvbi10eXBlLW11bHRpc2VsZWN0LXN1YicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3F1ZXN0aW9uLXR5cGUtbXVsdGlzZWxlY3Qtc3ViLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9xdWVzdGlvbi10eXBlLW11bHRpc2VsZWN0LXN1Yi5jb21wb25lbnQuY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBRdWVzdGlvblR5cGVNdWx0aXNlbGVjdFN1YkNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUXVlc3Rpb25UeXBlTXVsdGlzZWxlY3RTdWJDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgQElucHV0KCkgcmVxdWlyZWQ6YW55O1xyXG4gIEBJbnB1dCgpIG9wdGlvbnNMaXN0OmFueTtcclxuICBzZWxlY3REYXRhOiBBcnJheTxhbnk+ID0gW107XHJcbiAgcHVibGljIGZvcm1Db250cm9sOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIHRvZ2dsZVNlbGVjdGlvbihldmVudDogYW55LCBkYXRhOiBhbnkpIHtcclxuICAgIGlmKGV2ZW50LmNoZWNrZWQpe1xyXG4gICAgICB0aGlzLnNlbGVjdERhdGEucHVzaChkYXRhKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGkgPSB0aGlzLnNlbGVjdERhdGEuZmluZEluZGV4KHZhbHVlID0+IHZhbHVlLmlkID09IGRhdGEuaWQpO1xyXG4gICAgICB0aGlzLnNlbGVjdERhdGEuc3BsaWNlKGksIDEpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mb3JtQ29udHJvbC5wYXRjaFZhbHVlKHRoaXMuc2VsZWN0RGF0YSk7XHJcbiAgfTtcclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IEZ1bmN0aW9uKSB7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbCkgPT4gZm4odmFsKSk7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogRnVuY3Rpb24pIHtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsKSA9PiBmbih2YWwpKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxzZWN0aW9uIGNsYXNzPVwiZXhhbXBsZS1zZWN0aW9uXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc0xpc3QuZGVmYXVsdE9wdGlvbnNMaXN0IHwgb3JkZXJCeVwiPlxyXG4gICAgICAgIDxtYXQtY2hlY2tib3hcclxuICAgICAgICAoY2hhbmdlKT1cInRvZ2dsZVNlbGVjdGlvbigkZXZlbnQsb3B0aW9uLm9wdGlvbnMpXCJcclxuICAgICAgICBbdmFsdWVdPVwib3B0aW9uLm9wdGlvbnMuaWRcIiBcclxuICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIiBcclxuICAgICAgICBjbGFzcz1cImV4YW1wbGUtbWFyZ2luXCI+e3sgb3B0aW9uLm9wdGlvbnMub3B0aW9uTmFtZVswXT8udGV4dCB9fTwvbWF0LWNoZWNrYm94PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbjwvc2VjdGlvbj5cclxuPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZXhhbXBsZS1mdWxsLXdpZHRoXCI+XHJcbiAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCIgbmFtZT1cInN0b3J0Y1wiIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIHBsYWNlaG9sZGVyPVwiRW50ZXIgeW91ciBhbnN3ZXIgaGVyZVwiIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiPlxyXG48L21hdC1mb3JtLWZpZWxkPiJdfQ==
@@ -0,0 +1,43 @@
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/form-field";
5
+ import * as i2 from "@angular/material/input";
6
+ import * as i3 from "@angular/forms";
7
+ export class QuestionTypeNumberComponent {
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
+ QuestionTypeNumberComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: QuestionTypeNumberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
22
+ QuestionTypeNumberComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: QuestionTypeNumberComponent, selector: "lib-question-type-number", inputs: { required: "required", optionsList: "optionsList" }, providers: [
23
+ {
24
+ provide: NG_VALUE_ACCESSOR,
25
+ useExisting: forwardRef(() => QuestionTypeNumberComponent),
26
+ multi: true,
27
+ },
28
+ ], 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 </mat-form-field>\r\n", styles: [""], 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.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { type: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { 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"] }] });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: QuestionTypeNumberComponent, decorators: [{
30
+ type: Component,
31
+ args: [{ selector: 'lib-question-type-number', providers: [
32
+ {
33
+ provide: NG_VALUE_ACCESSOR,
34
+ useExisting: forwardRef(() => QuestionTypeNumberComponent),
35
+ multi: true,
36
+ },
37
+ ], 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 </mat-form-field>\r\n", styles: [""] }]
38
+ }], ctorParameters: function () { return []; }, propDecorators: { required: [{
39
+ type: Input
40
+ }], optionsList: [{
41
+ type: Input
42
+ }] } });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tdHlwZS1udW1iZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXNzZXNzbWVudC10YWtlci9zcmMvbGliL3NoYXJlZC9zaGFyZWQtY29tcG9uZW50cy9xdWVzdGlvbi10eXBlLW51bWJlci9xdWVzdGlvbi10eXBlLW51bWJlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc3Nlc3NtZW50LXRha2VyL3NyYy9saWIvc2hhcmVkL3NoYXJlZC1jb21wb25lbnRzL3F1ZXN0aW9uLXR5cGUtbnVtYmVyL3F1ZXN0aW9uLXR5cGUtbnVtYmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQXdCLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQWN0RixNQUFNLE9BQU8sMkJBQTJCO0lBTXRDO1FBRk8sZ0JBQVcsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztJQUVwQyxDQUFDO0lBRWpCLFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFZO1FBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQVk7UUFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDOzt5SEFsQlUsMkJBQTJCOzZHQUEzQiwyQkFBMkIsaUhBUjNCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUM7WUFDMUQsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLDBCQ2JILDZSQUdBOzRGRFlhLDJCQUEyQjtrQkFadkMsU0FBUzsrQkFDRSwwQkFBMEIsYUFHekI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsNEJBQTRCLENBQUM7NEJBQzFELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzBFQUdRLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItcXVlc3Rpb24tdHlwZS1udW1iZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWVzdGlvbi10eXBlLW51bWJlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcXVlc3Rpb24tdHlwZS1udW1iZXIuY29tcG9uZW50LmNzcyddLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUXVlc3Rpb25UeXBlTnVtYmVyQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBRdWVzdGlvblR5cGVOdW1iZXJDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgQElucHV0KCkgcmVxdWlyZWQ6YW55O1xyXG4gIEBJbnB1dCgpIG9wdGlvbnNMaXN0OmFueTtcclxuXHJcbiAgcHVibGljIGZvcm1Db250cm9sOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogRnVuY3Rpb24pIHtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsKSA9PiBmbih2YWwpKTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBGdW5jdGlvbikge1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWwpID0+IGZuKHZhbCkpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZXhhbXBsZS1mdWxsLXdpZHRoXCI+XHJcbiAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cIm51bWJlclwiIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIHBsYWNlaG9sZGVyPVwiRW50ZXIgbnVtYmVyXCIgdmFsdWU9XCJcIiBtaW49XCIxXCIgb25pbnB1dD1cInZhbGlkaXR5LnZhbGlkfHwodmFsdWU9JycpO1wiIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiPlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiJdfQ==