@rangertechnologies/ngnxt 2.1.174 → 2.1.176

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 (83) hide show
  1. package/esm2022/environments/version.mjs +2 -2
  2. package/esm2022/lib/components/button/nxt-button.component.mjs +42 -39
  3. package/esm2022/lib/components/custom-dropdown/custom-dropdown.component.mjs +48 -7
  4. package/esm2022/lib/components/custom-radio/custom-radio.component.mjs +41 -4
  5. package/esm2022/lib/components/datatable/datatable.component.mjs +6 -3
  6. package/esm2022/lib/components/file-upload/file-upload.component.mjs +24 -59
  7. package/esm2022/lib/components/nxt-input/nxt-input.component.mjs +2822 -0
  8. package/esm2022/lib/components/pick-location/pick-location.component.mjs +19 -5
  9. package/esm2022/lib/components/search-box/search-box.component.mjs +19 -13
  10. package/esm2022/lib/nxt-app.module.mjs +13 -292
  11. package/esm2022/lib/pages/booklet/booklet.component.mjs +20 -7
  12. package/esm2022/lib/pages/builder/element/element.component.mjs +8 -5
  13. package/esm2022/lib/pages/builder/form/form.component.mjs +6 -5
  14. package/esm2022/lib/pages/builder/properties/properties.component.mjs +7 -5
  15. package/esm2022/lib/pages/pdfDesigner/pdf-designer/pdf-designer.component.mjs +4 -5
  16. package/esm2022/lib/pages/pdfDesigner/pdf-properties/pdf-properties.component.mjs +2 -2
  17. package/esm2022/lib/pages/questionbook/questionbook.component.mjs +14 -30
  18. package/esm2022/lib/pages/questionnaire/questionnaire.component.mjs +21 -40
  19. package/esm2022/public-api.mjs +2 -11
  20. package/fesm2022/rangertechnologies-ngnxt.mjs +15904 -14727
  21. package/fesm2022/rangertechnologies-ngnxt.mjs.map +1 -1
  22. package/lib/components/button/nxt-button.component.d.ts +13 -12
  23. package/lib/components/custom-dropdown/custom-dropdown.component.d.ts +11 -4
  24. package/lib/components/custom-radio/custom-radio.component.d.ts +14 -3
  25. package/lib/components/datatable/datatable.component.d.ts +2 -1
  26. package/lib/components/file-upload/file-upload.component.d.ts +6 -5
  27. package/lib/components/nxt-input/nxt-input.component.d.ts +159 -0
  28. package/lib/components/pick-location/pick-location.component.d.ts +5 -3
  29. package/lib/components/search-box/search-box.component.d.ts +3 -2
  30. package/lib/nxt-app.module.d.ts +30 -55
  31. package/lib/pages/booklet/booklet.component.d.ts +3 -1
  32. package/lib/pages/builder/element/element.component.d.ts +1 -1
  33. package/lib/pages/builder/form/form.component.d.ts +1 -1
  34. package/lib/pages/builder/properties/properties.component.d.ts +1 -1
  35. package/lib/pages/questionbook/questionbook.component.d.ts +3 -3
  36. package/lib/pages/questionnaire/questionnaire.component.d.ts +6 -10
  37. package/package.json +1 -1
  38. package/public-api.d.ts +1 -9
  39. package/rangertechnologies-ngnxt-2.1.176.tgz +0 -0
  40. package/src/lib/style.css +0 -1
  41. package/esm2022/lib/components/cards/group-card/group-card.component.mjs +0 -36
  42. package/esm2022/lib/components/cards/group-info/group-info.component.mjs +0 -102
  43. package/esm2022/lib/components/cards/image-card/image-card.component.mjs +0 -83
  44. package/esm2022/lib/components/cards/info-card/info-card.component.mjs +0 -109
  45. package/esm2022/lib/components/custom-button/custom-button.component.mjs +0 -42
  46. package/esm2022/lib/components/custom-date/custom-date.component.mjs +0 -48
  47. package/esm2022/lib/components/custom-date-picker/custom-date-picker.component.mjs +0 -53
  48. package/esm2022/lib/components/custom-image/custom-image.component.mjs +0 -34
  49. package/esm2022/lib/components/custom-input/custom-input.component.mjs +0 -101
  50. package/esm2022/lib/components/custom-label/custom-label.component.mjs +0 -24
  51. package/esm2022/lib/components/custom-rich-text/custom-rich-text.component.mjs +0 -182
  52. package/esm2022/lib/components/custom-table/custom-table.component.mjs +0 -252
  53. package/esm2022/lib/components/custom-text-area/custom-text-area.component.mjs +0 -71
  54. package/esm2022/lib/components/custom-time/custom-time.component.mjs +0 -66
  55. package/esm2022/lib/components/dependent-table/dependent-table.component.mjs +0 -45
  56. package/esm2022/lib/components/dropdown-with-flag/dropdown-with-flag.component.mjs +0 -44
  57. package/esm2022/lib/components/file-view/file-view.component.mjs +0 -49
  58. package/esm2022/lib/components/loader/loader.component.mjs +0 -23
  59. package/esm2022/lib/components/table-appendix/table-appendix.component.mjs +0 -128
  60. package/esm2022/lib/model/tableWrapper.mjs +0 -20
  61. package/esm2022/lib/pages/summary-page/summary-page.component.mjs +0 -79
  62. package/lib/components/cards/group-card/group-card.component.d.ts +0 -13
  63. package/lib/components/cards/group-info/group-info.component.d.ts +0 -47
  64. package/lib/components/cards/image-card/image-card.component.d.ts +0 -34
  65. package/lib/components/cards/info-card/info-card.component.d.ts +0 -39
  66. package/lib/components/custom-button/custom-button.component.d.ts +0 -16
  67. package/lib/components/custom-date/custom-date.component.d.ts +0 -16
  68. package/lib/components/custom-date-picker/custom-date-picker.component.d.ts +0 -20
  69. package/lib/components/custom-image/custom-image.component.d.ts +0 -13
  70. package/lib/components/custom-input/custom-input.component.d.ts +0 -28
  71. package/lib/components/custom-label/custom-label.component.d.ts +0 -10
  72. package/lib/components/custom-rich-text/custom-rich-text.component.d.ts +0 -29
  73. package/lib/components/custom-table/custom-table.component.d.ts +0 -53
  74. package/lib/components/custom-text-area/custom-text-area.component.d.ts +0 -22
  75. package/lib/components/custom-time/custom-time.component.d.ts +0 -18
  76. package/lib/components/dependent-table/dependent-table.component.d.ts +0 -15
  77. package/lib/components/dropdown-with-flag/dropdown-with-flag.component.d.ts +0 -16
  78. package/lib/components/file-view/file-view.component.d.ts +0 -16
  79. package/lib/components/loader/loader.component.d.ts +0 -11
  80. package/lib/components/table-appendix/table-appendix.component.d.ts +0 -30
  81. package/lib/model/tableWrapper.d.ts +0 -18
  82. package/lib/pages/summary-page/summary-page.component.d.ts +0 -20
  83. package/rangertechnologies-ngnxt-2.1.174.tgz +0 -0
@@ -1,42 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component, EventEmitter, Input, Output } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- export class CustomButtonComponent {
5
- // 08NOV23 - button input and outpts
6
- height;
7
- width;
8
- textColor = '#fff';
9
- buttonText;
10
- value;
11
- backgroundColor = '#007bff'; // Default background color
12
- buttonValue = new EventEmitter();
13
- constructor() { }
14
- ngOnInit() {
15
- }
16
- handleClick(event) {
17
- this.buttonValue.emit(event);
18
- }
19
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CustomButtonComponent, isStandalone: true, selector: "app-custom-button", inputs: { height: "height", width: "width", textColor: "textColor", buttonText: "buttonText", value: "value", backgroundColor: "backgroundColor" }, outputs: { buttonValue: "buttonValue" }, ngImport: i0, template: "\n<!-- 08NOV23 - button html added-->\n<button \n[style.height]=\"height\" \n[style.color]=\"textColor\"\n[style.background-color]=\"backgroundColor\"\n[style.width]=\"width\" class=\"custom-button\"\n[value] =\"value\"\n(click)=\"handleClick(value)\"\n >{{ buttonText }}</button>\n", styles: [".custom-button{border:none;cursor:pointer;border-radius:5px;font-size:16px;font-size:14px}.custom-button:hover{background-color:#0056b3}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomButtonComponent, decorators: [{
23
- type: Component,
24
- args: [{ selector: 'app-custom-button', standalone: true, imports: [
25
- CommonModule,
26
- ], template: "\n<!-- 08NOV23 - button html added-->\n<button \n[style.height]=\"height\" \n[style.color]=\"textColor\"\n[style.background-color]=\"backgroundColor\"\n[style.width]=\"width\" class=\"custom-button\"\n[value] =\"value\"\n(click)=\"handleClick(value)\"\n >{{ buttonText }}</button>\n", styles: [".custom-button{border:none;cursor:pointer;border-radius:5px;font-size:16px;font-size:14px}.custom-button:hover{background-color:#0056b3}\n"] }]
27
- }], ctorParameters: () => [], propDecorators: { height: [{
28
- type: Input
29
- }], width: [{
30
- type: Input
31
- }], textColor: [{
32
- type: Input
33
- }], buttonText: [{
34
- type: Input
35
- }], value: [{
36
- type: Input
37
- }], backgroundColor: [{
38
- type: Input
39
- }], buttonValue: [{
40
- type: Output
41
- }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvY29tcG9uZW50cy9jdXN0b20tYnV0dG9uL2N1c3RvbS1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLWJ1dHRvbi9jdXN0b20tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVcvRSxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLHFDQUFxQztJQUM1QixNQUFNLENBQVM7SUFDZixLQUFLLENBQVM7SUFDZCxTQUFTLEdBQVUsTUFBTSxDQUFBO0lBQ3pCLFVBQVUsQ0FBUztJQUNuQixLQUFLLENBQVE7SUFDYixlQUFlLEdBQVcsU0FBUyxDQUFDLENBQUMsMkJBQTJCO0lBQy9ELFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ2hELGdCQUFnQixDQUFDO0lBRWpCLFFBQVE7SUFDUixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQUs7UUFDZixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO3dHQWhCVSxxQkFBcUI7NEZBQXJCLHFCQUFxQiwwUUNabEMsNFJBVUEsbU1ESEksWUFBWTs7NEZBS0gscUJBQXFCO2tCQVRqQyxTQUFTOytCQUNFLG1CQUFtQixjQUNqQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTtxQkFDYjt3REFNUSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWN1c3RvbS1idXR0b24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vY3VzdG9tLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2N1c3RvbS1idXR0b24uY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEN1c3RvbUJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8vICAwOE5PVjIzIC0gYnV0dG9uIGlucHV0IGFuZCBvdXRwdHNcbiAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRleHRDb2xvcjogc3RyaW5nID0nI2ZmZidcbiAgQElucHV0KCkgYnV0dG9uVGV4dDogc3RyaW5nO1xuICBASW5wdXQoKSB2YWx1ZTpzdHJpbmc7XG4gIEBJbnB1dCgpIGJhY2tncm91bmRDb2xvcjogc3RyaW5nID0gJyMwMDdiZmYnOyAvLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3JcbiAgQE91dHB1dCgpIGJ1dHRvblZhbHVlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7IFxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbiAgaGFuZGxlQ2xpY2soZXZlbnQpe1xuICAgIHRoaXMuYnV0dG9uVmFsdWUuZW1pdChldmVudCk7XG4gIH1cbn1cbiIsIlxuPCEtLSAwOE5PVjIzIC0gYnV0dG9uIGh0bWwgYWRkZWQtLT5cbjxidXR0b24gXG5bc3R5bGUuaGVpZ2h0XT1cImhlaWdodFwiIFxuW3N0eWxlLmNvbG9yXT1cInRleHRDb2xvclwiXG5bc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJiYWNrZ3JvdW5kQ29sb3JcIlxuW3N0eWxlLndpZHRoXT1cIndpZHRoXCIgY2xhc3M9XCJjdXN0b20tYnV0dG9uXCJcblt2YWx1ZV0gPVwidmFsdWVcIlxuKGNsaWNrKT1cImhhbmRsZUNsaWNrKHZhbHVlKVwiXG4gPnt7IGJ1dHRvblRleHQgfX08L2J1dHRvbj5cbiJdfQ==
@@ -1,48 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { OwlDateTimeModule, OwlNativeDateTimeModule } from '@danielmoncada/angular-datetime-picker';
4
- import { FormsModule } from '@angular/forms';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "@danielmoncada/angular-datetime-picker";
8
- import * as i3 from "@angular/forms";
9
- export class CustomDateComponent {
10
- date;
11
- readOnly = false; // VD 12Jun24 - readonly change
12
- error;
13
- errorMessage;
14
- dateChange = new EventEmitter();
15
- dateSelected;
16
- constructor() { }
17
- ngOnInit() {
18
- this.dateSelected = new Date(this.date);
19
- }
20
- // VD 02Aug24 - clear input changes
21
- ngOnChanges(simplechanges) {
22
- if (simplechanges['date']) {
23
- this.dateSelected = new Date(this.date);
24
- }
25
- }
26
- onDateChange(event) {
27
- this.dateChange.emit(event);
28
- }
29
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomDateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
30
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CustomDateComponent, isStandalone: true, selector: "app-custom-date", inputs: { date: "date", readOnly: "readOnly", error: "error", errorMessage: "errorMessage" }, outputs: { dateChange: "dateChange" }, usesOnChanges: true, ngImport: i0, template: "<!-- date component -->\n<!-- VD 12Jun24 - readonly change-->\n<!-- VD 01Aug24 - validation change-->\n<p>\n <input\n class=\"custom-date-input\"\n [class]=\"error ? 'invalid' : ''\"\n [(ngModel)]=\"dateSelected\"\n [owlDateTimeTrigger]=\"dt1\"\n [owlDateTime]=\"dt1\"\n [disabled]=\"readOnly\"\n placeholder=\"DD/MM/YYYY\"\n (input)=\"onDateChange($event)\"\n (dateTimeChange)=\"onDateChange($event)\"\n >\n <owl-date-time [pickerType]=\"'calendar'\" #dt1></owl-date-time>\n </p>\n <span *ngIf=\"error\" class=\"error-msg\">{{errorMessage}}</span>", styles: [".invalid{border-color:red!important}.custom-date-input{width:100%;height:35px;border:none;box-shadow:none;border-bottom:1px solid #ccc;padding:5px}.error-msg{color:red;font-size:12px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: OwlDateTimeModule }, { kind: "directive", type: i2.OwlDateTimeTriggerDirective, selector: "[owlDateTimeTrigger]", inputs: ["owlDateTimeTrigger", "disabled"] }, { kind: "directive", type: i2.OwlDateTimeInputDirective, selector: "input[owlDateTime]", inputs: ["required", "owlDateTime", "owlDateTimeFilter", "_disabled", "min", "max", "selectMode", "rangeSeparator", "value", "values"], outputs: ["dateTimeChange", "dateTimeInput"], exportAs: ["owlDateTimeInput"] }, { kind: "component", type: i2.OwlDateTimeComponent, selector: "owl-date-time", inputs: ["backdropClass", "panelClass", "startAt", "endAt", "pickerType", "pickerMode", "disabled", "opened", "scrollStrategy"], outputs: ["afterPickerClosed", "beforePickerOpen", "afterPickerOpen", "yearSelected", "monthSelected", "dateSelected"], exportAs: ["owlDateTime"] }, { kind: "ngmodule", type: OwlNativeDateTimeModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", 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]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
31
- }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomDateComponent, decorators: [{
33
- type: Component,
34
- args: [{ selector: 'app-custom-date', standalone: true, imports: [
35
- CommonModule, OwlDateTimeModule, OwlNativeDateTimeModule, FormsModule
36
- ], template: "<!-- date component -->\n<!-- VD 12Jun24 - readonly change-->\n<!-- VD 01Aug24 - validation change-->\n<p>\n <input\n class=\"custom-date-input\"\n [class]=\"error ? 'invalid' : ''\"\n [(ngModel)]=\"dateSelected\"\n [owlDateTimeTrigger]=\"dt1\"\n [owlDateTime]=\"dt1\"\n [disabled]=\"readOnly\"\n placeholder=\"DD/MM/YYYY\"\n (input)=\"onDateChange($event)\"\n (dateTimeChange)=\"onDateChange($event)\"\n >\n <owl-date-time [pickerType]=\"'calendar'\" #dt1></owl-date-time>\n </p>\n <span *ngIf=\"error\" class=\"error-msg\">{{errorMessage}}</span>", styles: [".invalid{border-color:red!important}.custom-date-input{width:100%;height:35px;border:none;box-shadow:none;border-bottom:1px solid #ccc;padding:5px}.error-msg{color:red;font-size:12px}\n"] }]
37
- }], ctorParameters: () => [], propDecorators: { date: [{
38
- type: Input
39
- }], readOnly: [{
40
- type: Input
41
- }], error: [{
42
- type: Input
43
- }], errorMessage: [{
44
- type: Input
45
- }], dateChange: [{
46
- type: Output
47
- }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWRhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLWRhdGUvY3VzdG9tLWRhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLWRhdGUvY3VzdG9tLWRhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFXN0MsTUFBTSxPQUFPLG1CQUFtQjtJQUNyQixJQUFJLENBQVM7SUFDYixRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsK0JBQStCO0lBQ2pELEtBQUssQ0FBSztJQUNWLFlBQVksQ0FBUztJQUNwQixVQUFVLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7SUFDbEUsWUFBWSxDQUFNO0lBRWxCLGdCQUFpQixDQUFDO0lBRWxCLFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQ0gsbUNBQW1DO0lBQ2pDLFdBQVcsQ0FBQyxhQUE0QjtRQUN0QyxJQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBQyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLENBQUM7SUFFSCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVU7UUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDN0IsQ0FBQzt3R0F2QlUsbUJBQW1COzRGQUFuQixtQkFBbUIscU9DZGhDLDRsQkFpQitELGtQRFIzRCxZQUFZLGtJQUFFLGlCQUFpQiwrekJBQUUsdUJBQXVCLDhCQUFFLFdBQVc7OzRGQUs1RCxtQkFBbUI7a0JBVC9CLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQO3dCQUNQLFlBQVksRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxXQUFXO3FCQUN0RTt3REFLUSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE93bERhdGVUaW1lTW9kdWxlLCBPd2xOYXRpdmVEYXRlVGltZU1vZHVsZSB9IGZyb20gJ0BkYW5pZWxtb25jYWRhL2FuZ3VsYXItZGF0ZXRpbWUtcGlja2VyJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY3VzdG9tLWRhdGUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLCBPd2xEYXRlVGltZU1vZHVsZSwgT3dsTmF0aXZlRGF0ZVRpbWVNb2R1bGUsIEZvcm1zTW9kdWxlXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20tZGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2N1c3RvbS1kYXRlLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDdXN0b21EYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgZGF0ZTogc3RyaW5nO1xuICBASW5wdXQoKSByZWFkT25seSA9IGZhbHNlOyAvLyBWRCAxMkp1bjI0IC0gcmVhZG9ubHkgY2hhbmdlXG4gIEBJbnB1dCgpIGVycm9yOmFueTtcbiAgQElucHV0KCkgZXJyb3JNZXNzYWdlOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBkYXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBkYXRlU2VsZWN0ZWQ6IGFueTtcblxuICBjb25zdHJ1Y3RvciggKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGVTZWxlY3RlZCA9IG5ldyBEYXRlKHRoaXMuZGF0ZSk7XG4gIH1cbi8vIFZEIDAyQXVnMjQgLSBjbGVhciBpbnB1dCBjaGFuZ2VzXG4gIG5nT25DaGFuZ2VzKHNpbXBsZWNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpe1xuICAgIGlmKHNpbXBsZWNoYW5nZXNbJ2RhdGUnXSl7XG4gICAgICB0aGlzLmRhdGVTZWxlY3RlZCA9IG5ldyBEYXRlKHRoaXMuZGF0ZSk7XG4gICAgfVxuICAgICBcbiAgfVxuXG4gIG9uRGF0ZUNoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5kYXRlQ2hhbmdlLmVtaXQoZXZlbnQpXG4gIH1cbn1cbiIsIjwhLS0gZGF0ZSBjb21wb25lbnQgLS0+XG48IS0tIFZEIDEySnVuMjQgLSByZWFkb25seSBjaGFuZ2UtLT5cbjwhLS0gVkQgMDFBdWcyNCAtIHZhbGlkYXRpb24gY2hhbmdlLS0+XG48cD5cbiAgICA8aW5wdXRcbiAgICBjbGFzcz1cImN1c3RvbS1kYXRlLWlucHV0XCJcbiAgICAgIFtjbGFzc109XCJlcnJvciA/ICdpbnZhbGlkJyA6ICcnXCJcbiAgICAgIFsobmdNb2RlbCldPVwiZGF0ZVNlbGVjdGVkXCJcbiAgICAgIFtvd2xEYXRlVGltZVRyaWdnZXJdPVwiZHQxXCJcbiAgICAgIFtvd2xEYXRlVGltZV09XCJkdDFcIlxuICAgICAgW2Rpc2FibGVkXT1cInJlYWRPbmx5XCJcbiAgICAgIHBsYWNlaG9sZGVyPVwiREQvTU0vWVlZWVwiXG4gICAgICAoaW5wdXQpPVwib25EYXRlQ2hhbmdlKCRldmVudClcIlxuICAgICAgKGRhdGVUaW1lQ2hhbmdlKT1cIm9uRGF0ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICA+XG4gICAgPG93bC1kYXRlLXRpbWUgW3BpY2tlclR5cGVdPVwiJ2NhbGVuZGFyJ1wiICNkdDE+PC9vd2wtZGF0ZS10aW1lPlxuICA8L3A+XG4gIDxzcGFuICpuZ0lmPVwiZXJyb3JcIiBjbGFzcz1cImVycm9yLW1zZ1wiPnt7ZXJyb3JNZXNzYWdlfX08L3NwYW4+Il19
@@ -1,53 +0,0 @@
1
- import { Component, Input, Output, EventEmitter } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { FormsModule } from '@angular/forms';
4
- import { OwlDateTimeModule, OwlNativeDateTimeModule } from '@danielmoncada/angular-datetime-picker';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "@angular/forms";
8
- import * as i3 from "@danielmoncada/angular-datetime-picker";
9
- export class CustomDatePickerComponent {
10
- date;
11
- minDate;
12
- maxDate;
13
- error;
14
- errorMessage;
15
- // AP 02Jun25 - dynamic ngStyle support
16
- styleMap = {};
17
- readOnly = false; // VD 12Jun24 - readonly change
18
- dateChange = new EventEmitter();
19
- dateSelected;
20
- constructor() { }
21
- ngOnInit() {
22
- this.dateSelected = new Date(this.date);
23
- }
24
- onDateChange(event) {
25
- this.dateChange.emit(event);
26
- }
27
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomDatePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
28
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CustomDatePickerComponent, isStandalone: true, selector: "app-custom-date-picker", inputs: { date: "date", minDate: "minDate", maxDate: "maxDate", error: "error", errorMessage: "errorMessage", styleMap: "styleMap", readOnly: "readOnly" }, outputs: { dateChange: "dateChange" }, ngImport: i0, template: "<!-- <div class=\"date-picker-container\">\n <label>{{label}}</label>\n <input type=\"date\" [min]=\"minDate\" [max]=\"maxDate\" [required]=\"required\" (change)=\"onDateChanged($event)\">\n</div> -->\n<!-- <mat-form-field>\n <input matInput [matDatepicker]=\"picker\" [placeholder]=\"placeholder\" [min]=\"minDate\" [max]=\"maxDate\" [(ngModel)]=\"selectedDate\" (dateChange)=\"onDateChange($event)\">\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n</mat-form-field> -->\n<!--VD 12Jun24 - readonly change --> \n<!-- VD 01Aug24 - validation change-->\n<p>\n <input \n class=\"custom-date-picker\"\n [class]=\"error ? 'invalid' : ''\"\n [(ngModel)]=\"dateSelected\" \n [owlDateTimeTrigger]=\"dt\" \n [owlDateTime]=\"dt\" \n [min]=\"minDate\"\n [disabled]=\"readOnly\"\n placeholder=\"DD/MM/YYYY HH:MM\"\n [ngStyle]=\"styleMap\"\n (input)=\"onDateChange($event)\"\n (dateTimeChange)=\"onDateChange($event)\">\n <owl-date-time #dt></owl-date-time>\n</p>\n<span *ngIf=\"error\" class=\"error-msg\">{{errorMessage}}</span>\n ", styles: [".invalid{border-color:red!important}.custom-date-picker{width:100%;height:35px;border:none;box-shadow:none;border-bottom:1px solid #ccc;padding:5px}.error-msg{color:red;font-size:12px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: OwlDateTimeModule }, { kind: "directive", type: i3.OwlDateTimeTriggerDirective, selector: "[owlDateTimeTrigger]", inputs: ["owlDateTimeTrigger", "disabled"] }, { kind: "directive", type: i3.OwlDateTimeInputDirective, selector: "input[owlDateTime]", inputs: ["required", "owlDateTime", "owlDateTimeFilter", "_disabled", "min", "max", "selectMode", "rangeSeparator", "value", "values"], outputs: ["dateTimeChange", "dateTimeInput"], exportAs: ["owlDateTimeInput"] }, { kind: "component", type: i3.OwlDateTimeComponent, selector: "owl-date-time", inputs: ["backdropClass", "panelClass", "startAt", "endAt", "pickerType", "pickerMode", "disabled", "opened", "scrollStrategy"], outputs: ["afterPickerClosed", "beforePickerOpen", "afterPickerOpen", "yearSelected", "monthSelected", "dateSelected"], exportAs: ["owlDateTime"] }, { kind: "ngmodule", type: OwlNativeDateTimeModule }] });
29
- }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomDatePickerComponent, decorators: [{
31
- type: Component,
32
- args: [{ selector: 'app-custom-date-picker', standalone: true, imports: [
33
- CommonModule, FormsModule, OwlDateTimeModule,
34
- OwlNativeDateTimeModule,
35
- ], template: "<!-- <div class=\"date-picker-container\">\n <label>{{label}}</label>\n <input type=\"date\" [min]=\"minDate\" [max]=\"maxDate\" [required]=\"required\" (change)=\"onDateChanged($event)\">\n</div> -->\n<!-- <mat-form-field>\n <input matInput [matDatepicker]=\"picker\" [placeholder]=\"placeholder\" [min]=\"minDate\" [max]=\"maxDate\" [(ngModel)]=\"selectedDate\" (dateChange)=\"onDateChange($event)\">\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n</mat-form-field> -->\n<!--VD 12Jun24 - readonly change --> \n<!-- VD 01Aug24 - validation change-->\n<p>\n <input \n class=\"custom-date-picker\"\n [class]=\"error ? 'invalid' : ''\"\n [(ngModel)]=\"dateSelected\" \n [owlDateTimeTrigger]=\"dt\" \n [owlDateTime]=\"dt\" \n [min]=\"minDate\"\n [disabled]=\"readOnly\"\n placeholder=\"DD/MM/YYYY HH:MM\"\n [ngStyle]=\"styleMap\"\n (input)=\"onDateChange($event)\"\n (dateTimeChange)=\"onDateChange($event)\">\n <owl-date-time #dt></owl-date-time>\n</p>\n<span *ngIf=\"error\" class=\"error-msg\">{{errorMessage}}</span>\n ", styles: [".invalid{border-color:red!important}.custom-date-picker{width:100%;height:35px;border:none;box-shadow:none;border-bottom:1px solid #ccc;padding:5px}.error-msg{color:red;font-size:12px}\n"] }]
36
- }], ctorParameters: () => [], propDecorators: { date: [{
37
- type: Input
38
- }], minDate: [{
39
- type: Input
40
- }], maxDate: [{
41
- type: Input
42
- }], error: [{
43
- type: Input
44
- }], errorMessage: [{
45
- type: Input
46
- }], styleMap: [{
47
- type: Input
48
- }], readOnly: [{
49
- type: Input
50
- }], dateChange: [{
51
- type: Output
52
- }] } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWRhdGUtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9jb21wb25lbnRzL2N1c3RvbS1kYXRlLXBpY2tlci9jdXN0b20tZGF0ZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLWRhdGUtcGlja2VyL2N1c3RvbS1kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFTLEtBQUssRUFBQyxNQUFNLEVBQUMsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7O0FBWXBHLE1BQU0sT0FBTyx5QkFBeUI7SUFDM0IsSUFBSSxDQUFTO0lBQ2IsT0FBTyxDQUFLO0lBQ1osT0FBTyxDQUFLO0lBQ1osS0FBSyxDQUFLO0lBQ1YsWUFBWSxDQUFRO0lBQzdCLHVDQUF1QztJQUM5QixRQUFRLEdBQThCLEVBQUUsQ0FBQztJQUN6QyxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsK0JBQStCO0lBQ2hELFVBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUNsRSxZQUFZLENBQUk7SUFDaEIsZ0JBQWdCLENBQUM7SUFFakIsUUFBUTtRQUNQLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBVTtRQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO3dHQW5CVSx5QkFBeUI7NEZBQXpCLHlCQUF5QixxUkNmdEMsa29DQTJCRSxtUERsQkUsWUFBWSx1TkFBQyxXQUFXLDhtQkFBRSxpQkFBaUIsK3pCQUMzQyx1QkFBdUI7OzRGQUtkLHlCQUF5QjtrQkFWckMsU0FBUzsrQkFDRSx3QkFBd0IsY0FDdEIsSUFBSSxXQUNQO3dCQUNQLFlBQVksRUFBQyxXQUFXLEVBQUUsaUJBQWlCO3dCQUMzQyx1QkFBdUI7cUJBQ3hCO3dEQUtRLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsSW5wdXQsT3V0cHV0LEV2ZW50RW1pdHRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBPd2xEYXRlVGltZU1vZHVsZSwgT3dsTmF0aXZlRGF0ZVRpbWVNb2R1bGUgfSBmcm9tICdAZGFuaWVsbW9uY2FkYS9hbmd1bGFyLWRhdGV0aW1lLXBpY2tlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jdXN0b20tZGF0ZS1waWNrZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLEZvcm1zTW9kdWxlLCBPd2xEYXRlVGltZU1vZHVsZSxcbiAgICBPd2xOYXRpdmVEYXRlVGltZU1vZHVsZSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbS1kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2N1c3RvbS1kYXRlLXBpY2tlci5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tRGF0ZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGRhdGU6IHN0cmluZztcbiAgQElucHV0KCkgbWluRGF0ZTphbnk7XG4gIEBJbnB1dCgpIG1heERhdGU6YW55O1xuICBASW5wdXQoKSBlcnJvcjphbnk7XG4gIEBJbnB1dCgpIGVycm9yTWVzc2FnZTpzdHJpbmc7XG4gIC8vIEFQIDAySnVuMjUgLSBkeW5hbWljIG5nU3R5bGUgc3VwcG9ydFxuICBASW5wdXQoKSBzdHlsZU1hcDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuICBASW5wdXQoKSByZWFkT25seSA9IGZhbHNlOyAvLyBWRCAxMkp1bjI0IC0gcmVhZG9ubHkgY2hhbmdlXG4gIEBPdXRwdXQoKSBkYXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBkYXRlU2VsZWN0ZWQ6YW55XG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICB0aGlzLmRhdGVTZWxlY3RlZCA9IG5ldyBEYXRlKHRoaXMuZGF0ZSk7XG4gIH1cblxuICBvbkRhdGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZGF0ZUNoYW5nZS5lbWl0KGV2ZW50KTtcbiAgfVxuXG59XG4iLCI8IS0tIDxkaXYgY2xhc3M9XCJkYXRlLXBpY2tlci1jb250YWluZXJcIj5cbiAgICA8bGFiZWw+e3tsYWJlbH19PC9sYWJlbD5cbiAgICA8aW5wdXQgdHlwZT1cImRhdGVcIiBbbWluXT1cIm1pbkRhdGVcIiBbbWF4XT1cIm1heERhdGVcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIiAoY2hhbmdlKT1cIm9uRGF0ZUNoYW5nZWQoJGV2ZW50KVwiPlxuPC9kaXY+IC0tPlxuPCEtLSA8bWF0LWZvcm0tZmllbGQ+XG4gICAgPGlucHV0IG1hdElucHV0IFttYXREYXRlcGlja2VyXT1cInBpY2tlclwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFttaW5dPVwibWluRGF0ZVwiIFttYXhdPVwibWF4RGF0ZVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWREYXRlXCIgKGRhdGVDaGFuZ2UpPVwib25EYXRlQ2hhbmdlKCRldmVudClcIj5cbiAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIG1hdFN1ZmZpeCBbZm9yXT1cInBpY2tlclwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxuICAgIDxtYXQtZGF0ZXBpY2tlciAjcGlja2VyPjwvbWF0LWRhdGVwaWNrZXI+XG48L21hdC1mb3JtLWZpZWxkPiAtLT5cbjwhLS1WRCAxMkp1bjI0IC0gcmVhZG9ubHkgY2hhbmdlIC0tPiBcbjwhLS0gVkQgMDFBdWcyNCAtIHZhbGlkYXRpb24gY2hhbmdlLS0+XG48cD5cbiAgICA8aW5wdXQgIFxuICAgIGNsYXNzPVwiY3VzdG9tLWRhdGUtcGlja2VyXCJcbiAgICBbY2xhc3NdPVwiZXJyb3IgPyAnaW52YWxpZCcgOiAnJ1wiXG4gICAgWyhuZ01vZGVsKV09XCJkYXRlU2VsZWN0ZWRcIiBcbiAgICBbb3dsRGF0ZVRpbWVUcmlnZ2VyXT1cImR0XCIgXG4gICAgW293bERhdGVUaW1lXT1cImR0XCIgIFxuICAgIFttaW5dPVwibWluRGF0ZVwiXG4gICAgW2Rpc2FibGVkXT1cInJlYWRPbmx5XCJcbiAgICBwbGFjZWhvbGRlcj1cIkREL01NL1lZWVkgSEg6TU1cIlxuICAgIFtuZ1N0eWxlXT1cInN0eWxlTWFwXCJcbiAgICAoaW5wdXQpPVwib25EYXRlQ2hhbmdlKCRldmVudClcIlxuICAgIChkYXRlVGltZUNoYW5nZSk9XCJvbkRhdGVDaGFuZ2UoJGV2ZW50KVwiPlxuICAgIDxvd2wtZGF0ZS10aW1lICNkdD48L293bC1kYXRlLXRpbWU+XG48L3A+XG48c3BhbiAqbmdJZj1cImVycm9yXCIgY2xhc3M9XCJlcnJvci1tc2dcIj57e2Vycm9yTWVzc2FnZX19PC9zcGFuPlxuICAiXX0=
@@ -1,34 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class CustomImageComponent {
4
- alt;
5
- src;
6
- imageStyle;
7
- question;
8
- styles;
9
- constructor() { }
10
- ngOnInit() {
11
- // VD 03Aug24 style changes
12
- // RS 09DEC24 Changed keys
13
- if (this.question) {
14
- this.imageStyle = this.question.subTitle ? this.question.subTitle : "height: 150px;width: 200px;";
15
- this.src = this.question.title ? this.question.title : "";
16
- this.alt = this.question.helpText ? this.question.helpText : "my image";
17
- }
18
- }
19
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomImageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CustomImageComponent, selector: "app-custom-image", inputs: { alt: "alt", src: "src", imageStyle: "imageStyle", question: "question" }, ngImport: i0, template: "<img src={{src}} alt={{alt}} style={{imageStyle}}>", styles: [""] });
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomImageComponent, decorators: [{
23
- type: Component,
24
- args: [{ selector: 'app-custom-image', template: "<img src={{src}} alt={{alt}} style={{imageStyle}}>" }]
25
- }], ctorParameters: () => [], propDecorators: { alt: [{
26
- type: Input
27
- }], src: [{
28
- type: Input
29
- }], imageStyle: [{
30
- type: Input
31
- }], question: [{
32
- type: Input
33
- }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWltYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9jb21wb25lbnRzL2N1c3RvbS1pbWFnZS9jdXN0b20taW1hZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLWltYWdlL2N1c3RvbS1pbWFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7QUFPekQsTUFBTSxPQUFPLG9CQUFvQjtJQUN0QixHQUFHLENBQVM7SUFDWixHQUFHLENBQVM7SUFDWixVQUFVLENBQU07SUFDaEIsUUFBUSxDQUFLO0lBRWYsTUFBTSxDQUFTO0lBRXRCLGdCQUFnQixDQUFDO0lBRWpCLFFBQVE7UUFDTiw0QkFBNEI7UUFDNUIsMEJBQTBCO1FBQ3pCLElBQUcsSUFBSSxDQUFDLFFBQVEsRUFBQyxDQUFDO1lBQ2YsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLDZCQUE2QixDQUFDO1lBQ2xHLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUU7WUFDM0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztRQUMzRSxDQUFDO0lBQ0osQ0FBQzt3R0FsQlUsb0JBQW9COzRGQUFwQixvQkFBb0IsNElDUGpDLG9EQUFrRDs7NEZET3JDLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxrQkFBa0I7d0RBS25CLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jdXN0b20taW1hZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vY3VzdG9tLWltYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY3VzdG9tLWltYWdlLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDdXN0b21JbWFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGFsdDogc3RyaW5nO1xuICBASW5wdXQoKSBzcmM6IHN0cmluZztcbiAgQElucHV0KCkgaW1hZ2VTdHlsZTogYW55O1xuICBASW5wdXQoKSBxdWVzdGlvbjphbnk7XG5cbiAgcHVibGljIHN0eWxlczogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gVkQgMDNBdWcyNCBzdHlsZSBjaGFuZ2VzIFxuICAgIC8vIFJTIDA5REVDMjQgQ2hhbmdlZCBrZXlzXG4gICAgIGlmKHRoaXMucXVlc3Rpb24pe1xuICAgICAgICB0aGlzLmltYWdlU3R5bGUgPSB0aGlzLnF1ZXN0aW9uLnN1YlRpdGxlID8gdGhpcy5xdWVzdGlvbi5zdWJUaXRsZSA6IFwiaGVpZ2h0OiAxNTBweDt3aWR0aDogMjAwcHg7XCI7XG4gICAgICAgIHRoaXMuc3JjID0gdGhpcy5xdWVzdGlvbi50aXRsZSA/IHRoaXMucXVlc3Rpb24udGl0bGUgOiBcIlwiIDtcbiAgICAgICAgdGhpcy5hbHQgPSB0aGlzLnF1ZXN0aW9uLmhlbHBUZXh0ID8gdGhpcy5xdWVzdGlvbi5oZWxwVGV4dCA6IFwibXkgaW1hZ2VcIjtcbiAgICAgfVxuICB9XG59IiwiPGltZyBzcmM9e3tzcmN9fSBhbHQ9e3thbHR9fSBzdHlsZT17e2ltYWdlU3R5bGV9fT4iXX0=
@@ -1,101 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { FormsModule } from '@angular/forms';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../../services/change.service";
6
- import * as i2 from "../../services/data.service";
7
- import * as i3 from "@angular/common";
8
- import * as i4 from "@angular/forms";
9
- export class CustomInputComponent {
10
- changeService;
11
- dataService;
12
- value; // input value
13
- question;
14
- disabled = false; // input disabled or not
15
- placeholder;
16
- error;
17
- fromShengel = false;
18
- readOnly = false; // VD 12Jun24 - readonly change
19
- ngClassValue;
20
- idValue;
21
- focusEvent;
22
- inputValue = new EventEmitter();
23
- subscription;
24
- constructor(changeService, dataService) {
25
- this.changeService = changeService;
26
- this.dataService = dataService;
27
- }
28
- // RS 09DEC24 Changed keys
29
- ngOnInit() {
30
- // Since the idValue holds the Parent Question
31
- // AP-25MAR25 Parse subText if it's not already an object
32
- this.question['subText'] =
33
- typeof this.question?.subText === 'object'
34
- ? this.question.subText
35
- : (typeof this.question['subText'] === 'string' && this.question['subText'].trim() !== ''
36
- ? JSON.parse(this.question['subText'])
37
- : {});
38
- if (this.question.subText != undefined) {
39
- this.disabled = true;
40
- let dependencyObj = this.question.subText;
41
- if (dependencyObj.disabled && dependencyObj.disabled == "false") {
42
- this.disabled = false;
43
- }
44
- else {
45
- this.disabled = true;
46
- }
47
- // Subscribe for the changes
48
- this.subscription = this.changeService.changeAnnounced$.subscribe((changeValue) => {
49
- if (changeValue != undefined) {
50
- // console.log('inside subscription for the change');
51
- if (changeValue.valueObj != undefined && changeValue.fromQuestionId == dependencyObj.sourceQuestionId) {
52
- // VD 20Aug24 handling the multiple object
53
- this.value = this.dataService.getValue(changeValue.valueObj, dependencyObj.valueField);
54
- this.inputValue.emit(this.value);
55
- }
56
- this.changeService.confirmChange(dependencyObj.sourceQuestionId);
57
- }
58
- });
59
- }
60
- }
61
- ngOnChange() {
62
- }
63
- ngOnDestroy() {
64
- // prevent memory leak when component destroyed
65
- this.subscription?.unsubscribe();
66
- }
67
- onInputChange(input) {
68
- this.inputValue.emit(input.target.value);
69
- }
70
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomInputComponent, deps: [{ token: i1.ChangeService }, { token: i2.DataService }], target: i0.ɵɵFactoryTarget.Component });
71
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CustomInputComponent, isStandalone: true, selector: "app-custom-input", inputs: { value: "value", question: "question", disabled: "disabled", placeholder: "placeholder", error: "error", fromShengel: "fromShengel", readOnly: "readOnly", ngClassValue: "ngClassValue", idValue: "idValue", focusEvent: "focusEvent" }, outputs: { inputValue: "inputValue" }, ngImport: i0, template: " <!-- HA 19DEC23 Included Style value from Salesforce -->\n <!-- HA 18-JAN-24 Added these classes for style, HA 31-JAN-24 Added ternary for style -->\n <!-- HA 02FEB24 question input will hold the value to display -->\n <!-- // VD 12Jun24 - readonly change-->\n <!-- RS 09DEC24 Changed keys--> \n <input *ngIf=\"!fromShengel\" type=\"text\" \n [(ngModel)]=\"question.input\" \n [ngClass]=\"ngClassValue\"\n class=\"she-line-input form-control\"\n [id]=\"idValue\"\n (focus)=\"focusEvent\"\n [readOnly]=\"readOnly\"\n [style.border-color]=\"error ? 'red !important' : ''\"\n [style]=\"question?.style?.inputStyle\"\n [placeholder]=\"placeholder ? placeholder : ''\"\n [ngStyle]=\"{\n '--placeholder-font': question.font,\n '--placeholder-color': question.fontColor,\n '--placeholder-size': question.fontSize,\n '--placeholder-weight': question.fontWeight\n }\"\n (input)=\"onInputChange($event)\" />\n\n<input *ngIf=\"fromShengel\" \n [(ngModel)]=\"question.input\"\n type=\"text\" \n [readOnly]=\"readOnly\"\n class=\"she-line-input form-control\" \n [placeholder]=\"placeholder ? placeholder : '' \"\n [ngStyle]=\"{\n '--placeholder-font': question.font,\n '--placeholder-color': question.fontColor,\n '--placeholder-size': question.fontSize,\n '--placeholder-weight': question.fontWeight\n }\"\n [disabled]=\"disabled\"\n [style]=\"question?.style?.inputStyle\"\n (input)=\"onInputChange($event)\" />\n<!-- HA 19DEC23 For translation -->\n<span *ngIf=\"error\" class=\"error-msg\">{{question?.errorMessage}}*</span>\n", styles: [".form-control[disabled]{border-radius:5px;background-color:#e9ecef!important}input::placeholder{font-family:var(--placeholder-font);color:var(--placeholder-color);font-size:var(--placeholder-size);font-weight:var(--placeholder-weight)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
72
- }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomInputComponent, decorators: [{
74
- type: Component,
75
- args: [{ selector: 'app-custom-input', standalone: true, imports: [
76
- CommonModule, FormsModule
77
- ], template: " <!-- HA 19DEC23 Included Style value from Salesforce -->\n <!-- HA 18-JAN-24 Added these classes for style, HA 31-JAN-24 Added ternary for style -->\n <!-- HA 02FEB24 question input will hold the value to display -->\n <!-- // VD 12Jun24 - readonly change-->\n <!-- RS 09DEC24 Changed keys--> \n <input *ngIf=\"!fromShengel\" type=\"text\" \n [(ngModel)]=\"question.input\" \n [ngClass]=\"ngClassValue\"\n class=\"she-line-input form-control\"\n [id]=\"idValue\"\n (focus)=\"focusEvent\"\n [readOnly]=\"readOnly\"\n [style.border-color]=\"error ? 'red !important' : ''\"\n [style]=\"question?.style?.inputStyle\"\n [placeholder]=\"placeholder ? placeholder : ''\"\n [ngStyle]=\"{\n '--placeholder-font': question.font,\n '--placeholder-color': question.fontColor,\n '--placeholder-size': question.fontSize,\n '--placeholder-weight': question.fontWeight\n }\"\n (input)=\"onInputChange($event)\" />\n\n<input *ngIf=\"fromShengel\" \n [(ngModel)]=\"question.input\"\n type=\"text\" \n [readOnly]=\"readOnly\"\n class=\"she-line-input form-control\" \n [placeholder]=\"placeholder ? placeholder : '' \"\n [ngStyle]=\"{\n '--placeholder-font': question.font,\n '--placeholder-color': question.fontColor,\n '--placeholder-size': question.fontSize,\n '--placeholder-weight': question.fontWeight\n }\"\n [disabled]=\"disabled\"\n [style]=\"question?.style?.inputStyle\"\n (input)=\"onInputChange($event)\" />\n<!-- HA 19DEC23 For translation -->\n<span *ngIf=\"error\" class=\"error-msg\">{{question?.errorMessage}}*</span>\n", styles: [".form-control[disabled]{border-radius:5px;background-color:#e9ecef!important}input::placeholder{font-family:var(--placeholder-font);color:var(--placeholder-color);font-size:var(--placeholder-size);font-weight:var(--placeholder-weight)}\n"] }]
78
- }], ctorParameters: () => [{ type: i1.ChangeService }, { type: i2.DataService }], propDecorators: { value: [{
79
- type: Input
80
- }], question: [{
81
- type: Input
82
- }], disabled: [{
83
- type: Input
84
- }], placeholder: [{
85
- type: Input
86
- }], error: [{
87
- type: Input
88
- }], fromShengel: [{
89
- type: Input
90
- }], readOnly: [{
91
- type: Input
92
- }], ngClassValue: [{
93
- type: Input
94
- }], idValue: [{
95
- type: Input
96
- }], focusEvent: [{
97
- type: Input
98
- }], inputValue: [{
99
- type: Output
100
- }] } });
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9jb21wb25lbnRzL2N1c3RvbS1pbnB1dC9jdXN0b20taW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLWlucHV0L2N1c3RvbS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUS9FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQVk3QyxNQUFNLE9BQU8sb0JBQW9CO0lBZ0JYO0lBQXFDO0lBZmhELEtBQUssQ0FBYyxDQUFDLGNBQWM7SUFDbEMsUUFBUSxDQUFLO0lBQ2IsUUFBUSxHQUFZLEtBQUssQ0FBQyxDQUFDLHdCQUF3QjtJQUNuRCxXQUFXLENBQVE7SUFDbkIsS0FBSyxDQUFLO0lBQ1YsV0FBVyxHQUFZLEtBQUssQ0FBQztJQUM3QixRQUFRLEdBQVksS0FBSyxDQUFDLENBQUMsK0JBQStCO0lBRTFELFlBQVksQ0FBSztJQUNqQixPQUFPLENBQUs7SUFDWixVQUFVLENBQU07SUFDZixVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUUvQyxZQUFZLENBQWU7SUFFM0IsWUFBb0IsYUFBNEIsRUFBUyxXQUF3QjtRQUE3RCxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUFTLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBQ2pGLENBQUM7SUFFRCwwQkFBMEI7SUFDMUIsUUFBUTtRQUNOLDhDQUE4QztRQUM5Qyx5REFBeUQ7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QkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2hhbmdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NoYW5nZS5zZXJ2aWNlJztcbmltcG9ydCB7IENoYW5nZVdyYXBwZXIgfSBmcm9tICcuLi8uLi9tb2RlbC9jaGFuZ2VXcmFwcGVyJztcbmltcG9ydCB7IFF1ZXN0aW9uIH0gZnJvbSAnLi4vLi4vd3JhcHBlcic7XG5pbXBvcnQgeyBEZXBlbmRlbmN5TWV0YSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZGVwZW5kZW5jeU1ldGEnO1xuLy8gSEEgMTlERUMyMyBpbXBvcnRlZCB0cmFuc2xhdGlvbiBzZXJ2aWNlXG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2RhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jdXN0b20taW5wdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZVxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vY3VzdG9tLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY3VzdG9tLWlucHV0LmNvbXBvbmVudC5jc3MnXVxufSlcblxuZXhwb3J0IGNsYXNzIEN1c3RvbUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgdmFsdWU6IGFueSB8IGFueVtdOyAvLyBpbnB1dCB2YWx1ZVxuICBASW5wdXQoKSBxdWVzdGlvbjogYW55XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7IC8vIGlucHV0IGRpc2FibGVkIG9yIG5vdFxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjpzdHJpbmc7XG4gIEBJbnB1dCgpIGVycm9yOmFueTtcbiAgQElucHV0KCkgZnJvbVNoZW5nZWw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcmVhZE9ubHkgOmJvb2xlYW4gPSBmYWxzZTsgLy8gVkQgMTJKdW4yNCAtIHJlYWRvbmx5IGNoYW5nZVxuXG4gIEBJbnB1dCgpIG5nQ2xhc3NWYWx1ZTphbnk7XG4gIEBJbnB1dCgpIGlkVmFsdWU6YW55O1xuICBASW5wdXQoKSBmb2N1c0V2ZW50OiBhbnk7XG4gIEBPdXRwdXQoKSBpbnB1dFZhbHVlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7IFxuXG4gIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlU2VydmljZTogQ2hhbmdlU2VydmljZSxwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSkgeyBcbiAgfVxuXG4gIC8vIFJTIDA5REVDMjQgQ2hhbmdlZCBrZXlzXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIFNpbmNlIHRoZSBpZFZhbHVlIGhvbGRzIHRoZSBQYXJlbnQgUXVlc3Rpb25cbiAgICAvLyBBUC0yNU1BUjI1IFBhcnNlIHN1YlRleHQgaWYgaXQncyBub3QgYWxyZWFkeSBhbiBvYmplY3RcbiAgICB0aGlzLnF1ZXN0aW9uWydzdWJUZXh0J10gPSBcbiAgICB0eXBlb2YgdGhpcy5xdWVzdGlvbj8uc3ViVGV4dCA9PT0gJ29iamVjdCdcbiAgICAgID8gdGhpcy5xdWVzdGlvbi5zdWJUZXh0XG4gICAgICA6ICh0eXBlb2YgdGhpcy5xdWVzdGlvblsnc3ViVGV4dCddID09PSAnc3RyaW5nJyAmJiB0aGlzLnF1ZXN0aW9uWydzdWJUZXh0J10udHJpbSgpICE9PSAnJyBcbiAgICAgICAgICA/IEpTT04ucGFyc2UodGhpcy5xdWVzdGlvblsnc3ViVGV4dCddKSBcbiAgICAgICAgICA6IHt9KTtcbiAgXG4gICAgaWYodGhpcy5xdWVzdGlvbi5zdWJUZXh0ICE9IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5kaXNhYmxlZCA9IHRydWU7XG4gICAgICBsZXQgZGVwZW5kZW5jeU9iajogYW55ID0gdGhpcy5xdWVzdGlvbi5zdWJUZXh0O1xuICAgICAgaWYoZGVwZW5kZW5jeU9iai5kaXNhYmxlZCAmJiBkZXBlbmRlbmN5T2JqLmRpc2FibGVkID09IFwiZmFsc2VcIil7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgIH1lbHNle1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIC8vIFN1YnNjcmliZSBmb3IgdGhlIGNoYW5nZXNcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5jaGFuZ2VTZXJ2aWNlLmNoYW5nZUFubm91bmNlZCQuc3Vic2NyaWJlKFxuICAgICAgICAoY2hhbmdlVmFsdWUpID0+IHtcbiAgICAgICAgICBpZihjaGFuZ2VWYWx1ZSAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdpbnNpZGUgc3Vic2NyaXB0aW9uIGZvciB0aGUgY2hhbmdlJyk7XG4gICAgICAgICAgICBpZihjaGFuZ2VWYWx1ZS52YWx1ZU9iaiAhPSB1bmRlZmluZWQgJiYgY2hhbmdlVmFsdWUuZnJvbVF1ZXN0aW9uSWQgPT0gZGVwZW5kZW5jeU9iai5zb3VyY2VRdWVzdGlvbklkKSB7XG4gICAgICAgICAgICAgIC8vIFZEIDIwQXVnMjQgaGFuZGxpbmcgdGhlIG11bHRpcGxlIG9iamVjdFxuICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5kYXRhU2VydmljZS5nZXRWYWx1ZShjaGFuZ2VWYWx1ZS52YWx1ZU9iaixkZXBlbmRlbmN5T2JqLnZhbHVlRmllbGQpO1xuICAgICAgICAgICAgICB0aGlzLmlucHV0VmFsdWUuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY2hhbmdlU2VydmljZS5jb25maXJtQ2hhbmdlKGRlcGVuZGVuY3lPYmouc291cmNlUXVlc3Rpb25JZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2UoKTogdm9pZCB7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICAvLyBwcmV2ZW50IG1lbW9yeSBsZWFrIHdoZW4gY29tcG9uZW50IGRlc3Ryb3llZFxuICAgIHRoaXMuc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG4gIFxuICBvbklucHV0Q2hhbmdlKGlucHV0OmFueSl7XG4gICAgdGhpcy5pbnB1dFZhbHVlLmVtaXQoaW5wdXQudGFyZ2V0LnZhbHVlKTtcbiAgfVxufVxuIiwiIDwhLS0gSEEgMTlERUMyMyBJbmNsdWRlZCBTdHlsZSB2YWx1ZSBmcm9tIFNhbGVzZm9yY2UgLS0+XG4gIDwhLS0gSEEgMTgtSkFOLTI0IEFkZGVkIHRoZXNlIGNsYXNzZXMgZm9yIHN0eWxlLCBIQSAzMS1KQU4tMjQgQWRkZWQgdGVybmFyeSBmb3Igc3R5bGUgLS0+XG4gIDwhLS0gSEEgMDJGRUIyNCBxdWVzdGlvbiBpbnB1dCB3aWxsIGhvbGQgdGhlIHZhbHVlIHRvIGRpc3BsYXkgLS0+XG4gIDwhLS0gLy8gVkQgMTJKdW4yNCAtIHJlYWRvbmx5IGNoYW5nZS0tPlxuICA8IS0tIFJTIDA5REVDMjQgQ2hhbmdlZCBrZXlzLS0+IFxuICA8aW5wdXQgKm5nSWY9XCIhZnJvbVNoZW5nZWxcIiB0eXBlPVwidGV4dFwiIFxuICAgICAgIFsobmdNb2RlbCldPVwicXVlc3Rpb24uaW5wdXRcIiBcbiAgICAgICBbbmdDbGFzc109XCJuZ0NsYXNzVmFsdWVcIlxuICAgICAgIGNsYXNzPVwic2hlLWxpbmUtaW5wdXQgZm9ybS1jb250cm9sXCJcbiAgICAgICBbaWRdPVwiaWRWYWx1ZVwiXG4gICAgICAgKGZvY3VzKT1cImZvY3VzRXZlbnRcIlxuICAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgICAgW3N0eWxlLmJvcmRlci1jb2xvcl09XCJlcnJvciA/ICdyZWQgIWltcG9ydGFudCcgOiAnJ1wiXG4gICAgICAgW3N0eWxlXT1cInF1ZXN0aW9uPy5zdHlsZT8uaW5wdXRTdHlsZVwiXG4gICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyID8gcGxhY2Vob2xkZXIgOiAnJ1wiXG4gICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAgICAgICAnLS1wbGFjZWhvbGRlci1mb250JzogcXVlc3Rpb24uZm9udCxcbiAgICAgICAgICAgICAgJy0tcGxhY2Vob2xkZXItY29sb3InOiBxdWVzdGlvbi5mb250Q29sb3IsXG4gICAgICAgICAgICAgICctLXBsYWNlaG9sZGVyLXNpemUnOiBxdWVzdGlvbi5mb250U2l6ZSxcbiAgICAgICAgICAgICAgJy0tcGxhY2Vob2xkZXItd2VpZ2h0JzogcXVlc3Rpb24uZm9udFdlaWdodFxuICAgICAgICAgICAgfVwiXG4gICAgICAgKGlucHV0KT1cIm9uSW5wdXRDaGFuZ2UoJGV2ZW50KVwiIC8+XG5cbjxpbnB1dCAqbmdJZj1cImZyb21TaGVuZ2VsXCIgXG4gICAgICAgWyhuZ01vZGVsKV09XCJxdWVzdGlvbi5pbnB1dFwiXG4gICAgICAgdHlwZT1cInRleHRcIiBcbiAgICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgICAgIGNsYXNzPVwic2hlLWxpbmUtaW5wdXQgZm9ybS1jb250cm9sXCIgXG4gICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyID8gcGxhY2Vob2xkZXIgOiAnJyBcIlxuICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICAgICAgJy0tcGxhY2Vob2xkZXItZm9udCc6IHF1ZXN0aW9uLmZvbnQsXG4gICAgICAgICAgICAgICctLXBsYWNlaG9sZGVyLWNvbG9yJzogcXVlc3Rpb24uZm9udENvbG9yLFxuICAgICAgICAgICAgICAnLS1wbGFjZWhvbGRlci1zaXplJzogcXVlc3Rpb24uZm9udFNpemUsXG4gICAgICAgICAgICAgICctLXBsYWNlaG9sZGVyLXdlaWdodCc6IHF1ZXN0aW9uLmZvbnRXZWlnaHRcbiAgICAgICAgICAgIH1cIlxuICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgW3N0eWxlXT1cInF1ZXN0aW9uPy5zdHlsZT8uaW5wdXRTdHlsZVwiXG4gICAgICAgKGlucHV0KT1cIm9uSW5wdXRDaGFuZ2UoJGV2ZW50KVwiIC8+XG48IS0tIEhBIDE5REVDMjMgRm9yIHRyYW5zbGF0aW9uIC0tPlxuPHNwYW4gKm5nSWY9XCJlcnJvclwiIGNsYXNzPVwiZXJyb3ItbXNnXCI+e3txdWVzdGlvbj8uZXJyb3JNZXNzYWdlfX0qPC9zcGFuPlxuIl19
@@ -1,24 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import * as i0 from "@angular/core";
4
- export class CustomLabelComponent {
5
- labelValue;
6
- labelStyle;
7
- constructor() {
8
- }
9
- ngOnInit() {
10
- }
11
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CustomLabelComponent, isStandalone: true, selector: "app-custom-label", inputs: { labelValue: "labelValue", labelStyle: "labelStyle" }, ngImport: i0, template: "\n<div style={{labelStyle}}>{{ labelValue }}</div>\n", styles: [".label{margin-top:8px;margin-left:7px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
13
- }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomLabelComponent, decorators: [{
15
- type: Component,
16
- args: [{ selector: 'app-custom-label', standalone: true, imports: [
17
- CommonModule,
18
- ], template: "\n<div style={{labelStyle}}>{{ labelValue }}</div>\n", styles: [".label{margin-top:8px;margin-left:7px}\n"] }]
19
- }], ctorParameters: () => [], propDecorators: { labelValue: [{
20
- type: Input
21
- }], labelStyle: [{
22
- type: Input
23
- }] } });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWxhYmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9jb21wb25lbnRzL2N1c3RvbS1sYWJlbC9jdXN0b20tbGFiZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLWxhYmVsL2N1c3RvbS1sYWJlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBVy9DLE1BQU0sT0FBTyxvQkFBb0I7SUFFdEIsVUFBVSxDQUFRO0lBQ2xCLFVBQVUsQ0FBUztJQUU1QjtJQUNBLENBQUM7SUFFRCxRQUFRO0lBQ1IsQ0FBQzt3R0FUVSxvQkFBb0I7NEZBQXBCLG9CQUFvQiw0SUNiakMsc0RBRUEsaUdETUksWUFBWTs7NEZBS0gsb0JBQW9CO2tCQVRoQyxTQUFTOytCQUNFLGtCQUFrQixjQUNoQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTtxQkFDYjt3REFNUSxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENoYW5nZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jaGFuZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY3VzdG9tLWxhYmVsJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbS1sYWJlbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2N1c3RvbS1sYWJlbC5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tTGFiZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIGxhYmVsVmFsdWU6c3RyaW5nO1xuICBASW5wdXQoKSBsYWJlbFN0eWxlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoKSB7IFxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxufVxuIiwiXG48ZGl2IHN0eWxlPXt7bGFiZWxTdHlsZX19Pnt7IGxhYmVsVmFsdWUgfX08L2Rpdj5cbiJdfQ==
@@ -1,182 +0,0 @@
1
- // Changes commented out due to Angular version compatibility; will apply after upgrade.
2
- // // RS 06JAN2025
3
- import { Component, EventEmitter, Input, Output } from '@angular/core';
4
- import { QuillEditorComponent } from 'ngx-quill';
5
- import { FormsModule } from '@angular/forms';
6
- import Quill from 'quill';
7
- import { Mention } from 'quill-mention';
8
- import ImageResizor from 'quill-image-resizor';
9
- import { CommonModule } from '@angular/common';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "../../i18n.service";
12
- import * as i2 from "../../services/change.service";
13
- import * as i3 from "@angular/forms";
14
- import * as i4 from "@angular/common";
15
- // RS 17JAN2025
16
- // An array fontFamilyArr is created containing a list of font family names as strings.
17
- const fontFamilyArr = ["Roboto", "Roboto Condensed", "Arial", "Verdana", "Tahoma", "Trebuchet MS",
18
- "Georgia", "Times New Roman", "Courier New", "Palatino Linotype",
19
- "Segoe UI", "Calibri", "Calibri Light", "Sans-Serif", "Helvetica",
20
- "Impact", "Garamond", "Comic Sans MS", "Lucida Console", "Franklin Gothic Medium"];
21
- // Register Quill modules
22
- Quill.register('modules/mention', Mention);
23
- ImageResizor.Quill = Quill;
24
- Quill.register('modules/imageResizor', ImageResizor);
25
- // RS 17JAN2025
26
- //The Quill font style attributor is imported and it is registered with Quil
27
- let fonts = Quill.import("attributors/style/font");
28
- fonts.whitelist = fontFamilyArr;
29
- Quill.register(fonts, true);
30
- export const QuillConfiguration = {
31
- imageResizor: {},
32
- toolbar: {
33
- container: [
34
- [{ 'font': fontFamilyArr }], //RS 17JAN2025 Added font family dropdown
35
- ['bold', 'italic', 'underline', 'strike'],
36
- ['blockquote', 'code-block'],
37
- [{ header: [1, 2, 3, 4, 5, 6, false] }],
38
- [{ list: 'ordered' }, { list: 'bullet' }],
39
- [{ color: [] }, { background: [] }],
40
- [{ align: [] }],
41
- ['link', 'image', 'video'],
42
- ['formula'],
43
- ['clean'],
44
- ],
45
- },
46
- mention: {
47
- allowedChars: /^[A-Za-z\sÅÄÖåäö]*$/,
48
- mentionDenotationChars: ['@', '#'],
49
- source: function (searchTerm, renderList) {
50
- const values = [
51
- { id: 1, value: 'User 1' },
52
- { id: 2, value: 'User 2' },
53
- ];
54
- if (searchTerm.length === 0) {
55
- renderList(values, searchTerm);
56
- }
57
- else {
58
- const matches = values.filter((item) => item.value.toLowerCase().includes(searchTerm.toLowerCase()));
59
- renderList(matches, searchTerm);
60
- }
61
- },
62
- },
63
- };
64
- // resize: {
65
- // displaySize: true,
66
- // modules: ['Resize', 'DisplaySize', 'Toolbar'],
67
- // toolbarStyles: {
68
- // backgroundColor: 'black',
69
- // border: 'none',
70
- // color: 'white'
71
- // },
72
- // handleStyles: {
73
- // backgroundColor: 'black',
74
- // border: 'none',
75
- // color: 'white'
76
- // }
77
- // },
78
- export class CustomRichTextComponent {
79
- i18nService;
80
- changeService;
81
- value = '';
82
- placeholder;
83
- error;
84
- question;
85
- rows; //The number of visible text lines for the control
86
- readOnly = false;
87
- textValueChange = new EventEmitter();
88
- minLength;
89
- maxLength;
90
- // @Input() value: any = ''; // Set default value
91
- quillConfiguration = QuillConfiguration;
92
- subscription;
93
- constructor(i18nService, changeService) {
94
- this.i18nService = i18nService;
95
- this.changeService = changeService;
96
- }
97
- ngOnInit() {
98
- if (this.value === undefined || this.value === null) {
99
- this.value = '';
100
- this.textValueChange.emit('');
101
- }
102
- this.initializeDependency();
103
- }
104
- // Separated dependency initialization for better organization
105
- initializeDependency() {
106
- // AP-25MAR25 Parse subText if it's not already an object
107
- this.question['subText'] = typeof this.question?.subText === 'object' ? this.question?.subText : JSON.parse(this.question['subText']) || {};
108
- if (this.question?.subText) {
109
- try {
110
- const dependencyObj = this.question.subText;
111
- if (dependencyObj?.sourceQuestionId) {
112
- this.subscription = this.changeService.changeAnnounced$.subscribe((changeValue) => {
113
- if (changeValue && changeValue.valueObj &&
114
- changeValue.fromQuestionId === dependencyObj.sourceQuestionId) {
115
- this.value = changeValue.valueObj[dependencyObj.valueField];
116
- this.textValueChange.emit(this.value);
117
- }
118
- this.changeService.confirmChange(dependencyObj.sourceQuestionId);
119
- });
120
- }
121
- }
122
- catch (error) {
123
- console.error('Error parsing subText:', error);
124
- }
125
- }
126
- }
127
- // onEditorChange(event: any): void {
128
- // if (event && event.html !== undefined) {
129
- // this.textValueChange.emit(event.html);
130
- // } else {
131
- // this.textValueChange.emit('');
132
- // }
133
- // }
134
- // onEditorChange(event: any): void {
135
- // console.log('Typing detected...', event.html);
136
- // if (this.typingTimer) {
137
- // clearTimeout(this.typingTimer); // Clear previous timer
138
- // }
139
- // this.typingTimer = setTimeout(() => {
140
- // console.log('Debounced event fired:', event.html);
141
- // const newValue = event?.html ? event.html : ''; // Ensure empty values are handled
142
- // this.textValueChange.emit(newValue);
143
- // }, this.doneTypingInterval);
144
- // }
145
- // RS 28JAN2015
146
- onEditorFocusOut() {
147
- const currentValue = this.value || '';
148
- this.textValueChange.emit(currentValue);
149
- console.log('Rich Text Editor Focus Out - Emitting Value:', currentValue);
150
- }
151
- // Added ngOnDestroy to prevent memory leaks
152
- ngOnDestroy() {
153
- if (this.subscription) {
154
- this.subscription.unsubscribe();
155
- }
156
- }
157
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomRichTextComponent, deps: [{ token: i1.I18nService }, { token: i2.ChangeService }], target: i0.ɵɵFactoryTarget.Component });
158
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CustomRichTextComponent, isStandalone: true, selector: "app-custom-rich-text", inputs: { value: "value", placeholder: "placeholder", error: "error", question: "question", rows: "rows", readOnly: "readOnly", minLength: "minLength", maxLength: "maxLength" }, outputs: { textValueChange: "textValueChange" }, ngImport: i0, template: "<!-- RS 06JAN25 -->\n<div class=\"rich-text-container\">\n <quill-editor\n [(ngModel)]=\"value\"\n [placeholder]=\"placeholder\"\n [modules]=\"quillConfiguration\"\n [readOnly]=\"readOnly\"\n (focusout)=\"onEditorFocusOut()\"\n [class.error]=\"error\">\n </quill-editor>\n <div *ngIf=\"error\" class=\"error-message\">\n {{ error }}\n </div>\n</div>", styles: [".rich-text-container{width:100%;margin:10px 0}.error{border:1px solid red}:is() .ql-editor img{cursor:pointer}:is() .image-resizer{display:block!important;visibility:visible!important}:is() .ql-editor .image-resizer{border:1px dashed #000;position:absolute}:is() .ql-editor .image-resizer .handle{background-color:#000;border:1px solid #fff;border-radius:50%;height:12px;width:12px;position:absolute}quill-editor{width:100%}\n"], dependencies: [{ kind: "component", type: QuillEditorComponent, selector: "quill-editor" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
159
- }
160
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomRichTextComponent, decorators: [{
161
- type: Component,
162
- args: [{ imports: [QuillEditorComponent, FormsModule, CommonModule], selector: 'app-custom-rich-text', standalone: true, template: "<!-- RS 06JAN25 -->\n<div class=\"rich-text-container\">\n <quill-editor\n [(ngModel)]=\"value\"\n [placeholder]=\"placeholder\"\n [modules]=\"quillConfiguration\"\n [readOnly]=\"readOnly\"\n (focusout)=\"onEditorFocusOut()\"\n [class.error]=\"error\">\n </quill-editor>\n <div *ngIf=\"error\" class=\"error-message\">\n {{ error }}\n </div>\n</div>", styles: [".rich-text-container{width:100%;margin:10px 0}.error{border:1px solid red}:is() .ql-editor img{cursor:pointer}:is() .image-resizer{display:block!important;visibility:visible!important}:is() .ql-editor .image-resizer{border:1px dashed #000;position:absolute}:is() .ql-editor .image-resizer .handle{background-color:#000;border:1px solid #fff;border-radius:50%;height:12px;width:12px;position:absolute}quill-editor{width:100%}\n"] }]
163
- }], ctorParameters: () => [{ type: i1.I18nService }, { type: i2.ChangeService }], propDecorators: { value: [{
164
- type: Input
165
- }], placeholder: [{
166
- type: Input
167
- }], error: [{
168
- type: Input
169
- }], question: [{
170
- type: Input
171
- }], rows: [{
172
- type: Input
173
- }], readOnly: [{
174
- type: Input
175
- }], textValueChange: [{
176
- type: Output
177
- }], minLength: [{
178
- type: Input
179
- }], maxLength: [{
180
- type: Input
181
- }] } });
182
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXJpY2gtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvY29tcG9uZW50cy9jdXN0b20tcmljaC10ZXh0L2N1c3RvbS1yaWNoLXRleHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLXJpY2gtdGV4dC9jdXN0b20tcmljaC10ZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdGQUF3RjtBQUN4RixrQkFBa0I7QUFDbEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBcUMsTUFBTSxlQUFlLENBQUM7QUFLbEgsT0FBTyxFQUFFLG9CQUFvQixFQUFnQixNQUFNLFdBQVcsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDNUMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxZQUFZLE1BQU0scUJBQXFCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7QUFFL0MsZUFBZTtBQUNmLHVGQUF1RjtBQUN2RixNQUFNLGFBQWEsR0FBRyxDQUFDLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxjQUFjO0lBQy9GLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsbUJBQW1CO0lBQ2hFLFVBQVUsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxXQUFXO0lBQ2pFLFFBQVEsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLHdCQUF3QixDQUFDLENBQUM7QUFFckYseUJBQXlCO0FBQ3pCLEtBQUssQ0FBQyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDM0MsWUFBWSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7QUFDMUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsRUFBRSxZQUFZLENBQUMsQ0FBQTtBQUVwRCxlQUFlO0FBQ2YsNEVBQTRFO0FBQzVFLElBQUksS0FBSyxHQUFRLEtBQUssQ0FBQyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUN4RCxLQUFLLENBQUMsU0FBUyxHQUFHLGFBQWEsQ0FBQztBQUNoQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztBQUU1QixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBaUI7SUFDNUMsWUFBWSxFQUFFLEVBQUU7SUFDbEIsT0FBTyxFQUFFO1FBQ1AsU0FBUyxFQUFFO1lBQ1QsQ0FBQyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsQ0FBQyxFQUFHLDBDQUEwQztZQUN4RSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFFBQVEsQ0FBQztZQUN6QyxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUM7WUFDNUIsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdkMsQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQztZQUN6QyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ25DLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDZixDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDO1lBQzFCLENBQUMsU0FBUyxDQUFDO1lBQ1gsQ0FBQyxPQUFPLENBQUM7U0FDVjtLQUNGO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsWUFBWSxFQUFFLHFCQUFxQjtRQUNuQyxzQkFBc0IsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7UUFDbEMsTUFBTSxFQUFFLFVBQVUsVUFBa0IsRUFBRSxVQUFlO1lBQ25ELE1BQU0sTUFBTSxHQUFHO2dCQUNiLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFO2dCQUMxQixFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTthQUMzQixDQUFDO1lBRUYsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUM1QixVQUFVLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ2pDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDckMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQzVELENBQUM7Z0JBQ0YsVUFBVSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztZQUNsQyxDQUFDO1FBQ0gsQ0FBQztLQUNGO0NBQ0YsQ0FBQztBQUVGLFlBQVk7QUFDWix5QkFBeUI7QUFDekIscURBQXFEO0FBQ3JELHVCQUF1QjtBQUN2QixvQ0FBb0M7QUFDcEMsMEJBQTBCO0FBQzFCLHlCQUF5QjtBQUN6QixTQUFTO0FBQ1Qsc0JBQXNCO0FBQ3RCLG9DQUFvQztBQUNwQywwQkFBMEI7QUFDMUIseUJBQXlCO0FBQ3pCLFFBQVE7QUFDUixLQUFLO0FBU0wsTUFBTSxPQUFPLHVCQUF1QjtJQWdCekI7SUFDQztJQWhCRCxLQUFLLEdBQWdCLEVBQUUsQ0FBQztJQUN4QixXQUFXLENBQVM7SUFDcEIsS0FBSyxDQUFNO0lBQ1gsUUFBUSxDQUFNO0lBQ2QsSUFBSSxDQUFRLENBQUMsa0RBQWtEO0lBQy9ELFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDaEIsZUFBZSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO0lBQ3BFLFNBQVMsQ0FBVTtJQUNuQixTQUFTLENBQVU7SUFDNUIsaURBQWlEO0lBRWpELGtCQUFrQixHQUFpQixrQkFBa0IsQ0FBQztJQUN0RCxZQUFZLENBQWU7SUFFM0IsWUFDUyxXQUF3QixFQUN2QixhQUE0QjtRQUQ3QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN2QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUNsQyxDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNwRCxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVoQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELDhEQUE4RDtJQUN0RCxvQkFBb0I7UUFDMUIseURBQXlEO1FBQ3pELElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUksSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQztnQkFDRCxNQUFNLGFBQWEsR0FBbUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7Z0JBQzVELElBQUksYUFBYSxFQUFFLGdCQUFnQixFQUFFLENBQUM7b0JBQ2xDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQzdELENBQUMsV0FBVyxFQUFFLEVBQUU7d0JBQ1osSUFBSSxXQUFXLElBQUksV0FBVyxDQUFDLFFBQVE7NEJBQ25DLFdBQVcsQ0FBQyxjQUFjLEtBQUssYUFBYSxDQUFDLGdCQUFnQixFQUFFLENBQUM7NEJBQ2hFLElBQUksQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7NEJBQzVELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDMUMsQ0FBQzt3QkFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztvQkFDckUsQ0FBQyxDQUNKLENBQUM7Z0JBQ04sQ0FBQztZQUNMLENBQUM7WUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO2dCQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDbkQsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBR0QscUNBQXFDO0lBQ3JDLDZDQUE2QztJQUM3Qyw2Q0FBNkM7SUFDN0MsYUFBYTtJQUNiLHFDQUFxQztJQUNyQyxNQUFNO0lBQ04sSUFBSTtJQUNKLHFDQUFxQztJQUNyQyxtREFBbUQ7SUFFbkQsNEJBQTRCO0lBQzVCLDhEQUE4RDtJQUM5RCxNQUFNO0lBQ04sMENBQTBDO0lBQzFDLHlEQUF5RDtJQUV6RCx5RkFBeUY7SUFDekYsMkNBQTJDO0lBQzNDLGlDQUFpQztJQUNqQyxJQUFJO0lBRUosZUFBZTtJQUNmLGdCQUFnQjtRQUNkLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsOENBQThDLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVDLDRDQUE0QztJQUM1QyxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNsQyxDQUFDO0lBQ0gsQ0FBQzt3R0F4RlUsdUJBQXVCOzRGQUF2Qix1QkFBdUIsbVRDM0ZwQyx3WEFhTSxvZUR1RVEsb0JBQW9CLHdEQUFFLFdBQVcsOFZBQUUsWUFBWTs7NEZBT2hELHVCQUF1QjtrQkFSbkMsU0FBUzs4QkFDRyxDQUFDLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxZQUFZLENBQUMsWUFDaEQsc0JBQXNCLGNBQ3BCLElBQUk7NEdBTVQsS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksZUFBZTtzQkFBeEIsTUFBTTtnQkFDRSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDaGFuZ2VzIGNvbW1lbnRlZCBvdXQgZHVlIHRvIEFuZ3VsYXIgdmVyc2lvbiBjb21wYXRpYmlsaXR5OyB3aWxsIGFwcGx5IGFmdGVyIHVwZ3JhZGUuXG4vLyAvLyBSUyAwNkpBTjIwMjVcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIE9uRGVzdHJveSwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi9pMThuLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDaGFuZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2hhbmdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGVwZW5kZW5jeU1ldGEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2RlcGVuZGVuY3lNZXRhJztcbmltcG9ydCB7IFF1aWxsRWRpdG9yQ29tcG9uZW50LCBRdWlsbE1vZHVsZXMgfSBmcm9tICduZ3gtcXVpbGwnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCBRdWlsbCBmcm9tICdxdWlsbCc7XG5pbXBvcnQgeyBNZW50aW9uIH0gZnJvbSAncXVpbGwtbWVudGlvbic7XG5pbXBvcnQgSW1hZ2VSZXNpem9yIGZyb20gJ3F1aWxsLWltYWdlLXJlc2l6b3InXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vLyBSUyAxN0pBTjIwMjVcbi8vIEFuIGFycmF5IGZvbnRGYW1pbHlBcnIgaXMgY3JlYXRlZCBjb250YWluaW5nIGEgbGlzdCBvZiBmb250IGZhbWlseSBuYW1lcyBhcyBzdHJpbmdzLlxuY29uc3QgZm9udEZhbWlseUFyciA9IFtcIlJvYm90b1wiLCBcIlJvYm90byBDb25kZW5zZWRcIiwgXCJBcmlhbFwiLCBcIlZlcmRhbmFcIiwgXCJUYWhvbWFcIiwgXCJUcmVidWNoZXQgTVNcIixcbiAgXCJHZW9yZ2lhXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFwiQ291cmllciBOZXdcIiwgXCJQYWxhdGlubyBMaW5vdHlwZVwiLFxuICBcIlNlZ29lIFVJXCIsIFwiQ2FsaWJyaVwiLCBcIkNhbGlicmkgTGlnaHRcIiwgXCJTYW5zLVNlcmlmXCIsIFwiSGVsdmV0aWNhXCIsXG4gIFwiSW1wYWN0XCIsIFwiR2FyYW1vbmRcIiwgXCJDb21pYyBTYW5zIE1TXCIsIFwiTHVjaWRhIENvbnNvbGVcIiwgXCJGcmFua2xpbiBHb3RoaWMgTWVkaXVtXCJdO1xuXG4vLyBSZWdpc3RlciBRdWlsbCBtb2R1bGVzXG5RdWlsbC5yZWdpc3RlcignbW9kdWxlcy9tZW50aW9uJywgTWVudGlvbik7XG5JbWFnZVJlc2l6b3IuUXVpbGwgPSBRdWlsbFxuUXVpbGwucmVnaXN0ZXIoJ21vZHVsZXMvaW1hZ2VSZXNpem9yJywgSW1hZ2VSZXNpem9yKVxuXG4vLyBSUyAxN0pBTjIwMjVcbi8vVGhlIFF1aWxsIGZvbnQgc3R5bGUgYXR0cmlidXRvciBpcyBpbXBvcnRlZCBhbmQgaXQgaXMgcmVnaXN0ZXJlZCB3aXRoIFF1aWxcbmxldCBmb250czogYW55ID0gUXVpbGwuaW1wb3J0KFwiYXR0cmlidXRvcnMvc3R5bGUvZm9udFwiKTtcbmZvbnRzLndoaXRlbGlzdCA9IGZvbnRGYW1pbHlBcnI7XG5RdWlsbC5yZWdpc3Rlcihmb250cywgdHJ1ZSk7XG5cbmV4cG9ydCBjb25zdCBRdWlsbENvbmZpZ3VyYXRpb246IFF1aWxsTW9kdWxlcyA9IHtcbiAgICBpbWFnZVJlc2l6b3I6IHt9LFxuICB0b29sYmFyOiB7XG4gICAgY29udGFpbmVyOiBbXG4gICAgICBbeyAnZm9udCc6IGZvbnRGYW1pbHlBcnIgfV0sICAvL1JTIDE3SkFOMjAyNSAgQWRkZWQgZm9udCBmYW1pbHkgZHJvcGRvd25cbiAgICAgIFsnYm9sZCcsICdpdGFsaWMnLCAndW5kZXJsaW5lJywgJ3N0cmlrZSddLFxuICAgICAgWydibG9ja3F1b3RlJywgJ2NvZGUtYmxvY2snXSxcbiAgICAgIFt7IGhlYWRlcjogWzEsIDIsIDMsIDQsIDUsIDYsIGZhbHNlXSB9XSxcbiAgICAgIFt7IGxpc3Q6ICdvcmRlcmVkJyB9LCB7IGxpc3Q6ICdidWxsZXQnIH1dLFxuICAgICAgW3sgY29sb3I6IFtdIH0sIHsgYmFja2dyb3VuZDogW10gfV0sXG4gICAgICBbeyBhbGlnbjogW10gfV0sXG4gICAgICBbJ2xpbmsnLCAnaW1hZ2UnLCAndmlkZW8nXSxcbiAgICAgIFsnZm9ybXVsYSddLFxuICAgICAgWydjbGVhbiddLFxuICAgIF0sXG4gIH0sXG4gIG1lbnRpb246IHtcbiAgICBhbGxvd2VkQ2hhcnM6IC9eW0EtWmEtelxcc8OFw4TDlsOlw6TDtl0qJC8sXG4gICAgbWVudGlvbkRlbm90YXRpb25DaGFyczogWydAJywgJyMnXSxcbiAgICBzb3VyY2U6IGZ1bmN0aW9uIChzZWFyY2hUZXJtOiBzdHJpbmcsIHJlbmRlckxpc3Q6IGFueSkge1xuICAgICAgY29uc3QgdmFsdWVzID0gW1xuICAgICAgICB7IGlkOiAxLCB2YWx1ZTogJ1VzZXIgMScgfSxcbiAgICAgICAgeyBpZDogMiwgdmFsdWU6ICdVc2VyIDInIH0sXG4gICAgICBdO1xuXG4gICAgICBpZiAoc2VhcmNoVGVybS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmVuZGVyTGlzdCh2YWx1ZXMsIHNlYXJjaFRlcm0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgbWF0Y2hlcyA9IHZhbHVlcy5maWx0ZXIoKGl0ZW0pID0+XG4gICAgICAgICAgaXRlbS52YWx1ZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0udG9Mb3dlckNhc2UoKSlcbiAgICAgICAgKTtcbiAgICAgICAgcmVuZGVyTGlzdChtYXRjaGVzLCBzZWFyY2hUZXJtKTtcbiAgICAgIH1cbiAgICB9LFxuICB9LFxufTtcblxuLy8gcmVzaXplOiB7XG4vLyAgICAgZGlzcGxheVNpemU6IHRydWUsXG4vLyAgICAgbW9kdWxlczogWydSZXNpemUnLCAnRGlzcGxheVNpemUnLCAnVG9vbGJhciddLFxuLy8gICAgIHRvb2xiYXJTdHlsZXM6IHtcbi8vICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnYmxhY2snLFxuLy8gICAgICAgICBib3JkZXI6ICdub25lJyxcbi8vICAgICAgICAgY29sb3I6ICd3aGl0ZSdcbi8vICAgICB9LFxuLy8gICAgIGhhbmRsZVN0eWxlczoge1xuLy8gICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdibGFjaycsXG4vLyAgICAgICAgIGJvcmRlcjogJ25vbmUnLFxuLy8gICAgICAgICBjb2xvcjogJ3doaXRlJ1xuLy8gICAgIH1cbi8vIH0sXG5AQ29tcG9uZW50KHtcbiAgICBpbXBvcnRzOiBbUXVpbGxFZGl0b3JDb21wb25lbnQsIEZvcm1zTW9kdWxlICxDb21tb25Nb2R1bGVdLFxuICAgIHNlbGVjdG9yOiAnYXBwLWN1c3RvbS1yaWNoLXRleHQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbS1yaWNoLXRleHQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2N1c3RvbS1yaWNoLXRleHQuY29tcG9uZW50LmNzcyddXG59KVxuXG5leHBvcnQgY2xhc3MgQ3VzdG9tUmljaFRleHRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHZhbHVlOiBhbnkgfCBhbnlbXSA9ICcnO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICBASW5wdXQoKSBlcnJvcjogYW55O1xuICBASW5wdXQoKSBxdWVzdGlvbjogYW55O1xuICBASW5wdXQoKSByb3dzOk51bWJlcjsgLy9UaGUgbnVtYmVyIG9mIHZpc2libGUgdGV4dCBsaW5lcyBmb3IgdGhlIGNvbnRyb2xcbiAgQElucHV0KCkgcmVhZE9ubHkgPSBmYWxzZTtcbiAgQE91dHB1dCgpIHRleHRWYWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQElucHV0KCkgbWluTGVuZ3RoPzogbnVtYmVyO1xuICBASW5wdXQoKSBtYXhMZW5ndGg/OiBudW1iZXI7XG4gIC8vIEBJbnB1dCgpIHZhbHVlOiBhbnkgPSAnJzsgLy8gU2V0IGRlZmF1bHQgdmFsdWVcblxuICBxdWlsbENvbmZpZ3VyYXRpb246IFF1aWxsTW9kdWxlcyA9IFF1aWxsQ29uZmlndXJhdGlvbjtcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGkxOG5TZXJ2aWNlOiBJMThuU2VydmljZSxcbiAgICBwcml2YXRlIGNoYW5nZVNlcnZpY2U6IENoYW5nZVNlcnZpY2VcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy52YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMudmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHRoaXMudmFsdWUgPSAnJztcbiAgICAgIHRoaXMudGV4dFZhbHVlQ2hhbmdlLmVtaXQoJycpO1xuXG4gICAgfVxuICAgIHRoaXMuaW5pdGlhbGl6ZURlcGVuZGVuY3koKTtcbiAgfVxuXG4gIC8vIFNlcGFyYXRlZCBkZXBlbmRlbmN5IGluaXRpYWxpemF0aW9uIGZvciBiZXR0ZXIgb3JnYW5pemF0aW9uXG4gIHByaXZhdGUgaW5pdGlhbGl6ZURlcGVuZGVuY3koKTogdm9pZCB7XG4gICAgLy8gQVAtMjVNQVIyNSBQYXJzZSBzdWJUZXh0IGlmIGl0J3Mgbm90IGFscmVhZHkgYW4gb2JqZWN0XG4gICAgdGhpcy5xdWVzdGlvblsnc3ViVGV4dCddID0gdHlwZW9mIHRoaXMucXVlc3Rpb24/LnN1YlRleHQgPT09ICdvYmplY3QnID8gdGhpcy5xdWVzdGlvbj8uc3ViVGV4dCA6IEpTT04ucGFyc2UodGhpcy5xdWVzdGlvblsnc3ViVGV4dCddKSB8fCB7fTtcbiAgICBpZiAodGhpcy5xdWVzdGlvbj8uc3ViVGV4dCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgZGVwZW5kZW5jeU9iajogRGVwZW5kZW5jeU1ldGEgPSB0aGlzLnF1ZXN0aW9uLnN1YlRleHQ7XG4gICAgICAgICAgICBpZiAoZGVwZW5kZW5jeU9iaj8uc291cmNlUXVlc3Rpb25JZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5jaGFuZ2VTZXJ2aWNlLmNoYW5nZUFubm91bmNlZCQuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgICAgICAoY2hhbmdlVmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjaGFuZ2VWYWx1ZSAmJiBjaGFuZ2VWYWx1ZS52YWx1ZU9iaiAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZVZhbHVlLmZyb21RdWVzdGlvbklkID09PSBkZXBlbmRlbmN5T2JqLnNvdXJjZVF1ZXN0aW9uSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gY2hhbmdlVmFsdWUudmFsdWVPYmpbZGVwZW5kZW5jeU9iai52YWx1ZUZpZWxkXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHRWYWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VTZXJ2aWNlLmNvbmZpcm1DaGFuZ2UoZGVwZW5kZW5jeU9iai5zb3VyY2VRdWVzdGlvbklkKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBwYXJzaW5nIHN1YlRleHQ6JywgZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vIG9uRWRpdG9yQ2hhbmdlKGV2ZW50OiBhbnkpOiB2b2lkIHtcbi8vICAgaWYgKGV2ZW50ICYmIGV2ZW50Lmh0bWwgIT09IHVuZGVmaW5lZCkge1xuLy8gICAgIHRoaXMudGV4dFZhbHVlQ2hhbmdlLmVtaXQoZXZlbnQuaHRtbCk7XG4vLyAgIH0gZWxzZSB7XG4vLyAgICAgdGhpcy50ZXh0VmFsdWVDaGFuZ2UuZW1pdCgnJyk7XG4vLyAgIH1cbi8vIH1cbi8vIG9uRWRpdG9yQ2hhbmdlKGV2ZW50OiBhbnkpOiB2b2lkIHtcbi8vICAgY29uc29sZS5sb2coJ1R5cGluZyBkZXRlY3RlZC4uLicsIGV2ZW50Lmh0bWwpO1xuXG4vLyAgIGlmICh0aGlzLnR5cGluZ1RpbWVyKSB7XG4vLyAgICAgY2xlYXJUaW1lb3V0KHRoaXMudHlwaW5nVGltZXIpOyAvLyBDbGVhciBwcmV2aW91cyB0aW1lclxuLy8gICB9XG4vLyAgIHRoaXMudHlwaW5nVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbi8vICAgICBjb25zb2xlLmxvZygnRGVib3VuY2VkIGV2ZW50IGZpcmVkOicsIGV2ZW50Lmh0bWwpO1xuXG4vLyAgICAgY29uc3QgbmV3VmFsdWUgPSBldmVudD8uaHRtbCA/IGV2ZW50Lmh0bWwgOiAnJzsgLy8gRW5zdXJlIGVtcHR5IHZhbHVlcyBhcmUgaGFuZGxlZFxuLy8gICAgIHRoaXMudGV4dFZhbHVlQ2hhbmdlLmVtaXQobmV3VmFsdWUpO1xuLy8gICB9LCB0aGlzLmRvbmVUeXBpbmdJbnRlcnZhbCk7XG4vLyB9XG5cbi8vIFJTIDI4SkFOMjAxNVxub25FZGl0b3JGb2N1c091dCgpOiB2b2lkIHtcbiAgY29uc3QgY3VycmVudFZhbHVlID0gdGhpcy52YWx1ZSB8fCAnJztcbiAgdGhpcy50ZXh0VmFsdWVDaGFuZ2UuZW1pdChjdXJyZW50VmFsdWUpO1xuICBjb25zb2xlLmxvZygnUmljaCBUZXh0IEVkaXRvciBGb2N1cyBPdXQgLSBFbWl0dGluZyBWYWx1ZTonLCBjdXJyZW50VmFsdWUpO1xufVxuXG4gIC8vIEFkZGVkIG5nT25EZXN0cm95IHRvIHByZXZlbnQgbWVtb3J5IGxlYWtzXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cbn1cblxuXG4iLCI8IS0tIFJTIDA2SkFOMjUgLS0+XG48ZGl2IGNsYXNzPVwicmljaC10ZXh0LWNvbnRhaW5lclwiPlxuICA8cXVpbGwtZWRpdG9yXG4gICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICBbbW9kdWxlc109XCJxdWlsbENvbmZpZ3VyYXRpb25cIlxuICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgKGZvY3Vzb3V0KT1cIm9uRWRpdG9yRm9jdXNPdXQoKVwiXG4gICAgW2NsYXNzLmVycm9yXT1cImVycm9yXCI+XG4gIDwvcXVpbGwtZWRpdG9yPlxuICA8ZGl2ICpuZ0lmPVwiZXJyb3JcIiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIj5cbiAgICB7eyBlcnJvciB9fVxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==