@qbs-origin/origin-form 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/README.md +24 -0
  2. package/esm2022/lib/action-step-handler.mjs +163 -0
  3. package/esm2022/lib/auth-client.service.mjs +69 -0
  4. package/esm2022/lib/enums/label.keys.mjs +721 -0
  5. package/esm2022/lib/form-css.helper.mjs +367 -0
  6. package/esm2022/lib/formly/baseFormlyControlComponent.mjs +52 -0
  7. package/esm2022/lib/formly/baseFormlyStepComponent.mjs +59 -0
  8. package/esm2022/lib/formly/custom-section-separator.component.mjs +32 -0
  9. package/esm2022/lib/formly/form-section-separator.component.mjs +36 -0
  10. package/esm2022/lib/formly/formly-action.mjs +56 -0
  11. package/esm2022/lib/formly/formly-checkbox/formly-checkbox.component.mjs +52 -0
  12. package/esm2022/lib/formly/formly-dictionary-dropdown-tree/formly-dictionary-dropdown-tree.component.mjs +261 -0
  13. package/esm2022/lib/formly/formly-download-documents/formly-download-documents.component.mjs +126 -0
  14. package/esm2022/lib/formly/formly-enrol-card/formly-enrol-card.component.mjs +120 -0
  15. package/esm2022/lib/formly/formly-field-stepper/formly-field-stepper.component.mjs +762 -0
  16. package/esm2022/lib/formly/formly-generate-documents/formly-generate-documents.component.mjs +57 -0
  17. package/esm2022/lib/formly/formly-identification.component.mjs +84 -0
  18. package/esm2022/lib/formly/formly-open-banking/formly-open-banking.component.mjs +590 -0
  19. package/esm2022/lib/formly/formly-paragraph/formly-paragraph.component.mjs +35 -0
  20. package/esm2022/lib/formly/formly-radio/formly-radio-component.mjs +49 -0
  21. package/esm2022/lib/formly/formly-row-fille.mjs +12 -0
  22. package/esm2022/lib/formly/formly-scan-id/formly-scan-id.component.mjs +284 -0
  23. package/esm2022/lib/formly/formly-sign/formly-sign.component.mjs +173 -0
  24. package/esm2022/lib/formly/formly-upload-documents/formly-upload-documents.component.mjs +198 -0
  25. package/esm2022/lib/formly/formly-validate-contact-info/formly-validate-contact-info.component.mjs +124 -0
  26. package/esm2022/lib/formly/formly-view-documents/formly-view-documents.component.mjs +245 -0
  27. package/esm2022/lib/formly/formly-view-offers/formly-view-offers.component.mjs +160 -0
  28. package/esm2022/lib/model-population.helper.mjs +265 -0
  29. package/esm2022/lib/models/application-type.model.mjs +12 -0
  30. package/esm2022/lib/models/application.model.mjs +30 -0
  31. package/esm2022/lib/models/auth/users.model.mjs +2 -0
  32. package/esm2022/lib/models/dictionary.model.mjs +20 -0
  33. package/esm2022/lib/models/flux.model.mjs +105 -0
  34. package/esm2022/lib/models/forms.model.mjs +572 -0
  35. package/esm2022/lib/models/label-info.model.mjs +2 -0
  36. package/esm2022/lib/models/label.model.mjs +2 -0
  37. package/esm2022/lib/models/language.model.mjs +3 -0
  38. package/esm2022/lib/models/list.model.mjs +2 -0
  39. package/esm2022/lib/models/partner.model.mjs +3 -0
  40. package/esm2022/lib/models/treeview.model.mjs +15 -0
  41. package/esm2022/lib/origin-form-auth.service.mjs +40 -0
  42. package/esm2022/lib/origin-form-config.model.mjs +2 -0
  43. package/esm2022/lib/origin-form-token.interceptor.mjs +35 -0
  44. package/esm2022/lib/origin-form.component.mjs +2391 -0
  45. package/esm2022/lib/origin-form.module.mjs +479 -0
  46. package/esm2022/lib/origin-form.service.mjs +14 -0
  47. package/esm2022/lib/others/check-list.database.mjs +55 -0
  48. package/esm2022/lib/others/config-service.mjs +42 -0
  49. package/esm2022/lib/others/dictionary-label-info.mjs +3 -0
  50. package/esm2022/lib/others/environment-type.mjs +21 -0
  51. package/esm2022/lib/others/external-link.directive.mjs +49 -0
  52. package/esm2022/lib/others/flux-helper.mjs +1397 -0
  53. package/esm2022/lib/others/picker.component.mjs +119 -0
  54. package/esm2022/lib/others/translation.pipe.mjs +21 -0
  55. package/esm2022/lib/others/translations-helper.mjs +258 -0
  56. package/esm2022/lib/others/utils.mjs +272 -0
  57. package/esm2022/lib/services/applicationData.service.mjs +145 -0
  58. package/esm2022/lib/services/auth-http.service.mjs +80 -0
  59. package/esm2022/lib/services/dialog.service.mjs +56 -0
  60. package/esm2022/lib/services/dictionary.service.mjs +198 -0
  61. package/esm2022/lib/services/forms.service.mjs +47 -0
  62. package/esm2022/lib/services/labels.service.mjs +29 -0
  63. package/esm2022/lib/services/language.service.mjs +24 -0
  64. package/esm2022/lib/services/open-banking.service.mjs +194 -0
  65. package/esm2022/lib/services/origin-form-signalr-handler.service.mjs +107 -0
  66. package/esm2022/lib/services/origin-form-signalr.service.mjs +105 -0
  67. package/esm2022/lib/services/otp.service.mjs +28 -0
  68. package/esm2022/lib/services/proxy.service.mjs +79 -0
  69. package/esm2022/lib/services/scroll-to-error.service.mjs +369 -0
  70. package/esm2022/lib/services/translation.service.mjs +27 -0
  71. package/esm2022/lib/shared-components/confirmation.component.mjs +34 -0
  72. package/esm2022/lib/shared-components/dictionaries-tree.component.mjs +301 -0
  73. package/esm2022/lib/shared-components/grid.component.mjs +241 -0
  74. package/esm2022/lib/shared-components/treeview/treeview.component.mjs +224 -0
  75. package/esm2022/lib/theme-css.mjs +2254 -0
  76. package/esm2022/lib/theme-injector.service.mjs +26 -0
  77. package/esm2022/public-api.mjs +4 -0
  78. package/esm2022/qbs-origin-origin-form.mjs +5 -0
  79. package/fesm2022/qbs-origin-origin-form.mjs +15215 -0
  80. package/fesm2022/qbs-origin-origin-form.mjs.map +1 -0
  81. package/index.d.ts +5 -0
  82. package/lib/action-step-handler.d.ts +49 -0
  83. package/lib/auth-client.service.d.ts +17 -0
  84. package/lib/enums/label.keys.d.ts +720 -0
  85. package/lib/form-css.helper.d.ts +28 -0
  86. package/lib/formly/baseFormlyControlComponent.d.ts +25 -0
  87. package/lib/formly/baseFormlyStepComponent.d.ts +29 -0
  88. package/lib/formly/custom-section-separator.component.d.ts +6 -0
  89. package/lib/formly/form-section-separator.component.d.ts +10 -0
  90. package/lib/formly/formly-action.d.ts +13 -0
  91. package/lib/formly/formly-checkbox/formly-checkbox.component.d.ts +15 -0
  92. package/lib/formly/formly-dictionary-dropdown-tree/formly-dictionary-dropdown-tree.component.d.ts +45 -0
  93. package/lib/formly/formly-download-documents/formly-download-documents.component.d.ts +22 -0
  94. package/lib/formly/formly-enrol-card/formly-enrol-card.component.d.ts +114 -0
  95. package/lib/formly/formly-field-stepper/formly-field-stepper.component.d.ts +79 -0
  96. package/lib/formly/formly-generate-documents/formly-generate-documents.component.d.ts +17 -0
  97. package/lib/formly/formly-identification.component.d.ts +19 -0
  98. package/lib/formly/formly-open-banking/formly-open-banking.component.d.ts +119 -0
  99. package/lib/formly/formly-paragraph/formly-paragraph.component.d.ts +10 -0
  100. package/lib/formly/formly-radio/formly-radio-component.d.ts +15 -0
  101. package/lib/formly/formly-row-fille.d.ts +6 -0
  102. package/lib/formly/formly-scan-id/formly-scan-id.component.d.ts +41 -0
  103. package/lib/formly/formly-sign/formly-sign.component.d.ts +36 -0
  104. package/lib/formly/formly-upload-documents/formly-upload-documents.component.d.ts +25 -0
  105. package/lib/formly/formly-validate-contact-info/formly-validate-contact-info.component.d.ts +79 -0
  106. package/lib/formly/formly-view-documents/formly-view-documents.component.d.ts +33 -0
  107. package/lib/formly/formly-view-offers/formly-view-offers.component.d.ts +23 -0
  108. package/lib/model-population.helper.d.ts +8 -0
  109. package/lib/models/application-type.model.d.ts +27 -0
  110. package/lib/models/application.model.d.ts +107 -0
  111. package/lib/models/auth/users.model.d.ts +20 -0
  112. package/lib/models/dictionary.model.d.ts +77 -0
  113. package/lib/models/flux.model.d.ts +101 -0
  114. package/lib/models/forms.model.d.ts +504 -0
  115. package/lib/models/label-info.model.d.ts +10 -0
  116. package/lib/models/label.model.d.ts +4 -0
  117. package/lib/models/language.model.d.ts +5 -0
  118. package/lib/models/list.model.d.ts +8 -0
  119. package/lib/models/partner.model.d.ts +12 -0
  120. package/lib/models/treeview.model.d.ts +17 -0
  121. package/lib/origin-form-auth.service.d.ts +15 -0
  122. package/lib/origin-form-config.model.d.ts +12 -0
  123. package/lib/origin-form-token.interceptor.d.ts +12 -0
  124. package/lib/origin-form.component.d.ts +231 -0
  125. package/lib/origin-form.module.d.ts +84 -0
  126. package/lib/origin-form.service.d.ts +6 -0
  127. package/lib/others/check-list.database.d.ts +16 -0
  128. package/lib/others/config-service.d.ts +22 -0
  129. package/lib/others/dictionary-label-info.d.ts +6 -0
  130. package/lib/others/environment-type.d.ts +8 -0
  131. package/lib/others/external-link.directive.d.ts +12 -0
  132. package/lib/others/flux-helper.d.ts +115 -0
  133. package/lib/others/picker.component.d.ts +36 -0
  134. package/lib/others/translation.pipe.d.ts +10 -0
  135. package/lib/others/translations-helper.d.ts +31 -0
  136. package/lib/others/utils.d.ts +37 -0
  137. package/lib/services/applicationData.service.d.ts +35 -0
  138. package/lib/services/auth-http.service.d.ts +21 -0
  139. package/lib/services/dialog.service.d.ts +20 -0
  140. package/lib/services/dictionary.service.d.ts +89 -0
  141. package/lib/services/forms.service.d.ts +17 -0
  142. package/lib/services/labels.service.d.ts +13 -0
  143. package/lib/services/language.service.d.ts +14 -0
  144. package/lib/services/open-banking.service.d.ts +137 -0
  145. package/lib/services/origin-form-signalr-handler.service.d.ts +29 -0
  146. package/lib/services/origin-form-signalr.service.d.ts +24 -0
  147. package/lib/services/otp.service.d.ts +22 -0
  148. package/lib/services/proxy.service.d.ts +29 -0
  149. package/lib/services/scroll-to-error.service.d.ts +54 -0
  150. package/lib/services/translation.service.d.ts +10 -0
  151. package/lib/shared-components/confirmation.component.d.ts +77 -0
  152. package/lib/shared-components/dictionaries-tree.component.d.ts +51 -0
  153. package/lib/shared-components/grid.component.d.ts +138 -0
  154. package/lib/shared-components/treeview/treeview.component.d.ts +121 -0
  155. package/lib/theme-css.d.ts +2 -0
  156. package/lib/theme-injector.service.d.ts +8 -0
  157. package/package.json +42 -0
  158. package/public-api.d.ts +3 -0
  159. package/schematics-compiled/collection.json +10 -0
  160. package/schematics-compiled/ng-add/index.d.ts +2 -0
  161. package/schematics-compiled/ng-add/index.js +67 -0
  162. package/schematics-compiled/ng-add/index.js.map +1 -0
  163. package/schematics-compiled/ng-add/schema.json +8 -0
  164. package/src/lib/assets/fonts/Figtree-Bold.ttf +0 -0
  165. package/src/lib/assets/fonts/Figtree-Light.ttf +0 -0
  166. package/src/lib/assets/fonts/Figtree-Regular.ttf +0 -0
  167. package/src/lib/assets/fonts/Sora-ExtraBold.ttf +0 -0
  168. package/src/lib/assets/fonts/Sora-Light.ttf +0 -0
  169. package/src/lib/assets/fonts/Sora-Regular.ttf +0 -0
  170. package/src/lib/assets/fonts/ttrounds-bold-webfont.woff +0 -0
  171. package/src/lib/assets/fonts/ttrounds-bold-webfont.woff2 +0 -0
  172. package/src/lib/assets/fonts/ttrounds-regular-webfont.woff +0 -0
  173. package/src/lib/assets/fonts/ttrounds-regular-webfont.woff2 +0 -0
  174. package/src/lib/assets/fonts/ttrounds-thin-webfont.woff +0 -0
  175. package/src/lib/assets/fonts/ttrounds-thin-webfont.woff2 +0 -0
  176. package/src/lib/assets/images/flag/icon-flag-de.svg +10 -0
  177. package/src/lib/assets/images/flag/icon-flag-en.svg +1 -0
  178. package/src/lib/assets/images/flag/icon-flag-es.svg +11 -0
  179. package/src/lib/assets/images/flag/icon-flag-fr.svg +1 -0
  180. package/src/lib/assets/images/flag/icon-flag-ro.svg +11 -0
  181. package/src/lib/assets/images/flag/origin-form/new-id-card.png +0 -0
  182. package/src/lib/assets/images/flag/origin-form/old-id-card.png +0 -0
@@ -0,0 +1,56 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Utils } from '../others/utils';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/snack-bar";
5
+ import * as i2 from "@angular/material/dialog";
6
+ import * as i3 from "../others/translation.pipe";
7
+ export class DialogService {
8
+ constructor(snackBar, dialog, translate) {
9
+ this.snackBar = snackBar;
10
+ this.dialog = dialog;
11
+ this.translate = translate;
12
+ }
13
+ popError(message, ...params) {
14
+ this.popErrorsCore([message], params);
15
+ }
16
+ popErrors(labels, duration = 2000) {
17
+ this.popErrorsCore(labels, undefined, duration);
18
+ }
19
+ popErrorTranslation(errorsTranslations, langIso, errorCode, ...params) {
20
+ const errorMessage = Utils.createErrorTranslationMssageWithParameters(errorsTranslations, langIso, errorCode, params);
21
+ this.popError(errorMessage);
22
+ }
23
+ popErrorsCore(labels, params, duration = 2000, panelClass = ['error-snack-bar']) {
24
+ let message = labels
25
+ .map((i) => this.translate.transform(i))
26
+ .join('\r\n');
27
+ if (params) {
28
+ for (let i = 0; i < params.length; i++) {
29
+ message = message.replace('{' + i + '}', params[i]);
30
+ }
31
+ }
32
+ if (message.length > 1000) {
33
+ message = message.substring(0, 1000);
34
+ }
35
+ this.snackBar.open(message, '', {
36
+ duration,
37
+ panelClass,
38
+ });
39
+ }
40
+ popSuccess(message, duration = 2000, panelClass = ['success-snack-bar']) {
41
+ this.snackBar.open(message, '', {
42
+ duration,
43
+ panelClass,
44
+ });
45
+ }
46
+ openDialog(component, config) {
47
+ return this.dialog.open(component, config);
48
+ }
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DialogService, deps: [{ token: i1.MatSnackBar }, { token: i2.MatDialog }, { token: i3.TranslatePipe }], target: i0.ɵɵFactoryTarget.Injectable }); }
50
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DialogService, providedIn: 'root' }); }
51
+ }
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DialogService, decorators: [{
53
+ type: Injectable,
54
+ args: [{ providedIn: 'root' }]
55
+ }], ctorParameters: () => [{ type: i1.MatSnackBar }, { type: i2.MatDialog }, { type: i3.TranslatePipe }] });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcmlnaW4tZm9ybS9zcmMvbGliL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFVM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQUl4QyxNQUFNLE9BQU8sYUFBYTtJQUN4QixZQUNVLFFBQXFCLEVBQ3JCLE1BQWlCLEVBQ2pCLFNBQXdCO1FBRnhCLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQixjQUFTLEdBQVQsU0FBUyxDQUFlO0lBQzlCLENBQUM7SUFFTCxRQUFRLENBQUMsT0FBZSxFQUFFLEdBQUcsTUFBZ0I7UUFDM0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBZ0IsRUFBRSxXQUFtQixJQUFJO1FBQ2pELElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsa0JBQXVDLEVBQUUsT0FBZSxFQUFFLFNBQWlCLEVBQUUsR0FBRyxNQUFnQjtRQUNsSCxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsMENBQTBDLENBQUMsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN0SCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTyxhQUFhLENBQ25CLE1BQWdCLEVBQ2hCLE1BQWlCLEVBQ2pCLFdBQW1CLElBQUksRUFDdkIsYUFBdUIsQ0FBQyxpQkFBaUIsQ0FBQztRQUUxQyxJQUFJLE9BQU8sR0FBRyxNQUFNO2FBQ2pCLEdBQUcsQ0FBQyxDQUFDLENBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDL0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWhCLElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUN2QyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0RCxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLEVBQUUsQ0FBQztZQUMxQixPQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkMsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUU7WUFDOUIsUUFBUTtZQUNSLFVBQVU7U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUNSLE9BQWUsRUFDZixXQUFtQixJQUFJLEVBQ3ZCLGFBQXVCLENBQUMsbUJBQW1CLENBQUM7UUFFNUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRTtZQUM5QixRQUFRO1lBQ1IsVUFBVTtTQUNYLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxVQUFVLENBQ1IsU0FBMkIsRUFDM0IsTUFBMkI7UUFFM0IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDN0MsQ0FBQzsrR0E5RFUsYUFBYTttSEFBYixhQUFhLGNBREEsTUFBTTs7NEZBQ25CLGFBQWE7a0JBRHpCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgTWF0RGlhbG9nLFxuICBNYXREaWFsb2dDb25maWcsXG4gIE1hdERpYWxvZ1JlZixcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IEVycm9yVHJhbnNsYXRpb25zIH0gZnJvbSAnLi4vbW9kZWxzL2Zvcm1zLm1vZGVsJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICcuLi9vdGhlcnMvdHJhbnNsYXRpb24ucGlwZSc7XG5pbXBvcnQgeyBVdGlscyB9IGZyb20gJy4uL290aGVycy91dGlscyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgRGlhbG9nU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc25hY2tCYXI6IE1hdFNuYWNrQmFyLFxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVBpcGVcbiAgKSB7IH1cblxuICBwb3BFcnJvcihtZXNzYWdlOiBzdHJpbmcsIC4uLnBhcmFtczogc3RyaW5nW10pIHtcbiAgICB0aGlzLnBvcEVycm9yc0NvcmUoW21lc3NhZ2VdLCBwYXJhbXMpO1xuICB9XG5cbiAgcG9wRXJyb3JzKGxhYmVsczogc3RyaW5nW10sIGR1cmF0aW9uOiBudW1iZXIgPSAyMDAwKSB7XG4gICAgdGhpcy5wb3BFcnJvcnNDb3JlKGxhYmVscywgdW5kZWZpbmVkLCBkdXJhdGlvbik7XG4gIH1cblxuICBwb3BFcnJvclRyYW5zbGF0aW9uKGVycm9yc1RyYW5zbGF0aW9uczogRXJyb3JUcmFuc2xhdGlvbnNbXSwgbGFuZ0lzbzogc3RyaW5nLCBlcnJvckNvZGU6IHN0cmluZywgLi4ucGFyYW1zOiBzdHJpbmdbXSkge1xuICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IFV0aWxzLmNyZWF0ZUVycm9yVHJhbnNsYXRpb25Nc3NhZ2VXaXRoUGFyYW1ldGVycyhlcnJvcnNUcmFuc2xhdGlvbnMsIGxhbmdJc28sIGVycm9yQ29kZSwgcGFyYW1zKTtcbiAgICB0aGlzLnBvcEVycm9yKGVycm9yTWVzc2FnZSk7XG4gIH1cblxuICBwcml2YXRlIHBvcEVycm9yc0NvcmUoXG4gICAgbGFiZWxzOiBzdHJpbmdbXSxcbiAgICBwYXJhbXM/OiBzdHJpbmdbXSxcbiAgICBkdXJhdGlvbjogbnVtYmVyID0gMjAwMCxcbiAgICBwYW5lbENsYXNzOiBzdHJpbmdbXSA9IFsnZXJyb3Itc25hY2stYmFyJ10sXG4gICkge1xuICAgIGxldCBtZXNzYWdlID0gbGFiZWxzXG4gICAgICAubWFwKChpOiBzdHJpbmcpID0+IHRoaXMudHJhbnNsYXRlLnRyYW5zZm9ybShpKSlcbiAgICAgIC5qb2luKCdcXHJcXG4nKTtcblxuICAgIGlmIChwYXJhbXMpIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFyYW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoJ3snICsgaSArICd9JywgcGFyYW1zW2ldKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAobWVzc2FnZS5sZW5ndGggPiAxMDAwKSB7XG4gICAgICBtZXNzYWdlID0gbWVzc2FnZS5zdWJzdHJpbmcoMCwgMTAwMCk7XG4gICAgfVxuXG4gICAgdGhpcy5zbmFja0Jhci5vcGVuKG1lc3NhZ2UsICcnLCB7XG4gICAgICBkdXJhdGlvbixcbiAgICAgIHBhbmVsQ2xhc3MsXG4gICAgfSk7XG4gIH1cblxuICBwb3BTdWNjZXNzKFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICBkdXJhdGlvbjogbnVtYmVyID0gMjAwMCxcbiAgICBwYW5lbENsYXNzOiBzdHJpbmdbXSA9IFsnc3VjY2Vzcy1zbmFjay1iYXInXSxcbiAgKSB7XG4gICAgdGhpcy5zbmFja0Jhci5vcGVuKG1lc3NhZ2UsICcnLCB7XG4gICAgICBkdXJhdGlvbixcbiAgICAgIHBhbmVsQ2xhc3MsXG4gICAgfSk7XG4gIH1cblxuICBvcGVuRGlhbG9nPFQsIEQgPSBhbnksIFIgPSBhbnk+KFxuICAgIGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUPixcbiAgICBjb25maWc/OiBNYXREaWFsb2dDb25maWc8RD4sXG4gICk6IE1hdERpYWxvZ1JlZjxULCBSPiB7XG4gICAgcmV0dXJuIHRoaXMuZGlhbG9nLm9wZW4oY29tcG9uZW50LCBjb25maWcpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,198 @@
1
+ import { Injectable, inject } from '@angular/core';
2
+ import { catchError, finalize, forkJoin, map, of, shareReplay } from 'rxjs';
3
+ import { ConfigService } from '../others/config-service';
4
+ import { EnvironmentType } from '../others/environment-type';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "./auth-http.service";
7
+ export class DictionaryService {
8
+ constructor(http) {
9
+ this.http = http;
10
+ this.activeDictionaryRequests = new Map();
11
+ this.supportsBatchLoad = true;
12
+ this.configService = inject(ConfigService);
13
+ }
14
+ getDictionaries(params) {
15
+ let url = this.configService.readConfig().baseUrlInfrastructure + '/dictionaries';
16
+ let query = '';
17
+ if (params.pageSize) {
18
+ query += `&PageSize=${params.pageSize}`;
19
+ }
20
+ if (params.page) {
21
+ query += `&PageNumber=${params.page}`;
22
+ }
23
+ if (params.sort) {
24
+ query += `&Sort=${params.sort}`;
25
+ }
26
+ if (params.sortDirection) {
27
+ query += `&SortDirection=${params.sortDirection}`;
28
+ }
29
+ if (params.languageIds && params.languageIds.length > 0) {
30
+ query += `&LanguageIds=${params.languageIds.join('&LanguageIds=')}`;
31
+ }
32
+ if (params.dictionaryIds && params.dictionaryIds.length > 0) {
33
+ query += `&DictionaryIds=${params.dictionaryIds.join('&DictionaryIds=')}`;
34
+ }
35
+ if (params.dictionaryUUIDs && params.dictionaryUUIDs.length > 0) {
36
+ query += `&DictionaryUUIDs=${params.dictionaryUUIDs.join('&DictionaryUUIDs=')}`;
37
+ }
38
+ if (params.filters && params.filters.length > 0) {
39
+ query += `&Filter=${params.filters.join('&Filter=')}`;
40
+ }
41
+ const env = params.env || EnvironmentType.Config;
42
+ query += `&Env=${env}`;
43
+ if (query.length > 0) {
44
+ url += '?' + query;
45
+ }
46
+ return this.http.get(url);
47
+ }
48
+ getDictionariesLight(params) {
49
+ let url = this.configService.readConfig().baseUrlInfrastructure +
50
+ '/dictionaries/light';
51
+ let query = '';
52
+ if (params.pageSize) {
53
+ query += `&PageSize=${params.pageSize}`;
54
+ }
55
+ if (params.page) {
56
+ query += `&PageNumber=${params.page}`;
57
+ }
58
+ if (params.sort) {
59
+ query += `&Sort=${params.sort}`;
60
+ }
61
+ if (params.sortDirection) {
62
+ query += `&SortDirection=${params.sortDirection}`;
63
+ }
64
+ if (params.languageIds && params.languageIds.length > 0) {
65
+ query += `&LanguageIds=${params.languageIds.join('&LanguageIds=')}`;
66
+ }
67
+ if (params.filters && params.filters.length > 0) {
68
+ query += `&Filter=${params.filters.join('&Filter=')}`;
69
+ }
70
+ const env = params.env || EnvironmentType.Config;
71
+ query += `&Env=${env}`;
72
+ if (query.length > 0) {
73
+ url += '?' + query;
74
+ }
75
+ return this.http.get(url);
76
+ }
77
+ delete(uuid, env) {
78
+ const url = this.configService.readConfig().baseUrlInfrastructure +
79
+ `/dictionaries/${uuid}/${env}`;
80
+ return this.http.delete(url);
81
+ }
82
+ getDictionary(id, env) {
83
+ const requestKey = `${id}_${env}`;
84
+ if (this.activeDictionaryRequests.has(requestKey)) {
85
+ return this.activeDictionaryRequests.get(requestKey);
86
+ }
87
+ const url = this.configService.readConfig().baseUrlInfrastructure +
88
+ '/dictionaries/dictionary/' +
89
+ id +
90
+ '/' +
91
+ env;
92
+ const newRequest$ = this.http.get(url).pipe(shareReplay(1), finalize(() => {
93
+ this.activeDictionaryRequests.delete(requestKey);
94
+ }));
95
+ this.activeDictionaryRequests.set(requestKey, newRequest$);
96
+ return newRequest$;
97
+ }
98
+ /**
99
+ * Load multiple dictionaries in parallel
100
+ * Reusable for any scenario that needs multiple dictionaries
101
+ */
102
+ loadMultipleDictionaries(uuids, env = EnvironmentType.Config) {
103
+ if (uuids.length === 0) {
104
+ return of(new Map());
105
+ }
106
+ // Check if backend supports batch loading
107
+ if (this.supportsBatchLoad) {
108
+ return this.getBatchDictionaries(uuids, env);
109
+ }
110
+ // Fallback: Load all in parallel instead of sequential
111
+ const requests = uuids.map((uuid) => this.getDictionary(uuid, env).pipe(map((dict) => ({ uuid, dict })), catchError((error) => {
112
+ console.warn(`Failed to load dictionary ${uuid}:`, error);
113
+ return of({ uuid, dict: null });
114
+ })));
115
+ return forkJoin(requests).pipe(map((results) => {
116
+ const dictionaryMap = new Map();
117
+ results.forEach((result) => {
118
+ if (result.dict) {
119
+ dictionaryMap.set(result.uuid, result.dict);
120
+ }
121
+ });
122
+ return dictionaryMap;
123
+ }));
124
+ }
125
+ /**
126
+ * Private method for batch loading (when backend supports it)
127
+ */
128
+ getBatchDictionaries(uuids, env) {
129
+ const url = `${this.configService.readConfig().baseUrlInfrastructure}/dictionaries/batch`;
130
+ return this.http
131
+ .post(url, { uuids, env })
132
+ .pipe(map((response) => new Map(Object.entries(response))));
133
+ }
134
+ getDependencies(id) {
135
+ const url = this.configService.readConfig().baseUrlInfrastructure +
136
+ '/dictionaries/dependencies/' +
137
+ id;
138
+ return this.http.get(url);
139
+ }
140
+ getAppDependencies(uuid, env) {
141
+ const url = this.configService.readConfig().baseUrlInfrastructure +
142
+ '/dictionaries/app-dependencies/' +
143
+ uuid +
144
+ '/' +
145
+ env;
146
+ return this.http.get(url);
147
+ }
148
+ create(dictionary) {
149
+ const createUrl = this.configService.readConfig().baseUrlInfrastructure + '/dictionaries';
150
+ return this.http.post(createUrl, dictionary);
151
+ }
152
+ updateDictionary(dictionary) {
153
+ const updateUrl = `${this.configService.readConfig().baseUrlInfrastructure}/dictionaries`;
154
+ return this.http.put(updateUrl, dictionary);
155
+ }
156
+ publishDictionaryVersion(uuid, envFrom, envTo) {
157
+ const url = this.configService.readConfig().baseUrlInfrastructure +
158
+ `/dictionaries/publish` +
159
+ `?uuid=${uuid}&envFrom=${envFrom}&envTo=${envTo}`;
160
+ return this.http.get(url);
161
+ }
162
+ getDictionaryVersion(uuid, env) {
163
+ const url = this.configService.readConfig().baseUrlInfrastructure +
164
+ `/dictionaries/dictionary/` +
165
+ `${uuid}/${env}`;
166
+ return this.http.get(url);
167
+ }
168
+ loadAppDictionaries(appUuid, env = EnvironmentType.Config) {
169
+ const url = `${this.configService.readConfig().baseUrlInfrastructure}/dictionaries/app-dictionaries/${appUuid}?env=${env}`;
170
+ return this.http.get(url);
171
+ }
172
+ /**
173
+ * NEW: Get complete dictionary tree in a single API call
174
+ * This replaces the need for multiple recursive calls to load child dictionaries
175
+ */
176
+ getDictionaryTree(dictionaryId, params) {
177
+ const baseUrl = this.configService.readConfig().baseUrlInfrastructure;
178
+ let url = `${baseUrl}/dictionaries/${dictionaryId}/tree`;
179
+ let queryParams = [];
180
+ queryParams.push(`environmentType=${params.env}`);
181
+ if (params.languageId) {
182
+ queryParams.push(`languageId=${params.languageId}`);
183
+ }
184
+ if (params.valueIdsToShow && params.valueIdsToShow.length > 0) {
185
+ queryParams.push(`valueIdsToShow=${params.valueIdsToShow.join(',')}`);
186
+ }
187
+ if (queryParams.length > 0) {
188
+ url += '?' + queryParams.join('&');
189
+ }
190
+ return this.http.get(url);
191
+ }
192
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DictionaryService, deps: [{ token: i1.AuthHttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
193
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DictionaryService }); }
194
+ }
195
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DictionaryService, decorators: [{
196
+ type: Injectable
197
+ }], ctorParameters: () => [{ type: i1.AuthHttpService }] });
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGljdGlvbmFyeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3JpZ2luLWZvcm0vc3JjL2xpYi9zZXJ2aWNlcy9kaWN0aW9uYXJ5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsV0FBVyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBT3hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQUs3RCxNQUFNLE9BQU8saUJBQWlCO0lBTTVCLFlBQW9CLElBQXFCO1FBQXJCLFNBQUksR0FBSixJQUFJLENBQWlCO1FBTGpDLDZCQUF3QixHQUFHLElBQUksR0FBRyxFQUd6QyxDQUFDO1FBQ0ksc0JBQWlCLEdBQUcsSUFBSSxDQUFDO1FBRy9CLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRk0sQ0FBQztJQUl0QyxlQUFlLENBQUMsTUFVdEI7UUFDQyxJQUFJLEdBQUcsR0FDTCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDLHFCQUFxQixHQUFHLGVBQWUsQ0FBQztRQUUxRSxJQUFJLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDZixJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNwQixLQUFLLElBQUksYUFBYSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUMsQ0FBQztRQUNELElBQUksTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2hCLEtBQUssSUFBSSxlQUFlLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4QyxDQUFD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Q0FBQztRQUN4RSxDQUFDO1FBRUQsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzNCLEdBQUcsSUFBSSxHQUFHLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBNEIsR0FBRyxDQUFDLENBQUM7SUFDdkQsQ0FBQzsrR0FwU1UsaUJBQWlCO21IQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplLCBmb3JrSm9pbiwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIERpY3Rpb25hcnksXG4gIERpY3Rpb25hcnlBcHBEZXBlbmRlbmN5RHRvLFxuICBEaWN0aW9uYXJ5RHRvLFxufSBmcm9tICcuLi9tb2RlbHMvZGljdGlvbmFyeS5tb2RlbCc7XG5pbXBvcnQgeyBMaXN0IH0gZnJvbSAnLi4vbW9kZWxzL2xpc3QubW9kZWwnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL290aGVycy9jb25maWctc2VydmljZSc7XG5pbXBvcnQgeyBFbnZpcm9ubWVudFR5cGUgfSBmcm9tICcuLi9vdGhlcnMvZW52aXJvbm1lbnQtdHlwZSc7XG5pbXBvcnQgeyBBdXRoSHR0cFNlcnZpY2UgfSBmcm9tICcuL2F1dGgtaHR0cC5zZXJ2aWNlJztcbmltcG9ydCB7IEh0dHBFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERpY3Rpb25hcnlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBhY3RpdmVEaWN0aW9uYXJ5UmVxdWVzdHMgPSBuZXcgTWFwPFxuICBzdHJpbmcsXG4gIE9ic2VydmFibGU8RGljdGlvbmFyeUR0bz5cbj4oKTtcbnByaXZhdGUgc3VwcG9ydHNCYXRjaExvYWQgPSB0cnVlO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEF1dGhIdHRwU2VydmljZSkge31cblxuICBjb25maWdTZXJ2aWNlID0gaW5qZWN0KENvbmZpZ1NlcnZpY2UpO1xuXG4gIHB1YmxpYyBnZXREaWN0aW9uYXJpZXMocGFyYW1zOiB7XG4gICAgcGFnZT86IG51bWJlcjtcbiAgICBwYWdlU2l6ZT86IG51bWJlcjtcbiAgICBzb3J0Pzogc3RyaW5nO1xuICAgIHNvcnREaXJlY3Rpb24/OiBzdHJpbmc7XG4gICAgZmlsdGVycz86IHN0cmluZ1tdO1xuICAgIGRpY3Rpb25hcnlJZHM/OiBudW1iZXJbXTtcbiAgICBkaWN0aW9uYXJ5VVVJRHM/OiBzdHJpbmdbXTtcbiAgICBsYW5ndWFnZUlkcz86IG51bWJlcltdO1xuICAgIGVudjogRW52aXJvbm1lbnRUeXBlO1xuICB9KTogT2JzZXJ2YWJsZTxMaXN0PERpY3Rpb25hcnlEdG8+PiB7XG4gICAgbGV0IHVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxJbmZyYXN0cnVjdHVyZSArICcvZGljdGlvbmFyaWVzJztcblxuICAgIGxldCBxdWVyeSA9ICcnO1xuICAgIGlmIChwYXJhbXMucGFnZVNpemUpIHtcbiAgICAgIHF1ZXJ5ICs9IGAmUGFnZVNpemU9JHtwYXJhbXMucGFnZVNpemV9YDtcbiAgICB9XG4gICAgaWYgKHBhcmFtcy5wYWdlKSB7XG4gICAgICBxdWVyeSArPSBgJlBhZ2VOdW1iZXI9JHtwYXJhbXMucGFnZX1gO1xuICAgIH1cbiAgICBpZiAocGFyYW1zLnNvcnQpIHtcbiAgICAgIHF1ZXJ5ICs9IGAmU29ydD0ke3BhcmFtcy5zb3J0fWA7XG4gICAgfVxuICAgIGlmIChwYXJhbXMuc29ydERpcmVjdGlvbikge1xuICAgICAgcXVlcnkgKz0gYCZTb3J0RGlyZWN0aW9uPSR7cGFyYW1zLnNvcnREaXJlY3Rpb259YDtcbiAgICB9XG4gICAgaWYgKHBhcmFtcy5sYW5ndWFnZUlkcyAmJiBwYXJhbXMubGFuZ3VhZ2VJZHMubGVuZ3RoID4gMCkge1xuICAgICAgcXVlcnkgKz0gYCZMYW5ndWFnZUlkcz0ke3BhcmFtcy5sYW5ndWFnZUlkcy5qb2luKCcmTGFuZ3VhZ2VJZHM9Jyl9YDtcbiAgICB9XG4gICAgaWYgKHBhcmFtcy5kaWN0aW9uYXJ5SWRzICYmIHBhcmFtcy5kaWN0aW9uYXJ5SWRzLmxlbmd0aCA+IDApIHtcbiAgICAgIHF1ZXJ5ICs9IGAmRGljdGlvbmFyeUlkcz0ke3BhcmFtcy5kaWN0aW9uYXJ5SWRzLmpvaW4oJyZEaWN0aW9uYXJ5SWRzPScpfWA7XG4gICAgfVxuICAgIGlmIChwYXJhbXMuZGljdGlvbmFyeVVVSURzICYmIHBhcmFtcy5kaWN0aW9uYXJ5VVVJRHMubGVuZ3RoID4gMCkge1xuICAgICAgcXVlcnkgKz0gYCZEaWN0aW9uYXJ5VVVJRHM9JHtwYXJhbXMuZGljdGlvbmFyeVVVSURzLmpvaW4oXG4gICAgICAgICcmRGljdGlvbmFyeVVVSURzPSdcbiAgICAgICl9YDtcbiAgICB9XG4gICAgaWYgKHBhcmFtcy5maWx0ZXJzICYmIHBhcmFtcy5maWx0ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIHF1ZXJ5ICs9IGAmRmlsdGVyPSR7cGFyYW1zLmZpbHRlcnMuam9pbignJkZpbHRlcj0nKX1gO1xuICAgIH1cblxuICAgIGNvbnN0IGVudiA9IHBhcmFtcy5lbnYgfHwgRW52aXJvbm1lbnRUeXBlLkNvbmZpZztcbiAgICBxdWVyeSArPSBgJkVudj0ke2Vudn1gO1xuXG4gICAgaWYgKHF1ZXJ5Lmxlbmd0aCA+IDApIHtcbiAgICAgIHVybCArPSAnPycgKyBxdWVyeTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxMaXN0PERpY3Rpb25hcnlEdG8+Pih1cmwpO1xuICB9XG5cbiAgcHVibGljIGdldERpY3Rpb25hcmllc0xpZ2h0KHBhcmFtczoge1xuICAgIHBhZ2U/OiBudW1iZXI7XG4gICAgcGFnZVNpemU/OiBudW1iZXI7XG4gICAgc29ydD86IHN0cmluZztcbiAgICBzb3J0RGlyZWN0aW9uPzogc3RyaW5nO1xuICAgIGZpbHRlcnM6IHN0cmluZ1tdO1xuICAgIGxhbmd1YWdlSWRzPzogbnVtYmVyW107XG4gICAgZW52OiBFbnZpcm9ubWVudFR5cGU7XG4gIH0pOiBPYnNlcnZhYmxlPExpc3Q8RGljdGlvbmFyeUR0bz4+IHtcbiAgICBsZXQgdXJsID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEluZnJhc3RydWN0dXJlICtcbiAgICAgICcvZGljdGlvbmFyaWVzL2xpZ2h0JztcblxuICAgIGxldCBxdWVyeSA9ICcnO1xuICAgIGlmIChwYXJhbXMucGFnZVNpemUpIHtcbiAgICAgIHF1ZXJ5ICs9IGAmUGFnZVNpemU9JHtwYXJhbXMucGFnZVNpemV9YDtcbiAgICB9XG4gICAgaWYgKHBhcmFtcy5wYWdlKSB7XG4gICAgICBxdWVyeSArPSBgJlBhZ2VOdW1iZXI9JHtwYXJhbXMucGFnZX1gO1xuICAgIH1cbiAgICBpZiAocGFyYW1zLnNvcnQpIHtcbiAgICAgIHF1ZXJ5ICs9IGAmU29ydD0ke3BhcmFtcy5zb3J0fWA7XG4gICAgfVxuICAgIGlmIChwYXJhbXMuc29ydERpcmVjdGlvbikge1xuICAgICAgcXVlcnkgKz0gYCZTb3J0RGlyZWN0aW9uPSR7cGFyYW1zLnNvcnREaXJlY3Rpb259YDtcbiAgICB9XG4gICAgaWYgKHBhcmFtcy5sYW5ndWFnZUlkcyAmJiBwYXJhbXMubGFuZ3VhZ2VJZHMubGVuZ3RoID4gMCkge1xuICAgICAgcXVlcnkgKz0gYCZMYW5ndWFnZUlkcz0ke3BhcmFtcy5sYW5ndWFnZUlkcy5qb2luKCcmTGFuZ3VhZ2VJZHM9Jyl9YDtcbiAgICB9XG4gICAgaWYgKHBhcmFtcy5maWx0ZXJzICYmIHBhcmFtcy5maWx0ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIHF1ZXJ5ICs9IGAmRmlsdGVyPSR7cGFyYW1zLmZpbHRlcnMuam9pbignJkZpbHRlcj0nKX1gO1xuICAgIH1cbiAgICBjb25zdCBlbnYgPSBwYXJhbXMuZW52IHx8IEVudmlyb25tZW50VHlwZS5Db25maWc7XG4gICAgcXVlcnkgKz0gYCZFbnY9JHtlbnZ9YDtcblxuICAgIGlmIChxdWVyeS5sZW5ndGggPiAwKSB7XG4gICAgICB1cmwgKz0gJz8nICsgcXVlcnk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PExpc3Q8RGljdGlvbmFyeUR0bz4+KHVybCk7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlKHV1aWQ6IHN0cmluZywgZW52OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxJbmZyYXN0cnVjdHVyZSArXG4gICAgICBgL2RpY3Rpb25hcmllcy8ke3V1aWR9LyR7ZW52fWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUodXJsKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXREaWN0aW9uYXJ5KFxuICAgIGlkOiBzdHJpbmcsXG4gICAgZW52OiBFbnZpcm9ubWVudFR5cGVcbiAgKTogT2JzZXJ2YWJsZTxEaWN0aW9uYXJ5RHRvPiB7XG4gICAgY29uc3QgcmVxdWVzdEtleSA9IGAke2lkfV8ke2Vudn1gO1xuICAgIGlmICh0aGlzLmFjdGl2ZURpY3Rpb25hcnlSZXF1ZXN0cy5oYXMocmVxdWVzdEtleSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmFjdGl2ZURpY3Rpb25hcnlSZXF1ZXN0cy5nZXQocmVxdWVzdEtleSkhO1xuICAgIH1cblxuICAgIGNvbnN0IHVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxJbmZyYXN0cnVjdHVyZSArXG4gICAgICAnL2RpY3Rpb25hcmllcy9kaWN0aW9uYXJ5LycgK1xuICAgICAgaWQgK1xuICAgICAgJy8nICtcbiAgICAgIGVudjtcblxuICAgIGNvbnN0IG5ld1JlcXVlc3QkID0gdGhpcy5odHRwLmdldDxEaWN0aW9uYXJ5RHRvPih1cmwpLnBpcGUoXG4gICAgICBzaGFyZVJlcGxheSgxKSxcbiAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgdGhpcy5hY3RpdmVEaWN0aW9uYXJ5UmVxdWVzdHMuZGVsZXRlKHJlcXVlc3RLZXkpO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5hY3RpdmVEaWN0aW9uYXJ5UmVxdWVzdHMuc2V0KHJlcXVlc3RLZXksIG5ld1JlcXVlc3QkKTtcbiAgICByZXR1cm4gbmV3UmVxdWVzdCQ7XG4gIH1cblxuICAvKipcbiAgICogTG9hZCBtdWx0aXBsZSBkaWN0aW9uYXJpZXMgaW4gcGFyYWxsZWxcbiAgICogUmV1c2FibGUgZm9yIGFueSBzY2VuYXJpbyB0aGF0IG5lZWRzIG11bHRpcGxlIGRpY3Rpb25hcmllc1xuICAgKi9cbiAgcHVibGljIGxvYWRNdWx0aXBsZURpY3Rpb25hcmllcyhcbiAgICB1dWlkczogc3RyaW5nW10sXG4gICAgZW52OiBFbnZpcm9ubWVudFR5cGUgPSBFbnZpcm9ubWVudFR5cGUuQ29uZmlnXG4gICk6IE9ic2VydmFibGU8TWFwPHN0cmluZywgRGljdGlvbmFyeUR0bz4+IHtcbiAgICBpZiAodXVpZHMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gb2YobmV3IE1hcCgpKTtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBpZiBiYWNrZW5kIHN1cHBvcnRzIGJhdGNoIGxvYWRpbmdcbiAgICBpZiAodGhpcy5zdXBwb3J0c0JhdGNoTG9hZCkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0QmF0Y2hEaWN0aW9uYXJpZXModXVpZHMsIGVudik7XG4gICAgfVxuXG4gICAgLy8gRmFsbGJhY2s6IExvYWQgYWxsIGluIHBhcmFsbGVsIGluc3RlYWQgb2Ygc2VxdWVudGlhbFxuICAgIGNvbnN0IHJlcXVlc3RzID0gdXVpZHMubWFwKCh1dWlkKSA9PlxuICAgICAgdGhpcy5nZXREaWN0aW9uYXJ5KHV1aWQsIGVudikucGlwZShcbiAgICAgICAgbWFwKChkaWN0KSA9PiAoeyB1dWlkLCBkaWN0IH0pKSxcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oYEZhaWxlZCB0byBsb2FkIGRpY3Rpb25hcnkgJHt1dWlkfTpgLCBlcnJvcik7XG4gICAgICAgICAgcmV0dXJuIG9mKHsgdXVpZCwgZGljdDogbnVsbCB9KTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICApO1xuXG4gICAgcmV0dXJuIGZvcmtKb2luKHJlcXVlc3RzKS5waXBlKFxuICAgICAgbWFwKChyZXN1bHRzKSA9PiB7XG4gICAgICAgIGNvbnN0IGRpY3Rpb25hcnlNYXAgPSBuZXcgTWFwPHN0cmluZywgRGljdGlvbmFyeUR0bz4oKTtcbiAgICAgICAgcmVzdWx0cy5mb3JFYWNoKChyZXN1bHQpID0+IHtcbiAgICAgICAgICBpZiAocmVzdWx0LmRpY3QpIHtcbiAgICAgICAgICAgIGRpY3Rpb25hcnlNYXAuc2V0KHJlc3VsdC51dWlkLCByZXN1bHQuZGljdCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGRpY3Rpb25hcnlNYXA7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUHJpdmF0ZSBtZXRob2QgZm9yIGJhdGNoIGxvYWRpbmcgKHdoZW4gYmFja2VuZCBzdXBwb3J0cyBpdClcbiAgICovXG4gIHByaXZhdGUgZ2V0QmF0Y2hEaWN0aW9uYXJpZXMoXG4gICAgdXVpZHM6IHN0cmluZ1tdLFxuICAgIGVudjogRW52aXJvbm1lbnRUeXBlXG4gICk6IE9ic2VydmFibGU8TWFwPHN0cmluZywgRGljdGlvbmFyeUR0bz4+IHtcbiAgICBjb25zdCB1cmwgPSBgJHtcbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEluZnJhc3RydWN0dXJlXG4gICAgfS9kaWN0aW9uYXJpZXMvYmF0Y2hgO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5wb3N0PHsgW3V1aWQ6IHN0cmluZ106IERpY3Rpb25hcnlEdG8gfT4odXJsLCB7IHV1aWRzLCBlbnYgfSlcbiAgICAgIC5waXBlKG1hcCgocmVzcG9uc2UpID0+IG5ldyBNYXAoT2JqZWN0LmVudHJpZXMocmVzcG9uc2UpKSkpO1xuICB9XG5cbiAgcHVibGljIGdldERlcGVuZGVuY2llcyhpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxEaWN0aW9uYXJ5RHRvW10+IHtcbiAgICBjb25zdCB1cmwgPVxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnJlYWRDb25maWcoKS5iYXNlVXJsSW5mcmFzdHJ1Y3R1cmUgK1xuICAgICAgJy9kaWN0aW9uYXJpZXMvZGVwZW5kZW5jaWVzLycgK1xuICAgICAgaWQ7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RGljdGlvbmFyeUR0b1tdPih1cmwpO1xuICB9XG5cbiAgcHVibGljIGdldEFwcERlcGVuZGVuY2llcyhcbiAgICB1dWlkOiBzdHJpbmcsXG4gICAgZW52OiBFbnZpcm9ubWVudFR5cGVcbiAgKTogT2JzZXJ2YWJsZTxEaWN0aW9uYXJ5QXBwRGVwZW5kZW5jeUR0bz4ge1xuICAgIGNvbnN0IHVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxJbmZyYXN0cnVjdHVyZSArXG4gICAgICAnL2RpY3Rpb25hcmllcy9hcHAtZGVwZW5kZW5jaWVzLycgK1xuICAgICAgdXVpZCArXG4gICAgICAnLycgK1xuICAgICAgZW52O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PERpY3Rpb25hcnlBcHBEZXBlbmRlbmN5RHRvPih1cmwpO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZShkaWN0aW9uYXJ5OiBEaWN0aW9uYXJ5KTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICBjb25zdCBjcmVhdGVVcmwgPVxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnJlYWRDb25maWcoKS5iYXNlVXJsSW5mcmFzdHJ1Y3R1cmUgKyAnL2RpY3Rpb25hcmllcyc7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PHN0cmluZz4oY3JlYXRlVXJsLCBkaWN0aW9uYXJ5KTtcbiAgfVxuXG4gIHVwZGF0ZURpY3Rpb25hcnkoZGljdGlvbmFyeTogRGljdGlvbmFyeSk6IE9ic2VydmFibGU8RGljdGlvbmFyeT4ge1xuICAgIGNvbnN0IHVwZGF0ZVVybCA9IGAke1xuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnJlYWRDb25maWcoKS5iYXNlVXJsSW5mcmFzdHJ1Y3R1cmVcbiAgICB9L2RpY3Rpb25hcmllc2A7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8RGljdGlvbmFyeT4odXBkYXRlVXJsLCBkaWN0aW9uYXJ5KTtcbiAgfVxuXG4gIHB1Ymxpc2hEaWN0aW9uYXJ5VmVyc2lvbihcbiAgICB1dWlkOiBzdHJpbmcsXG4gICAgZW52RnJvbTogRW52aXJvbm1lbnRUeXBlLFxuICAgIGVudlRvOiBFbnZpcm9ubWVudFR5cGVcbiAgKTogT2JzZXJ2YWJsZTxEaWN0aW9uYXJ5RHRvPiB7XG4gICAgY29uc3QgdXJsID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEluZnJhc3RydWN0dXJlICtcbiAgICAgIGAvZGljdGlvbmFyaWVzL3B1Ymxpc2hgICtcbiAgICAgIGA/dXVpZD0ke3V1aWR9JmVudkZyb209JHtlbnZGcm9tfSZlbnZUbz0ke2VudlRvfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RGljdGlvbmFyeUR0bz4odXJsKTtcbiAgfVxuXG4gIGdldERpY3Rpb25hcnlWZXJzaW9uKFxuICAgIHV1aWQ6IHN0cmluZyxcbiAgICBlbnY6IEVudmlyb25tZW50VHlwZVxuICApOiBPYnNlcnZhYmxlPERpY3Rpb25hcnlEdG8+IHtcbiAgICBjb25zdCB1cmwgPVxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnJlYWRDb25maWcoKS5iYXNlVXJsSW5mcmFzdHJ1Y3R1cmUgK1xuICAgICAgYC9kaWN0aW9uYXJpZXMvZGljdGlvbmFyeS9gICtcbiAgICAgIGAke3V1aWR9LyR7ZW52fWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RGljdGlvbmFyeUR0bz4odXJsKTtcbiAgfVxuXG4gIHB1YmxpYyBsb2FkQXBwRGljdGlvbmFyaWVzKFxuICAgIGFwcFV1aWQ6IHN0cmluZyxcbiAgICBlbnY6IEVudmlyb25tZW50VHlwZSA9IEVudmlyb25tZW50VHlwZS5Db25maWdcbiAgKTogT2JzZXJ2YWJsZTxBcHBEaWN0aW9uYXJpZXNSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IGAke1xuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnJlYWRDb25maWcoKS5iYXNlVXJsSW5mcmFzdHJ1Y3R1cmVcbiAgICB9L2RpY3Rpb25hcmllcy9hcHAtZGljdGlvbmFyaWVzLyR7YXBwVXVpZH0/ZW52PSR7ZW52fWA7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcHBEaWN0aW9uYXJpZXNSZXNwb25zZT4odXJsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBORVc6IEdldCBjb21wbGV0ZSBkaWN0aW9uYXJ5IHRyZWUgaW4gYSBzaW5nbGUgQVBJIGNhbGxcbiAgICogVGhpcyByZXBsYWNlcyB0aGUgbmVlZCBmb3IgbXVsdGlwbGUgcmVjdXJzaXZlIGNhbGxzIHRvIGxvYWQgY2hpbGQgZGljdGlvbmFyaWVzXG4gICAqL1xuICBwdWJsaWMgZ2V0RGljdGlvbmFyeVRyZWUoXG4gICAgZGljdGlvbmFyeUlkOiBzdHJpbmcsXG4gICAgcGFyYW1zOiB7XG4gICAgICBlbnY6IEVudmlyb25tZW50VHlwZTtcbiAgICAgIGxhbmd1YWdlSWQ/OiBudW1iZXI7XG4gICAgICB2YWx1ZUlkc1RvU2hvdz86IG51bWJlcltdO1xuICAgIH1cbiAgKTogT2JzZXJ2YWJsZTxEaWN0aW9uYXJ5VHJlZVJlc3BvbnNlRHRvPiB7XG4gICAgY29uc3QgYmFzZVVybCA9IHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEluZnJhc3RydWN0dXJlO1xuICAgIGxldCB1cmwgPSBgJHtiYXNlVXJsfS9kaWN0aW9uYXJpZXMvJHtkaWN0aW9uYXJ5SWR9L3RyZWVgO1xuXG4gICAgbGV0IHF1ZXJ5UGFyYW1zOiBzdHJpbmdbXSA9IFtdO1xuICAgIHF1ZXJ5UGFyYW1zLnB1c2goYGVudmlyb25tZW50VHlwZT0ke3BhcmFtcy5lbnZ9YCk7XG5cbiAgICBpZiAocGFyYW1zLmxhbmd1YWdlSWQpIHtcbiAgICAgIHF1ZXJ5UGFyYW1zLnB1c2goYGxhbmd1YWdlSWQ9JHtwYXJhbXMubGFuZ3VhZ2VJZH1gKTtcbiAgICB9XG5cbiAgICBpZiAocGFyYW1zLnZhbHVlSWRzVG9TaG93ICYmIHBhcmFtcy52YWx1ZUlkc1RvU2hvdy5sZW5ndGggPiAwKSB7XG4gICAgICBxdWVyeVBhcmFtcy5wdXNoKGB2YWx1ZUlkc1RvU2hvdz0ke3BhcmFtcy52YWx1ZUlkc1RvU2hvdy5qb2luKCcsJyl9YCk7XG4gICAgfVxuXG4gICAgaWYgKHF1ZXJ5UGFyYW1zLmxlbmd0aCA+IDApIHtcbiAgICAgIHVybCArPSAnPycgKyBxdWVyeVBhcmFtcy5qb2luKCcmJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RGljdGlvbmFyeVRyZWVSZXNwb25zZUR0bz4odXJsKTtcbiAgfVxufVxuXG4vLyBORVc6IFJlc3BvbnNlIGludGVyZmFjZSBmb3IgZGljdGlvbmFyeSB0cmVlIGVuZHBvaW50XG5leHBvcnQgaW50ZXJmYWNlIERpY3Rpb25hcnlUcmVlUmVzcG9uc2VEdG8ge1xuICBtYWluRGljdGlvbmFyeTogRGljdGlvbmFyeUR0bztcbiAgYWxsRGljdGlvbmFyaWVzOiBEaWN0aW9uYXJ5RHRvW107XG4gIG1ldGFkYXRhOiB7XG4gICAgdG90YWxEaWN0aW9uYXJpZXM6IG51bWJlcjtcbiAgICBtYXhEZXB0aDogbnVtYmVyO1xuICAgIGxvYWRlZEF0OiBzdHJpbmc7XG4gIH07XG59XG5cbi8vIFJlc3BvbnNlIGludGVyZmFjZSBmb3IgdGhlIGFwcCBkaWN0aW9uYXJpZXMgZW5kcG9pbnRcbmV4cG9ydCBpbnRlcmZhY2UgQXBwRGljdGlvbmFyaWVzUmVzcG9uc2Uge1xuICBkaWN0aW9uYXJpZXM6IHsgW3V1aWQ6IHN0cmluZ106IERpY3Rpb25hcnlEdG8gfTtcbiAgYW5hbHlzaXNTdGF0czoge1xuICAgIGFwcFV1aWQ6IHN0cmluZztcbiAgICBzZWN0aW9uc0FuYWx5emVkOiBudW1iZXI7XG4gICAgY29udHJvbHNBbmFseXplZDogbnVtYmVyO1xuICAgIHByZXNlbnRhdGlvbkNvbnRyb2xzQW5hbHl6ZWQ6IG51bWJlcjtcbiAgICBpbml0aWFsRGljdGlvbmFyaWVzRm91bmQ6IG51bWJlcjtcbiAgICB0b3RhbExvYWRlZDogbnVtYmVyO1xuICAgIGRlcGVuZGVuY3lSb3VuZHM6IG51bWJlcjtcbiAgICBsb2FkaW5nVGltZU1zOiBudW1iZXI7XG4gIH07XG4gIHN1Y2Nlc3M6IGJvb2xlYW47XG4gIGVycm9ycz86IHN0cmluZ1tdO1xufVxuIl19
@@ -0,0 +1,47 @@
1
+ import { Injectable, inject } from '@angular/core';
2
+ import { ConfigService } from '../others/config-service';
3
+ import { EnvironmentType } from '../others/environment-type';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./auth-http.service";
6
+ export class FormsService {
7
+ constructor(http) {
8
+ this.http = http;
9
+ this.configService = inject(ConfigService);
10
+ }
11
+ loadForm(id, env) {
12
+ const url = this.configService.readConfig().baseUrlInfrastructure +
13
+ `/Application/LoadById` +
14
+ `?id=${id}`;
15
+ return this.http.get(url);
16
+ }
17
+ loadFormByUuid(uuid, env) {
18
+ if (!env) {
19
+ env = EnvironmentType.Config;
20
+ }
21
+ const url = this.configService.readConfig().baseUrlInfrastructure +
22
+ `/Application/LoadByUuidAndEnv` +
23
+ `?uuid=${uuid}&env=${env}`;
24
+ return this.http.get(url);
25
+ }
26
+ publish(applicationUuid, envTo) {
27
+ const url = this.configService.readConfig().baseUrlInfrastructure +
28
+ `/Application/Publish` +
29
+ `?uuid=${applicationUuid}&envFrom=${EnvironmentType.Config}&envTo=${envTo}`;
30
+ return this.http.get(url);
31
+ }
32
+ getVersion(applicationUuid, env) {
33
+ const url = this.configService.readConfig().baseUrlInfrastructure +
34
+ `/application/LoadByUuidAndEnv` +
35
+ `?uuid=${applicationUuid}&env=${env}`;
36
+ return this.http.get(url);
37
+ }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormsService, deps: [{ token: i1.AuthHttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
39
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormsService, providedIn: 'root' }); }
40
+ }
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormsService, decorators: [{
42
+ type: Injectable,
43
+ args: [{
44
+ providedIn: 'root',
45
+ }]
46
+ }], ctorParameters: () => [{ type: i1.AuthHttpService }] });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29yaWdpbi1mb3JtL3NyYy9saWIvc2VydmljZXMvZm9ybXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFLN0QsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFBb0IsSUFBcUI7UUFBckIsU0FBSSxHQUFKLElBQUksQ0FBaUI7UUFFekMsa0JBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFGTSxDQUFDO0lBSTdDLFFBQVEsQ0FBQyxFQUFVLEVBQUUsR0FBWTtRQUMvQixNQUFNLEdBQUcsR0FDUCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDLHFCQUFxQjtZQUNyRCx1QkFBdUI7WUFDdkIsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUNkLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWlCLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBWSxFQUFFLEdBQVk7UUFDdkMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1QsR0FBRyxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUM7UUFDL0IsQ0FBQztRQUNELE1BQU0sR0FBRyxHQUNQLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUMscUJBQXFCO1lBQ3JELCtCQUErQjtZQUMvQixTQUFTLElBQUksUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFpQixHQUFHLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsT0FBTyxDQUNMLGVBQXVCLEVBQ3ZCLEtBQXNCO1FBRXRCLE1BQU0sR0FBRyxHQUNQLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUMscUJBQXFCO1lBQ3JELHNCQUFzQjtZQUN0QixTQUFTLGVBQWUsWUFBWSxlQUFlLENBQUMsTUFBTSxVQUFVLEtBQUssRUFBRSxDQUFDO1FBQzlFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWlCLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxVQUFVLENBQ1IsZUFBdUIsRUFDdkIsR0FBcUI7UUFFckIsTUFBTSxHQUFHLEdBQ1AsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxxQkFBcUI7WUFDckQsK0JBQStCO1lBQy9CLFNBQVMsZUFBZSxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWlCLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7K0dBNUNVLFlBQVk7bUhBQVosWUFBWSxjQUZYLE1BQU07OzRGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkR0byB9IGZyb20gJy4uL21vZGVscy9hcHBsaWNhdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vb3RoZXJzL2NvbmZpZy1zZXJ2aWNlJztcbmltcG9ydCB7IEVudmlyb25tZW50VHlwZSB9IGZyb20gJy4uL290aGVycy9lbnZpcm9ubWVudC10eXBlJztcbmltcG9ydCB7IEF1dGhIdHRwU2VydmljZSB9IGZyb20gJy4vYXV0aC1odHRwLnNlcnZpY2UnO1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1zU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogQXV0aEh0dHBTZXJ2aWNlKSB7fVxuXG4gIGNvbmZpZ1NlcnZpY2UgPSBpbmplY3QoQ29uZmlnU2VydmljZSk7XG5cbiAgbG9hZEZvcm0oaWQ6IG51bWJlciwgZW52Pzogc3RyaW5nKTogT2JzZXJ2YWJsZTxBcHBsaWNhdGlvbkR0bz4ge1xuICAgIGNvbnN0IHVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxJbmZyYXN0cnVjdHVyZSArXG4gICAgICBgL0FwcGxpY2F0aW9uL0xvYWRCeUlkYCArXG4gICAgICBgP2lkPSR7aWR9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcHBsaWNhdGlvbkR0bz4odXJsKTtcbiAgfVxuXG4gIGxvYWRGb3JtQnlVdWlkKHV1aWQ6IHN0cmluZywgZW52Pzogc3RyaW5nKTogT2JzZXJ2YWJsZTxBcHBsaWNhdGlvbkR0bz4ge1xuICAgIGlmICghZW52KSB7XG4gICAgICBlbnYgPSBFbnZpcm9ubWVudFR5cGUuQ29uZmlnO1xuICAgIH1cbiAgICBjb25zdCB1cmwgPVxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnJlYWRDb25maWcoKS5iYXNlVXJsSW5mcmFzdHJ1Y3R1cmUgK1xuICAgICAgYC9BcHBsaWNhdGlvbi9Mb2FkQnlVdWlkQW5kRW52YCArXG4gICAgICBgP3V1aWQ9JHt1dWlkfSZlbnY9JHtlbnZ9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcHBsaWNhdGlvbkR0bz4odXJsKTtcbiAgfVxuXG4gIHB1Ymxpc2goXG4gICAgYXBwbGljYXRpb25VdWlkOiBzdHJpbmcsXG4gICAgZW52VG86IEVudmlyb25tZW50VHlwZVxuICApOiBPYnNlcnZhYmxlPEFwcGxpY2F0aW9uRHRvPiB7XG4gICAgY29uc3QgdXJsID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEluZnJhc3RydWN0dXJlICtcbiAgICAgIGAvQXBwbGljYXRpb24vUHVibGlzaGAgK1xuICAgICAgYD91dWlkPSR7YXBwbGljYXRpb25VdWlkfSZlbnZGcm9tPSR7RW52aXJvbm1lbnRUeXBlLkNvbmZpZ30mZW52VG89JHtlbnZUb31gO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwcGxpY2F0aW9uRHRvPih1cmwpO1xuICB9XG5cbiAgZ2V0VmVyc2lvbihcbiAgICBhcHBsaWNhdGlvblV1aWQ6IHN0cmluZyxcbiAgICBlbnY/OiBFbnZpcm9ubWVudFR5cGVcbiAgKTogT2JzZXJ2YWJsZTxBcHBsaWNhdGlvbkR0bz4ge1xuICAgIGNvbnN0IHVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxJbmZyYXN0cnVjdHVyZSArXG4gICAgICBgL2FwcGxpY2F0aW9uL0xvYWRCeVV1aWRBbmRFbnZgICtcbiAgICAgIGA/dXVpZD0ke2FwcGxpY2F0aW9uVXVpZH0mZW52PSR7ZW52fWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBwbGljYXRpb25EdG8+KHVybCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,29 @@
1
+ import { Injectable, inject } from '@angular/core';
2
+ import { ConfigService } from '../others/config-service';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./auth-http.service";
5
+ export class LabelService {
6
+ constructor(http) {
7
+ this.http = http;
8
+ this.configService = inject(ConfigService);
9
+ }
10
+ getLabels(langIso, updateUserLanguageIso = true) {
11
+ let listUrl = this.configService.readConfig().baseUrlPublicInfrastructure + '/labels';
12
+ if (langIso) {
13
+ listUrl += `?&LanguageIso=${langIso}`;
14
+ if (updateUserLanguageIso == false) {
15
+ listUrl += '&ShouldUpdateUserLanguage=false';
16
+ }
17
+ }
18
+ return this.http.get(listUrl);
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LabelService, deps: [{ token: i1.AuthHttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
21
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LabelService, providedIn: 'root' }); }
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LabelService, decorators: [{
24
+ type: Injectable,
25
+ args: [{
26
+ providedIn: 'root',
27
+ }]
28
+ }], ctorParameters: () => [{ type: i1.AuthHttpService }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcmlnaW4tZm9ybS9zcmMvbGliL3NlcnZpY2VzL2xhYmVscy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBTXpELE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFlBQW9CLElBQXFCO1FBQXJCLFNBQUksR0FBSixJQUFJLENBQWlCO1FBRXpDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRk8sQ0FBQztJQUk5QyxTQUFTLENBQ1AsT0FBZSxFQUNmLHdCQUFpQyxJQUFJO1FBRXJDLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUMsMkJBQTJCLEdBQUcsU0FBUyxDQUFDO1FBQ3RGLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixPQUFPLElBQUksaUJBQWlCLE9BQU8sRUFBRSxDQUFDO1lBQ3RDLElBQUkscUJBQXFCLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ25DLE9BQU8sSUFBSSxpQ0FBaUMsQ0FBQztZQUMvQyxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVUsT0FBTyxDQUFDLENBQUM7SUFDekMsQ0FBQzsrR0FqQlUsWUFBWTttSEFBWixZQUFZLGNBRlgsTUFBTTs7NEZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExhYmVsIH0gZnJvbSAnLi4vbW9kZWxzL2xhYmVsLm1vZGVsJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9vdGhlcnMvY29uZmlnLXNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLWh0dHAuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBMYWJlbFNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEF1dGhIdHRwU2VydmljZSkgeyB9XG5cbiAgY29uZmlnU2VydmljZSA9IGluamVjdChDb25maWdTZXJ2aWNlKTtcblxuICBnZXRMYWJlbHMoXG4gICAgbGFuZ0lzbzogc3RyaW5nLFxuICAgIHVwZGF0ZVVzZXJMYW5ndWFnZUlzbzogYm9vbGVhbiA9IHRydWVcbiAgKTogT2JzZXJ2YWJsZTxMYWJlbFtdPiB7XG4gICAgbGV0IGxpc3RVcmwgPSB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxQdWJsaWNJbmZyYXN0cnVjdHVyZSArICcvbGFiZWxzJztcbiAgICBpZiAobGFuZ0lzbykge1xuICAgICAgbGlzdFVybCArPSBgPyZMYW5ndWFnZUlzbz0ke2xhbmdJc299YDtcbiAgICAgIGlmICh1cGRhdGVVc2VyTGFuZ3VhZ2VJc28gPT0gZmFsc2UpIHtcbiAgICAgICAgbGlzdFVybCArPSAnJlNob3VsZFVwZGF0ZVVzZXJMYW5ndWFnZT1mYWxzZSc7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PExhYmVsW10+KGxpc3RVcmwpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,24 @@
1
+ import { Injectable, inject } from '@angular/core';
2
+ import { ConfigService } from '../others/config-service';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./auth-http.service";
5
+ export class LanguageService {
6
+ constructor(http) {
7
+ this.http = http;
8
+ this.configService = inject(ConfigService);
9
+ }
10
+ getLanguages() {
11
+ const url = this.configService.readConfig().baseUrlInfrastructure +
12
+ '/language?PageSize=999999';
13
+ return this.http.get(url);
14
+ }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LanguageService, deps: [{ token: i1.AuthHttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
16
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LanguageService, providedIn: 'root' }); }
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LanguageService, decorators: [{
19
+ type: Injectable,
20
+ args: [{
21
+ providedIn: 'root',
22
+ }]
23
+ }], ctorParameters: () => [{ type: i1.AuthHttpService }] });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29yaWdpbi1mb3JtL3NyYy9saWIvc2VydmljZXMvbGFuZ3VhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUluRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQU16RCxNQUFNLE9BQU8sZUFBZTtJQUMxQixZQUFvQixJQUFxQjtRQUFyQixTQUFJLEdBQUosSUFBSSxDQUFpQjtRQUV6QyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUZNLENBQUM7SUFJN0MsWUFBWTtRQUNWLE1BQU0sR0FBRyxHQUNQLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUMscUJBQXFCO1lBQ3JELDJCQUEyQixDQUFDO1FBQzlCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWlCLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7K0dBVlUsZUFBZTttSEFBZixlQUFlLGNBRmQsTUFBTTs7NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExpc3QgfSBmcm9tICcuLi9tb2RlbHMvbGlzdC5tb2RlbCc7XG5pbXBvcnQgeyBMYW5ndWFnZSB9IGZyb20gJy4uL21vZGVscy9sYW5ndWFnZS5tb2RlbCc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vb3RoZXJzL2NvbmZpZy1zZXJ2aWNlJztcbmltcG9ydCB7IEF1dGhIdHRwU2VydmljZSB9IGZyb20gJy4vYXV0aC1odHRwLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTGFuZ3VhZ2VTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBBdXRoSHR0cFNlcnZpY2UpIHt9XG5cbiAgY29uZmlnU2VydmljZSA9IGluamVjdChDb25maWdTZXJ2aWNlKTtcblxuICBnZXRMYW5ndWFnZXMoKTogT2JzZXJ2YWJsZTxMaXN0PExhbmd1YWdlPj4ge1xuICAgIGNvbnN0IHVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxJbmZyYXN0cnVjdHVyZSArXG4gICAgICAnL2xhbmd1YWdlP1BhZ2VTaXplPTk5OTk5OSc7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TGlzdDxMYW5ndWFnZT4+KHVybCk7XG4gIH1cbn1cbiJdfQ==