@rangertechnologies/ngnxt 2.1.252 → 2.1.254

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 (106) hide show
  1. package/esm2022/environments/version.mjs +2 -2
  2. package/esm2022/lib/components/button/nxt-button.component.mjs +4 -4
  3. package/esm2022/lib/components/custom-calendar/custom-calendar.component.mjs +8 -5
  4. package/esm2022/lib/components/custom-dropdown/custom-dropdown.component.mjs +13 -14
  5. package/esm2022/lib/components/custom-model/custom-model.component.mjs +5 -3
  6. package/esm2022/lib/components/custom-radio/custom-radio.component.mjs +11 -12
  7. package/esm2022/lib/components/datatable/datatable.component.mjs +7 -21
  8. package/esm2022/lib/components/file-upload/file-upload.component.mjs +13 -16
  9. package/esm2022/lib/components/icon-selector/icon-selector.component.mjs +5 -3
  10. package/esm2022/lib/components/list-view-filter/list-view-filter.component.mjs +9 -9
  11. package/esm2022/lib/components/nxt-input/nxt-input.component.mjs +24 -12
  12. package/esm2022/lib/components/pagination/pagination.component.mjs +3 -3
  13. package/esm2022/lib/components/pick-location/pick-location.component.mjs +10 -13
  14. package/esm2022/lib/components/search-box/search-box.component.mjs +14 -15
  15. package/esm2022/lib/model/bookletWrapper.mjs +1 -3
  16. package/esm2022/lib/nxt-app.module.mjs +9 -33
  17. package/esm2022/lib/pages/booklet/booklet.component.mjs +33 -100
  18. package/esm2022/lib/pages/builder/element/element.component.mjs +68 -61
  19. package/esm2022/lib/pages/builder/form/form.component.mjs +6 -3
  20. package/esm2022/lib/pages/builder/properties/common-fields.constants.mjs +11 -11
  21. package/esm2022/lib/pages/builder/properties/properties.component.mjs +235 -78
  22. package/esm2022/lib/pages/builder/templates/templates.component.mjs +5 -4
  23. package/esm2022/lib/pages/pdfDesigner/pdf-designer/pdf-designer.component.mjs +5 -46
  24. package/esm2022/lib/pages/pdfDesigner/pdf-properties/pdf-properties.component.mjs +50 -57
  25. package/esm2022/lib/pages/questionbook/questionbook.component.mjs +20 -59
  26. package/esm2022/lib/pages/questionnaire/questionnaire.component.mjs +17 -30
  27. package/esm2022/lib/pipe/custom-translate.pipe.mjs +21 -14
  28. package/esm2022/lib/pipe/svg/svg.pipe.mjs +26 -0
  29. package/esm2022/lib/services/change/change.service.mjs +46 -0
  30. package/esm2022/lib/services/country/country.service.mjs +135 -0
  31. package/esm2022/lib/services/data/data.service.mjs +100 -0
  32. package/esm2022/lib/services/form-builder/form-builder.service.mjs +474 -0
  33. package/esm2022/lib/services/pdf-designer/pdf-designer.service.mjs +395 -0
  34. package/esm2022/lib/services/salesforce/salesforce.service.mjs +41 -0
  35. package/esm2022/lib/services/shared/shared.service.mjs +100 -0
  36. package/esm2022/lib/services/storage/storage.service.mjs +59 -0
  37. package/esm2022/lib/services/template/template.service.mjs +335 -0
  38. package/esm2022/lib/services/translation/translation.service.mjs +121 -0
  39. package/esm2022/public-api.mjs +2 -5
  40. package/fesm2022/rangertechnologies-ngnxt.mjs +1147 -1285
  41. package/fesm2022/rangertechnologies-ngnxt.mjs.map +1 -1
  42. package/lib/components/button/nxt-button.component.d.ts +1 -1
  43. package/lib/components/custom-calendar/custom-calendar.component.d.ts +1 -1
  44. package/lib/components/custom-dropdown/custom-dropdown.component.d.ts +3 -5
  45. package/lib/components/custom-radio/custom-radio.component.d.ts +3 -5
  46. package/lib/components/datatable/datatable.component.d.ts +3 -4
  47. package/lib/components/file-upload/file-upload.component.d.ts +3 -5
  48. package/lib/components/image-cropper/component/image-cropper.component.d.ts +1 -1
  49. package/lib/components/nxt-input/nxt-input.component.d.ts +2 -2
  50. package/lib/components/pick-location/pick-location.component.d.ts +1 -3
  51. package/lib/components/search-box/search-box.component.d.ts +5 -7
  52. package/lib/model/bookletWrapper.d.ts +0 -1
  53. package/lib/nxt-app.module.d.ts +15 -17
  54. package/lib/pages/booklet/booklet.component.d.ts +9 -11
  55. package/lib/pages/builder/element/element.component.d.ts +10 -7
  56. package/lib/pages/builder/form/form.component.d.ts +2 -1
  57. package/lib/pages/builder/properties/properties.component.d.ts +39 -7
  58. package/lib/pages/builder/templates/templates.component.d.ts +1 -1
  59. package/lib/pages/pdfDesigner/pdf-designer/pdf-designer.component.d.ts +1 -4
  60. package/lib/pages/pdfDesigner/pdf-properties/pdf-properties.component.d.ts +19 -2
  61. package/lib/pages/questionbook/questionbook.component.d.ts +7 -12
  62. package/lib/pages/questionnaire/questionnaire.component.d.ts +7 -9
  63. package/lib/pipe/custom-translate.pipe.d.ts +3 -4
  64. package/lib/pipe/svg/svg.pipe.d.ts +10 -0
  65. package/lib/services/{form-builder.service.d.ts → form-builder/form-builder.service.d.ts} +3 -2
  66. package/lib/services/{pdf-designer.service.d.ts → pdf-designer/pdf-designer.service.d.ts} +1 -1
  67. package/lib/services/{storage.service.d.ts → storage/storage.service.d.ts} +2 -2
  68. package/lib/services/{translation.service.d.ts → translation/translation.service.d.ts} +12 -1
  69. package/package.json +1 -1
  70. package/public-api.d.ts +1 -3
  71. package/rangertechnologies-ngnxt-2.1.254.tgz +0 -0
  72. package/esm2022/lib/ar.i18n.mjs +0 -29
  73. package/esm2022/lib/en.i18n.mjs +0 -29
  74. package/esm2022/lib/i18n-config.service.mjs +0 -4
  75. package/esm2022/lib/i18n.component.mjs +0 -45
  76. package/esm2022/lib/i18n.module.mjs +0 -38
  77. package/esm2022/lib/i18n.pipe.mjs +0 -26
  78. package/esm2022/lib/i18n.service.mjs +0 -56
  79. package/esm2022/lib/interfaces/apimeta.mjs +0 -2
  80. package/esm2022/lib/services/change.service.mjs +0 -46
  81. package/esm2022/lib/services/country.service.mjs +0 -135
  82. package/esm2022/lib/services/data.service.mjs +0 -100
  83. package/esm2022/lib/services/form-builder.service.mjs +0 -402
  84. package/esm2022/lib/services/pdf-designer.service.mjs +0 -398
  85. package/esm2022/lib/services/salesforce.service.mjs +0 -41
  86. package/esm2022/lib/services/shared.service.mjs +0 -100
  87. package/esm2022/lib/services/storage.service.mjs +0 -59
  88. package/esm2022/lib/services/template.service.mjs +0 -351
  89. package/esm2022/lib/services/translation.service.mjs +0 -61
  90. package/esm2022/lib/tam.i18n.mjs +0 -29
  91. package/lib/ar.i18n.d.ts +0 -24
  92. package/lib/en.i18n.d.ts +0 -24
  93. package/lib/i18n-config.service.d.ts +0 -2
  94. package/lib/i18n.component.d.ts +0 -11
  95. package/lib/i18n.module.d.ts +0 -9
  96. package/lib/i18n.pipe.d.ts +0 -10
  97. package/lib/i18n.service.d.ts +0 -14
  98. package/lib/interfaces/apimeta.d.ts +0 -15
  99. package/lib/tam.i18n.d.ts +0 -24
  100. package/rangertechnologies-ngnxt-2.1.252.tgz +0 -0
  101. /package/lib/services/{change.service.d.ts → change/change.service.d.ts} +0 -0
  102. /package/lib/services/{country.service.d.ts → country/country.service.d.ts} +0 -0
  103. /package/lib/services/{data.service.d.ts → data/data.service.d.ts} +0 -0
  104. /package/lib/services/{salesforce.service.d.ts → salesforce/salesforce.service.d.ts} +0 -0
  105. /package/lib/services/{shared.service.d.ts → shared/shared.service.d.ts} +0 -0
  106. /package/lib/services/{template.service.d.ts → template/template.service.d.ts} +0 -0
@@ -1,59 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class StorageService {
4
- nxtBookletAnswer;
5
- selectedData;
6
- queryValueMap = new Map();
7
- constructor() { }
8
- save(qbJson) {
9
- this.nxtBookletAnswer = qbJson;
10
- }
11
- update(questionWithInput) {
12
- // Store the Updated Questions (with Answer/Error) in a Map
13
- // for (var eQuestion in this.nxtBookletAnswer.bookQuestionsMap) {
14
- // if(eQuestion == questionWithInput.Id) {
15
- // this.nxtBookletAnswer.bookQuestionsMap[eQuestion] = questionWithInput;
16
- // }
17
- // }
18
- // RS 09DEC24 Changed keys
19
- for (var eQuestion in this.nxtBookletAnswer.bookQuestionsMap) {
20
- if (this.nxtBookletAnswer.bookQuestionsMap.hasOwnProperty(eQuestion)) {
21
- const questionsR = this.nxtBookletAnswer.bookQuestionsMap[eQuestion].subQuestions;
22
- // VD 31NOV24 wrapper changes
23
- for (let i = 0; i < questionsR.length; i++) {
24
- if (questionsR[i].id == questionWithInput.id) {
25
- questionsR[i] = questionWithInput;
26
- }
27
- }
28
- }
29
- }
30
- }
31
- get() {
32
- // return the stored questions
33
- return this.nxtBookletAnswer;
34
- }
35
- queryValueStore(questionId, key, value) {
36
- const existing = this.queryValueMap.get(questionId) || {};
37
- existing[key] = value;
38
- this.queryValueMap.set(questionId, existing);
39
- }
40
- getQueryValue(questionId) {
41
- return this.queryValueMap.get(questionId) || {};
42
- }
43
- // Optional: clear specific or all
44
- clearQueryValue(questionId) {
45
- this.queryValueMap.delete(questionId);
46
- }
47
- clearAllQueryValues() {
48
- this.queryValueMap.clear();
49
- }
50
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
51
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StorageService, providedIn: 'root' });
52
- }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StorageService, decorators: [{
54
- type: Injectable,
55
- args: [{
56
- providedIn: 'root'
57
- }]
58
- }], ctorParameters: () => [] });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL3NlcnZpY2VzL3N0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8zQyxNQUFNLE9BQU8sY0FBYztJQUN6QixnQkFBZ0IsQ0FBaUI7SUFDakMsWUFBWSxDQUFLO0lBQ1QsYUFBYSxHQUFHLElBQUksR0FBRyxFQUFlLENBQUM7SUFFL0MsZ0JBQWdCLENBQUM7SUFFakIsSUFBSSxDQUFDLE1BQXNCO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUM7SUFDakMsQ0FBQztJQUVELE1BQU0sQ0FBQyxpQkFBMkI7UUFDaEMsMkRBQTJEO1FBRTNELGtFQUFrRTtRQUNsRSw0Q0FBNEM7UUFDNUMsNkVBQTZFO1FBQzdFLE1BQU07UUFDTixJQUFJO1FBQ0osMEJBQTBCO1FBQzFCLEtBQUssSUFBSSxTQUFTLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDN0QsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUFZLENBQUM7Z0JBQ2xGLDZCQUE2QjtnQkFDN0IsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQztvQkFDbkMsSUFBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLGlCQUFpQixDQUFDLEVBQUUsRUFBQyxDQUFDO3dCQUMzQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsaUJBQWlCLENBQUM7b0JBQ3BDLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELEdBQUc7UUFDRCw4QkFBOEI7UUFDOUIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFFL0IsQ0FBQztJQUNELGVBQWUsQ0FBQyxVQUFrQixFQUFFLEdBQVcsRUFBRSxLQUFVO1FBQ3pELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxRCxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsYUFBYSxDQUFDLFVBQWtCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFFRCxrQ0FBa0M7SUFDbEMsZUFBZSxDQUFDLFVBQWtCO1FBQ2hDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3QixDQUFDO3dHQXZEVSxjQUFjOzRHQUFkLGNBQWMsY0FGYixNQUFNOzs0RkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFF1ZXN0aW9uIH0gZnJvbSAnLi4vd3JhcHBlcic7XG5pbXBvcnQgeyBCb29rbGV0V3JhcHBlciB9IGZyb20gJy4uL21vZGVsL2Jvb2tsZXRXcmFwcGVyJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU3RvcmFnZVNlcnZpY2Uge1xuICBueHRCb29rbGV0QW5zd2VyOiBCb29rbGV0V3JhcHBlcjtcbiAgc2VsZWN0ZWREYXRhOmFueTtcbiAgcHJpdmF0ZSBxdWVyeVZhbHVlTWFwID0gbmV3IE1hcDxzdHJpbmcsIGFueT4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIHNhdmUocWJKc29uOiBCb29rbGV0V3JhcHBlcikge1xuICAgIHRoaXMubnh0Qm9va2xldEFuc3dlciA9IHFiSnNvbjtcbiAgfVxuXG4gIHVwZGF0ZShxdWVzdGlvbldpdGhJbnB1dDogUXVlc3Rpb24pIHtcbiAgICAvLyBTdG9yZSB0aGUgVXBkYXRlZCBRdWVzdGlvbnMgKHdpdGggQW5zd2VyL0Vycm9yKSBpbiBhIE1hcFxuXG4gICAgLy8gZm9yICh2YXIgZVF1ZXN0aW9uIGluIHRoaXMubnh0Qm9va2xldEFuc3dlci5ib29rUXVlc3Rpb25zTWFwKSB7XG4gICAgLy8gICBpZihlUXVlc3Rpb24gPT0gcXVlc3Rpb25XaXRoSW5wdXQuSWQpIHtcbiAgICAvLyAgICAgdGhpcy5ueHRCb29rbGV0QW5zd2VyLmJvb2tRdWVzdGlvbnNNYXBbZVF1ZXN0aW9uXSA9IHF1ZXN0aW9uV2l0aElucHV0O1xuICAgIC8vICAgfVxuICAgIC8vIH1cbiAgICAvLyBSUyAwOURFQzI0IENoYW5nZWQga2V5c1xuICAgIGZvciAodmFyIGVRdWVzdGlvbiBpbiB0aGlzLm54dEJvb2tsZXRBbnN3ZXIuYm9va1F1ZXN0aW9uc01hcCkge1xuICAgICAgaWYgKHRoaXMubnh0Qm9va2xldEFuc3dlci5ib29rUXVlc3Rpb25zTWFwLmhhc093blByb3BlcnR5KGVRdWVzdGlvbikpIHtcbiAgICAgICAgY29uc3QgcXVlc3Rpb25zUiA9IHRoaXMubnh0Qm9va2xldEFuc3dlci5ib29rUXVlc3Rpb25zTWFwW2VRdWVzdGlvbl0uc3ViUXVlc3Rpb25zO1xuICAgICAgICAvLyBWRCAzMU5PVjI0IHdyYXBwZXIgY2hhbmdlc1xuICAgICAgICBmb3IobGV0IGk9MDtpPHF1ZXN0aW9uc1IubGVuZ3RoO2krKyl7XG4gICAgICAgICAgaWYocXVlc3Rpb25zUltpXS5pZCA9PSBxdWVzdGlvbldpdGhJbnB1dC5pZCl7XG4gICAgICAgICAgICBxdWVzdGlvbnNSW2ldID0gcXVlc3Rpb25XaXRoSW5wdXQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0KCkge1xuICAgIC8vIHJldHVybiB0aGUgc3RvcmVkIHF1ZXN0aW9uc1xuICAgIHJldHVybiB0aGlzLm54dEJvb2tsZXRBbnN3ZXI7XG5cbiAgfVxuICBxdWVyeVZhbHVlU3RvcmUocXVlc3Rpb25JZDogc3RyaW5nLCBrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IGV4aXN0aW5nID0gdGhpcy5xdWVyeVZhbHVlTWFwLmdldChxdWVzdGlvbklkKSB8fCB7fTtcbiAgICBleGlzdGluZ1trZXldID0gdmFsdWU7XG4gICAgdGhpcy5xdWVyeVZhbHVlTWFwLnNldChxdWVzdGlvbklkLCBleGlzdGluZyk7XG4gIH1cbiAgXG4gIGdldFF1ZXJ5VmFsdWUocXVlc3Rpb25JZDogc3RyaW5nKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5xdWVyeVZhbHVlTWFwLmdldChxdWVzdGlvbklkKSB8fCB7fTtcbiAgfVxuXG4gIC8vIE9wdGlvbmFsOiBjbGVhciBzcGVjaWZpYyBvciBhbGxcbiAgY2xlYXJRdWVyeVZhbHVlKHF1ZXN0aW9uSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMucXVlcnlWYWx1ZU1hcC5kZWxldGUocXVlc3Rpb25JZCk7XG4gIH1cblxuICBjbGVhckFsbFF1ZXJ5VmFsdWVzKCk6IHZvaWQge1xuICAgIHRoaXMucXVlcnlWYWx1ZU1hcC5jbGVhcigpO1xuICB9XG59XG4iXX0=
@@ -1,351 +0,0 @@
1
- // AP-11APR25
2
- import { Injectable } from '@angular/core';
3
- import { v4 as uuidv4 } from 'uuid';
4
- import * as i0 from "@angular/core";
5
- export class TemplateService {
6
- // templates = [
7
- // {
8
- // templateId: 1,
9
- // templateName: 'Invoice',
10
- // content: 'Invoice template with customer details',
11
- // elements: [
12
- // {
13
- // type: 'Text',
14
- // questionText: 'Customer Name',
15
- // style: { showLabel: true },
16
- // size: 12
17
- // },
18
- // {
19
- // type: 'Date',
20
- // questionText: 'Invoice Date',
21
- // style: { showLabel: true }
22
- // },
23
- // {
24
- // type: 'Table',
25
- // questionText: 'Items',
26
- // fieldsMeta: JSON.stringify([
27
- // {
28
- // label: 'Item',
29
- // fieldName: 'item',
30
- // type: 'Text',
31
- // uniqueIdentifier: 'temp1'
32
- // },
33
- // {
34
- // label: 'Quantity',
35
- // fieldName: 'qty',
36
- // type: 'Number',
37
- // uniqueIdentifier: 'temp2'
38
- // }
39
- // ]),
40
- // tableConfig: {
41
- // isNosIndicator: true,
42
- // addInlineRecord: true,
43
- // isPagination: true
44
- // }
45
- // }
46
- // ]
47
- // },
48
- // {
49
- // templateId: 2,
50
- // templateName: 'Registration',
51
- // content: 'User registration form template',
52
- // elements: [
53
- // {
54
- // type: 'Text',
55
- // questionText: 'Full Name',
56
- // style: { showLabel: true },
57
- // size: 12
58
- // },
59
- // {
60
- // type: 'Text',
61
- // questionText: 'Email Address',
62
- // style: { showLabel: true },
63
- // size: 12
64
- // },
65
- // {
66
- // type: 'Date',
67
- // questionText: 'Date of Birth',
68
- // style: { showLabel: true }
69
- // }
70
- // ]
71
- // },
72
- // {
73
- // templateId: 3,
74
- // templateName: 'Employee Detail',
75
- // content: 'Template to capture employee details',
76
- // elements: [
77
- // {
78
- // type: 'Text',
79
- // questionText: 'Employee ID',
80
- // style: { showLabel: true },
81
- // size: 6
82
- // },
83
- // {
84
- // type: 'Text',
85
- // questionText: 'Employee Name',
86
- // style: { showLabel: true },
87
- // size: 6
88
- // },
89
- // {
90
- // type: 'Table',
91
- // questionText: 'Previous Work Experience',
92
- // fieldsMeta: JSON.stringify([
93
- // {
94
- // label: 'Company Name',
95
- // fieldName: 'company',
96
- // type: 'Text',
97
- // uniqueIdentifier: 'emp1'
98
- // },
99
- // {
100
- // label: 'Years Worked',
101
- // fieldName: 'years',
102
- // type: 'Number',
103
- // uniqueIdentifier: 'emp2'
104
- // }
105
- // ]),
106
- // tableConfig: {
107
- // isNosIndicator: false,
108
- // addInlineRecord: true,
109
- // isPagination: true
110
- // }
111
- // }
112
- // ]
113
- // },
114
- // {
115
- // templateId: 4,
116
- // templateName: 'Feedback',
117
- // content: 'Feedback form for services or products',
118
- // elements: [
119
- // {
120
- // type: 'Text',
121
- // questionText: 'Your Name',
122
- // style: { showLabel: true },
123
- // size: 12
124
- // },
125
- // {
126
- // type: 'Text',
127
- // questionText: 'Feedback',
128
- // style: { showLabel: true },
129
- // size: 12
130
- // },
131
- // {
132
- // type: 'Table',
133
- // questionText: 'Service Ratings',
134
- // fieldsMeta: JSON.stringify([
135
- // {
136
- // label: 'Service',
137
- // fieldName: 'service',
138
- // type: 'Text',
139
- // uniqueIdentifier: 'fb1'
140
- // },
141
- // {
142
- // label: 'Rating (1-5)',
143
- // fieldName: 'rating',
144
- // type: 'Number',
145
- // uniqueIdentifier: 'fb2'
146
- // }
147
- // ]),
148
- // tableConfig: {
149
- // isNosIndicator: false,
150
- // addInlineRecord: true,
151
- // isPagination: false
152
- // }
153
- // }
154
- // ]
155
- // }
156
- // ];
157
- templates = [];
158
- unique_id;
159
- book;
160
- formElements = [];
161
- constructor() {
162
- this.newBook();
163
- }
164
- getTemplates() {
165
- return this.templates;
166
- }
167
- initializeElementFromTemplate(templateElement, index) {
168
- const unique_id = uuidv4();
169
- const baseElement = {
170
- id: unique_id,
171
- uid: unique_id,
172
- type: templateElement.type,
173
- name: null,
174
- questionText: templateElement.questionText || null,
175
- question: templateElement.question || null,
176
- helpText: null,
177
- errorMessage: null,
178
- isReadOnly: false,
179
- isHidden: false,
180
- required: false,
181
- referenceField: null,
182
- additionalRichContent: null,
183
- groupName: null,
184
- isDateBackward: false,
185
- title: null,
186
- subTitle: null,
187
- size: templateElement.size || 12,
188
- isDateForward: false,
189
- isOptional: false,
190
- isTitle: false,
191
- nextQuestion: null,
192
- allowedFileExtensions: null,
193
- questionNumber: index + 1,
194
- order: index + 1,
195
- style: {
196
- labelClass: null,
197
- labelStyle: null,
198
- labelValueStyle: null,
199
- inputClass: null,
200
- inputStyle: null,
201
- showLabel: templateElement?.style?.showLabel ?? true,
202
- bookStyle: null,
203
- direction: 'ltr',
204
- questionStyle: null,
205
- },
206
- subText: {
207
- endpoint: null,
208
- variable: null,
209
- field: null,
210
- defaultField: null,
211
- sourceQuestionId: null,
212
- valueField: null,
213
- labelField: null,
214
- isDependentField: false,
215
- dependentValue: null,
216
- queryField: null,
217
- queryValue: null,
218
- queryValueReference: null,
219
- uniqueKey: null,
220
- },
221
- imageData: null,
222
- boolean: false,
223
- options: templateElement.options
224
- ? this.initializeOptions(templateElement.options)
225
- : null,
226
- imageSize: templateElement.type === 'Image' ? { width: 150, height: 150 } : null,
227
- tableConfig: templateElement.type === 'Table' ? {
228
- isNosIndicator: true,
229
- addInlineRecord: true,
230
- isPagination: true,
231
- actionButton: true,
232
- isDeleteRow: true,
233
- isEditRow: true,
234
- searchBar: true,
235
- isButtons: true,
236
- itemsPerPage: 10,
237
- } : null,
238
- fieldsMeta: templateElement.fieldsMeta
239
- ? this.initializeFieldsMeta(templateElement.fieldsMeta)
240
- : null,
241
- };
242
- return { ...baseElement, ...templateElement };
243
- }
244
- initializeOptions(options) {
245
- return options.map(option => ({
246
- ...option,
247
- id: uuidv4()
248
- }));
249
- }
250
- initializeFieldsMeta(fieldsMeta) {
251
- try {
252
- const parsed = JSON.parse(fieldsMeta);
253
- return parsed.map((field) => ({
254
- ...field,
255
- uniqueIdentifier: uuidv4()
256
- }));
257
- }
258
- catch (e) {
259
- console.error('Error parsing fieldsMeta:', e);
260
- return [];
261
- }
262
- }
263
- // In TemplateService
264
- download() {
265
- if (!this.formElements || !Array.isArray(this.formElements)) {
266
- console.error('Invalid formElements');
267
- return null;
268
- }
269
- // Clean elements for export (same as FormBuilderService)
270
- this.formElements.forEach(element => {
271
- // Remove qbReferenceQuestions for 'book' type
272
- if (element.type === 'book') {
273
- delete element.qbReferenceQuestions;
274
- }
275
- // Process subText to match FormBuilderService's format
276
- if (element.subText) {
277
- try {
278
- // Convert subText to object if string
279
- element.subText = typeof element.subText === 'string'
280
- ? JSON.parse(element.subText)
281
- : { ...element.subText };
282
- // Convert field to array if string
283
- if (typeof element.subText.field === 'string') {
284
- element.subText.field = element.subText.field.split(',').map(i => i.trim());
285
- }
286
- // Stringify subText for storage
287
- element.subText = JSON.stringify(element.subText);
288
- }
289
- catch (e) {
290
- console.error('Error processing subText:', e);
291
- element.subText = '{}';
292
- }
293
- }
294
- });
295
- // Update book structure (same as FormBuilderService)
296
- if (!this.book)
297
- this.newBook(); // Ensure book exists
298
- if (this.book.bookQuestionsMap && this.unique_id) {
299
- this.book.bookQuestionsMap[this.unique_id].subQuestions = this.formElements;
300
- }
301
- // Prepare sqOptions (same format as FormBuilderService)
302
- const sqOptions = {};
303
- this.formElements.forEach(element => {
304
- if (['Dropdown', 'Radio', 'Checkbox'].includes(element.type)) {
305
- sqOptions[element.id] = {
306
- ...element,
307
- options: element.options?.map(opt => ({
308
- ...opt,
309
- // Ensure UUIDs are preserved
310
- id: opt.id || uuidv4(),
311
- uniqueIdentifier: opt.uniqueIdentifier || uuidv4()
312
- })) || []
313
- };
314
- }
315
- });
316
- this.book.sqOptions = sqOptions;
317
- return JSON.parse(JSON.stringify(this.book)); // Return clean copy
318
- }
319
- // Add the newBook() method if missing
320
- newBook() {
321
- this.unique_id = uuidv4();
322
- this.book = {
323
- bookQuestionsMap: {
324
- [this.unique_id]: {
325
- subQuestions: [],
326
- type: 'Book'
327
- }
328
- },
329
- questionbook: {
330
- action: JSON.stringify([
331
- { name: "Cancel", eventtoemit: "close" },
332
- { name: "Save", eventtoemit: "submit", method: "POST" }
333
- ])
334
- },
335
- records: [{
336
- id: this.unique_id,
337
- title: 'Untitled Template',
338
- subQuestions: []
339
- }]
340
- };
341
- }
342
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TemplateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
343
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TemplateService, providedIn: 'root' });
344
- }
345
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TemplateService, decorators: [{
346
- type: Injectable,
347
- args: [{
348
- providedIn: 'root'
349
- }]
350
- }], ctorParameters: () => [] });
351
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9zZXJ2aWNlcy90ZW1wbGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGFBQWE7QUFDYixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxFQUFFLElBQUksTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUtwQyxNQUFNLE9BQU8sZUFBZTtJQUMxQixnQkFBZ0I7SUFDaEIsTUFBTTtJQUNOLHFCQUFxQjtJQUNyQiwrQkFBK0I7SUFDL0IseURBQXlEO0lBQ3pELGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gseUJBQXlCO0lBQ3pCLHlDQUF5QztJQUN6QyxzQ0FBc0M7SUFDdEMsbUJBQW1CO0lBQ25CLFdBQVc7SUFDWCxXQUFXO0lBQ1gseUJBQXlCO0lBQ3pCLHdDQUF3QztJQUN4QyxxQ0FBcUM7SUFDckMsV0FBVztJQUNYLFVBQVU7SUFDVix5QkFBeUI7SUFDekIsaUNBQWlDO0lBQ2pDLHVDQUF1QztJQUN2QyxlQUFlO0lBQ2YsOEJBQThCO0lBQzlCLGtDQUFrQztJQUNsQyw0QkFBNEI7SUFDNUIseUNBQXlDO0lBQ3pDLGVBQWU7SUFDZixjQUFjO0lBQ2QsaUNBQWlDO0lBQ2pDLGdDQUFnQztJQUNoQyw4QkFBOEI7SUFDOUIsd0NBQXdDO0lBQ3hDLGNBQWM7SUFDZCxjQUFjO0lBQ2QseUJBQXlCO0lBQ3pCLGtDQUFrQztJQUNsQyxtQ0FBbUM7SUFDbkMsK0JBQStCO0lBQy9CLFlBQVk7SUFDWixVQUFVO0lBQ1YsUUFBUTtJQUNSLE9BQU87SUFDUCxNQUFNO0lBQ04scUJBQXFCO0lBQ3JCLG9DQUFvQztJQUNwQyxrREFBa0Q7SUFDbEQsa0JBQWtCO0lBQ2xCLFVBQVU7SUFDVix3QkFBd0I7SUFDeEIscUNBQXFDO0lBQ3JDLHNDQUFzQztJ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b0JBQ2xCLEtBQUssRUFBRSxtQkFBbUI7b0JBQzFCLFlBQVksRUFBRSxFQUFFO2lCQUNqQixDQUFDO1NBQ0gsQ0FBQztJQUNKLENBQUM7d0dBN1ZZLGVBQWU7NEdBQWYsZUFBZSxjQUZkLE1BQU07OzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQVAtMTFBUFIyNVxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZHY0IH0gZnJvbSAndXVpZCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlU2VydmljZSB7XG4gIC8vIHRlbXBsYXRlcyA9IFtcbiAgLy8gICB7XG4gIC8vICAgICB0ZW1wbGF0ZUlkOiAxLFxuICAvLyAgICAgdGVtcGxhdGVOYW1lOiAnSW52b2ljZScsXG4gIC8vICAgICBjb250ZW50OiAnSW52b2ljZSB0ZW1wbGF0ZSB3aXRoIGN1c3RvbWVyIGRldGFpbHMnLFxuICAvLyAgICAgZWxlbWVudHM6IFtcbiAgLy8gICAgICAgeyBcbiAgLy8gICAgICAgICB0eXBlOiAnVGV4dCcsIFxuICAvLyAgICAgICAgIHF1ZXN0aW9uVGV4dDogJ0N1c3RvbWVyIE5hbWUnLFxuICAvLyAgICAgICAgIHN0eWxlOiB7IHNob3dMYWJlbDogdHJ1ZSB9LFxuICAvLyAgICAgICAgIHNpemU6IDEyXG4gIC8vICAgICAgIH0sXG4gIC8vICAgICAgIHsgXG4gIC8vICAgICAgICAgdHlwZTogJ0RhdGUnLCBcbiAgLy8gICAgICAgICBxdWVzdGlvblRleHQ6ICdJbnZvaWNlIERhdGUnLFxuICAvLyAgICAgICAgIHN0eWxlOiB7IHNob3dMYWJlbDogdHJ1ZSB9XG4gIC8vICAgICAgIH0sXG4gIC8vICAgICAgIHtcbiAgLy8gICAgICAgICB0eXBlOiAnVGFibGUnLFxuICAvLyAgICAgICAgIHF1ZXN0aW9uVGV4dDogJ0l0ZW1zJyxcbiAgLy8gICAgICAgICBmaWVsZHNNZXRhOiBKU09OLnN0cmluZ2lmeShbXG4gIC8vICAgICAgICAgICB7IFxuICAvLyAgICAgICAgICAgICBsYWJlbDogJ0l0ZW0nLCBcbiAgLy8gICAgICAgICAgICAgZmllbGROYW1lOiAnaXRlbScsIFxuICAvLyAgICAgICAgICAgICB0eXBlOiAnVGV4dCcsXG4gIC8vICAgICAgICAgICAgIHVuaXF1ZUlkZW50aWZpZXI6ICd0ZW1wMScgXG4gIC8vICAgICAgICAgICB9LFxuICAvLyAgICAgICAgICAge1xuICAvLyAgICAgICAgICAgICBsYWJlbDogJ1F1YW50aXR5JyxcbiAgLy8gICAgICAgICAgICAgZmllbGROYW1lOiAncXR5JyxcbiAgLy8gICAgICAgICAgICAgdHlwZTogJ051bWJlcicsXG4gIC8vICAgICAgICAgICAgIHVuaXF1ZUlkZW50aWZpZXI6ICd0ZW1wMidcbiAgLy8gICAgICAgICAgIH1cbiAgLy8gICAgICAgICBdKSxcbiAgLy8gICAgICAgICB0YWJsZUNvbmZpZzoge1xuICAvLyAgICAgICAgICAgaXNOb3NJbmRpY2F0b3I6IHRydWUsXG4gIC8vICAgICAgICAgICBhZGRJbmxpbmVSZWNvcmQ6IHRydWUsXG4gIC8vICAgICAgICAgICBpc1BhZ2luYXRpb246IHRydWVcbiAgLy8gICAgICAgICB9XG4gIC8vICAgICAgIH1cbiAgLy8gICAgIF1cbiAgLy8gICB9LFxuICAvLyAgIHtcbiAgLy8gICAgIHRlbXBsYXRlSWQ6IDIsXG4gIC8vICAgICB0ZW1wbGF0ZU5hbWU6ICdSZWdpc3RyYXRpb24nLFxuICAvLyAgICAgY29udGVudDogJ1VzZXIgcmVnaXN0cmF0aW9uIGZvcm0gdGVtcGxhdGUnLFxuICAvLyAgICAgZWxlbWVudHM6IFtcbiAgLy8gICAgICAge1xuICAvLyAgICAgICAgIHR5cGU6ICdUZXh0JyxcbiAgLy8gICAgICAgICBxdWVzdGlvblRleHQ6ICdGdWxsIE5hbWUnLFxuICAvLyAgICAgICAgIHN0eWxlOiB7IHNob3dMYWJlbDogdHJ1ZSB9LFxuICAvLyAgICAgICAgIHNpemU6IDEyXG4gIC8vICAgICAgIH0sXG4gIC8vICAgICAgIHtcbiAgLy8gICAgICAgICB0eXBlOiAnVGV4dCcsXG4gIC8vICAgICAgICAgcXVlc3Rpb25UZXh0OiAnRW1haWwgQWRkcmVzcycsXG4gIC8vICAgICAgICAgc3R5bGU6IHsgc2hvd0xhYmVsOiB0cnVlIH0sXG4gIC8vICAgICAgICAgc2l6ZTogMTJcbiAgLy8gICAgICAgfSxcbiAgLy8gICAgICAge1xuICAvLyAgICAgICAgIHR5cGU6ICdEYXRlJyxcbiAgLy8gICAgICAgICBxdWVzdGlvblRleHQ6ICdEYXRlIG9mIEJpcnRoJyxcbiAgLy8gICAgICAgICBzdHlsZTogeyBzaG93TGFiZWw6IHRydWUgfVxuICAvLyAgICAgICB9XG4gIC8vICAgICBdXG4gIC8vICAgfSxcbiAgLy8gICB7XG4gIC8vICAgICB0ZW1wbGF0ZUlkOiAzLFxuICAvLyAgICAgdGVtcGxhdGVOYW1lOiAnRW1wbG95ZWUgRGV0YWlsJyxcbiAgLy8gICAgIGNvbnRlbnQ6ICdUZW1wbGF0ZSB0byBjYXB0dXJlIGVtcGxveWVlIGRldGFpbHMnLFxuICAvLyAgICAgZWxlbWVudHM6IFtcbiAgLy8gICAgICAge1xuICAvLyAgICAgICAgIHR5cGU6ICdUZXh0JyxcbiAgLy8gICAgICAgICBxdWVzdGlvblRleHQ6ICdFbXBsb3llZSBJRCcsXG4gIC8vICAgICAgICAgc3R5bGU6IHsgc2hvd0xhYmVsOiB0cnVlIH0sXG4gIC8vICAgICAgICAgc2l6ZTogNlxuICAvLyAgICAgICB9LFxuICAvLyAgICAgICB7XG4gIC8vICAgICAgICAgdHlwZTogJ1RleHQnLFxuICAvLyAgICAgICAgIHF1ZXN0aW9uVGV4dDogJ0VtcGxveWVlIE5hbWUnLFxuICAvLyAgICAgICAgIHN0eWxlOiB7IHNob3dMYWJlbDogdHJ1ZSB9LFxuICAvLyAgICAgICAgIHNpemU6IDZcbiAgLy8gICAgICAgfSxcbiAgLy8gICAgICAge1xuICAvLyAgICAgICAgIHR5cGU6ICdUYWJsZScsXG4gIC8vICAgICAgICAgcXVlc3Rpb25UZXh0OiAnUHJldmlvdXMgV29yayBFeHBlcmllbmNlJyxcbiAgLy8gICAgICAgICBmaWVsZHNNZXRhOiBKU09OLnN0cmluZ2lmeShbXG4gIC8vICAgICAgICAgICB7XG4gIC8vICAgICAgICAgICAgIGxhYmVsOiAnQ29tcGFueSBOYW1lJyxcbiAgLy8gICAgICAgICAgICAgZmllbGROYW1lOiAnY29tcGFueScsXG4gIC8vICAgICAgICAgICAgIHR5cGU6ICdUZXh0JyxcbiAgLy8gICAgICAgICAgICAgdW5pcXVlSWRlbnRpZmllcjogJ2VtcDEnXG4gIC8vICAgICAgICAgICB9LFxuICAvLyAgICAgICAgICAge1xuICAvLyAgICAgICAgICAgICBsYWJlbDogJ1llYXJzIFdvcmtlZCcsXG4gIC8vICAgICAgICAgICAgIGZpZWxkTmFtZTogJ3llYXJzJyxcbiAgLy8gICAgICAgICAgICAgdHlwZTogJ051bWJlcicsXG4gIC8vICAgICAgICAgICAgIHVuaXF1ZUlkZW50aWZpZXI6ICdlbXAyJ1xuICAvLyAgICAgICAgICAgfVxuICAvLyAgICAgICAgIF0pLFxuICAvLyAgICAgICAgIHRhYmxlQ29uZmlnOiB7XG4gIC8vICAgICAgICAgICBpc05vc0luZGljYXRvcjogZmFsc2UsXG4gIC8vICAgICAgICAgICBhZGRJbmxpbmVSZWNvcmQ6IHRydWUsXG4gIC8vICAgICAgICAgICBpc1BhZ2luYXRpb246IHRydWVcbiAgLy8gICAgICAgICB9XG4gIC8vICAgICAgIH1cbiAgLy8gICAgIF1cbiAgLy8gICB9LFxuICAvLyAgIHtcbiAgLy8gICAgIHRlbXBsYXRlSWQ6IDQsXG4gIC8vICAgICB0ZW1wbGF0ZU5hbWU6ICdGZWVkYmFjaycsXG4gIC8vICAgICBjb250ZW50OiAnRmVlZGJhY2sgZm9ybSBmb3Igc2VydmljZXMgb3IgcHJvZHVjdHMnLFxuICAvLyAgICAgZWxlbWVudHM6IFtcbiAgLy8gICAgICAge1xuICAvLyAgICAgICAgIHR5cGU6ICdUZXh0JyxcbiAgLy8gICAgICAgICBxdWVzdGlvblRleHQ6ICdZb3VyIE5hbWUnLFxuICAvLyAgICAgICAgIHN0eWxlOiB7IHNob3dMYWJlbDogdHJ1ZSB9LFxuICAvLyAgICAgICAgIHNpemU6IDEyXG4gIC8vICAgICAgIH0sXG4gIC8vICAgICAgIHtcbiAgLy8gICAgICAgICB0eXBlOiAnVGV4dCcsXG4gIC8vICAgICAgICAgcXVlc3Rpb25UZXh0OiAnRmVlZGJhY2snLFxuICAvLyAgICAgICAgIHN0eWxlOiB7IHNob3dMYWJlbDogdHJ1ZSB9LFxuICAvLyAgICAgICAgIHNpemU6IDEyXG4gIC8vICAgICAgIH0sXG4gIC8vICAgICAgIHtcbiAgLy8gICAgICAgICB0eXBlOiAnVGFibGUnLFxuICAvLyAgICAgICAgIHF1ZXN0aW9uVGV4dDogJ1NlcnZpY2UgUmF0aW5ncycsXG4gIC8vICAgICAgICAgZmllbGRzTWV0YTogSlNPTi5zdHJpbmdpZnkoW1xuICAvLyAgICAgICAgICAge1xuICAvLyAgICAgICAgICAgICBsYWJlbDogJ1NlcnZpY2UnLFxuICAvLyAgICAgICAgICAgICBmaWVsZE5hbWU6ICdzZXJ2aWNlJyxcbiAgLy8gICAgICAgICAgICAgdHlwZTogJ1RleHQnLFxuICAvLyAgICAgICAgICAgICB1bmlxdWVJZGVudGlmaWVyOiAnZmIxJ1xuICAvLyAgICAgICAgICAgfSxcbiAgLy8gICAgICAgICAgIHtcbiAgLy8gICAgICAgICAgICAgbGFiZWw6ICdSYXRpbmcgKDEtNSknLFxuICAvLyAgICAgICAgICAgICBmaWVsZE5hbWU6ICdyYXRpbmcnLFxuICAvLyAgICAgICAgICAgICB0eXBlOiAnTnVtYmVyJyxcbiAgLy8gICAgICAgICAgICAgdW5pcXVlSWRlbnRpZmllcjogJ2ZiMidcbiAgLy8gICAgICAgICAgIH1cbiAgLy8gICAgICAgICBdKSxcbiAgLy8gICAgICAgICB0YWJsZUNvbmZpZzoge1xuICAvLyAgICAgICAgICAgaXNOb3NJbmRpY2F0b3I6IGZhbHNlLFxuICAvLyAgICAgICAgICAgYWRkSW5saW5lUmVjb3JkOiB0cnVlLFxuICAvLyAgICAgICAgICAgaXNQYWdpbmF0aW9uOiBmYWxzZVxuICAvLyAgICAgICAgIH1cbiAgLy8gICAgICAgfVxuICAvLyAgICAgXVxuICAvLyAgIH1cbiAgLy8gXTtcbiAgXG4gIHRlbXBsYXRlcyA9IFtdO1xuICBcbiAgdW5pcXVlX2lkOiBhbnk7XG4gIGJvb2s6IGFueTtcbiAgZm9ybUVsZW1lbnRzOiBhbnlbXSA9IFtdO1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLm5ld0Jvb2soKTsgXG4gIH1cbiAgZ2V0VGVtcGxhdGVzKCkge1xuICAgIHJldHVybiB0aGlzLnRlbXBsYXRlcztcbiAgfVxuICBpbml0aWFsaXplRWxlbWVudEZyb21UZW1wbGF0ZSh0ZW1wbGF0ZUVsZW1lbnQ6IGFueSwgaW5kZXg6IG51bWJlcik6IGFueSB7XG4gICAgY29uc3QgdW5pcXVlX2lkID0gdXVpZHY0KCk7XG4gICAgY29uc3QgYmFzZUVsZW1lbnQgPSB7XG4gICAgICBpZDogdW5pcXVlX2lkLFxuICAgICAgdWlkOiB1bmlxdWVfaWQsXG4gICAgICB0eXBlOiB0ZW1wbGF0ZUVsZW1lbnQudHlwZSxcbiAgICAgIG5hbWU6IG51bGwsXG4gICAgICBxdWVzdGlvblRleHQ6IHRlbXBsYXRlRWxlbWVudC5xdWVzdGlvblRleHQgfHwgbnVsbCxcbiAgICAgIHF1ZXN0aW9uOiB0ZW1wbGF0ZUVsZW1lbnQucXVlc3Rpb24gfHwgbnVsbCxcbiAgICAgIGhlbHBUZXh0OiBudWxsLFxuICAgICAgZXJyb3JNZXNzYWdlOiBudWxsLFxuICAgICAgaXNSZWFkT25seTogZmFsc2UsXG4gICAgICBpc0hpZGRlbjogZmFsc2UsXG4gICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICByZWZlcmVuY2VGaWVsZDogbnVsbCxcbiAgICAgIGFkZGl0aW9uYWxSaWNoQ29udGVudDogbnVsbCxcbiAgICAgIGdyb3VwTmFtZTogbnVsbCxcbiAgICAgIGlzRGF0ZUJhY2t3YXJkOiBmYWxzZSxcbiAgICAgIHRpdGxlOiBudWxsLFxuICAgICAgc3ViVGl0bGU6IG51bGwsXG4gICAgICBzaXplOiB0ZW1wbGF0ZUVsZW1lbnQuc2l6ZSB8fCAxMixcbiAgICAgIGlzRGF0ZUZvcndhcmQ6IGZhbHNlLFxuICAgICAgaXNPcHRpb25hbDogZmFsc2UsXG4gICAgICBpc1RpdGxlOiBmYWxzZSxcbiAgICAgIG5leHRRdWVzdGlvbjogbnVsbCxcbiAgICAgIGFsbG93ZWRGaWxlRXh0ZW5zaW9uczogbnVsbCxcbiAgICAgIHF1ZXN0aW9uTnVtYmVyOiBpbmRleCArIDEsXG4gICAgICBvcmRlcjogaW5kZXggKyAxLFxuICAgICAgc3R5bGU6IHtcbiAgICAgICAgbGFiZWxDbGFzczogbnVsbCxcbiAgICAgICAgbGFiZWxTdHlsZTogbnVsbCxcbiAgICAgICAgbGFiZWxWYWx1ZVN0eWxlOiBudWxsLFxuICAgICAgICBpbnB1dENsYXNzOiBudWxsLFxuICAgICAgICBpbnB1dFN0eWxlOiBudWxsLFxuICAgICAgICBzaG93TGFiZWw6IHRlbXBsYXRlRWxlbWVudD8uc3R5bGU/LnNob3dMYWJlbCA/PyB0cnVlLFxuICAgICAgICBib29rU3R5bGU6IG51bGwsXG4gICAgICAgIGRpcmVjdGlvbjogJ2x0cicsXG4gICAgICAgIHF1ZXN0aW9uU3R5bGU6IG51bGwsXG4gICAgICB9LFxuICAgICAgc3ViVGV4dDoge1xuICAgICAgICBlbmRwb2ludDogbnVsbCxcbiAgICAgICAgdmFyaWFibGU6IG51bGwsXG4gICAgICAgIGZpZWxkOiBudWxsLFxuICAgICAgICBkZWZhdWx0RmllbGQ6IG51bGwsXG4gICAgICAgIHNvdXJjZVF1ZXN0aW9uSWQ6IG51bGwsXG4gICAgICAgIHZhbHVlRmllbGQ6IG51bGwsXG4gICAgICAgIGxhYmVsRmllbGQ6IG51bGwsXG4gICAgICAgIGlzRGVwZW5kZW50RmllbGQ6IGZhbHNlLFxuICAgICAgICBkZXBlbmRlbnRWYWx1ZTogbnVsbCxcbiAgICAgICAgcXVlcnlGaWVsZDogbnVsbCxcbiAgICAgICAgcXVlcnlWYWx1ZTogbnVsbCxcbiAgICAgICAgcXVlcnlWYWx1ZVJlZmVyZW5jZTogbnVsbCxcbiAgICAgICAgdW5pcXVlS2V5OiBudWxsLFxuICAgICAgfSxcbiAgICAgIGltYWdlRGF0YTogbnVsbCxcbiAgICAgIGJvb2xlYW46IGZhbHNlLFxuICAgICAgb3B0aW9uczogdGVtcGxhdGVFbGVtZW50Lm9wdGlvbnNcbiAgICAgICAgPyB0aGlzLmluaXRpYWxpemVPcHRpb25zKHRlbXBsYXRlRWxlbWVudC5vcHRpb25zKVxuICAgICAgICA6IG51bGwsXG4gICAgICBpbWFnZVNpemU6XG4gICAgICAgIHRlbXBsYXRlRWxlbWVudC50eXBlID09PSAnSW1hZ2UnID8geyB3aWR0aDogMTUwLCBoZWlnaHQ6IDE1MCB9IDogbnVsbCxcbiAgICAgIHRhYmxlQ29uZmlnOiB0ZW1wbGF0ZUVsZW1lbnQudHlwZSA9PT0gJ1RhYmxlJyA/IHtcbiAgICAgICAgaXNOb3NJbmRpY2F0b3I6IHRydWUsXG4gICAgICAgIGFkZElubGluZVJlY29yZDogdHJ1ZSxcbiAgICAgICAgaXNQYWdpbmF0aW9uOiB0cnVlLFxuICAgICAgICBhY3Rpb25CdXR0b246IHRydWUsXG4gICAgICAgIGlzRGVsZXRlUm93OiB0cnVlLFxuICAgICAgICBpc0VkaXRSb3c6IHRydWUsXG4gICAgICAgIHNlYXJjaEJhcjogdHJ1ZSxcbiAgICAgICAgaXNCdXR0b25zOiB0cnVlLFxuICAgICAgICBpdGVtc1BlclBhZ2U6IDEwLFxuICAgICAgfSA6IG51bGwsXG4gICAgICBmaWVsZHNNZXRhOiB0ZW1wbGF0ZUVsZW1lbnQuZmllbGRzTWV0YVxuICAgICAgICA/IHRoaXMuaW5pdGlhbGl6ZUZpZWxkc01ldGEodGVtcGxhdGVFbGVtZW50LmZpZWxkc01ldGEpXG4gICAgICAgIDogbnVsbCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHsgLi4uYmFzZUVsZW1lbnQsIC4uLnRlbXBsYXRlRWxlbWVudCB9O1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplT3B0aW9ucyhvcHRpb25zOiBhbnlbXSk6IGFueVtdIHtcbiAgICByZXR1cm4gb3B0aW9ucy5tYXAob3B0aW9uID0+ICh7XG4gICAgICAuLi5vcHRpb24sXG4gICAgICBpZDogdXVpZHY0KClcbiAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVGaWVsZHNNZXRhKGZpZWxkc01ldGE6IHN0cmluZyk6IGFueSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBhcnNlZCA9IEpTT04ucGFyc2UoZmllbGRzTWV0YSk7XG4gICAgICByZXR1cm4gcGFyc2VkLm1hcCgoZmllbGQ6IGFueSkgPT4gKHtcbiAgICAgICAgLi4uZmllbGQsXG4gICAgICAgIHVuaXF1ZUlkZW50aWZpZXI6IHV1aWR2NCgpXG4gICAgICB9KSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgcGFyc2luZyBmaWVsZHNNZXRhOicsIGUpO1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgfVxuLy8gSW4gVGVtcGxhdGVTZXJ2aWNlXG5kb3dubG9hZCgpIHtcbiAgaWYgKCF0aGlzLmZvcm1FbGVtZW50cyB8fCAhQXJyYXkuaXNBcnJheSh0aGlzLmZvcm1FbGVtZW50cykpIHtcbiAgICBjb25zb2xlLmVycm9yKCdJbnZhbGlkIGZvcm1FbGVtZW50cycpO1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gQ2xlYW4gZWxlbWVudHMgZm9yIGV4cG9ydCAoc2FtZSBhcyBGb3JtQnVpbGRlclNlcnZpY2UpXG4gIHRoaXMuZm9ybUVsZW1lbnRzLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgLy8gUmVtb3ZlIHFiUmVmZXJlbmNlUXVlc3Rpb25zIGZvciAnYm9vaycgdHlwZVxuICAgIGlmIChlbGVtZW50LnR5cGUgPT09ICdib29rJykge1xuICAgICAgZGVsZXRlIGVsZW1lbnQucWJSZWZlcmVuY2VRdWVzdGlvbnM7XG4gICAgfVxuXG4gICAgLy8gUHJvY2VzcyBzdWJUZXh0IHRvIG1hdGNoIEZvcm1CdWlsZGVyU2VydmljZSdzIGZvcm1hdFxuICAgIGlmIChlbGVtZW50LnN1YlRleHQpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIENvbnZlcnQgc3ViVGV4dCB0byBvYmplY3QgaWYgc3RyaW5nXG4gICAgICAgIGVsZW1lbnQuc3ViVGV4dCA9IHR5cGVvZiBlbGVtZW50LnN1YlRleHQgPT09ICdzdHJpbmcnIFxuICAgICAgICAgID8gSlNPTi5wYXJzZShlbGVtZW50LnN1YlRleHQpIFxuICAgICAgICAgIDogey4uLmVsZW1lbnQuc3ViVGV4dH07XG5cbiAgICAgICAgLy8gQ29udmVydCBmaWVsZCB0byBhcnJheSBpZiBzdHJpbmdcbiAgICAgICAgaWYgKHR5cGVvZiBlbGVtZW50LnN1YlRleHQuZmllbGQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgZWxlbWVudC5zdWJUZXh0LmZpZWxkID0gZWxlbWVudC5zdWJUZXh0LmZpZWxkLnNwbGl0KCcsJykubWFwKGkgPT4gaS50cmltKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3RyaW5naWZ5IHN1YlRleHQgZm9yIHN0b3JhZ2VcbiAgICAgICAgZWxlbWVudC5zdWJUZXh0ID0gSlNPTi5zdHJpbmdpZnkoZWxlbWVudC5zdWJUZXh0KTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgcHJvY2Vzc2luZyBzdWJUZXh0OicsIGUpO1xuICAgICAgICBlbGVtZW50LnN1YlRleHQgPSAne30nO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgLy8gVXBkYXRlIGJvb2sgc3RydWN0dXJlIChzYW1lIGFzIEZvcm1CdWlsZGVyU2VydmljZSlcbiAgaWYgKCF0aGlzLmJvb2spIHRoaXMubmV3Qm9vaygpOyAvLyBFbnN1cmUgYm9vayBleGlzdHNcbiAgXG4gIGlmICh0aGlzLmJvb2suYm9va1F1ZXN0aW9uc01hcCAmJiB0aGlzLnVuaXF1ZV9pZCkge1xuICAgIHRoaXMuYm9vay5ib29rUXVlc3Rpb25zTWFwW3RoaXMudW5pcXVlX2lkXS5zdWJRdWVzdGlvbnMgPSB0aGlzLmZvcm1FbGVtZW50cztcbiAgfVxuXG4gIC8vIFByZXBhcmUgc3FPcHRpb25zIChzYW1lIGZvcm1hdCBhcyBGb3JtQnVpbGRlclNlcnZpY2UpXG4gIGNvbnN0IHNxT3B0aW9uczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICB0aGlzLmZvcm1FbGVtZW50cy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgIGlmIChbJ0Ryb3Bkb3duJywgJ1JhZGlvJywgJ0NoZWNrYm94J10uaW5jbHVkZXMoZWxlbWVudC50eXBlKSkge1xuICAgICAgc3FPcHRpb25zW2VsZW1lbnQuaWRdID0ge1xuICAgICAgICAuLi5lbGVtZW50LFxuICAgICAgICBvcHRpb25zOiBlbGVtZW50Lm9wdGlvbnM/Lm1hcChvcHQgPT4gKHtcbiAgICAgICAgICAuLi5vcHQsXG4gICAgICAgICAgLy8gRW5zdXJlIFVVSURzIGFyZSBwcmVzZXJ2ZWRcbiAgICAgICAgICBpZDogb3B0LmlkIHx8IHV1aWR2NCgpLFxuICAgICAgICAgIHVuaXF1ZUlkZW50aWZpZXI6IG9wdC51bmlxdWVJZGVudGlmaWVyIHx8IHV1aWR2NCgpXG4gICAgICAgIH0pKSB8fCBbXVxuICAgICAgfTtcbiAgICB9XG4gIH0pO1xuXG4gIHRoaXMuYm9vay5zcU9wdGlvbnMgPSBzcU9wdGlvbnM7XG4gIFxuICByZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmJvb2spKTsgLy8gUmV0dXJuIGNsZWFuIGNvcHlcbn1cblxuLy8gQWRkIHRoZSBuZXdCb29rKCkgbWV0aG9kIGlmIG1pc3NpbmdcbnByaXZhdGUgbmV3Qm9vaygpIHtcbiAgdGhpcy51bmlxdWVfaWQgPSB1dWlkdjQoKTtcbiAgdGhpcy5ib29rID0ge1xuICAgIGJvb2tRdWVzdGlvbnNNYXA6IHtcbiAgICAgIFt0aGlzLnVuaXF1ZV9pZF06IHtcbiAgICAgICAgc3ViUXVlc3Rpb25zOiBbXSxcbiAgICAgICAgdHlwZTogJ0Jvb2snXG4gICAgICB9XG4gICAgfSxcbiAgICBxdWVzdGlvbmJvb2s6IHtcbiAgICAgIGFjdGlvbjogSlNPTi5zdHJpbmdpZnkoW1xuICAgICAgICB7IG5hbWU6IFwiQ2FuY2VsXCIsIGV2ZW50dG9lbWl0OiBcImNsb3NlXCIgfSxcbiAgICAgICAgeyBuYW1lOiBcIlNhdmVcIiwgZXZlbnR0b2VtaXQ6IFwic3VibWl0XCIsIG1ldGhvZDogXCJQT1NUXCIgfVxuICAgICAgXSlcbiAgICB9LFxuICAgIHJlY29yZHM6IFt7XG4gICAgICBpZDogdGhpcy51bmlxdWVfaWQsXG4gICAgICB0aXRsZTogJ1VudGl0bGVkIFRlbXBsYXRlJyxcbiAgICAgIHN1YlF1ZXN0aW9uczogW11cbiAgICB9XVxuICB9O1xufVxuICBcbiAgXG59XG4iXX0=
@@ -1,61 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./data.service";
5
- export class TranslationService {
6
- dataService;
7
- translations;
8
- currentLang = 'en'; // Default language
9
- translationsLoaded = new BehaviorSubject(null); // Signal when translations are loaded
10
- translationsLoaded$ = this.translationsLoaded.asObservable(); // Observable for components to subscribe to
11
- constructor(dataService) {
12
- this.dataService = dataService;
13
- }
14
- // Load translations from localStorage
15
- load() {
16
- return new Promise((resolve) => {
17
- const stored = localStorage.getItem('translations'); // Assuming 'translations' is your key
18
- if (stored) {
19
- this.translations = JSON.parse(stored);
20
- }
21
- this.translationsLoaded.next(); // Notify that loading is complete
22
- resolve();
23
- });
24
- }
25
- // Set translations and notify subscribers
26
- setTranslations(translations) {
27
- this.translations = translations;
28
- localStorage.setItem('translations', JSON.stringify(translations));
29
- this.translationsLoaded.next(); // Notify subscribers
30
- }
31
- // Get current language
32
- getLanguage() {
33
- return this.currentLang;
34
- }
35
- // Set language (if applicable)
36
- setLanguage(lang) {
37
- this.currentLang = lang;
38
- this.load();
39
- this.translationsLoaded.next(); // Optional: notify on language change
40
- }
41
- translate(key) {
42
- const langTranslations = this.translations?.[this.currentLang];
43
- if (langTranslations && this.dataService.getValue(langTranslations, key)) {
44
- return this.dataService.getValue(langTranslations, key);
45
- }
46
- const fallback = this.translations?.['en'];
47
- if (fallback && this.dataService.getValue(fallback, key)) {
48
- return this.dataService.getValue(fallback, key);
49
- }
50
- return null;
51
- }
52
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TranslationService, deps: [{ token: i1.DataService }], target: i0.ɵɵFactoryTarget.Injectable });
53
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TranslationService, providedIn: 'root' });
54
- }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TranslationService, decorators: [{
56
- type: Injectable,
57
- args: [{
58
- providedIn: 'root'
59
- }]
60
- }], ctorParameters: () => [{ type: i1.DataService }] });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9zZXJ2aWNlcy90cmFuc2xhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBTXZDLE1BQU0sT0FBTyxrQkFBa0I7SUFLVDtJQUpaLFlBQVksQ0FBTTtJQUNsQixXQUFXLEdBQVcsSUFBSSxDQUFDLENBQUMsbUJBQW1CO0lBQy9DLGtCQUFrQixHQUFHLElBQUksZUFBZSxDQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsc0NBQXNDO0lBQzdGLG1CQUFtQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLDRDQUE0QztJQUNqSCxZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUFHLENBQUM7SUFFaEQsc0NBQXNDO0lBQ3RDLElBQUk7UUFDRixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDN0IsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLHNDQUFzQztZQUMzRixJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNYLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN6QyxDQUFDO1lBQ0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsa0NBQWtDO1lBQ2xFLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsMENBQTBDO0lBQzFDLGVBQWUsQ0FBQyxZQUFpQjtRQUMvQixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxZQUFZLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMscUJBQXFCO0lBQ3ZELENBQUM7SUFFRCx1QkFBdUI7SUFDdkIsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQsK0JBQStCO0lBQy9CLFdBQVcsQ0FBQyxJQUFZO1FBQ3RCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUNYLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLHNDQUFzQztJQUN4RSxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQVc7UUFDbkIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQy9ELElBQUksZ0JBQWdCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN6RSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFDRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0MsSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDekQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzt3R0FoRFUsa0JBQWtCOzRHQUFsQixrQkFBa0IsY0FGakIsTUFBTTs7NEZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuL2RhdGEuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgdHJhbnNsYXRpb25zOiBhbnk7XG4gIHByaXZhdGUgY3VycmVudExhbmc6IHN0cmluZyA9ICdlbic7IC8vIERlZmF1bHQgbGFuZ3VhZ2VcbiAgcHJpdmF0ZSB0cmFuc2xhdGlvbnNMb2FkZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHZvaWQ+KG51bGwpOyAvLyBTaWduYWwgd2hlbiB0cmFuc2xhdGlvbnMgYXJlIGxvYWRlZFxuICBwdWJsaWMgdHJhbnNsYXRpb25zTG9hZGVkJCA9IHRoaXMudHJhbnNsYXRpb25zTG9hZGVkLmFzT2JzZXJ2YWJsZSgpOyAvLyBPYnNlcnZhYmxlIGZvciBjb21wb25lbnRzIHRvIHN1YnNjcmliZSB0b1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSkge31cblxuICAvLyBMb2FkIHRyYW5zbGF0aW9ucyBmcm9tIGxvY2FsU3RvcmFnZVxuICBsb2FkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgY29uc3Qgc3RvcmVkID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3RyYW5zbGF0aW9ucycpOyAvLyBBc3N1bWluZyAndHJhbnNsYXRpb25zJyBpcyB5b3VyIGtleVxuICAgICAgaWYgKHN0b3JlZCkge1xuICAgICAgICB0aGlzLnRyYW5zbGF0aW9ucyA9IEpTT04ucGFyc2Uoc3RvcmVkKTtcbiAgICAgIH1cbiAgICAgIHRoaXMudHJhbnNsYXRpb25zTG9hZGVkLm5leHQoKTsgLy8gTm90aWZ5IHRoYXQgbG9hZGluZyBpcyBjb21wbGV0ZVxuICAgICAgcmVzb2x2ZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gU2V0IHRyYW5zbGF0aW9ucyBhbmQgbm90aWZ5IHN1YnNjcmliZXJzXG4gIHNldFRyYW5zbGF0aW9ucyh0cmFuc2xhdGlvbnM6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNsYXRpb25zID0gdHJhbnNsYXRpb25zO1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCd0cmFuc2xhdGlvbnMnLCBKU09OLnN0cmluZ2lmeSh0cmFuc2xhdGlvbnMpKTtcbiAgICB0aGlzLnRyYW5zbGF0aW9uc0xvYWRlZC5uZXh0KCk7IC8vIE5vdGlmeSBzdWJzY3JpYmVyc1xuICB9XG5cbiAgLy8gR2V0IGN1cnJlbnQgbGFuZ3VhZ2VcbiAgZ2V0TGFuZ3VhZ2UoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50TGFuZztcbiAgfVxuXG4gIC8vIFNldCBsYW5ndWFnZSAoaWYgYXBwbGljYWJsZSlcbiAgc2V0TGFuZ3VhZ2UobGFuZzogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jdXJyZW50TGFuZyA9IGxhbmc7XG4gICAgdGhpcy5sb2FkKClcbiAgICB0aGlzLnRyYW5zbGF0aW9uc0xvYWRlZC5uZXh0KCk7IC8vIE9wdGlvbmFsOiBub3RpZnkgb24gbGFuZ3VhZ2UgY2hhbmdlXG4gIH1cblxuICB0cmFuc2xhdGUoa2V5OiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBjb25zdCBsYW5nVHJhbnNsYXRpb25zID0gdGhpcy50cmFuc2xhdGlvbnM/Llt0aGlzLmN1cnJlbnRMYW5nXTtcbiAgICBpZiAobGFuZ1RyYW5zbGF0aW9ucyAmJiB0aGlzLmRhdGFTZXJ2aWNlLmdldFZhbHVlKGxhbmdUcmFuc2xhdGlvbnMsIGtleSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGFTZXJ2aWNlLmdldFZhbHVlKGxhbmdUcmFuc2xhdGlvbnMsIGtleSk7XG4gICAgfVxuICAgIGNvbnN0IGZhbGxiYWNrID0gdGhpcy50cmFuc2xhdGlvbnM/LlsnZW4nXTtcbiAgICBpZiAoZmFsbGJhY2sgJiYgdGhpcy5kYXRhU2VydmljZS5nZXRWYWx1ZShmYWxsYmFjaywga2V5KSkge1xuICAgICAgcmV0dXJuIHRoaXMuZGF0YVNlcnZpY2UuZ2V0VmFsdWUoZmFsbGJhY2ssIGtleSk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG59Il19
@@ -1,29 +0,0 @@
1
- const tamI18n = {
2
- required: "தேவை",
3
- addMore: "மேலும் சேர்க்கவும்",
4
- select: "தேர்ந்தெடுக்கவும்",
5
- attachment: "இணைப்பு",
6
- chooseFiles: "கோப்புகளைத் தேர்ந்தெடுக்கவும்",
7
- uploadFile: "கோப்பை பதிவேற்றவும்",
8
- thisFieldIsRequired: "இந்த புலம் தேவை.",
9
- pickYourLocation: "உங்கள் இருப்பிடத்தைத் தேர்ந்தெடுக்கவும்",
10
- // firstName: "முதல் பெயர்",
11
- // lastName: "கடைசி பெயர்",
12
- // division: "பிரிவு",
13
- // numberPlate: "இலக்கத்தகடு",
14
- calibrated: "அளவீடு செய்யப்பட்டது",
15
- enterValue: "மதிப்பை உள்ளிடவும்",
16
- details: "விவரங்கள்", // HA 20FEB24 PTW Details to Details
17
- pleaseMakeChoice: "தயவுசெய்து தேர்வு செய்யுங்கள்",
18
- attach: "இணைக்கவும்",
19
- add: "சேர்",
20
- zeroOfZero: "0 இல் 0",
21
- selectDate: "தேதியைத் தேர்ந்தெடுக்கவும்",
22
- toBuyTicket: "டிக்கெட் வாங்க",
23
- pickLocation: "இருப்பிடத்தைத் தேர்ந்தெடுக்கவும்",
24
- enterLocation: "இருப்பிடத்தை உள்ளிடவும்",
25
- searchNearestLocation: "அருகிலுள்ள இடத்தைத் தேடுங்கள்",
26
- currentTheme: "ltr",
27
- };
28
- export default tamI18n;
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFtLmkxOG4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvdGFtLmkxOG4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLEdBQUc7SUFDWixRQUFRLEVBQUUsTUFBTTtJQUNoQixPQUFPLEVBQUUsb0JBQW9CO0lBQzdCLE1BQU0sRUFBRSxtQkFBbUI7SUFDM0IsVUFBVSxFQUFFLFNBQVM7SUFDckIsV0FBVyxFQUFFLCtCQUErQjtJQUM1QyxVQUFVLEVBQUUscUJBQXFCO0lBQ2pDLG1CQUFtQixFQUFFLGtCQUFrQjtJQUN2QyxnQkFBZ0IsRUFBRSx5Q0FBeUM7SUFDM0QsNEJBQTRCO0lBQzVCLDJCQUEyQjtJQUMzQixzQkFBc0I7SUFDdEIsOEJBQThCO0lBQzlCLFVBQVUsRUFBRSxzQkFBc0I7SUFDbEMsVUFBVSxFQUFFLG9CQUFvQjtJQUNoQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG9DQUFvQztJQUMxRCxnQkFBZ0IsRUFBRSwrQkFBK0I7SUFDakQsTUFBTSxFQUFFLFlBQVk7SUFDcEIsR0FBRyxFQUFFLE1BQU07SUFDWCxVQUFVLEVBQUUsU0FBUztJQUNyQixVQUFVLEVBQUUsNEJBQTRCO0lBQ3hDLFdBQVcsRUFBRSxnQkFBZ0I7SUFDN0IsWUFBWSxFQUFFLGtDQUFrQztJQUNoRCxhQUFhLEVBQUUseUJBQXlCO0lBQ3hDLHFCQUFxQixFQUFFLCtCQUErQjtJQUN0RCxZQUFZLEVBQUUsS0FBSztDQUN0QixDQUFBO0FBRUQsZUFBZSxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCB0YW1JMThuID0ge1xuICAgIHJlcXVpcmVkOiBcIuCupOCvh+CuteCviFwiLFxuICAgIGFkZE1vcmU6IFwi4K6u4K+H4K6y4K+B4K6u4K+NIOCumuCvh+CusOCvjeCuleCvjeCuleCuteCvgeCuruCvjVwiLFxuICAgIHNlbGVjdDogXCLgrqTgr4fgrrDgr43grqjgr43grqTgr4bgrp/gr4HgrpXgr43grpXgrrXgr4Hgrq7gr41cIixcbiAgICBhdHRhY2htZW50OiBcIuCuh+Cuo+CviOCuquCvjeCuquCvgVwiLFxuICAgIGNob29zZUZpbGVzOiBcIuCuleCvi+CuquCvjeCuquCvgeCuleCus+CviOCupOCvjSDgrqTgr4fgrrDgr43grqjgr43grqTgr4bgrp/gr4HgrpXgr43grpXgrrXgr4Hgrq7gr41cIixcbiAgICB1cGxvYWRGaWxlOiBcIuCuleCvi+CuquCvjeCuquCviCDgrqrgrqTgrr/grrXgr4fgrrHgr43grrHgrrXgr4Hgrq7gr41cIixcbiAgICB0aGlzRmllbGRJc1JlcXVpcmVkOiBcIuCuh+CuqOCvjeCupCDgrqrgr4HgrrLgrq7gr40g4K6k4K+H4K614K+ILlwiLFxuICAgIHBpY2tZb3VyTG9jYXRpb246IFwi4K6J4K6Z4K+N4K6V4K6z4K+NIOCuh+CusOCvgeCuquCvjeCuquCuv+Cun+CupOCvjeCupOCviOCupOCvjSDgrqTgr4fgrrDgr43grqjgr43grqTgr4bgrp/gr4HgrpXgr43grpXgrrXgr4Hgrq7gr41cIixcbiAgICAvLyBmaXJzdE5hbWU6IFwi4K6u4K+B4K6k4K6y4K+NIOCuquCvhuCur+CusOCvjVwiLFxuICAgIC8vIGxhc3ROYW1lOiBcIuCuleCun+CviOCumuCuvyDgrqrgr4bgrq/grrDgr41cIixcbiAgICAvLyBkaXZpc2lvbjogXCLgrqrgrr/grrDgrr/grrXgr4FcIixcbiAgICAvLyBudW1iZXJQbGF0ZTogXCLgrofgrrLgrpXgr43grpXgrqTgr43grqTgrpXgrp/gr4FcIixcbiAgICBjYWxpYnJhdGVkOiBcIuCuheCus+CuteCvgOCun+CvgSDgrprgr4bgrq/gr43grq/grqrgr43grqrgrp/gr43grp/grqTgr4FcIixcbiAgICBlbnRlclZhbHVlOiBcIuCuruCupOCuv+CuquCvjeCuquCviCDgrongrrPgr43grrPgrr/grp/grrXgr4Hgrq7gr41cIixcbiAgICBkZXRhaWxzOiBcIuCuteCuv+CuteCusOCumeCvjeCuleCus+CvjVwiLCAvLyBIQSAyMEZFQjI0IFBUVyBEZXRhaWxzIHRvIERldGFpbHNcbiAgICBwbGVhc2VNYWtlQ2hvaWNlOiBcIuCupOCur+CuteCvgeCumuCvhuCur+CvjeCupOCvgSDgrqTgr4fgrrDgr43grrXgr4Eg4K6a4K+G4K6v4K+N4K6v4K+B4K6Z4K+N4K6V4K6z4K+NXCIsXG4gICAgYXR0YWNoOiBcIuCuh+Cuo+CviOCuleCvjeCuleCuteCvgeCuruCvjVwiLFxuICAgIGFkZDogXCLgrprgr4fgrrDgr41cIixcbiAgICB6ZXJvT2ZaZXJvOiBcIjAg4K6H4K6y4K+NIDBcIixcbiAgICBzZWxlY3REYXRlOiBcIuCupOCvh+CupOCuv+Cur+CviOCupOCvjSDgrqTgr4fgrrDgr43grqjgr43grqTgr4bgrp/gr4HgrpXgr43grpXgrrXgr4Hgrq7gr41cIixcbiAgICB0b0J1eVRpY2tldDogXCLgrp/grr/grpXgr43grpXgr4bgrp/gr40g4K614K6+4K6Z4K+N4K6VXCIsXG4gICAgcGlja0xvY2F0aW9uOiBcIuCuh+CusOCvgeCuquCvjeCuquCuv+Cun+CupOCvjeCupOCviOCupOCvjSDgrqTgr4fgrrDgr43grqjgr43grqTgr4bgrp/gr4HgrpXgr43grpXgrrXgr4Hgrq7gr41cIixcbiAgICBlbnRlckxvY2F0aW9uOiBcIuCuh+CusOCvgeCuquCvjeCuquCuv+Cun+CupOCvjeCupOCviCDgrongrrPgr43grrPgrr/grp/grrXgr4Hgrq7gr41cIixcbiAgICBzZWFyY2hOZWFyZXN0TG9jYXRpb246IFwi4K6F4K6w4K+B4K6V4K6/4K6y4K+B4K6z4K+N4K6zIOCuh+Cun+CupOCvjeCupOCviOCupOCvjSDgrqTgr4fgrp/gr4Hgrpngr43grpXgrrPgr41cIixcbiAgICBjdXJyZW50VGhlbWU6IFwibHRyXCIsXG59XG5cbmV4cG9ydCBkZWZhdWx0IHRhbUkxOG47Il19
package/lib/ar.i18n.d.ts DELETED
@@ -1,24 +0,0 @@
1
- declare const arI18n: {
2
- required: string;
3
- addMore: string;
4
- select: string;
5
- attachment: string;
6
- chooseFiles: string;
7
- uploadFile: string;
8
- thisFieldIsRequired: string;
9
- pickYourLocation: string;
10
- calibrated: string;
11
- enterValue: string;
12
- details: string;
13
- pleaseMakeChoice: string;
14
- attach: string;
15
- add: string;
16
- zeroOfZero: string;
17
- selectDate: string;
18
- toBuyTicket: string;
19
- pickLocation: string;
20
- enterLocation: string;
21
- searchNearestLocation: string;
22
- currentTheme: string;
23
- };
24
- export default arI18n;
package/lib/en.i18n.d.ts DELETED
@@ -1,24 +0,0 @@
1
- declare const enI18n: {
2
- required: string;
3
- addMore: string;
4
- select: string;
5
- attachment: string;
6
- chooseFiles: string;
7
- uploadFile: string;
8
- thisFieldIsRequired: string;
9
- pickYourLocation: string;
10
- calibrated: string;
11
- enterValue: string;
12
- details: string;
13
- pleaseMakeChoice: string;
14
- attach: string;
15
- add: string;
16
- zeroOfZero: string;
17
- selectDate: string;
18
- toBuyTicket: string;
19
- pickLocation: string;
20
- enterLocation: string;
21
- searchNearestLocation: string;
22
- currentTheme: string;
23
- };
24
- export default enI18n;
@@ -1,2 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- export declare const i18nConfigService: InjectionToken<any>;
@@ -1,11 +0,0 @@
1
- import { OnInit } from '@angular/core';
2
- import { I18nService } from './i18n.service';
3
- import * as i0 from "@angular/core";
4
- export declare class I18nComponent implements OnInit {
5
- i18nService: I18nService;
6
- constructor(i18nService: I18nService);
7
- ngOnInit(): void;
8
- firstClick(event: any): void;
9
- static ɵfac: i0.ɵɵFactoryDeclaration<I18nComponent, never>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<I18nComponent, "app-i18n", never, {}, {}, never, never, false, never>;
11
- }
@@ -1,9 +0,0 @@
1
- import { ModuleWithProviders } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- export declare class I18nModule {
5
- static forRoot(config: any): ModuleWithProviders<I18nModule>;
6
- static ɵfac: i0.ɵɵFactoryDeclaration<I18nModule, never>;
7
- static ɵmod: i0.ɵɵNgModuleDeclaration<I18nModule, never, [typeof i1.CommonModule], never>;
8
- static ɵinj: i0.ɵɵInjectorDeclaration<I18nModule>;
9
- }