@rangertechnologies/ngnxt 2.1.104 → 2.1.106

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 (143) hide show
  1. package/package.json +5 -1
  2. package/esm2022/lib/ar.i18n.mjs +0 -29
  3. package/esm2022/lib/components/button/nxt-button.component.mjs +0 -130
  4. package/esm2022/lib/components/custom-button/custom-button.component.mjs +0 -39
  5. package/esm2022/lib/components/custom-calendar/custom-calendar.component.mjs +0 -366
  6. package/esm2022/lib/components/custom-date/custom-date.component.mjs +0 -47
  7. package/esm2022/lib/components/custom-date-picker/custom-date-picker.component.mjs +0 -48
  8. package/esm2022/lib/components/custom-dropdown/custom-dropdown.component.mjs +0 -219
  9. package/esm2022/lib/components/custom-image/custom-image.component.mjs +0 -34
  10. package/esm2022/lib/components/custom-input/custom-input.component.mjs +0 -93
  11. package/esm2022/lib/components/custom-label/custom-label.component.mjs +0 -21
  12. package/esm2022/lib/components/custom-model/custom-model.component.mjs +0 -48
  13. package/esm2022/lib/components/custom-radio/custom-radio.component.mjs +0 -115
  14. package/esm2022/lib/components/custom-rich-text/custom-rich-text.component.mjs +0 -186
  15. package/esm2022/lib/components/custom-table/custom-table.component.mjs +0 -347
  16. package/esm2022/lib/components/custom-text-area/custom-text-area.component.mjs +0 -65
  17. package/esm2022/lib/components/custom-time/custom-time.component.mjs +0 -61
  18. package/esm2022/lib/components/datatable/datatable.component.mjs +0 -801
  19. package/esm2022/lib/components/dependent-table/dependent-table.component.mjs +0 -42
  20. package/esm2022/lib/components/dropdown-with-flag/dropdown-with-flag.component.mjs +0 -39
  21. package/esm2022/lib/components/file-upload/file-upload.component.mjs +0 -279
  22. package/esm2022/lib/components/file-view/file-view.component.mjs +0 -46
  23. package/esm2022/lib/components/loader/loader.component.mjs +0 -23
  24. package/esm2022/lib/components/pagination/pagination.component.mjs +0 -100
  25. package/esm2022/lib/components/pick-location/pick-location.component.mjs +0 -216
  26. package/esm2022/lib/components/search-box/search-box.component.mjs +0 -202
  27. package/esm2022/lib/components/table-appendix/table-appendix.component.mjs +0 -123
  28. package/esm2022/lib/directives/componenthost/componenthost.directive.mjs +0 -19
  29. package/esm2022/lib/en.i18n.mjs +0 -29
  30. package/esm2022/lib/i18n-config.service.mjs +0 -4
  31. package/esm2022/lib/i18n.component.mjs +0 -47
  32. package/esm2022/lib/i18n.module.mjs +0 -38
  33. package/esm2022/lib/i18n.pipe.mjs +0 -25
  34. package/esm2022/lib/i18n.service.mjs +0 -56
  35. package/esm2022/lib/interfaces/actionMeta.mjs +0 -2
  36. package/esm2022/lib/interfaces/apimeta.mjs +0 -2
  37. package/esm2022/lib/interfaces/dependencyMeta.mjs +0 -2
  38. package/esm2022/lib/model/bookletWrapper.mjs +0 -9
  39. package/esm2022/lib/model/changeWrapper.mjs +0 -11
  40. package/esm2022/lib/model/errorWrapper.mjs +0 -6
  41. package/esm2022/lib/model/tableWrapper.mjs +0 -20
  42. package/esm2022/lib/nxt-app.component.mjs +0 -22
  43. package/esm2022/lib/nxt-app.module.mjs +0 -399
  44. package/esm2022/lib/nxt-app.service.mjs +0 -14
  45. package/esm2022/lib/pages/booklet/booklet.component.mjs +0 -541
  46. package/esm2022/lib/pages/builder/element/element.component.mjs +0 -174
  47. package/esm2022/lib/pages/builder/form/form.component.mjs +0 -34
  48. package/esm2022/lib/pages/builder/menu/menu.component.mjs +0 -28
  49. package/esm2022/lib/pages/builder/properties/properties.component.mjs +0 -462
  50. package/esm2022/lib/pages/questionbook/questionbook.component.mjs +0 -458
  51. package/esm2022/lib/pages/questionnaire/questionnaire.component.mjs +0 -2387
  52. package/esm2022/lib/pages/summary-page/summary-page.component.mjs +0 -76
  53. package/esm2022/lib/pipe/date/date.pipe.mjs +0 -28
  54. package/esm2022/lib/pipe/editColumnCheck/edit-column-check.pipe.mjs +0 -28
  55. package/esm2022/lib/pipe/editColumnDropdown/edit-column-dropdown.pipe.mjs +0 -20
  56. package/esm2022/lib/pipe/editColumnType/edit-column-type.pipe.mjs +0 -20
  57. package/esm2022/lib/pipe/get-value.pipe.mjs +0 -50
  58. package/esm2022/lib/pipe/search-filter/search-filter.pipe.mjs +0 -39
  59. package/esm2022/lib/pipe/time/time.pipe.mjs +0 -26
  60. package/esm2022/lib/sample.mjs +0 -3715
  61. package/esm2022/lib/services/change.service.mjs +0 -53
  62. package/esm2022/lib/services/data.service.mjs +0 -80
  63. package/esm2022/lib/services/form-builder.service.mjs +0 -160
  64. package/esm2022/lib/services/salesforce.service.mjs +0 -46
  65. package/esm2022/lib/services/shared.service.mjs +0 -100
  66. package/esm2022/lib/services/storage.service.mjs +0 -44
  67. package/esm2022/lib/tam.i18n.mjs +0 -29
  68. package/esm2022/lib/wrapper.mjs +0 -175
  69. package/esm2022/public-api.mjs +0 -22
  70. package/esm2022/rangertechnologies-ngnxt.mjs +0 -5
  71. package/fesm2022/rangertechnologies-ngnxt.mjs +0 -12833
  72. package/fesm2022/rangertechnologies-ngnxt.mjs.map +0 -1
  73. package/index.d.ts +0 -5
  74. package/lib/ar.i18n.d.ts +0 -24
  75. package/lib/components/button/nxt-button.component.d.ts +0 -38
  76. package/lib/components/custom-button/custom-button.component.d.ts +0 -16
  77. package/lib/components/custom-calendar/custom-calendar.component.d.ts +0 -65
  78. package/lib/components/custom-date/custom-date.component.d.ts +0 -18
  79. package/lib/components/custom-date-picker/custom-date-picker.component.d.ts +0 -19
  80. package/lib/components/custom-dropdown/custom-dropdown.component.d.ts +0 -39
  81. package/lib/components/custom-image/custom-image.component.d.ts +0 -13
  82. package/lib/components/custom-input/custom-input.component.d.ts +0 -31
  83. package/lib/components/custom-label/custom-label.component.d.ts +0 -10
  84. package/lib/components/custom-model/custom-model.component.d.ts +0 -19
  85. package/lib/components/custom-radio/custom-radio.component.d.ts +0 -33
  86. package/lib/components/custom-rich-text/custom-rich-text.component.d.ts +0 -29
  87. package/lib/components/custom-table/custom-table.component.d.ts +0 -65
  88. package/lib/components/custom-text-area/custom-text-area.component.d.ts +0 -22
  89. package/lib/components/custom-time/custom-time.component.d.ts +0 -18
  90. package/lib/components/datatable/datatable.component.d.ts +0 -126
  91. package/lib/components/dependent-table/dependent-table.component.d.ts +0 -15
  92. package/lib/components/dropdown-with-flag/dropdown-with-flag.component.d.ts +0 -16
  93. package/lib/components/file-upload/file-upload.component.d.ts +0 -47
  94. package/lib/components/file-view/file-view.component.d.ts +0 -16
  95. package/lib/components/loader/loader.component.d.ts +0 -11
  96. package/lib/components/pagination/pagination.component.d.ts +0 -36
  97. package/lib/components/pick-location/pick-location.component.d.ts +0 -44
  98. package/lib/components/search-box/search-box.component.d.ts +0 -43
  99. package/lib/components/table-appendix/table-appendix.component.d.ts +0 -30
  100. package/lib/directives/componenthost/componenthost.directive.d.ts +0 -8
  101. package/lib/en.i18n.d.ts +0 -24
  102. package/lib/i18n-config.service.d.ts +0 -2
  103. package/lib/i18n.component.d.ts +0 -11
  104. package/lib/i18n.module.d.ts +0 -9
  105. package/lib/i18n.pipe.d.ts +0 -10
  106. package/lib/i18n.service.d.ts +0 -14
  107. package/lib/interfaces/actionMeta.d.ts +0 -5
  108. package/lib/interfaces/apimeta.d.ts +0 -15
  109. package/lib/interfaces/dependencyMeta.d.ts +0 -8
  110. package/lib/model/bookletWrapper.d.ts +0 -5
  111. package/lib/model/changeWrapper.d.ts +0 -10
  112. package/lib/model/errorWrapper.d.ts +0 -5
  113. package/lib/model/tableWrapper.d.ts +0 -18
  114. package/lib/nxt-app.component.d.ts +0 -8
  115. package/lib/nxt-app.module.d.ts +0 -52
  116. package/lib/nxt-app.service.d.ts +0 -6
  117. package/lib/pages/booklet/booklet.component.d.ts +0 -68
  118. package/lib/pages/builder/element/element.component.d.ts +0 -25
  119. package/lib/pages/builder/form/form.component.d.ts +0 -11
  120. package/lib/pages/builder/menu/menu.component.d.ts +0 -10
  121. package/lib/pages/builder/properties/properties.component.d.ts +0 -527
  122. package/lib/pages/questionbook/questionbook.component.d.ts +0 -68
  123. package/lib/pages/questionnaire/questionnaire.component.d.ts +0 -220
  124. package/lib/pages/summary-page/summary-page.component.d.ts +0 -20
  125. package/lib/pipe/date/date.pipe.d.ts +0 -7
  126. package/lib/pipe/editColumnCheck/edit-column-check.pipe.d.ts +0 -7
  127. package/lib/pipe/editColumnDropdown/edit-column-dropdown.pipe.d.ts +0 -7
  128. package/lib/pipe/editColumnType/edit-column-type.pipe.d.ts +0 -7
  129. package/lib/pipe/get-value.pipe.d.ts +0 -7
  130. package/lib/pipe/search-filter/search-filter.pipe.d.ts +0 -8
  131. package/lib/pipe/time/time.pipe.d.ts +0 -7
  132. package/lib/sample.d.ts +0 -11
  133. package/lib/services/change.service.d.ts +0 -22
  134. package/lib/services/data.service.d.ts +0 -13
  135. package/lib/services/form-builder.service.d.ts +0 -75
  136. package/lib/services/salesforce.service.d.ts +0 -11
  137. package/lib/services/shared.service.d.ts +0 -15
  138. package/lib/services/storage.service.d.ts +0 -13
  139. package/lib/tam.i18n.d.ts +0 -24
  140. package/lib/wrapper.d.ts +0 -203
  141. package/public-api.d.ts +0 -15
  142. package/rangertechnologies-ngnxt-2.1.104.tgz +0 -0
  143. package/src/lib/style.css +0 -1817
@@ -1,219 +0,0 @@
1
- import { Component, Input, Output, EventEmitter } from '@angular/core';
2
- import { ChangeWrapper } from '../../model/changeWrapper';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../services/change.service";
5
- import * as i2 from "../../services/data.service";
6
- import * as i3 from "../../i18n.service";
7
- import * as i4 from "@angular/common";
8
- import * as i5 from "@angular/forms";
9
- import * as i6 from "@ng-select/ng-select";
10
- export class CustomDropdownComponent {
11
- changeService;
12
- dataService;
13
- i18nService;
14
- options;
15
- placeholder;
16
- apiMeta;
17
- selectedValue;
18
- progressBar;
19
- id;
20
- readOnly = false; // VD 12Jun24 - readonly change
21
- errorMessage;
22
- error;
23
- fromShengel = false;
24
- question;
25
- referenceField;
26
- token; // VD 19JAN24 - getting token as input
27
- valueChange = new EventEmitter();
28
- invalidFieldIds = [];
29
- constructor(changeService, dataService, i18nService) {
30
- this.changeService = changeService;
31
- this.dataService = dataService;
32
- this.i18nService = i18nService;
33
- this.changeService.submitValidate$.subscribe((data) => {
34
- // to get the error message's field id's
35
- this.invalidFieldIds.push(data);
36
- });
37
- }
38
- labelField;
39
- valueField;
40
- subscription;
41
- apiObj;
42
- uniqueKey;
43
- ngOnInit() {
44
- }
45
- getOptions() {
46
- console.log('test click');
47
- // console.log('inside oninit of custom-dropdown of ' + this.id);
48
- // console.log(this.apiMeta);
49
- //VD 07Aug24 - isDependentField change
50
- // VD 25Oct24 - changes
51
- this.placeholder = this.placeholder ? this.placeholder : '---Select option---';
52
- if (this.apiMeta) {
53
- try {
54
- this.apiObj = JSON.parse(this.apiMeta);
55
- // Check if apiObj and apiObj.field are defined
56
- if (this.apiObj && this.apiObj.field) {
57
- this.labelField = this.apiObj.field;
58
- this.uniqueKey = this.apiObj.uniqueKey;
59
- const cachedOptions = localStorage.getItem(this.uniqueKey);
60
- if (cachedOptions) {
61
- this.options = JSON.parse(cachedOptions);
62
- }
63
- else {
64
- if (!this.apiObj.isDependentField) {
65
- this.options = [];
66
- }
67
- // VD 09Sep24- setup the query param for api call // MR 08JAN24 DependentField API Fix moved below logic from above if condition
68
- let fullEndPoint;
69
- if (this.apiObj.endpoint) {
70
- if (this.apiObj.queryValueReference && this.apiObj.queryField) {
71
- // process the end point with query param
72
- let queryReferences = this.apiObj.queryValueReference.split(',');
73
- let queryFields = this.apiObj.queryField.split(','); // MR 08JAN24 similar to above valuereference get list of QUERY Fields
74
- let queryValues = this.apiObj.queryValue.split(','); // MR 08JAN24 similar to above valuereference get list of QUERY Values (Default)
75
- let queryParams = [];
76
- let qIndex = 0; // MR 08JAN24 Query Index
77
- // Iterate over queryReferences and find the corresponding element in referenceData
78
- queryReferences.forEach(reference => {
79
- // Find the element in referenceData that matches the current reference
80
- // RS 09DEC24 Changed keys
81
- let matchingElement = this.question?.referenceQueryData.find(element => element.referenceField === reference);
82
- // If a matching element is found, get its input value and create a query parameter
83
- if (reference && matchingElement) { // MR 08JAN24 if reference exist & matching element found
84
- queryParams.push(`${queryFields[qIndex]}=${matchingElement.input}`); // MR 08JAN24 removed reference
85
- }
86
- else { // MR 08JAN24 included option for multiple query params and default value in case of reference is not found
87
- queryParams.push(`${queryFields[qIndex]}=${queryValues[qIndex]}`);
88
- }
89
- qIndex++;
90
- });
91
- fullEndPoint = this.apiObj.endpoint + '?' + queryParams.join('&');
92
- console.log(fullEndPoint);
93
- }
94
- else {
95
- // if no query param get the actual endPoint
96
- fullEndPoint = this.apiObj.endpoint;
97
- }
98
- // VD 19JAN24 - added one more param for authentication
99
- this.dataService.apiResponse(fullEndPoint)?.subscribe((apiResponse) => {
100
- // HA 18-JAN-24 Assigned apiresponse directly if we have the response in array also
101
- // VD 19JAN24 - if response has key with value(which is array)
102
- let responses;
103
- if (this.apiObj.variable) {
104
- // VD 21May24 - handling multiple child objects
105
- // VD 22May24 - used common service file
106
- responses = this.dataService.getValue(apiResponse, this.apiObj.variable);
107
- let results = [];
108
- // HA 19JAN24 To avoid undefined error in console
109
- for (let i = 0; i < responses?.length; i++) {
110
- var resp = responses[i];
111
- results.push(resp);
112
- }
113
- this.options = results;
114
- }
115
- else { // VD 19JAN24 - if response has value(which is array) only
116
- responses = apiResponse;
117
- this.options = responses;
118
- }
119
- // VD 25Oct24 - Store fetched options in local storage
120
- if (this.uniqueKey) {
121
- localStorage.setItem(this.uniqueKey, JSON.stringify(this.options));
122
- }
123
- // Reference https://www.npmjs.com/package/@ng-select/ng-select
124
- });
125
- }
126
- // VD NOV23 - handle the dependent update for dropdown
127
- // VD 09Sep24- push the dependent field values for dropdown
128
- let sourceId = this.apiObj.sourceQuestionId;
129
- if (sourceId && this.apiObj.variable || this.apiObj.valueField) {
130
- // Subscribe for the changes
131
- this.subscription = this.changeService.changeAnnounced$.subscribe((changeValue) => {
132
- if (changeValue != undefined) {
133
- // console.log('inside subscription for the change');
134
- if (changeValue.valueObj != undefined && changeValue.fromQuestionId == this.apiObj.sourceQuestionId) {
135
- // this.selectedValue = changeValue.valueObj[this.apiObj.valueField];
136
- // let value ={};
137
- // value['name'] = this.selectedValue;
138
- let responses;
139
- if (this.apiObj.variable) {
140
- responses = this.dataService.getValue(changeValue.valueObj, this.apiObj.variable);
141
- let results = [];
142
- for (let i = 0; i < responses?.length; i++) {
143
- var resp = responses[i];
144
- results.push(resp);
145
- }
146
- this.options = results;
147
- }
148
- else {
149
- responses = changeValue.valueObj;
150
- this.options = responses;
151
- }
152
- // VD 25Oct24 - Store fetched options in local storage
153
- if (this.uniqueKey) {
154
- localStorage.setItem(this.uniqueKey, JSON.stringify(this.options));
155
- }
156
- }
157
- this.changeService.confirmChange(this.apiObj.sourceQuestionId);
158
- }
159
- });
160
- }
161
- }
162
- }
163
- }
164
- catch (error) {
165
- console.error('Error parsing apiMeta:', error);
166
- }
167
- }
168
- }
169
- // VD 22May24 - used common service file
170
- selectChange(event) {
171
- console.log('inside selectChange from ' + this.id);
172
- // console.log(event);
173
- let change = new ChangeWrapper(); // ChangeWrapper = JSON.parse('{}');
174
- change.fromQuestionId = this.id;
175
- change.valueObj = event ? event : '';
176
- change.referenceField = this.referenceField;
177
- change.selectedObj = event ? event[this.labelField] : '';
178
- this.valueChange.emit(change);
179
- // once got value in dropdown remove the error validation
180
- if (event) {
181
- this.invalidFieldIds = [];
182
- }
183
- }
184
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomDropdownComponent, deps: [{ token: i1.ChangeService }, { token: i2.DataService }, { token: i3.I18nService }], target: i0.ɵɵFactoryTarget.Component });
185
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CustomDropdownComponent, selector: "app-custom-dropdown", inputs: { options: "options", placeholder: "placeholder", apiMeta: "apiMeta", selectedValue: "selectedValue", progressBar: "progressBar", id: "id", readOnly: "readOnly", errorMessage: "errorMessage", error: "error", fromShengel: "fromShengel", question: "question", referenceField: "referenceField", token: "token" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<!-- HA 18-JAN-24 Commenting these lines as we don't have to use shengel here -->\n<!-- <select\n [ngClass]=\"{\n 'dt-line dpDown down myt-dropbox myt-border-r myt-font1': progressBar,\n 'custom-select': !progressBar\n }\" class=\"custom-select mr-sm-2 dd-height\" \n [id]=\"id\" \n [(ngModel)]=\"selectedValue\"\n (change)=\"selectChange($event.target.value);\" \n [style.borderColor]=\"error ? 'red' : '#858585'\"\n [style.color]=\"error ? 'red' : ''\">\n <option *ngFor=\"let option of options\" [value]=\"this.apiMeta !== undefined ? option.title : option.value\" class=\"option\">{{ this.apiMeta !== undefined ? option.title : option.value }}</option>\n <option *ngIf=\"errorMessage\" value=\"\" disabled hidden>{{ errorMessage }}</option>\n</select> -->\n<!-- // VD 12Jun24 - readonly change-->\n<!-- VD 01Aug24 - validation change-->\n<!-- VD 07Aug24 - isDependentField change-->\n<!-- VD 25Oct24 - changes-->\n<!-- RS 09DEC24 Changed keys--> \n<ng-select\n [class]=\"invalidFieldIds.includes(id) || error ? 'shengel-custom-select invalid' : 'shengel-custom-select'\"\n [(ngModel)]=\"selectedValue\" \n [placeholder]=\"placeholder\"\n [disabled]=\"readOnly\"\n (click)=\"getOptions()\"\n (change)=\"selectChange($event)\"\n [id]=\"id\">\n <ng-option \n *ngFor=\"let option of options\" \n [value]=\"apiObj && !apiObj.isDependentField ? option : option?.value\">\n {{ apiObj && !apiObj.isDependentField && option ? option[labelField] : option?.value }}\n </ng-option> \n</ng-select>\n<span *ngIf=\"error || invalidFieldIds.includes(id)\" class=\"error-msg\">{{errorMessage}}</span>\n", styles: [".ng-select{width:100%}.invalid{border:1px solid red!important}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.NgSelectComponent, selector: "ng-select", inputs: ["ariaLabelDropdown", "bindLabel", "bindValue", "ariaLabel", "markFirst", "placeholder", "fixedPlaceholder", "notFoundText", "typeToSearchText", "preventToggleOnRightClick", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "ngClass", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick", "keyDownFn"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "component", type: i6.NgOptionComponent, selector: "ng-option", inputs: ["value", "disabled"] }] });
186
- }
187
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomDropdownComponent, decorators: [{
188
- type: Component,
189
- args: [{ selector: 'app-custom-dropdown', template: "<!-- HA 18-JAN-24 Commenting these lines as we don't have to use shengel here -->\n<!-- <select\n [ngClass]=\"{\n 'dt-line dpDown down myt-dropbox myt-border-r myt-font1': progressBar,\n 'custom-select': !progressBar\n }\" class=\"custom-select mr-sm-2 dd-height\" \n [id]=\"id\" \n [(ngModel)]=\"selectedValue\"\n (change)=\"selectChange($event.target.value);\" \n [style.borderColor]=\"error ? 'red' : '#858585'\"\n [style.color]=\"error ? 'red' : ''\">\n <option *ngFor=\"let option of options\" [value]=\"this.apiMeta !== undefined ? option.title : option.value\" class=\"option\">{{ this.apiMeta !== undefined ? option.title : option.value }}</option>\n <option *ngIf=\"errorMessage\" value=\"\" disabled hidden>{{ errorMessage }}</option>\n</select> -->\n<!-- // VD 12Jun24 - readonly change-->\n<!-- VD 01Aug24 - validation change-->\n<!-- VD 07Aug24 - isDependentField change-->\n<!-- VD 25Oct24 - changes-->\n<!-- RS 09DEC24 Changed keys--> \n<ng-select\n [class]=\"invalidFieldIds.includes(id) || error ? 'shengel-custom-select invalid' : 'shengel-custom-select'\"\n [(ngModel)]=\"selectedValue\" \n [placeholder]=\"placeholder\"\n [disabled]=\"readOnly\"\n (click)=\"getOptions()\"\n (change)=\"selectChange($event)\"\n [id]=\"id\">\n <ng-option \n *ngFor=\"let option of options\" \n [value]=\"apiObj && !apiObj.isDependentField ? option : option?.value\">\n {{ apiObj && !apiObj.isDependentField && option ? option[labelField] : option?.value }}\n </ng-option> \n</ng-select>\n<span *ngIf=\"error || invalidFieldIds.includes(id)\" class=\"error-msg\">{{errorMessage}}</span>\n", styles: [".ng-select{width:100%}.invalid{border:1px solid red!important}\n"] }]
190
- }], ctorParameters: () => [{ type: i1.ChangeService }, { type: i2.DataService }, { type: i3.I18nService }], propDecorators: { options: [{
191
- type: Input
192
- }], placeholder: [{
193
- type: Input
194
- }], apiMeta: [{
195
- type: Input
196
- }], selectedValue: [{
197
- type: Input
198
- }], progressBar: [{
199
- type: Input
200
- }], id: [{
201
- type: Input
202
- }], readOnly: [{
203
- type: Input
204
- }], errorMessage: [{
205
- type: Input
206
- }], error: [{
207
- type: Input
208
- }], fromShengel: [{
209
- type: Input
210
- }], question: [{
211
- type: Input
212
- }], referenceField: [{
213
- type: Input
214
- }], token: [{
215
- type: Input
216
- }], valueChange: [{
217
- type: Output
218
- }] } });
219
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9jb21wb25lbnRzL2N1c3RvbS1kcm9wZG93bi9jdXN0b20tZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLWRyb3Bkb3duL2N1c3RvbS1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFTLEtBQUssRUFBQyxNQUFNLEVBQUMsWUFBWSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBR3RGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7QUFZMUQsTUFBTSxPQUFPLHVCQUF1QjtJQWlCeEI7SUFDQTtJQUNEO0lBbEJBLE9BQU8sQ0FBVztJQUNsQixXQUFXLENBQVM7SUFDcEIsT0FBTyxDQUFTO0lBQ2hCLGFBQWEsQ0FBUztJQUN0QixXQUFXLENBQVU7SUFDckIsRUFBRSxDQUFRO0lBQ1YsUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLCtCQUErQjtJQUNqRCxZQUFZLENBQVM7SUFDckIsS0FBSyxDQUFLO0lBQ1YsV0FBVyxHQUFZLEtBQUssQ0FBQztJQUM3QixRQUFRLENBQUs7SUFDYixjQUFjLENBQVE7SUFDdEIsS0FBSyxDQUFRLENBQUksc0NBQXNDO0lBQ3RELFdBQVcsR0FBZ0MsSUFBSSxZQUFZLEVBQWlCLENBQUM7SUFDdkYsZUFBZSxHQUFZLEVBQUUsQ0FBQztJQUM5QixZQUNVLGFBQTRCLEVBQzVCLFdBQXdCLEVBQ3pCLFdBQXdCO1FBRnZCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3pCLGdCQUFXLEdBQVgsV0FBVyxDQUFh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QUFhO3NCQUFyQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCxJbnB1dCxPdXRwdXQsRXZlbnRFbWl0dGVyLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBUElNZXRhIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9hcGltZXRhJztcbmltcG9ydCB7IENoYW5nZVdyYXBwZXIgfSBmcm9tICcuLi8uLi9tb2RlbC9jaGFuZ2VXcmFwcGVyJztcbmltcG9ydCB7IENoYW5nZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jaGFuZ2Uuc2VydmljZSc7XG4vLyBIQSAxOURFQzIzIGltcG9ydGVkIHRyYW5zbGF0aW9uIHNlcnZpY2VcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaTE4bi5zZXJ2aWNlJztcbi8vIFZEIDIzSkFOMjQgdXNlZCBzZXJ2aWNlIGZpbGUgZm9yIGNhbGxvdXRcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWN1c3RvbS1kcm9wZG93bicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20tZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jdXN0b20tZHJvcGRvd24uY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEN1c3RvbURyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgb3B0aW9uczogc3RyaW5nW107XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGFwaU1ldGE6IHN0cmluZztcbiAgQElucHV0KCkgc2VsZWN0ZWRWYWx1ZTogc3RyaW5nO1xuICBASW5wdXQoKSBwcm9ncmVzc0JhcjogYm9vbGVhbjtcbiAgQElucHV0KCkgaWQ6c3RyaW5nO1xuICBASW5wdXQoKSByZWFkT25seSA9IGZhbHNlOyAvLyBWRCAxMkp1bjI0IC0gcmVhZG9ubHkgY2hhbmdlXG4gIEBJbnB1dCgpIGVycm9yTWVzc2FnZTogc3RyaW5nO1xuICBASW5wdXQoKSBlcnJvcjphbnk7XG4gIEBJbnB1dCgpIGZyb21TaGVuZ2VsOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHF1ZXN0aW9uOmFueTtcbiAgQElucHV0KCkgcmVmZXJlbmNlRmllbGQ6c3RyaW5nO1xuICBASW5wdXQoKSB0b2tlbjpzdHJpbmc7ICAgIC8vIFZEIDE5SkFOMjQgLSBnZXR0aW5nIHRva2VuIGFzIGlucHV0XG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPENoYW5nZVdyYXBwZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxDaGFuZ2VXcmFwcGVyPigpO1xuICBpbnZhbGlkRmllbGRJZHM6c3RyaW5nW10gPSBbXTtcbiAgY29uc3RydWN0b3IoIFxuICAgIHByaXZhdGUgY2hhbmdlU2VydmljZTogQ2hhbmdlU2VydmljZSwgXG4gICAgcHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsXG4gICAgcHVibGljIGkxOG5TZXJ2aWNlOiBJMThuU2VydmljZSxcbiAgICAgICAgKSB7IFxuICAgIHRoaXMuY2hhbmdlU2VydmljZS5zdWJtaXRWYWxpZGF0ZSQuc3Vic2NyaWJlKChkYXRhKT0+e1xuICAgICAgLy8gdG8gZ2V0IHRoZSBlcnJvciBtZXNzYWdlJ3MgZmllbGQgaWQnc1xuICAgICAgdGhpcy5pbnZhbGlkRmllbGRJZHMucHVzaChkYXRhKTtcbiAgICB9KVxuICB9XG5cbiAgcHVibGljIGxhYmVsRmllbGQ6IHN0cmluZztcbiAgcHVibGljIHZhbHVlRmllbGQ6IHN0cmluZztcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHB1YmxpYyBhcGlPYmo6QVBJTWV0YTtcbiAgcHVibGljIHVuaXF1ZUtleTpzdHJpbmc7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgXG4gIH1cbiAgZ2V0T3B0aW9ucygpe1xuICAgIGNvbnNvbGUubG9nKCd0ZXN0IGNsaWNrJyk7XG4gICAgLy8gY29uc29sZS5sb2coJ2luc2lkZSBvbmluaXQgb2YgY3VzdG9tLWRyb3Bkb3duIG9mICcgKyB0aGlzLmlkKTtcbiAgICAvLyBjb25zb2xlLmxvZyh0aGlzLmFwaU1ldGEpO1xuICAgIC8vVkQgMDdBdWcyNCAtIGlzRGVwZW5kZW50RmllbGQgY2hhbmdlXG4gICAgLy8gVkQgMjVPY3QyNCAtIGNoYW5nZXNcbiAgICB0aGlzLnBsYWNlaG9sZGVyID0gdGhpcy5wbGFjZWhvbGRlciA/IHRoaXMucGxhY2Vob2xkZXIgOiAnLS0tU2VsZWN0IG9wdGlvbi0tLSc7XG4gICAgaWYodGhpcy5hcGlNZXRhKSB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuYXBpT2JqID0gSlNPTi5wYXJzZSh0aGlzLmFwaU1ldGEpO1xuICAgICAgLy8gQ2hlY2sgaWYgYXBpT2JqIGFuZCBhcGlPYmouZmllbGQgYXJlIGRlZmluZWRcbiAgICAgIGlmICh0aGlzLmFwaU9iaiAmJiB0aGlzLmFwaU9iai5maWVsZCkge1xuICAgICAgICB0aGlzLmxhYmVsRmllbGQgPSB0aGlzLmFwaU9iai5maWVsZDtcbiAgICAgICAgdGhpcy51bmlxdWVLZXkgPSB0aGlzLmFwaU9iai51bmlxdWVLZXk7XG4gICAgICAgIGNvbnN0IGNhY2hlZE9wdGlvbnMgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnVuaXF1ZUtleSk7XG4gICAgICAgIGlmIChjYWNoZWRPcHRpb25zKSB7XG4gICAgICAgICAgdGhpcy5vcHRpb25zID0gSlNPTi5wYXJzZShjYWNoZWRPcHRpb25zKTtcbiAgICAgICAgfWVsc2Uge1xuICAgICAgICAgIGlmKCF0aGlzLmFwaU9iai5pc0RlcGVuZGVudEZpZWxkKXtcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IFtdO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIFZEIDA5U2VwMjQtIHNldHVwIHRoZSBxdWVyeSBwYXJhbSBmb3IgYXBpIGNhbGwgLy8gTVIgMDhKQU4yNCBEZXBlbmRlbnRGaWVsZCBBUEkgRml4IG1vdmVkIGJlbG93IGxvZ2ljIGZyb20gYWJvdmUgaWYgY29uZGl0aW9uXG4gICAgICAgICAgbGV0IGZ1bGxFbmRQb2ludCA7XG4gICAgICAgICAgaWYodGhpcy5hcGlPYmouZW5kcG9pbnQpIHtcbiAgICAgICAgICAgIGlmKHRoaXMuYXBpT2JqLnF1ZXJ5VmFsdWVSZWZlcmVuY2UgJiYgdGhpcy5hcGlPYmoucXVlcnlGaWVsZCkge1xuICAgICAgICAgICAgICAvLyBwcm9jZXNzIHRoZSBlbmQgcG9pbnQgd2l0aCBxdWVyeSBwYXJhbVxuICAgICAgICAgICAgICBsZXQgcXVlcnlSZWZlcmVuY2VzID0gdGhpcy5hcGlPYmoucXVlcnlWYWx1ZVJlZmVyZW5jZS5zcGxpdCgnLCcpO1xuICAgICAgICAgICAgICBsZXQgcXVlcnlGaWVsZHMgPSB0aGlzLmFwaU9iai5xdWVyeUZpZWxkLnNwbGl0KCcsJyk7ICAgIC8vIE1SIDA4SkFOMjQgc2ltaWxhciB0byBhYm92ZSB2YWx1ZXJlZmVyZW5jZSBnZXQgbGlzdCBvZiBRVUVSWSBGaWVsZHNcbiAgICAgICAgICAgICAgbGV0IHF1ZXJ5VmFsdWVzID0gdGhpcy5hcGlPYmoucXVlcnlWYWx1ZS5zcGxpdCgnLCcpOyAgICAvLyBNUiAwOEpBTjI0IHNpbWlsYXIgdG8gYWJvdmUgdmFsdWVyZWZlcmVuY2UgZ2V0IGxpc3Qgb2YgUVVFUlkgVmFsdWVzIChEZWZhdWx0KVxuICAgICAgICAgICAgICBsZXQgcXVlcnlQYXJhbXMgPSBbXTtcbiAgICAgICAgICAgICAgbGV0IHFJbmRleCA9IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBNUiAwOEpBTjI0IFF1ZXJ5IEluZGV4XG4gICAgICAgICAgICAgIC8vIEl0ZXJhdGUgb3ZlciBxdWVyeVJlZmVyZW5jZXMgYW5kIGZpbmQgdGhlIGNvcnJlc3BvbmRpbmcgZWxlbWVudCBpbiByZWZlcmVuY2VEYXRhXG4gICAgICAgICAgICAgIHF1ZXJ5UmVmZXJlbmNlcy5mb3JFYWNoKHJlZmVyZW5jZSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gRmluZCB0aGUgZWxlbWVudCBpbiByZWZlcmVuY2VEYXRhIHRoYXQgbWF0Y2hlcyB0aGUgY3VycmVudCByZWZlcmVuY2VcbiAgICAgICAgICAgICAgICAvLyBSUyAwOURFQzI0IENoYW5nZWQga2V5c1xuICAgICAgICAgICAgICAgIGxldCBtYXRjaGluZ0VsZW1lbnQgPSB0aGlzLnF1ZXN0aW9uPy5yZWZlcmVuY2VRdWVyeURhdGEuZmluZChlbGVtZW50ID0+IGVsZW1lbnQucmVmZXJlbmNlRmllbGQgPT09IHJlZmVyZW5jZSk7XG4gICAgICAgICAgICAgIC8vIElmIGEgbWF0Y2hpbmcgZWxlbWVudCBpcyBmb3VuZCwgZ2V0IGl0cyBpbnB1dCB2YWx1ZSBhbmQgY3JlYXRlIGEgcXVlcnkgcGFyYW1ldGVyXG4gICAgICAgICAgICAgICAgaWYgKHJlZmVyZW5jZSAmJiBtYXRjaGluZ0VsZW1lbnQpIHsgICAvLyBNUiAwOEpBTjI0IGlmIHJlZmVyZW5jZSBleGlzdCAmIG1hdGNoaW5nIGVsZW1lbnQgZm91bmRcbiAgICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zLnB1c2goYCR7cXVlcnlGaWVsZHNbcUluZGV4XX09JHttYXRjaGluZ0VsZW1lbnQuaW5wdXR9YCk7ICAgIC8vIE1SIDA4SkFOMjQgcmVtb3ZlZCByZWZlcmVuY2VcbiAgICAgICAgICAgICAgICB9IGVsc2UgeyAgICAvLyBNUiAwOEpBTjI0IGluY2x1ZGVkIG9wdGlvbiBmb3IgbXVsdGlwbGUgcXVlcnkgcGFyYW1zIGFuZCBkZWZhdWx0IHZhbHVlIGluIGNhc2Ugb2YgcmVmZXJlbmNlIGlzIG5vdCBmb3VuZFxuICAgICAgICAgICAgICAgICAgcXVlcnlQYXJhbXMucHVzaChgJHtxdWVyeUZpZWxkc1txSW5kZXhdfT0ke3F1ZXJ5VmFsdWVzW3FJbmRleF19YCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcUluZGV4Kys7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICBmdWxsRW5kUG9pbnQgPSB0aGlzLmFwaU9iai5lbmRwb2ludCArICc/JyArIHF1ZXJ5UGFyYW1zLmpvaW4oJyYnKTtcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coZnVsbEVuZFBvaW50KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gaWYgbm8gcXVlcnkgcGFyYW0gZ2V0IHRoZSBhY3R1YWwgZW5kUG9pbnRcbiAgICAgICAgICAgICAgZnVsbEVuZFBvaW50ID0gdGhpcy5hcGlPYmouZW5kcG9pbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFZEIDE5SkFOMjQgLSBhZGRlZCBvbmUgbW9yZSBwYXJhbSBmb3IgYXV0aGVudGljYXRpb25cbiAgICAgICAgICAgIHRoaXMuZGF0YVNlcnZpY2UuYXBpUmVzcG9uc2UoZnVsbEVuZFBvaW50KT8uc3Vic2NyaWJlKChhcGlSZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAvLyBIQSAxOC1KQU4tMjQgQXNzaWduZWQgYXBpcmVzcG9uc2UgZGlyZWN0bHkgaWYgd2UgaGF2ZSB0aGUgcmVzcG9uc2UgaW4gYXJyYXkgYWxzb1xuICAgICAgICAgICAgICAvLyBWRCAxOUpBTjI0IC0gaWYgcmVzcG9uc2UgaGFzIGtleSB3aXRoIHZhbHVlKHdoaWNoIGlzIGFycmF5KVxuICAgICAgICAgICAgICBsZXQgcmVzcG9uc2VzO1xuICAgICAgICAgICAgICBpZih0aGlzLmFwaU9iai52YXJpYWJsZSl7XG4gICAgICAgICAgICAgICAgLy8gVkQgMjFNYXkyNCAtIGhhbmRsaW5nIG11bHRpcGxlIGNoaWxkIG9iamVjdHNcbiAgICAgICAgICAgICAgICAvLyBWRCAyMk1heTI0IC0gdXNlZCBjb21tb24gc2VydmljZSBmaWxlXG4gICAgICAgICAgICAgICAgcmVzcG9uc2VzID0gdGhpcy5kYXRhU2VydmljZS5nZXRWYWx1ZShhcGlSZXNwb25zZSx0aGlzLmFwaU9iai52YXJpYWJsZSk7XG4gICAgICAgICAgICAgICAgbGV0IHJlc3VsdHMgPSBbXTtcbiAgICAgICAgICAgICAgICAvLyBIQSAxOUpBTjI0IFRvIGF2b2lkIHVuZGVmaW5lZCBlcnJvciBpbiBjb25zb2xlXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByZXNwb25zZXM/Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICB2YXIgcmVzcCA9IHJlc3BvbnNlc1tpXTtcbiAgICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChyZXNwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zID0gcmVzdWx0cztcbiAgICAgICAgICAgICAgfWVsc2V7ICAvLyBWRCAxOUpBTjI0IC0gaWYgcmVzcG9uc2UgaGFzIHZhbHVlKHdoaWNoIGlzIGFycmF5KSBvbmx5XG4gICAgICAgICAgICAgICAgcmVzcG9uc2VzID0gYXBpUmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zID0gcmVzcG9uc2VzO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8vIFZEIDI1T2N0MjQgLSBTdG9yZSBmZXRjaGVkIG9wdGlvbnMgaW4gbG9jYWwgc3RvcmFnZVxuICAgICAgICAgICAgICBpZih0aGlzLnVuaXF1ZUtleSl7XG4gICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy51bmlxdWVLZXksIEpTT04uc3RyaW5naWZ5KHRoaXMub3B0aW9ucykpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8vIFJlZmVyZW5jZSBodHRwczovL3d3dy5ucG1qcy5jb20vcGFja2FnZS9Abmctc2VsZWN0L25nLXNlbGVjdFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBWRCBOT1YyMyAtIGhhbmRsZSB0aGUgZGVwZW5kZW50IHVwZGF0ZSBmb3IgZHJvcGRvd25cbiAgICAgICAgICAvLyBWRCAwOVNlcDI0LSBwdXNoIHRoZSBkZXBlbmRlbnQgZmllbGQgdmFsdWVzIGZvciBkcm9wZG93blxuICAgICAgICAgIGxldCBzb3VyY2VJZCA9IHRoaXMuYXBpT2JqLnNvdXJjZVF1ZXN0aW9uSWQ7XG4gICAgICAgICAgaWYoc291cmNlSWQgJiYgdGhpcy5hcGlPYmoudmFyaWFibGUgfHwgdGhpcy5hcGlPYmoudmFsdWVGaWVsZCl7XG4gICAgICAgICAgICAvLyBTdWJzY3JpYmUgZm9yIHRoZSBjaGFuZ2VzXG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuY2hhbmdlU2VydmljZS5jaGFuZ2VBbm5vdW5jZWQkLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgKGNoYW5nZVZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYoY2hhbmdlVmFsdWUgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZygnaW5zaWRlIHN1YnNjcmlwdGlvbiBmb3IgdGhlIGNoYW5nZScpO1xuICAgICAgICAgICAgICAgICAgaWYoY2hhbmdlVmFsdWUudmFsdWVPYmogIT0gdW5kZWZpbmVkICYmIGNoYW5nZVZhbHVlLmZyb21RdWVzdGlvbklkID09IHRoaXMuYXBpT2JqLnNvdXJjZVF1ZXN0aW9uSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IGNoYW5nZVZhbHVlLnZhbHVlT2JqW3RoaXMuYXBpT2JqLnZhbHVlRmllbGRdO1xuICAgICAgICAgICAgICAgICAgICAvLyAgbGV0IHZhbHVlID17fTtcbiAgICAgICAgICAgICAgICAgICAgLy8gIHZhbHVlWyduYW1lJ10gPSB0aGlzLnNlbGVjdGVkVmFsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgbGV0IHJlc3BvbnNlcztcbiAgICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmFwaU9iai52YXJpYWJsZSl7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZXMgPSB0aGlzLmRhdGFTZXJ2aWNlLmdldFZhbHVlKGNoYW5nZVZhbHVlLnZhbHVlT2JqLHRoaXMuYXBpT2JqLnZhcmlhYmxlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCByZXN1bHRzID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJlc3BvbnNlcz8ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlc3AgPSByZXNwb25zZXNbaV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChyZXNwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IHJlc3VsdHM7XG4gICAgICAgICAgICAgICAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZXMgPSBjaGFuZ2VWYWx1ZS52YWx1ZU9iajtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IHJlc3BvbnNlcztcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIFZEIDI1T2N0MjQgLSBTdG9yZSBmZXRjaGVkIG9wdGlvbnMgaW4gbG9jYWwgc3RvcmFnZVxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLnVuaXF1ZUtleSl7XG4gICAgICAgICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy51bmlxdWVLZXksIEpTT04uc3RyaW5naWZ5KHRoaXMub3B0aW9ucykpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlU2VydmljZS5jb25maXJtQ2hhbmdlKHRoaXMuYXBpT2JqLnNvdXJjZVF1ZXN0aW9uSWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBwYXJzaW5nIGFwaU1ldGE6JywgZXJyb3IpO1xuICAgIH1cbiAgfSBcbn1cbi8vIFZEIDIyTWF5MjQgLSB1c2VkIGNvbW1vbiBzZXJ2aWNlIGZpbGVcblxuICBzZWxlY3RDaGFuZ2UoZXZlbnQ6YW55KSB7XG4gICAgY29uc29sZS5sb2coJ2luc2lkZSBzZWxlY3RDaGFuZ2UgZnJvbSAnICsgdGhpcy5pZCk7XG4gICAgLy8gY29uc29sZS5sb2coZXZlbnQpO1xuICAgIGxldCBjaGFuZ2UgPSBuZXcgQ2hhbmdlV3JhcHBlcigpOyAvLyBDaGFuZ2VXcmFwcGVyID0gSlNPTi5wYXJzZSgne30nKTtcbiAgICBjaGFuZ2UuZnJvbVF1ZXN0aW9uSWQgPSB0aGlzLmlkO1xuICAgIGNoYW5nZS52YWx1ZU9iaiA9IGV2ZW50ID8gZXZlbnQgOiAnJztcbiAgICBjaGFuZ2UucmVmZXJlbmNlRmllbGQgPSB0aGlzLnJlZmVyZW5jZUZpZWxkO1xuICAgIGNoYW5nZS5zZWxlY3RlZE9iaiA9IGV2ZW50ID8gZXZlbnRbdGhpcy5sYWJlbEZpZWxkXSA6ICcnO1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChjaGFuZ2UpO1xuICAgIC8vIG9uY2UgZ290IHZhbHVlIGluIGRyb3Bkb3duIHJlbW92ZSB0aGUgZXJyb3IgdmFsaWRhdGlvblxuICAgIGlmKGV2ZW50KXtcbiAgICAgIHRoaXMuaW52YWxpZEZpZWxkSWRzID1bXTtcbiAgICB9XG4gIH1cbn1cbiIsIjwhLS0gSEEgMTgtSkFOLTI0IENvbW1lbnRpbmcgdGhlc2UgbGluZXMgYXMgd2UgZG9uJ3QgaGF2ZSB0byB1c2Ugc2hlbmdlbCBoZXJlIC0tPlxuPCEtLSA8c2VsZWN0XG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnZHQtbGluZSBkcERvd24gZG93biBteXQtZHJvcGJveCBteXQtYm9yZGVyLXIgbXl0LWZvbnQxJzogcHJvZ3Jlc3NCYXIsXG4gICAgJ2N1c3RvbS1zZWxlY3QnOiAhcHJvZ3Jlc3NCYXJcbiAgfVwiIGNsYXNzPVwiY3VzdG9tLXNlbGVjdCBtci1zbS0yIGRkLWhlaWdodFwiIFxuICBbaWRdPVwiaWRcIiBcbiAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFZhbHVlXCJcbiAgKGNoYW5nZSk9XCJzZWxlY3RDaGFuZ2UoJGV2ZW50LnRhcmdldC52YWx1ZSk7XCIgXG4gIFtzdHlsZS5ib3JkZXJDb2xvcl09XCJlcnJvciA/ICdyZWQnIDogJyM4NTg1ODUnXCJcbiAgW3N0eWxlLmNvbG9yXT1cImVycm9yID8gJ3JlZCcgOiAnJ1wiPlxuICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zXCIgW3ZhbHVlXT1cInRoaXMuYXBpTWV0YSAhPT0gdW5kZWZpbmVkID8gb3B0aW9uLnRpdGxlIDogb3B0aW9uLnZhbHVlXCIgY2xhc3M9XCJvcHRpb25cIj57eyB0aGlzLmFwaU1ldGEgIT09IHVuZGVmaW5lZCA/IG9wdGlvbi50aXRsZSA6IG9wdGlvbi52YWx1ZSB9fTwvb3B0aW9uPlxuICAgIDxvcHRpb24gKm5nSWY9XCJlcnJvck1lc3NhZ2VcIiB2YWx1ZT1cIlwiIGRpc2FibGVkIGhpZGRlbj57eyBlcnJvck1lc3NhZ2UgfX08L29wdGlvbj5cbjwvc2VsZWN0PiAtLT5cbjwhLS0gLy8gVkQgMTJKdW4yNCAtIHJlYWRvbmx5IGNoYW5nZS0tPlxuPCEtLSBWRCAwMUF1ZzI0IC0gdmFsaWRhdGlvbiBjaGFuZ2UtLT5cbjwhLS0gVkQgMDdBdWcyNCAtIGlzRGVwZW5kZW50RmllbGQgY2hhbmdlLS0+XG48IS0tIFZEIDI1T2N0MjQgLSBjaGFuZ2VzLS0+XG48IS0tIFJTIDA5REVDMjQgQ2hhbmdlZCBrZXlzLS0+IFxuPG5nLXNlbGVjdFxuICBbY2xhc3NdPVwiaW52YWxpZEZpZWxkSWRzLmluY2x1ZGVzKGlkKSB8fCBlcnJvciA/ICdzaGVuZ2VsLWN1c3RvbS1zZWxlY3QgaW52YWxpZCcgOiAnc2hlbmdlbC1jdXN0b20tc2VsZWN0J1wiXG4gIFsobmdNb2RlbCldPVwic2VsZWN0ZWRWYWx1ZVwiIFxuICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICBbZGlzYWJsZWRdPVwicmVhZE9ubHlcIlxuICAoY2xpY2spPVwiZ2V0T3B0aW9ucygpXCJcbiAgKGNoYW5nZSk9XCJzZWxlY3RDaGFuZ2UoJGV2ZW50KVwiXG4gIFtpZF09XCJpZFwiPlxuICA8bmctb3B0aW9uIFxuICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiIFxuICAgIFt2YWx1ZV09XCJhcGlPYmogJiYgIWFwaU9iai5pc0RlcGVuZGVudEZpZWxkID8gb3B0aW9uIDogb3B0aW9uPy52YWx1ZVwiPlxuICAgIHt7IGFwaU9iaiAmJiAhYXBpT2JqLmlzRGVwZW5kZW50RmllbGQgJiYgb3B0aW9uID8gb3B0aW9uW2xhYmVsRmllbGRdIDogb3B0aW9uPy52YWx1ZSB9fVxuICA8L25nLW9wdGlvbj4gXG48L25nLXNlbGVjdD5cbjxzcGFuICpuZ0lmPVwiZXJyb3IgfHwgaW52YWxpZEZpZWxkSWRzLmluY2x1ZGVzKGlkKVwiIGNsYXNzPVwiZXJyb3ItbXNnXCI+e3tlcnJvck1lc3NhZ2V9fTwvc3Bhbj5cbiJdfQ==
@@ -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,93 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../services/change.service";
4
- import * as i2 from "../../i18n.service";
5
- import * as i3 from "../../services/data.service";
6
- import * as i4 from "@angular/common";
7
- import * as i5 from "@angular/forms";
8
- export class CustomInputComponent {
9
- changeService;
10
- i18nService;
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, i18nService, dataService) {
25
- this.changeService = changeService;
26
- this.i18nService = i18nService;
27
- this.dataService = dataService;
28
- }
29
- // RS 09DEC24 Changed keys
30
- ngOnInit() {
31
- // Since the idValue holds the Parent Question
32
- if (this.question.subText != undefined) {
33
- this.disabled = true;
34
- let dependencyObj = JSON.parse(this.question.subText);
35
- if (dependencyObj.disabled && dependencyObj.disabled == "false") {
36
- this.disabled = false;
37
- }
38
- else {
39
- this.disabled = true;
40
- }
41
- // Subscribe for the changes
42
- this.subscription = this.changeService.changeAnnounced$.subscribe((changeValue) => {
43
- if (changeValue != undefined) {
44
- // console.log('inside subscription for the change');
45
- if (changeValue.valueObj != undefined && changeValue.fromQuestionId == dependencyObj.sourceQuestionId) {
46
- // VD 20Aug24 handling the multiple object
47
- this.value = this.dataService.getValue(changeValue.valueObj, dependencyObj.valueField);
48
- this.inputValue.emit(this.value);
49
- }
50
- this.changeService.confirmChange(dependencyObj.sourceQuestionId);
51
- }
52
- });
53
- }
54
- }
55
- ngOnChange() {
56
- }
57
- ngOnDestroy() {
58
- // prevent memory leak when component destroyed
59
- this.subscription?.unsubscribe();
60
- }
61
- onInputChange(input) {
62
- this.inputValue.emit(input.target.value);
63
- }
64
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomInputComponent, deps: [{ token: i1.ChangeService }, { token: i2.I18nService }, { token: i3.DataService }], target: i0.ɵɵFactoryTarget.Component });
65
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CustomInputComponent, 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 (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 [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}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", 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]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
66
- }
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomInputComponent, decorators: [{
68
- type: Component,
69
- args: [{ selector: 'app-custom-input', 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 (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 [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}\n"] }]
70
- }], ctorParameters: () => [{ type: i1.ChangeService }, { type: i2.I18nService }, { type: i3.DataService }], propDecorators: { value: [{
71
- type: Input
72
- }], question: [{
73
- type: Input
74
- }], disabled: [{
75
- type: Input
76
- }], placeholder: [{
77
- type: Input
78
- }], error: [{
79
- type: Input
80
- }], fromShengel: [{
81
- type: Input
82
- }], readOnly: [{
83
- type: Input
84
- }], ngClassValue: [{
85
- type: Input
86
- }], idValue: [{
87
- type: Input
88
- }], focusEvent: [{
89
- type: Input
90
- }], inputValue: [{
91
- type: Output
92
- }] } });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9jb21wb25lbnRzL2N1c3RvbS1pbnB1dC9jdXN0b20taW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLWlucHV0L2N1c3RvbS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBZ0IvRSxNQUFNLE9BQU8sb0JBQW9CO0lBZ0JYO0lBQXFDO0lBQWtDO0lBZmxGLEtBQUssQ0FBYyxDQUFDLGNBQWM7SUFDbEMsUUFBUSxDQUFVO0lBQ2xCLFFBQVEsR0FBWSxLQUFLLENBQUMsQ0FBQyx3QkFBd0I7SUFDbkQsV0FBVyxDQUFRO0lBQ25CLEtBQUssQ0FBSztJQUNWLFdBQVcsR0FBWSxLQUFLLENBQUM7SUFDN0IsUUFBUSxHQUFZLEtBQUssQ0FBQyxDQUFDLCtCQUErQjtJQUUxRCxZQUFZLENBQUs7SUFDakIsT0FBTyxDQUFLO0lBQ1osVUFBVSxDQUFNO0lBQ2YsVUFBVSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFFL0MsWUFBWSxDQUFlO0lBRTNCLFlBQW9CLGFBQTRCLEVBQVMsV0FBd0IsRUFBVSxXQUF3QjtRQUEvRixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUFTLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFDbkgsQ0FBQztJQUVELDBCQUEwQjtJQUMxQixRQUFRO1FBQ04sOENBQThDO1FBQzlDLElBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLElBQUksU0FBUyxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDckIsSUFBSSxhQUFhLEdBQW1CLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0RSxJQUFHLGFBQWEsQ0FBQyxRQUFRLElBQUksYUFBYSxDQUFDLFFBQVEsSUFBSSxPQUFPLEVBQUMsQ0FBQztnQkFDOUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDeEIsQ0FBQztpQkFBSSxDQUFDO2dCQUNKLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3ZCLENBQUM7WUFDRCw0QkFBNEI7WUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FDL0QsQ0FBQyxXQUFXLEVBQUUsRUFBRTtnQkFDZCxJQUFHLFdBQVcsSUFBSSxTQUFTLEVBQUUsQ0FBQztvQkFDNUIscURBQXFEO29CQUNyRCxJQUFHLFdBQVcsQ0FBQyxRQUFRLElBQUksU0FBUyxJQUFJLFdBQVcsQ0FBQyxjQUFjLElBQUksYUFBYSxDQUFDLGdCQUFnQixFQUFFLENBQUM7d0JBQ3JHLDBDQUEwQzt3QkFDMUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQzt3QkFDdEYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNuQyxDQUFDO29CQUNELElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2dCQUNuRSxDQUFDO1lBQ0gsQ0FBQyxDQUNGLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVELFVBQVU7SUFDVixDQUFDO0lBRUQsV0FBVztRQUNULCtDQUErQztRQUMvQyxJQUFJLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBUztRQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7d0dBekRVLG9CQUFvQjs0RkFBcEIsb0JBQW9CLGlWQ2hCakMsNHRDQTRCQTs7NEZEWmEsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNFLGtCQUFrQjtzSUFNbkIsS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDaGFuZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2hhbmdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hhbmdlV3JhcHBlciB9IGZyb20gJy4uLy4uL21vZGVsL2NoYW5nZVdyYXBwZXInO1xuaW1wb3J0IHsgUXVlc3Rpb24gfSBmcm9tICcuLi8uLi93cmFwcGVyJztcbmltcG9ydCB7IERlcGVuZGVuY3lNZXRhIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9kZXBlbmRlbmN5TWV0YSc7XG4vLyBIQSAxOURFQzIzIGltcG9ydGVkIHRyYW5zbGF0aW9uIHNlcnZpY2VcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaTE4bi5zZXJ2aWNlJztcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWN1c3RvbS1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20taW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jdXN0b20taW5wdXQuY29tcG9uZW50LmNzcyddXG59KVxuXG5leHBvcnQgY2xhc3MgQ3VzdG9tSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSB2YWx1ZTogYW55IHwgYW55W107IC8vIGlucHV0IHZhbHVlXG4gIEBJbnB1dCgpIHF1ZXN0aW9uOiBRdWVzdGlvblxuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlOyAvLyBpbnB1dCBkaXNhYmxlZCBvciBub3RcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6c3RyaW5nO1xuICBASW5wdXQoKSBlcnJvcjphbnk7XG4gIEBJbnB1dCgpIGZyb21TaGVuZ2VsOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJlYWRPbmx5IDpib29sZWFuID0gZmFsc2U7IC8vIFZEIDEySnVuMjQgLSByZWFkb25seSBjaGFuZ2VcblxuICBASW5wdXQoKSBuZ0NsYXNzVmFsdWU6YW55O1xuICBASW5wdXQoKSBpZFZhbHVlOmFueTtcbiAgQElucHV0KCkgZm9jdXNFdmVudDogYW55O1xuICBAT3V0cHV0KCkgaW5wdXRWYWx1ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpOyBcblxuICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZVNlcnZpY2U6IENoYW5nZVNlcnZpY2UsIHB1YmxpYyBpMThuU2VydmljZTogSTE4blNlcnZpY2UsIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlKSB7IFxuICB9XG5cbiAgLy8gUlMgMDlERUMyNCBDaGFuZ2VkIGtleXNcbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gU2luY2UgdGhlIGlkVmFsdWUgaG9sZHMgdGhlIFBhcmVudCBRdWVzdGlvblxuICAgIGlmKHRoaXMucXVlc3Rpb24uc3ViVGV4dCAhPSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgbGV0IGRlcGVuZGVuY3lPYmo6IERlcGVuZGVuY3lNZXRhID0gSlNPTi5wYXJzZSh0aGlzLnF1ZXN0aW9uLnN1YlRleHQpO1xuICAgICAgaWYoZGVwZW5kZW5jeU9iai5kaXNhYmxlZCAmJiBkZXBlbmRlbmN5T2JqLmRpc2FibGVkID09IFwiZmFsc2VcIil7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgIH1lbHNle1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIC8vIFN1YnNjcmliZSBmb3IgdGhlIGNoYW5nZXNcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5jaGFuZ2VTZXJ2aWNlLmNoYW5nZUFubm91bmNlZCQuc3Vic2NyaWJlKFxuICAgICAgICAoY2hhbmdlVmFsdWUpID0+IHtcbiAgICAgICAgICBpZihjaGFuZ2VWYWx1ZSAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdpbnNpZGUgc3Vic2NyaXB0aW9uIGZvciB0aGUgY2hhbmdlJyk7XG4gICAgICAgICAgICBpZihjaGFuZ2VWYWx1ZS52YWx1ZU9iaiAhPSB1bmRlZmluZWQgJiYgY2hhbmdlVmFsdWUuZnJvbVF1ZXN0aW9uSWQgPT0gZGVwZW5kZW5jeU9iai5zb3VyY2VRdWVzdGlvbklkKSB7XG4gICAgICAgICAgICAgIC8vIFZEIDIwQXVnMjQgaGFuZGxpbmcgdGhlIG11bHRpcGxlIG9iamVjdFxuICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5kYXRhU2VydmljZS5nZXRWYWx1ZShjaGFuZ2VWYWx1ZS52YWx1ZU9iaixkZXBlbmRlbmN5T2JqLnZhbHVlRmllbGQpO1xuICAgICAgICAgICAgICB0aGlzLmlucHV0VmFsdWUuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY2hhbmdlU2VydmljZS5jb25maXJtQ2hhbmdlKGRlcGVuZGVuY3lPYmouc291cmNlUXVlc3Rpb25JZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2UoKTogdm9pZCB7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICAvLyBwcmV2ZW50IG1lbW9yeSBsZWFrIHdoZW4gY29tcG9uZW50IGRlc3Ryb3llZFxuICAgIHRoaXMuc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG4gIFxuICBvbklucHV0Q2hhbmdlKGlucHV0OmFueSl7XG4gICAgdGhpcy5pbnB1dFZhbHVlLmVtaXQoaW5wdXQudGFyZ2V0LnZhbHVlKTtcbiAgfVxufVxuIiwiIDwhLS0gSEEgMTlERUMyMyBJbmNsdWRlZCBTdHlsZSB2YWx1ZSBmcm9tIFNhbGVzZm9yY2UgLS0+XG4gIDwhLS0gSEEgMTgtSkFOLTI0IEFkZGVkIHRoZXNlIGNsYXNzZXMgZm9yIHN0eWxlLCBIQSAzMS1KQU4tMjQgQWRkZWQgdGVybmFyeSBmb3Igc3R5bGUgLS0+XG4gIDwhLS0gSEEgMDJGRUIyNCBxdWVzdGlvbiBpbnB1dCB3aWxsIGhvbGQgdGhlIHZhbHVlIHRvIGRpc3BsYXkgLS0+XG4gIDwhLS0gLy8gVkQgMTJKdW4yNCAtIHJlYWRvbmx5IGNoYW5nZS0tPlxuICA8IS0tIFJTIDA5REVDMjQgQ2hhbmdlZCBrZXlzLS0+IFxuICA8aW5wdXQgKm5nSWY9XCIhZnJvbVNoZW5nZWxcIiB0eXBlPVwidGV4dFwiIFxuICAgICAgIFsobmdNb2RlbCldPVwicXVlc3Rpb24uaW5wdXRcIiBcbiAgICAgICBbbmdDbGFzc109XCJuZ0NsYXNzVmFsdWVcIlxuICAgICAgIGNsYXNzPVwic2hlLWxpbmUtaW5wdXQgZm9ybS1jb250cm9sXCJcbiAgICAgICBbaWRdPVwiaWRWYWx1ZVwiXG4gICAgICAgKGZvY3VzKT1cImZvY3VzRXZlbnRcIlxuICAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgICAgW3N0eWxlLmJvcmRlci1jb2xvcl09XCJlcnJvciA/ICdyZWQgIWltcG9ydGFudCcgOiAnJ1wiXG4gICAgICAgW3N0eWxlXT1cInF1ZXN0aW9uPy5zdHlsZT8uaW5wdXRTdHlsZVwiXG4gICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyID8gcGxhY2Vob2xkZXIgOiAnJ1wiXG4gICAgICAgKGlucHV0KT1cIm9uSW5wdXRDaGFuZ2UoJGV2ZW50KVwiIC8+XG5cbjxpbnB1dCAqbmdJZj1cImZyb21TaGVuZ2VsXCIgXG4gICAgICAgWyhuZ01vZGVsKV09XCJxdWVzdGlvbi5pbnB1dFwiXG4gICAgICAgdHlwZT1cInRleHRcIiBcbiAgICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgICAgIGNsYXNzPVwic2hlLWxpbmUtaW5wdXQgZm9ybS1jb250cm9sXCIgXG4gICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyID8gcGxhY2Vob2xkZXIgOiAnJyBcIlxuICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgW3N0eWxlXT1cInF1ZXN0aW9uPy5zdHlsZT8uaW5wdXRTdHlsZVwiXG4gICAgICAgKGlucHV0KT1cIm9uSW5wdXRDaGFuZ2UoJGV2ZW50KVwiIC8+XG48IS0tIEhBIDE5REVDMjMgRm9yIHRyYW5zbGF0aW9uIC0tPlxuPHNwYW4gKm5nSWY9XCJlcnJvclwiIGNsYXNzPVwiZXJyb3ItbXNnXCI+e3txdWVzdGlvbj8uZXJyb3JNZXNzYWdlfX0qPC9zcGFuPlxuIl19
@@ -1,21 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class CustomLabelComponent {
4
- labelValue;
5
- labelStyle;
6
- constructor() {
7
- }
8
- ngOnInit() {
9
- }
10
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CustomLabelComponent, 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"] });
12
- }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomLabelComponent, decorators: [{
14
- type: Component,
15
- args: [{ selector: 'app-custom-label', template: "\n<div style={{labelStyle}}>{{ labelValue }}</div>\n", styles: [".label{margin-top:8px;margin-left:7px}\n"] }]
16
- }], ctorParameters: () => [], propDecorators: { labelValue: [{
17
- type: Input
18
- }], labelStyle: [{
19
- type: Input
20
- }] } });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWxhYmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9jb21wb25lbnRzL2N1c3RvbS1sYWJlbC9jdXN0b20tbGFiZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLWxhYmVsL2N1c3RvbS1sYWJlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7QUFRekQsTUFBTSxPQUFPLG9CQUFvQjtJQUV0QixVQUFVLENBQVE7SUFDbEIsVUFBVSxDQUFTO0lBRTVCO0lBQ0EsQ0FBQztJQUVELFFBQVE7SUFDUixDQUFDO3dHQVRVLG9CQUFvQjs0RkFBcEIsb0JBQW9CLHdIQ1JqQyxzREFFQTs7NEZETWEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGtCQUFrQjt3REFNbkIsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDaGFuZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2hhbmdlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY3VzdG9tLWxhYmVsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbS1sYWJlbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2N1c3RvbS1sYWJlbC5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tTGFiZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIGxhYmVsVmFsdWU6c3RyaW5nO1xuICBASW5wdXQoKSBsYWJlbFN0eWxlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoKSB7IFxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxufVxuIiwiXG48ZGl2IHN0eWxlPXt7bGFiZWxTdHlsZX19Pnt7IGxhYmVsVmFsdWUgfX08L2Rpdj5cbiJdfQ==
@@ -1,48 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- export class CustomModelComponent {
5
- constructor() { }
6
- modalTitle;
7
- isModalOpen = false;
8
- modalSize = '';
9
- saveButtonValue = 'Save';
10
- modalFooter = true;
11
- saveButtonEmit = new EventEmitter();
12
- cancelButtonEmit = new EventEmitter();
13
- onSave() {
14
- this.saveButtonEmit.emit();
15
- }
16
- onCancel() {
17
- this.cancelButtonEmit.emit();
18
- }
19
- ngOnInit() {
20
- }
21
- closeModal() {
22
- this.cancelButtonEmit.emit(false);
23
- }
24
- saveModal() {
25
- this.saveButtonEmit.emit();
26
- }
27
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomModelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
28
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CustomModelComponent, selector: "app-custom-model", inputs: { modalTitle: "modalTitle", isModalOpen: "isModalOpen", modalSize: "modalSize", saveButtonValue: "saveButtonValue", modalFooter: "modalFooter" }, outputs: { saveButtonEmit: "saveButtonEmit", cancelButtonEmit: "cancelButtonEmit" }, ngImport: i0, template: "<div *ngIf=\"isModalOpen\" class=\"modal\" [ngClass]=\"modalSize\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <span class=\"close\" (click)=\"onCancel()\">&times;</span>\n <h2>{{ modalTitle }}</h2>\n </div>\n <div class=\"modal-body\">\n <ng-content></ng-content>\n </div>\n <!-- /* VD 06Sep24 styling changes */-->\n <div class=\"modal-footer\" *ngIf=\"modalFooter\">\n <button (click)=\"onCancel()\">Cancel</button>\n <button (click)=\"onSave()\">{{ saveButtonValue }}</button>\n </div>\n </div>\n</div>\n ", styles: [".modal{display:block;position:fixed;z-index:1;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#0006}.modal-content{background-color:#fefefe;margin:5% auto;padding:20px;border:1px solid #888;width:70%;max-width:90%;max-height:80vh;overflow-y:auto}.modal-header,.modal-footer{padding:10px;text-align:center;display:block}.modal-body{max-height:60vh;overflow-y:auto}.close{color:#aaa;float:right;font-size:28px;font-weight:700}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer}.modal-footer button{padding:10px 20px;margin:5px;font-size:16px;border:1px solid #ccc;border-radius:4px;cursor:pointer;background-color:#f5f5f5;color:#333}.modal-footer button:hover{background-color:#e0e0e0;border-color:#bbb}@media (max-width: 768px){.modal-content{width:90%;margin:10% auto}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
29
- }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomModelComponent, decorators: [{
31
- type: Component,
32
- args: [{ selector: 'app-custom-model', template: "<div *ngIf=\"isModalOpen\" class=\"modal\" [ngClass]=\"modalSize\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <span class=\"close\" (click)=\"onCancel()\">&times;</span>\n <h2>{{ modalTitle }}</h2>\n </div>\n <div class=\"modal-body\">\n <ng-content></ng-content>\n </div>\n <!-- /* VD 06Sep24 styling changes */-->\n <div class=\"modal-footer\" *ngIf=\"modalFooter\">\n <button (click)=\"onCancel()\">Cancel</button>\n <button (click)=\"onSave()\">{{ saveButtonValue }}</button>\n </div>\n </div>\n</div>\n ", styles: [".modal{display:block;position:fixed;z-index:1;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#0006}.modal-content{background-color:#fefefe;margin:5% auto;padding:20px;border:1px solid #888;width:70%;max-width:90%;max-height:80vh;overflow-y:auto}.modal-header,.modal-footer{padding:10px;text-align:center;display:block}.modal-body{max-height:60vh;overflow-y:auto}.close{color:#aaa;float:right;font-size:28px;font-weight:700}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer}.modal-footer button{padding:10px 20px;margin:5px;font-size:16px;border:1px solid #ccc;border-radius:4px;cursor:pointer;background-color:#f5f5f5;color:#333}.modal-footer button:hover{background-color:#e0e0e0;border-color:#bbb}@media (max-width: 768px){.modal-content{width:90%;margin:10% auto}}\n"] }]
33
- }], ctorParameters: () => [], propDecorators: { modalTitle: [{
34
- type: Input
35
- }], isModalOpen: [{
36
- type: Input
37
- }], modalSize: [{
38
- type: Input
39
- }], saveButtonValue: [{
40
- type: Input
41
- }], modalFooter: [{
42
- type: Input
43
- }], saveButtonEmit: [{
44
- type: Output
45
- }], cancelButtonEmit: [{
46
- type: Output
47
- }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLW1vZGVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9jb21wb25lbnRzL2N1c3RvbS1tb2RlbC9jdXN0b20tbW9kZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLW1vZGVsL2N1c3RvbS1tb2RlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDOzs7QUFPdEcsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQixnQkFBZ0IsQ0FBQztJQUNSLFVBQVUsQ0FBTTtJQUNoQixXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDZixlQUFlLEdBQUcsTUFBTSxDQUFDO0lBQ3pCLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDbEIsY0FBYyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDekMsZ0JBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUVyRCxNQUFNO1FBQ0osSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBR0QsUUFBUTtJQUNSLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQzt3R0E3QlUsb0JBQW9COzRGQUFwQixvQkFBb0IsdVNDUGpDLGttQkFnQkU7OzRGRFRXLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxrQkFBa0I7d0RBT25CLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDSSxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY3VzdG9tLW1vZGVsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbS1tb2RlbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2N1c3RvbS1tb2RlbC5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tTW9kZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG4gIEBJbnB1dCgpIG1vZGFsVGl0bGU6IGFueTtcbiAgQElucHV0KCkgaXNNb2RhbE9wZW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbW9kYWxTaXplID0gJyc7XG4gIEBJbnB1dCgpIHNhdmVCdXR0b25WYWx1ZSA9ICdTYXZlJztcbiAgQElucHV0KCkgbW9kYWxGb290ZXIgPSB0cnVlO1xuICBAT3V0cHV0KCkgc2F2ZUJ1dHRvbkVtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGNhbmNlbEJ1dHRvbkVtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBvblNhdmUoKSB7XG4gICAgdGhpcy5zYXZlQnV0dG9uRW1pdC5lbWl0KCk7XG4gIH1cblxuICBvbkNhbmNlbCgpIHtcbiAgICB0aGlzLmNhbmNlbEJ1dHRvbkVtaXQuZW1pdCgpO1xuICB9XG5cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxuXG4gIGNsb3NlTW9kYWwoKSB7XG4gICAgdGhpcy5jYW5jZWxCdXR0b25FbWl0LmVtaXQoZmFsc2UpO1xuICB9XG5cbiAgc2F2ZU1vZGFsKCkge1xuICAgIHRoaXMuc2F2ZUJ1dHRvbkVtaXQuZW1pdCgpO1xuICB9XG5cbn1cbiIsIjxkaXYgKm5nSWY9XCJpc01vZGFsT3BlblwiIGNsYXNzPVwibW9kYWxcIiBbbmdDbGFzc109XCJtb2RhbFNpemVcIj5cbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNsb3NlXCIgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIj4mdGltZXM7PC9zcGFuPlxuICAgICAgICA8aDI+e3sgbW9kYWxUaXRsZSB9fTwvaDI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSAvKiBWRCAwNlNlcDI0IHN0eWxpbmcgY2hhbmdlcyAqLy0tPlxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiICpuZ0lmPVwibW9kYWxGb290ZXJcIj5cbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwib25DYW5jZWwoKVwiPkNhbmNlbDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJvblNhdmUoKVwiPnt7IHNhdmVCdXR0b25WYWx1ZSB9fTwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiAgIl19