@rangertechnologies/ngnxt 2.1.250 → 2.1.251
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.
- package/esm2022/environments/version.mjs +2 -2
- package/esm2022/lib/components/button/nxt-button.component.mjs +4 -4
- package/esm2022/lib/components/custom-calendar/custom-calendar.component.mjs +8 -5
- package/esm2022/lib/components/custom-dropdown/custom-dropdown.component.mjs +8 -7
- package/esm2022/lib/components/custom-model/custom-model.component.mjs +5 -3
- package/esm2022/lib/components/custom-radio/custom-radio.component.mjs +3 -3
- package/esm2022/lib/components/datatable/datatable.component.mjs +17 -15
- package/esm2022/lib/components/file-upload/file-upload.component.mjs +9 -9
- package/esm2022/lib/components/icon-selector/icon-selector.component.mjs +4 -3
- package/esm2022/lib/components/list-view-filter/list-view-filter.component.mjs +9 -9
- package/esm2022/lib/components/nxt-input/nxt-input.component.mjs +24 -12
- package/esm2022/lib/components/pagination/pagination.component.mjs +3 -3
- package/esm2022/lib/components/pick-location/pick-location.component.mjs +5 -4
- package/esm2022/lib/components/search-box/search-box.component.mjs +12 -8
- package/esm2022/lib/nxt-app.module.mjs +4 -4
- package/esm2022/lib/pages/booklet/booklet.component.mjs +51 -69
- package/esm2022/lib/pages/builder/element/element.component.mjs +65 -10
- package/esm2022/lib/pages/builder/form/form.component.mjs +6 -3
- package/esm2022/lib/pages/builder/properties/common-fields.constants.mjs +62 -55
- package/esm2022/lib/pages/builder/properties/properties.component.mjs +182 -78
- package/esm2022/lib/pages/builder/templates/templates.component.mjs +5 -4
- package/esm2022/lib/pages/pdfDesigner/pdf-designer/pdf-designer.component.mjs +5 -4
- package/esm2022/lib/pages/pdfDesigner/pdf-properties/pdf-properties.component.mjs +42 -45
- package/esm2022/lib/pages/questionbook/questionbook.component.mjs +14 -32
- package/esm2022/lib/pages/questionnaire/questionnaire.component.mjs +12 -8
- package/esm2022/lib/pipe/custom-translate.pipe.mjs +16 -10
- package/esm2022/lib/services/change/change.service.mjs +46 -0
- package/esm2022/lib/services/country/country.service.mjs +135 -0
- package/esm2022/lib/services/data/data.service.mjs +100 -0
- package/esm2022/lib/services/form-builder/form-builder.service.mjs +485 -0
- package/esm2022/lib/services/pdf-designer/pdf-designer.service.mjs +398 -0
- package/esm2022/lib/services/salesforce/salesforce.service.mjs +41 -0
- package/esm2022/lib/services/shared/shared.service.mjs +100 -0
- package/esm2022/lib/services/storage/storage.service.mjs +59 -0
- package/esm2022/lib/services/template/template.service.mjs +351 -0
- package/esm2022/lib/services/translation/translation.service.mjs +121 -0
- package/esm2022/public-api.mjs +2 -2
- package/fesm2022/rangertechnologies-ngnxt.mjs +1299 -1008
- package/fesm2022/rangertechnologies-ngnxt.mjs.map +1 -1
- package/lib/components/button/nxt-button.component.d.ts +1 -1
- package/lib/components/custom-calendar/custom-calendar.component.d.ts +1 -1
- package/lib/components/custom-dropdown/custom-dropdown.component.d.ts +2 -2
- package/lib/components/custom-radio/custom-radio.component.d.ts +2 -2
- package/lib/components/datatable/datatable.component.d.ts +3 -3
- package/lib/components/file-upload/file-upload.component.d.ts +2 -2
- package/lib/components/image-cropper/component/image-cropper.component.d.ts +1 -1
- package/lib/components/nxt-input/nxt-input.component.d.ts +2 -2
- package/lib/components/search-box/search-box.component.d.ts +4 -4
- package/lib/nxt-app.module.d.ts +1 -1
- package/lib/pages/booklet/booklet.component.d.ts +9 -9
- package/lib/pages/builder/element/element.component.d.ts +10 -4
- package/lib/pages/builder/form/form.component.d.ts +2 -1
- package/lib/pages/builder/properties/common-fields.constants.d.ts +18 -0
- package/lib/pages/builder/properties/properties.component.d.ts +33 -6
- package/lib/pages/builder/templates/templates.component.d.ts +1 -1
- package/lib/pages/pdfDesigner/pdf-designer/pdf-designer.component.d.ts +1 -1
- package/lib/pages/pdfDesigner/pdf-properties/pdf-properties.component.d.ts +19 -2
- package/lib/pages/questionbook/questionbook.component.d.ts +6 -8
- package/lib/pages/questionnaire/questionnaire.component.d.ts +6 -5
- package/lib/pipe/custom-translate.pipe.d.ts +2 -3
- package/lib/services/{form-builder.service.d.ts → form-builder/form-builder.service.d.ts} +2 -1
- package/lib/services/{pdf-designer.service.d.ts → pdf-designer/pdf-designer.service.d.ts} +1 -1
- package/lib/services/{storage.service.d.ts → storage/storage.service.d.ts} +2 -2
- package/lib/services/{translation.service.d.ts → translation/translation.service.d.ts} +12 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -1
- package/rangertechnologies-ngnxt-2.1.251.tgz +0 -0
- package/esm2022/lib/interfaces/apimeta.mjs +0 -2
- package/esm2022/lib/services/change.service.mjs +0 -46
- package/esm2022/lib/services/country.service.mjs +0 -135
- package/esm2022/lib/services/data.service.mjs +0 -100
- package/esm2022/lib/services/form-builder.service.mjs +0 -402
- package/esm2022/lib/services/pdf-designer.service.mjs +0 -398
- package/esm2022/lib/services/salesforce.service.mjs +0 -41
- package/esm2022/lib/services/shared.service.mjs +0 -100
- package/esm2022/lib/services/storage.service.mjs +0 -59
- package/esm2022/lib/services/template.service.mjs +0 -351
- package/esm2022/lib/services/translation.service.mjs +0 -61
- package/lib/interfaces/apimeta.d.ts +0 -15
- package/rangertechnologies-ngnxt-2.1.250.tgz +0 -0
- /package/lib/services/{change.service.d.ts → change/change.service.d.ts} +0 -0
- /package/lib/services/{country.service.d.ts → country/country.service.d.ts} +0 -0
- /package/lib/services/{data.service.d.ts → data/data.service.d.ts} +0 -0
- /package/lib/services/{salesforce.service.d.ts → salesforce/salesforce.service.d.ts} +0 -0
- /package/lib/services/{shared.service.d.ts → shared/shared.service.d.ts} +0 -0
- /package/lib/services/{template.service.d.ts → template/template.service.d.ts} +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { HttpClient } from '@angular/common/http';
|
|
2
2
|
import { ElementRef, EventEmitter } from '@angular/core';
|
|
3
3
|
import { CropperPosition, Dimensions, ImageTransform } from '../../../components/image-cropper/interfaces';
|
|
4
|
-
import { PdfDesignerService } from '../../../services/pdf-designer.service';
|
|
5
|
-
import { TemplateService } from '../../../services/template.service';
|
|
4
|
+
import { PdfDesignerService } from '../../../services/pdf-designer/pdf-designer.service';
|
|
5
|
+
import { TemplateService } from '../../../services/template/template.service';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export declare class PdfPropertiesComponent {
|
|
8
8
|
private http;
|
|
@@ -54,6 +54,7 @@ export declare class PdfPropertiesComponent {
|
|
|
54
54
|
Header: {
|
|
55
55
|
elementProps: {
|
|
56
56
|
label: string;
|
|
57
|
+
labelPath: string;
|
|
57
58
|
placeholder: string;
|
|
58
59
|
type: string;
|
|
59
60
|
key: string;
|
|
@@ -62,35 +63,41 @@ export declare class PdfPropertiesComponent {
|
|
|
62
63
|
text: {
|
|
63
64
|
elementProps: ({
|
|
64
65
|
label: string;
|
|
66
|
+
labelPath: string;
|
|
65
67
|
placeholder: string;
|
|
66
68
|
type: string;
|
|
67
69
|
key: string;
|
|
68
70
|
} | {
|
|
69
71
|
label: string;
|
|
72
|
+
labelPath: string;
|
|
70
73
|
type: string;
|
|
71
74
|
key: string;
|
|
72
75
|
placeholder?: undefined;
|
|
73
76
|
})[];
|
|
74
77
|
fieldProps: ({
|
|
75
78
|
label: string;
|
|
79
|
+
labelPath: string;
|
|
76
80
|
type: string;
|
|
77
81
|
key: string;
|
|
78
82
|
placeholder?: undefined;
|
|
79
83
|
subQuestion?: undefined;
|
|
80
84
|
} | {
|
|
81
85
|
label: string;
|
|
86
|
+
labelPath: string;
|
|
82
87
|
placeholder: string;
|
|
83
88
|
type: string;
|
|
84
89
|
key?: undefined;
|
|
85
90
|
subQuestion?: undefined;
|
|
86
91
|
} | {
|
|
87
92
|
label: string;
|
|
93
|
+
labelPath: string;
|
|
88
94
|
placeholder: string;
|
|
89
95
|
type: string;
|
|
90
96
|
key: string;
|
|
91
97
|
subQuestion?: undefined;
|
|
92
98
|
} | {
|
|
93
99
|
label: string;
|
|
100
|
+
labelPath: string;
|
|
94
101
|
placeholder: string;
|
|
95
102
|
type: string;
|
|
96
103
|
key: string;
|
|
@@ -98,6 +105,7 @@ export declare class PdfPropertiesComponent {
|
|
|
98
105
|
})[];
|
|
99
106
|
appearance: ({
|
|
100
107
|
label: string;
|
|
108
|
+
labelPath: string;
|
|
101
109
|
type: string;
|
|
102
110
|
key: string;
|
|
103
111
|
placeholder: string;
|
|
@@ -105,6 +113,7 @@ export declare class PdfPropertiesComponent {
|
|
|
105
113
|
value?: undefined;
|
|
106
114
|
} | {
|
|
107
115
|
label: string;
|
|
116
|
+
labelPath: string;
|
|
108
117
|
type: string;
|
|
109
118
|
key: string;
|
|
110
119
|
value: string;
|
|
@@ -112,6 +121,7 @@ export declare class PdfPropertiesComponent {
|
|
|
112
121
|
options?: undefined;
|
|
113
122
|
} | {
|
|
114
123
|
label: string;
|
|
124
|
+
labelPath: string;
|
|
115
125
|
type: string;
|
|
116
126
|
key: string;
|
|
117
127
|
value: number;
|
|
@@ -119,16 +129,19 @@ export declare class PdfPropertiesComponent {
|
|
|
119
129
|
options?: undefined;
|
|
120
130
|
} | {
|
|
121
131
|
label: string;
|
|
132
|
+
labelPath: string;
|
|
122
133
|
type: string;
|
|
123
134
|
key: string;
|
|
124
135
|
value: string;
|
|
125
136
|
options: {
|
|
126
137
|
value: string;
|
|
127
138
|
label: string;
|
|
139
|
+
labelPath: string;
|
|
128
140
|
}[];
|
|
129
141
|
placeholder?: undefined;
|
|
130
142
|
} | {
|
|
131
143
|
label: string;
|
|
144
|
+
labelPath: string;
|
|
132
145
|
type: string;
|
|
133
146
|
key: string;
|
|
134
147
|
placeholder: string;
|
|
@@ -293,23 +306,27 @@ export declare class PdfPropertiesComponent {
|
|
|
293
306
|
Pdf: {
|
|
294
307
|
elementProps: {
|
|
295
308
|
label: string;
|
|
309
|
+
labelPath: string;
|
|
296
310
|
type: string;
|
|
297
311
|
key: string;
|
|
298
312
|
}[];
|
|
299
313
|
fieldProps: ({
|
|
300
314
|
label: string;
|
|
315
|
+
labelPath: string;
|
|
301
316
|
placeholder: string;
|
|
302
317
|
type: string;
|
|
303
318
|
key?: undefined;
|
|
304
319
|
subQuestion?: undefined;
|
|
305
320
|
} | {
|
|
306
321
|
label: string;
|
|
322
|
+
labelPath: string;
|
|
307
323
|
placeholder: string;
|
|
308
324
|
type: string;
|
|
309
325
|
key: string;
|
|
310
326
|
subQuestion?: undefined;
|
|
311
327
|
} | {
|
|
312
328
|
label: string;
|
|
329
|
+
labelPath: string;
|
|
313
330
|
placeholder: string;
|
|
314
331
|
type: string;
|
|
315
332
|
key: string;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { OnInit, EventEmitter, ChangeDetectorRef, AfterViewInit } from '@angular/core';
|
|
2
2
|
import { Question, QuestionBook } from '../../wrapper';
|
|
3
|
-
import { SalesforceService } from "../../services/salesforce.service";
|
|
4
|
-
import { DataService } from '../../services/data.service';
|
|
5
|
-
import { ChangeService } from '../../services/change.service';
|
|
6
|
-
import { StorageService } from '../../services/storage.service';
|
|
7
3
|
import { I18nService } from '../../i18n.service';
|
|
8
4
|
import { BehaviorSubject, Subscription } from 'rxjs';
|
|
9
5
|
import { CropperPosition, Dimensions, ImageTransform } from '../../components/image-cropper/interfaces';
|
|
6
|
+
import { SalesforceService } from '../../services/salesforce/salesforce.service';
|
|
7
|
+
import { DataService } from '../../services/data/data.service';
|
|
8
|
+
import { ChangeService } from '../../services/change/change.service';
|
|
9
|
+
import { StorageService } from '../../services/storage/storage.service';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
export declare class QuestionbookComponent implements OnInit, AfterViewInit {
|
|
12
12
|
private sfService;
|
|
@@ -18,7 +18,6 @@ export declare class QuestionbookComponent implements OnInit, AfterViewInit {
|
|
|
18
18
|
private document;
|
|
19
19
|
qbItem: QuestionBook;
|
|
20
20
|
questionItem: Question;
|
|
21
|
-
translatedQuestions: any[];
|
|
22
21
|
questions: any[];
|
|
23
22
|
errorFieldId: any;
|
|
24
23
|
labelValue: string;
|
|
@@ -32,12 +31,12 @@ export declare class QuestionbookComponent implements OnInit, AfterViewInit {
|
|
|
32
31
|
allIcons: any[];
|
|
33
32
|
themeColor: string;
|
|
34
33
|
cdnIconURL: string;
|
|
34
|
+
direction: string;
|
|
35
35
|
subQuestions: Question[];
|
|
36
36
|
selectedFileData: any[];
|
|
37
37
|
loadComponent$: BehaviorSubject<boolean>;
|
|
38
38
|
qbRef: QuestionBook;
|
|
39
39
|
style: any;
|
|
40
|
-
langDirection: string;
|
|
41
40
|
bookStyle: any;
|
|
42
41
|
subscription: Subscription;
|
|
43
42
|
isImageEdit: boolean;
|
|
@@ -70,7 +69,6 @@ export declare class QuestionbookComponent implements OnInit, AfterViewInit {
|
|
|
70
69
|
processData(): void;
|
|
71
70
|
hideDependentElements(elementId: any): void;
|
|
72
71
|
clearSQError(quesId: any): void;
|
|
73
|
-
processTranslatedQuestions(): void;
|
|
74
72
|
setSubQuestions(records: any): void;
|
|
75
73
|
childEventCapture(event: any, ques?: any): void;
|
|
76
74
|
deleteFile(fileData: any): void;
|
|
@@ -110,5 +108,5 @@ export declare class QuestionbookComponent implements OnInit, AfterViewInit {
|
|
|
110
108
|
closeModal(): void;
|
|
111
109
|
readQuestions(qbId: any, ques: any): any[];
|
|
112
110
|
static ɵfac: i0.ɵɵFactoryDeclaration<QuestionbookComponent, never>;
|
|
113
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<QuestionbookComponent, "lib-questionbook", never, { "qbItem": { "alias": "qbItem"; "required": false; }; "questionItem": { "alias": "questionItem"; "required": false; }; "
|
|
111
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<QuestionbookComponent, "lib-questionbook", never, { "qbItem": { "alias": "qbItem"; "required": false; }; "questionItem": { "alias": "questionItem"; "required": false; }; "questions": { "alias": "questions"; "required": false; }; "errorFieldId": { "alias": "errorFieldId"; "required": false; }; "labelValue": { "alias": "labelValue"; "required": false; }; "token": { "alias": "token"; "required": false; }; "isEdit": { "alias": "isEdit"; "required": false; }; "dropDownData": { "alias": "dropDownData"; "required": false; }; "dataBind": { "alias": "dataBind"; "required": false; }; "allIcons": { "alias": "allIcons"; "required": false; }; "themeColor": { "alias": "themeColor"; "required": false; }; "cdnIconURL": { "alias": "cdnIconURL"; "required": false; }; "direction": { "alias": "direction"; "required": false; }; }, { "handleDropDown": "handleDropDown"; "handleQuestion": "handleQuestion"; "singleFieldChangeEmit": "singleFieldChangeEmit"; "hadleDropDownDependent": "hadleDropDownDependent"; "handleCalendarDate": "handleCalendarDate"; "handleCalendarEvent": "handleCalendarEvent"; }, never, never, true, never>;
|
|
114
112
|
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { OnInit, EventEmitter, ElementRef, SimpleChanges } from "@angular/core";
|
|
2
2
|
import { ActivatedRoute, Params } from "@angular/router";
|
|
3
|
-
import { SalesforceService } from "../../services/salesforce.service";
|
|
4
3
|
import { DomSanitizer, SafeHtml } from "@angular/platform-browser";
|
|
5
4
|
import { UntypedFormBuilder } from "@angular/forms";
|
|
6
5
|
import { DeviceDetectorService } from 'ngx-device-detector';
|
|
7
|
-
import { DataService } from '../../services/data.service';
|
|
8
|
-
import { ChangeService } from '../../services/change.service';
|
|
9
|
-
import { SharedService } from "../../services/shared.service";
|
|
10
6
|
import { Question, QuestionBook, AnswerBook, AnswerWrapper, OptionValue, LocalQuestion } from "../../wrapper";
|
|
11
7
|
import { I18nService } from "../../i18n.service";
|
|
8
|
+
import { SalesforceService } from "../../services/salesforce/salesforce.service";
|
|
9
|
+
import { DataService } from "../../services/data/data.service";
|
|
10
|
+
import { ChangeService } from "../../services/change/change.service";
|
|
11
|
+
import { SharedService } from "../../services/shared/shared.service";
|
|
12
12
|
import * as i0 from "@angular/core";
|
|
13
13
|
export declare class QuestionnaireComponent implements OnInit {
|
|
14
14
|
private sfService;
|
|
@@ -26,6 +26,7 @@ export declare class QuestionnaireComponent implements OnInit {
|
|
|
26
26
|
tkn: string;
|
|
27
27
|
api: string;
|
|
28
28
|
isEdit: boolean;
|
|
29
|
+
direction: string;
|
|
29
30
|
handleEvent: EventEmitter<any>;
|
|
30
31
|
handlePage: EventEmitter<any>;
|
|
31
32
|
handleQuestion: EventEmitter<any>;
|
|
@@ -212,5 +213,5 @@ export declare class QuestionnaireComponent implements OnInit {
|
|
|
212
213
|
getKey(item: any): any;
|
|
213
214
|
getValue(item: any): any;
|
|
214
215
|
static ɵfac: i0.ɵɵFactoryDeclaration<QuestionnaireComponent, never>;
|
|
215
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<QuestionnaireComponent, "lib-questionnaire", never, { "qbId": { "alias": "qbId"; "required": false; }; "insuranceStartDate": { "alias": "insuranceStartDate"; "required": false; }; "serv": { "alias": "serv"; "required": false; }; "tkn": { "alias": "tkn"; "required": false; }; "api": { "alias": "api"; "required": false; }; "isEdit": { "alias": "isEdit"; "required": false; }; }, { "handleEvent": "handleEvent"; "handlePage": "handlePage"; "handleQuestion": "handleQuestion"; "handleBook": "handleBook"; "handleSubmit": "handleSubmit"; }, never, never, true, never>;
|
|
216
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<QuestionnaireComponent, "lib-questionnaire", never, { "qbId": { "alias": "qbId"; "required": false; }; "insuranceStartDate": { "alias": "insuranceStartDate"; "required": false; }; "serv": { "alias": "serv"; "required": false; }; "tkn": { "alias": "tkn"; "required": false; }; "api": { "alias": "api"; "required": false; }; "isEdit": { "alias": "isEdit"; "required": false; }; "direction": { "alias": "direction"; "required": false; }; }, { "handleEvent": "handleEvent"; "handlePage": "handlePage"; "handleQuestion": "handleQuestion"; "handleBook": "handleBook"; "handleSubmit": "handleSubmit"; }, never, never, true, never>;
|
|
216
217
|
}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { PipeTransform } from '@angular/core';
|
|
2
|
-
import { TranslationService } from '../services/translation.service';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
3
|
export declare class NxtCustomTranslatePipe implements PipeTransform {
|
|
5
|
-
private translationService;
|
|
6
4
|
private cache;
|
|
7
|
-
|
|
5
|
+
private translationService;
|
|
6
|
+
constructor();
|
|
8
7
|
transform(key: string, fallback: string): string;
|
|
9
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<NxtCustomTranslatePipe, never>;
|
|
10
9
|
static ɵpipe: i0.ɵɵPipeDeclaration<NxtCustomTranslatePipe, "nxtCustomTranslate", true>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
|
-
import { ElementComponent } from '
|
|
2
|
+
import { ElementComponent } from '../../pages/builder/element/element.component';
|
|
3
3
|
import { HttpClient } from '@angular/common/http';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
interface FormElement {
|
|
@@ -92,6 +92,7 @@ export declare class FormBuilderService {
|
|
|
92
92
|
getElements(): FormElement[];
|
|
93
93
|
sortElementsByOrder(): void;
|
|
94
94
|
getBook(): any;
|
|
95
|
+
updateBook(book: any): void;
|
|
95
96
|
downloadElement(): any;
|
|
96
97
|
updateElementsOrder(updatedElements: FormElement[]): void;
|
|
97
98
|
removeElementComponent(id: any): void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
|
-
import { ElementComponent } from '
|
|
2
|
+
import { ElementComponent } from '../../pages/builder/element/element.component';
|
|
3
3
|
import { HttpClient } from '@angular/common/http';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class PdfDesignerService {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Question } from '
|
|
2
|
-
import { BookletWrapper } from '
|
|
1
|
+
import { Question } from '../../wrapper';
|
|
2
|
+
import { BookletWrapper } from '../../model/bookletWrapper';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class StorageService {
|
|
5
5
|
nxtBookletAnswer: BookletWrapper;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DataService } from '
|
|
1
|
+
import { DataService } from '../data/data.service';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export declare class TranslationService {
|
|
4
4
|
private dataService;
|
|
@@ -6,12 +6,23 @@ export declare class TranslationService {
|
|
|
6
6
|
private currentLang;
|
|
7
7
|
private translationsLoaded;
|
|
8
8
|
translationsLoaded$: import("rxjs").Observable<void>;
|
|
9
|
+
private formBuilderTranslations;
|
|
10
|
+
private formBuilderCurrentLang;
|
|
11
|
+
private formBuilderTranslationsLoaded;
|
|
12
|
+
formBuilderTranslationsLoaded$: import("rxjs").Observable<void>;
|
|
9
13
|
constructor(dataService: DataService);
|
|
10
14
|
load(): Promise<void>;
|
|
15
|
+
flattenAppTranslations(translations: any): any;
|
|
16
|
+
updateTranslations(newTranslations: any): void;
|
|
17
|
+
private deepMerge;
|
|
11
18
|
setTranslations(translations: any): void;
|
|
12
19
|
getLanguage(): string;
|
|
13
20
|
setLanguage(lang: string): void;
|
|
14
21
|
translate(key: string): string | null;
|
|
22
|
+
setFormBuilderTranslations(formBuilderTrans: any): void;
|
|
23
|
+
getFormBuilderLanguage(): string;
|
|
24
|
+
setFormBuilderLanguage(lang: string): void;
|
|
25
|
+
formBuilderTranslate(key: string, lang: any): string | null;
|
|
15
26
|
static ɵfac: i0.ɵɵFactoryDeclaration<TranslationService, never>;
|
|
16
27
|
static ɵprov: i0.ɵɵInjectableDeclaration<TranslationService>;
|
|
17
28
|
}
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export * from './lib/nxt-app.component';
|
|
|
3
3
|
export * from './lib/nxt-app.module';
|
|
4
4
|
export * from './lib/pages/questionnaire/questionnaire.component';
|
|
5
5
|
export * from './lib/pages/booklet/booklet.component';
|
|
6
|
-
export * from './lib/services/salesforce.service';
|
|
6
|
+
export * from './lib/services/salesforce/salesforce.service';
|
|
7
7
|
export * from './lib/i18n.component';
|
|
8
8
|
export * from './lib/i18n.pipe';
|
|
9
9
|
export * from './lib/pages/builder/form/form.component';
|
|
Binary file
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpbWV0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9pbnRlcmZhY2VzL2FwaW1ldGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQVBJTWV0YSB7XG4gICAgLy8gU0tTMjdGRUIgVGhpcyBpcyBmb3IgZGlzcGxheWluZyBkYXRhIGluIHRoZSBzZWFyY2ggaW5wdXQgZmllbGQuXG4gICAgZGVmYXVsdEZpZWxkOiBhbnk7XG4gICAgLy8gVkQgTk92MjMgLSBhZGRlZCB2YXJpYWJsZXMgZm9yIGRlcGVuZGVudCB1cGRhdGVcbiAgICBzb3VyY2VRdWVzdGlvbklkOmFueTtcbiAgICB2YWx1ZUZpZWxkOnN0cmluZztcbiAgICBsYWJlbEZpZWxkOnN0cmluZztcbiAgICBlbmRwb2ludDogc3RyaW5nO1xuICAgIHZhcmlhYmxlOiBzdHJpbmc7XG4gICAgZmllbGQ6IGFueTtcbiAgICAvL1ZEIDA3QXVnMjQgLSBpc0RlcGVuZGVudEZpZWxkIGNoYW5nZVxuICAgIGlzRGVwZW5kZW50RmllbGQ6Ym9vbGVhbjtcbiAgICBkZXBlbmRlbnRWYWx1ZTpzdHJpbmc7XG4gICAgLy8gVkQgMDlTZXAyNCAtIHF1ZXJ5UGFyYW0gY2hhbmdlcyBmb3IgYXBpIGRhdGEgXG4gICAgcXVlcnlGaWVsZDogc3RyaW5nO1xuICAgIHF1ZXJ5VmFsdWU6IHN0cmluZzsgLy8gTVIgMDhKQU4yNCBEZXBlbmRlbnRGaWVsZCBBUEkgRml4XG4gICAgcXVlcnlWYWx1ZVJlZmVyZW5jZTogc3RyaW5nO1xuICAgIC8vVkQgMjVvY3QtMjQgLSBjaGFuZ2VzKG5lZWQgdG8gZG9jdW1lbnQpXG4gICAgdW5pcXVlS2V5OiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class ChangeService {
|
|
5
|
-
constructor() { }
|
|
6
|
-
// Observable parentQuestion sources
|
|
7
|
-
changeAnnouncedSource = new BehaviorSubject(null);
|
|
8
|
-
changeConfirmedSource = new BehaviorSubject(null);
|
|
9
|
-
validationSource = new BehaviorSubject(null);
|
|
10
|
-
fieldSource = new BehaviorSubject(null);
|
|
11
|
-
// VD 13Sep24 - databind changes
|
|
12
|
-
customChanges = new BehaviorSubject(null);
|
|
13
|
-
// Observable parentQuestion streams
|
|
14
|
-
changeAnnounced$ = this.changeAnnouncedSource.asObservable();
|
|
15
|
-
changeConfirmed$ = this.changeConfirmedSource.asObservable();
|
|
16
|
-
submitValidate$ = this.validationSource.asObservable();
|
|
17
|
-
changeField$ = this.fieldSource.asObservable();
|
|
18
|
-
// VD 13Sep24 - databind changes
|
|
19
|
-
customChange$ = this.customChanges.asObservable();
|
|
20
|
-
// Service message commands
|
|
21
|
-
announceChange(changeValue) {
|
|
22
|
-
this.changeAnnouncedSource.next(changeValue);
|
|
23
|
-
}
|
|
24
|
-
confirmChange(childQuestion) {
|
|
25
|
-
this.changeConfirmedSource.next(childQuestion);
|
|
26
|
-
}
|
|
27
|
-
// VD 13Sep24 - databind changes
|
|
28
|
-
dataChanges(data) {
|
|
29
|
-
this.customChanges.next(data);
|
|
30
|
-
}
|
|
31
|
-
submitChange(value) {
|
|
32
|
-
this.validationSource.next(value);
|
|
33
|
-
}
|
|
34
|
-
fieldChange(value) {
|
|
35
|
-
this.fieldSource.next(value);
|
|
36
|
-
}
|
|
37
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChangeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
38
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChangeService, providedIn: 'root' });
|
|
39
|
-
}
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChangeService, decorators: [{
|
|
41
|
-
type: Injectable,
|
|
42
|
-
args: [{
|
|
43
|
-
providedIn: 'root'
|
|
44
|
-
}]
|
|
45
|
-
}], ctorParameters: () => [] });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvc2VydmljZXMvY2hhbmdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUt2QyxNQUFNLE9BQU8sYUFBYTtJQUV4QixnQkFBZ0IsQ0FBQztJQUNuQixvQ0FBb0M7SUFDNUIscUJBQXFCLEdBQUUsSUFBSSxlQUFlLENBQU0sSUFBSSxDQUFDLENBQUM7SUFDdEQscUJBQXFCLEdBQUcsSUFBSSxlQUFlLENBQU0sSUFBSSxDQUFDLENBQUM7SUFDdkQsZ0JBQWdCLEdBQUcsSUFBSSxlQUFlLENBQU0sSUFBSSxDQUFDLENBQUM7SUFDbEQsV0FBVyxHQUFHLElBQUksZUFBZSxDQUFNLElBQUksQ0FBQyxDQUFDO0lBQ3JELGdDQUFnQztJQUN4QixhQUFhLEdBQUcsSUFBSSxlQUFlLENBQU0sSUFBSSxDQUFDLENBQUM7SUFFdkQsb0NBQW9DO0lBQ3BDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3RCxnQkFBZ0IsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDN0QsZUFBZSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN2RCxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMvQyxnQ0FBZ0M7SUFDaEMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFbEQsMkJBQTJCO0lBQzNCLGNBQWMsQ0FBQyxXQUFnQjtRQUM3QixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxhQUFhLENBQUMsYUFBcUI7UUFDakMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBQ0QsZ0NBQWdDO0lBQ2hDLFdBQVcsQ0FBQyxJQUFZO1FBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBWTtRQUN2QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxXQUFXLENBQUMsS0FBUztRQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO3dHQXJDWSxhQUFhOzRHQUFiLGFBQWEsY0FGWixNQUFNOzs0RkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDaGFuZ2VTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuLy8gT2JzZXJ2YWJsZSBwYXJlbnRRdWVzdGlvbiBzb3VyY2VzXG5wcml2YXRlIGNoYW5nZUFubm91bmNlZFNvdXJjZSA9bmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xucHJpdmF0ZSBjaGFuZ2VDb25maXJtZWRTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XG5wcml2YXRlIHZhbGlkYXRpb25Tb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XG5wcml2YXRlIGZpZWxkU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xuLy8gVkQgMTNTZXAyNCAtIGRhdGFiaW5kIGNoYW5nZXNcbnByaXZhdGUgY3VzdG9tQ2hhbmdlcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcblxuLy8gT2JzZXJ2YWJsZSBwYXJlbnRRdWVzdGlvbiBzdHJlYW1zXG5jaGFuZ2VBbm5vdW5jZWQkID0gdGhpcy5jaGFuZ2VBbm5vdW5jZWRTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG5jaGFuZ2VDb25maXJtZWQkID0gdGhpcy5jaGFuZ2VDb25maXJtZWRTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG5zdWJtaXRWYWxpZGF0ZSQgPSB0aGlzLnZhbGlkYXRpb25Tb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG5jaGFuZ2VGaWVsZCQgPSB0aGlzLmZpZWxkU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xuLy8gVkQgMTNTZXAyNCAtIGRhdGFiaW5kIGNoYW5nZXNcbmN1c3RvbUNoYW5nZSQgPSB0aGlzLmN1c3RvbUNoYW5nZXMuYXNPYnNlcnZhYmxlKCk7XG5cbi8vIFNlcnZpY2UgbWVzc2FnZSBjb21tYW5kc1xuYW5ub3VuY2VDaGFuZ2UoY2hhbmdlVmFsdWU6IGFueSkge1xuICB0aGlzLmNoYW5nZUFubm91bmNlZFNvdXJjZS5uZXh0KGNoYW5nZVZhbHVlKTtcbn1cblxuY29uZmlybUNoYW5nZShjaGlsZFF1ZXN0aW9uOiBzdHJpbmcpIHtcbiAgdGhpcy5jaGFuZ2VDb25maXJtZWRTb3VyY2UubmV4dChjaGlsZFF1ZXN0aW9uKTtcbn1cbi8vIFZEIDEzU2VwMjQgLSBkYXRhYmluZCBjaGFuZ2VzXG5kYXRhQ2hhbmdlcyhkYXRhOiBzdHJpbmcpIHtcbiAgdGhpcy5jdXN0b21DaGFuZ2VzLm5leHQoZGF0YSk7XG59XG5cbnN1Ym1pdENoYW5nZSh2YWx1ZTpzdHJpbmcpe1xuICB0aGlzLnZhbGlkYXRpb25Tb3VyY2UubmV4dCh2YWx1ZSk7XG59XG5maWVsZENoYW5nZSh2YWx1ZTphbnkpe1xuIHRoaXMuZmllbGRTb3VyY2UubmV4dCh2YWx1ZSk7XG59XG59Il19
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
// country.service.ts
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import countryJson from '../country.json';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class CountryService {
|
|
6
|
-
countriesData = [];
|
|
7
|
-
constructor() {
|
|
8
|
-
this.countriesData = this.transformData(countryJson);
|
|
9
|
-
}
|
|
10
|
-
//SKS24JUN25 Transform raw data to enhanced format
|
|
11
|
-
transformData(countries) {
|
|
12
|
-
return countries.map(country => {
|
|
13
|
-
const getFirstValue = (obj) => obj ? Object.values(obj)[0] : null;
|
|
14
|
-
const getFirstKey = (obj) => obj ? Object.keys(obj)[0] : null;
|
|
15
|
-
const safeCurrency = country.currencies ? getFirstValue(country.currencies) : null;
|
|
16
|
-
const primaryLanguage = country.languages ? getFirstKey(country.languages) : 'en';
|
|
17
|
-
return {
|
|
18
|
-
countryName: country.name?.common || 'Unknown',
|
|
19
|
-
officialName: country.name?.official || country.name?.common || 'Unknown',
|
|
20
|
-
isoAlpha2: country.cca2 || '',
|
|
21
|
-
isoAlpha3: country.cca3 || '',
|
|
22
|
-
isoNumeric: country.ccn3 || '',
|
|
23
|
-
capital: Array.isArray(country.capital) ? country.capital : [country.capital || 'N/A'],
|
|
24
|
-
capitalPrimary: Array.isArray(country.capital) ? country.capital[0] : (country.capital || 'N/A'),
|
|
25
|
-
coordinates: {
|
|
26
|
-
latitude: country.latlng?.[0] || 0,
|
|
27
|
-
longitude: country.latlng?.[1] || 0,
|
|
28
|
-
latLng: country.latlng || [0, 0]
|
|
29
|
-
},
|
|
30
|
-
areaSqKm: country.area || 0,
|
|
31
|
-
continent: Array.isArray(country.continents) ? country.continents[0] : (country.continents || 'Unknown'),
|
|
32
|
-
region: country.region || 'Unknown',
|
|
33
|
-
subregion: country.subregion || 'Unknown',
|
|
34
|
-
population: country.population || 0,
|
|
35
|
-
languages: country.languages || {},
|
|
36
|
-
languagesCodeAndName: country.languages
|
|
37
|
-
? Object.entries(country.languages).map(([code, name]) => ({
|
|
38
|
-
languageCode: code,
|
|
39
|
-
languagesName: name
|
|
40
|
-
}))
|
|
41
|
-
: [],
|
|
42
|
-
languagesName: country.languages ? Object.values(country.languages) : [],
|
|
43
|
-
languageCode: country.languages ? Object.keys(country.languages) : [],
|
|
44
|
-
primaryLanguage: country.languages ? getFirstValue(country.languages) : 'English',
|
|
45
|
-
primaryLanguageCode: primaryLanguage,
|
|
46
|
-
currencies: country.currencies || {},
|
|
47
|
-
currencyCode: safeCurrency ? getFirstKey(country.currencies) : 'USD',
|
|
48
|
-
currencyName: safeCurrency?.name || 'Unknown',
|
|
49
|
-
currencySymbol: safeCurrency?.symbol || '$',
|
|
50
|
-
phoneCodeFull: (country.idd?.root || '') + (country.idd?.suffixes?.[0] || ''),
|
|
51
|
-
flag: country.flag || '🏳️',
|
|
52
|
-
flagPng: country.flags?.png || '',
|
|
53
|
-
flagSvg: country.flags?.svg || '',
|
|
54
|
-
timezones: country.timezones || [],
|
|
55
|
-
borders: country.borders || [],
|
|
56
|
-
...country
|
|
57
|
-
};
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
//SKS24JUN25 Single method to get requested fields, with deduplication for languageCode and languagesName
|
|
61
|
-
getCountryData(fields) {
|
|
62
|
-
// SKS24JUN25 Handle special case for languageCode and languagesName to remove duplicates
|
|
63
|
-
if (fields.includes('languageCode') || fields.includes('languagesName')) {
|
|
64
|
-
const result = [];
|
|
65
|
-
const uniqueValues = new Set();
|
|
66
|
-
if (fields.includes('languageCode') && !fields.includes('languagesName')) {
|
|
67
|
-
this.countriesData.forEach(country => {
|
|
68
|
-
country.languageCode.forEach(code => {
|
|
69
|
-
if (code && code !== '') {
|
|
70
|
-
uniqueValues.add(code);
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
});
|
|
74
|
-
result.push(...Array.from(uniqueValues).map(code => ({ languageCode: code })));
|
|
75
|
-
}
|
|
76
|
-
if (fields.includes('languagesName') && !fields.includes('languageCode')) {
|
|
77
|
-
uniqueValues.clear();
|
|
78
|
-
this.countriesData.forEach(country => {
|
|
79
|
-
country.languagesName.forEach(lang => {
|
|
80
|
-
if (lang && lang !== '') {
|
|
81
|
-
uniqueValues.add(lang);
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
});
|
|
85
|
-
result.push(...Array.from(uniqueValues).map(lang => ({ languagesName: lang })));
|
|
86
|
-
}
|
|
87
|
-
if (fields.includes('languagesName') && fields.includes('languageCode')) {
|
|
88
|
-
const uniqueLanguageMap = new Map();
|
|
89
|
-
this.countriesData.forEach(country => {
|
|
90
|
-
country.languagesCodeAndName.forEach(language => {
|
|
91
|
-
const key = `${language.languageCode}-${language.languagesName}`;
|
|
92
|
-
if (!uniqueLanguageMap.has(key)) {
|
|
93
|
-
uniqueLanguageMap.set(key, language);
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
});
|
|
97
|
-
result.push(...Array.from(uniqueLanguageMap.values()));
|
|
98
|
-
}
|
|
99
|
-
// SKS24JUN25 Include other requested fields
|
|
100
|
-
const otherFields = fields.filter(f => f !== 'languageCode' && f !== 'languagesName');
|
|
101
|
-
if (otherFields.length > 0) {
|
|
102
|
-
const otherData = this.countriesData.map(country => {
|
|
103
|
-
const obj = {};
|
|
104
|
-
otherFields.forEach(field => {
|
|
105
|
-
if (country[field] != null && country[field] !== '' && country[field] !== 'Unknown') {
|
|
106
|
-
obj[field] = country[field];
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
return Object.keys(obj).length > 0 ? obj : null;
|
|
110
|
-
}).filter(obj => obj != null);
|
|
111
|
-
result.push(...otherData);
|
|
112
|
-
}
|
|
113
|
-
return result;
|
|
114
|
-
}
|
|
115
|
-
// SKS24JUN25 General case: return requested fields for all countries
|
|
116
|
-
return this.countriesData.map(country => {
|
|
117
|
-
const obj = {};
|
|
118
|
-
fields.forEach(field => {
|
|
119
|
-
if (country[field] != null && country[field] !== '' && country[field] !== 'Unknown') {
|
|
120
|
-
obj[field] = country[field];
|
|
121
|
-
}
|
|
122
|
-
});
|
|
123
|
-
return Object.keys(obj).length > 0 ? obj : null;
|
|
124
|
-
}).filter(obj => obj != null);
|
|
125
|
-
}
|
|
126
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CountryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
127
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CountryService, providedIn: 'root' });
|
|
128
|
-
}
|
|
129
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CountryService, decorators: [{
|
|
130
|
-
type: Injectable,
|
|
131
|
-
args: [{
|
|
132
|
-
providedIn: 'root'
|
|
133
|
-
}]
|
|
134
|
-
}], ctorParameters: () => [] });
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL3NlcnZpY2VzL2NvdW50cnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxQkFBcUI7QUFDckIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLFdBQVcsTUFBTSxpQkFBaUIsQ0FBQzs7QUF5QzFDLE1BQU0sT0FBTyxjQUFjO0lBQ2pCLGFBQWEsR0FBa0IsRUFBRSxDQUFDO0lBRTFDO1FBQ0UsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxrREFBa0Q7SUFDMUMsYUFBYSxDQUFDLFNBQWdCO1FBQ3BDLE9BQU8sU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM3QixNQUFNLGFBQWEsR0FBRyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDdkUsTUFBTSxXQUFXLEdBQUcsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ25FLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNuRixNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsT0FBTyxD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QUMsQ0FBQyxJQUFJLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7d0dBaklVLGNBQWM7NEdBQWQsY0FBYyxjQUZiLE1BQU07OzRGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLy8gY291bnRyeS5zZXJ2aWNlLnRzXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgY291bnRyeUpzb24gZnJvbSAnLi4vY291bnRyeS5qc29uJztcblxuZXhwb3J0IGludGVyZmFjZSBDb3VudHJ5RGF0YSB7XG4gIGNvdW50cnlOYW1lOiBzdHJpbmc7XG4gIG9mZmljaWFsTmFtZTogc3RyaW5nO1xuICBpc29BbHBoYTI6IHN0cmluZztcbiAgaXNvQWxwaGEzOiBzdHJpbmc7XG4gIGlzb051bWVyaWM6IHN0cmluZztcbiAgY2FwaXRhbDogc3RyaW5nW107XG4gIGNhcGl0YWxQcmltYXJ5OiBzdHJpbmc7XG4gIGNvb3JkaW5hdGVzOiB7XG4gICAgbGF0aXR1ZGU6IG51bWJlcjtcbiAgICBsb25naXR1ZGU6IG51bWJlcjtcbiAgICBsYXRMbmc6IG51bWJlcltdO1xuICB9O1xuICBhcmVhU3FLbTogbnVtYmVyO1xuICBjb250aW5lbnQ6IHN0cmluZztcbiAgcmVnaW9uOiBzdHJpbmc7XG4gIHN1YnJlZ2lvbjogc3RyaW5nO1xuICBwb3B1bGF0aW9uOiBudW1iZXI7XG4gIGxhbmd1YWdlczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgbGFuZ3VhZ2VzTmFtZTogc3RyaW5nW107XG4gIGxhbmd1YWdlQ29kZTogc3RyaW5nW107XG4gIHByaW1hcnlMYW5ndWFnZTogc3RyaW5nO1xuICBwcmltYXJ5TGFuZ3VhZ2VDb2RlOiBzdHJpbmc7XG4gIGN1cnJlbmNpZXM6IHsgW2tleTogc3RyaW5nXTogYW55IH07XG4gIGN1cnJlbmN5Q29kZTogc3RyaW5nO1xuICBjdXJyZW5jeU5hbWU6IHN0cmluZztcbiAgY3VycmVuY3lTeW1ib2w6IHN0cmluZztcbiAgcGhvbmVDb2RlRnVsbDogc3RyaW5nO1xuICBmbGFnOiBzdHJpbmc7XG4gIGZsYWdQbmc6IHN0cmluZztcbiAgZmxhZ1N2Zzogc3RyaW5nO1xuICB0aW1lem9uZXM6IHN0cmluZ1tdO1xuICBib3JkZXJzOiBzdHJpbmdbXTtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDb3VudHJ5U2VydmljZSB7XG4gIHByaXZhdGUgY291bnRyaWVzRGF0YTogQ291bnRyeURhdGFbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuY291bnRyaWVzRGF0YSA9IHRoaXMudHJhbnNmb3JtRGF0YShjb3VudHJ5SnNvbik7XG4gIH1cblxuICAvL1NLUzI0SlVOMjUgVHJhbnNmb3JtIHJhdyBkYXRhIHRvIGVuaGFuY2VkIGZvcm1hdFxuICBwcml2YXRlIHRyYW5zZm9ybURhdGEoY291bnRyaWVzOiBhbnlbXSk6IENvdW50cnlEYXRhW10ge1xuICAgIHJldHVybiBjb3VudHJpZXMubWFwKGNvdW50cnkgPT4ge1xuICAgICAgY29uc3QgZ2V0Rmlyc3RWYWx1ZSA9IChvYmo6IGFueSkgPT4gb2JqID8gT2JqZWN0LnZhbHVlcyhvYmopWzBdIDogbnVsbDtcbiAgICAgIGNvbnN0IGdldEZpcnN0S2V5ID0gKG9iajogYW55KSA9PiBvYmogPyBPYmplY3Qua2V5cyhvYmopWzBdIDogbnVsbDtcbiAgICAgIGNvbnN0IHNhZmVDdXJyZW5jeSA9IGNvdW50cnkuY3VycmVuY2llcyA/IGdldEZpcnN0VmFsdWUoY291bnRyeS5jdXJyZW5jaWVzKSA6IG51bGw7XG4gICAgICBjb25zdCBwcmltYXJ5TGFuZ3VhZ2UgPSBjb3VudHJ5Lmxhbmd1YWdlcyA/IGdldEZpcnN0S2V5KGNvdW50cnkubGFuZ3VhZ2VzKSA6ICdlbic7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvdW50cnlOYW1lOiBjb3VudHJ5Lm5hbWU/LmNvbW1vbiB8fCAnVW5rbm93bicsXG4gICAgICAgIG9mZmljaWFsTmFtZTogY291bnRyeS5uYW1lPy5vZmZpY2lhbCB8fCBjb3VudHJ5Lm5hbWU/LmNvbW1vbiB8fCAnVW5rbm93bicsXG4gICAgICAgIGlzb0FscGhhMjogY291bnRyeS5jY2EyIHx8ICcnLFxuICAgICAgICBpc29BbHBoYTM6IGNvdW50cnkuY2NhMyB8fCAnJyxcbiAgICAgICAgaXNvTnVtZXJpYzogY291bnRyeS5jY24zIHx8ICcnLFxuICAgICAgICBjYXBpdGFsOiBBcnJheS5pc0FycmF5KGNvdW50cnkuY2FwaXRhbCkgPyBjb3VudHJ5LmNhcGl0YWwgOiBbY291bnRyeS5jYXBpdGFsIHx8ICdOL0EnXSxcbiAgICAgICAgY2FwaXRhbFByaW1hcnk6IEFycmF5LmlzQXJyYXkoY291bnRyeS5jYXBpdGFsKSA/IGNvdW50cnkuY2FwaXRhbFswXSA6IChjb3VudHJ5LmNhcGl0YWwgfHwgJ04vQScpLFxuICAgICAgICBjb29yZGluYXRlczoge1xuICAgICAgICAgIGxhdGl0dWRlOiBjb3VudHJ5LmxhdGxuZz8uWzBdIHx8IDAsXG4gICAgICAgICAgbG9uZ2l0dWRlOiBjb3VudHJ5LmxhdGxuZz8uWzFdIHx8IDAsXG4gICAgICAgICAgbGF0TG5nOiBjb3VudHJ5LmxhdGxuZyB8fCBbMCwgMF1cbiAgICAgICAgfSxcbiAgICAgICAgYXJlYVNxS206IGNvdW50cnkuYXJlYSB8fCAwLFxuICAgICAgICBjb250aW5lbnQ6IEFycmF5LmlzQXJyYXkoY291bnRyeS5jb250aW5lbnRzKSA/IGNvdW50cnkuY29udGluZW50c1swXSA6IChjb3VudHJ5LmNvbnRpbmVudHMgfHwgJ1Vua25vd24nKSxcbiAgICAgICAgcmVnaW9uOiBjb3VudHJ5LnJlZ2lvbiB8fCAnVW5rbm93bicsXG4gICAgICAgIHN1YnJlZ2lvbjogY291bnRyeS5zdWJyZWdpb24gfHwgJ1Vua25vd24nLFxuICAgICAgICBwb3B1bGF0aW9uOiBjb3VudHJ5LnBvcHVsYXRpb24gfHwgMCxcbiAgICAgICAgbGFuZ3VhZ2VzOiBjb3VudHJ5Lmxhbmd1YWdlcyB8fCB7fSxcbiAgICAgICAgbGFuZ3VhZ2VzQ29kZUFuZE5hbWU6IGNvdW50cnkubGFuZ3VhZ2VzXG4gICAgICAgID8gT2JqZWN0LmVudHJpZXMoY291bnRyeS5sYW5ndWFnZXMpLm1hcCgoW2NvZGUsIG5hbWVdKSA9PiAoe1xuICAgICAgICAgICAgbGFuZ3VhZ2VDb2RlOiBjb2RlLFxuICAgICAgICAgICAgbGFuZ3VhZ2VzTmFtZTogbmFtZVxuICAgICAgICAgIH0pKVxuICAgICAgICA6IFtdLFxuICAgICAgICBsYW5ndWFnZXNOYW1lOiBjb3VudHJ5Lmxhbmd1YWdlcyA/IE9iamVjdC52YWx1ZXMoY291bnRyeS5sYW5ndWFnZXMpIDogW10sXG4gICAgICAgIGxhbmd1YWdlQ29kZTogY291bnRyeS5sYW5ndWFnZXMgPyBPYmplY3Qua2V5cyhjb3VudHJ5Lmxhbmd1YWdlcykgOiBbXSxcbiAgICAgICAgcHJpbWFyeUxhbmd1YWdlOiBjb3VudHJ5Lmxhbmd1YWdlcyA/IGdldEZpcnN0VmFsdWUoY291bnRyeS5sYW5ndWFnZXMpIDogJ0VuZ2xpc2gnLFxuICAgICAgICBwcmltYXJ5TGFuZ3VhZ2VDb2RlOiBwcmltYXJ5TGFuZ3VhZ2UsXG4gICAgICAgIGN1cnJlbmNpZXM6IGNvdW50cnkuY3VycmVuY2llcyB8fCB7fSxcbiAgICAgICAgY3VycmVuY3lDb2RlOiBzYWZlQ3VycmVuY3kgPyBnZXRGaXJzdEtleShjb3VudHJ5LmN1cnJlbmNpZXMpIDogJ1VTRCcsXG4gICAgICAgIGN1cnJlbmN5TmFtZTogKHNhZmVDdXJyZW5jeSBhcyBhbnkpPy5uYW1lIHx8ICdVbmtub3duJyxcbiAgICAgICAgY3VycmVuY3lTeW1ib2w6IChzYWZlQ3VycmVuY3kgYXMgYW55KT8uc3ltYm9sIHx8ICckJyxcbiAgICAgICAgcGhvbmVDb2RlRnVsbDogKGNvdW50cnkuaWRkPy5yb290IHx8ICcnKSArIChjb3VudHJ5LmlkZD8uc3VmZml4ZXM/LlswXSB8fCAnJyksXG4gICAgICAgIGZsYWc6IGNvdW50cnkuZmxhZyB8fCAn8J+Ps++4jycsXG4gICAgICAgIGZsYWdQbmc6IGNvdW50cnkuZmxhZ3M/LnBuZyB8fCAnJyxcbiAgICAgICAgZmxhZ1N2ZzogY291bnRyeS5mbGFncz8uc3ZnIHx8ICcnLFxuICAgICAgICB0aW1lem9uZXM6IGNvdW50cnkudGltZXpvbmVzIHx8IFtdLFxuICAgICAgICBib3JkZXJzOiBjb3VudHJ5LmJvcmRlcnMgfHwgW10sXG4gICAgICAgIC4uLmNvdW50cnlcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICAvL1NLUzI0SlVOMjUgU2luZ2xlIG1ldGhvZCB0byBnZXQgcmVxdWVzdGVkIGZpZWxkcywgd2l0aCBkZWR1cGxpY2F0aW9uIGZvciBsYW5ndWFnZUNvZGUgYW5kIGxhbmd1YWdlc05hbWVcbiAgZ2V0Q291bnRyeURhdGEoZmllbGRzOiAoa2V5b2YgQ291bnRyeURhdGEpW10pOiBhbnlbXSB7XG4gICAgLy8gU0tTMjRKVU4yNSBIYW5kbGUgc3BlY2lhbCBjYXNlIGZvciBsYW5ndWFnZUNvZGUgYW5kIGxhbmd1YWdlc05hbWUgdG8gcmVtb3ZlIGR1cGxpY2F0ZXNcbiAgICBpZiAoZmllbGRzLmluY2x1ZGVzKCdsYW5ndWFnZUNvZGUnKSB8fCBmaWVsZHMuaW5jbHVkZXMoJ2xhbmd1YWdlc05hbWUnKSkge1xuICAgICAgY29uc3QgcmVzdWx0OiBhbnlbXSA9IFtdO1xuICAgICAgY29uc3QgdW5pcXVlVmFsdWVzID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgICAgIGlmIChmaWVsZHMuaW5jbHVkZXMoJ2xhbmd1YWdlQ29kZScpICYmICFmaWVsZHMuaW5jbHVkZXMoJ2xhbmd1YWdlc05hbWUnKSkge1xuICAgICAgICB0aGlzLmNvdW50cmllc0RhdGEuZm9yRWFjaChjb3VudHJ5ID0+IHtcbiAgICAgICAgICBjb3VudHJ5Lmxhbmd1YWdlQ29kZS5mb3JFYWNoKGNvZGUgPT4ge1xuICAgICAgICAgICAgaWYgKGNvZGUgJiYgY29kZSAhPT0gJycpIHtcbiAgICAgICAgICAgICAgdW5pcXVlVmFsdWVzLmFkZChjb2RlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJlc3VsdC5wdXNoKC4uLkFycmF5LmZyb20odW5pcXVlVmFsdWVzKS5tYXAoY29kZSA9PiAoeyBsYW5ndWFnZUNvZGU6IGNvZGUgfSkpKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGZpZWxkcy5pbmNsdWRlcygnbGFuZ3VhZ2VzTmFtZScpICYmICFmaWVsZHMuaW5jbHVkZXMoJ2xhbmd1YWdlQ29kZScpKSB7XG4gICAgICAgIHVuaXF1ZVZhbHVlcy5jbGVhcigpO1xuICAgICAgICB0aGlzLmNvdW50cmllc0RhdGEuZm9yRWFjaChjb3VudHJ5ID0+IHtcbiAgICAgICAgICBjb3VudHJ5Lmxhbmd1YWdlc05hbWUuZm9yRWFjaChsYW5nID0+IHtcbiAgICAgICAgICAgIGlmIChsYW5nICYmIGxhbmcgIT09ICcnKSB7XG4gICAgICAgICAgICAgIHVuaXF1ZVZhbHVlcy5hZGQobGFuZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXN1bHQucHVzaCguLi5BcnJheS5mcm9tKHVuaXF1ZVZhbHVlcykubWFwKGxhbmcgPT4gKHsgbGFuZ3VhZ2VzTmFtZTogbGFuZyB9KSkpO1xuICAgICAgfVxuICAgICAgaWYoZmllbGRzLmluY2x1ZGVzKCdsYW5ndWFnZXNOYW1lJykgJiYgZmllbGRzLmluY2x1ZGVzKCdsYW5ndWFnZUNvZGUnKSl7XG4gICAgICAgIGNvbnN0IHVuaXF1ZUxhbmd1YWdlTWFwID0gbmV3IE1hcCgpO1xuICAgICAgICB0aGlzLmNvdW50cmllc0RhdGEuZm9yRWFjaChjb3VudHJ5ID0+IHtcbiAgICAgICAgICBjb3VudHJ5Lmxhbmd1YWdlc0NvZGVBbmROYW1lLmZvckVhY2gobGFuZ3VhZ2UgPT4ge1xuICAgICAgICAgICAgY29uc3Qga2V5ID0gYCR7bGFuZ3VhZ2UubGFuZ3VhZ2VDb2RlfS0ke2xhbmd1YWdlLmxhbmd1YWdlc05hbWV9YDtcbiAgICAgICAgICAgIGlmICghdW5pcXVlTGFuZ3VhZ2VNYXAuaGFzKGtleSkpIHtcbiAgICAgICAgICAgICAgdW5pcXVlTGFuZ3VhZ2VNYXAuc2V0KGtleSwgbGFuZ3VhZ2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgcmVzdWx0LnB1c2goLi4uQXJyYXkuZnJvbSh1bmlxdWVMYW5ndWFnZU1hcC52YWx1ZXMoKSkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTS1MyNEpVTjI1IEluY2x1ZGUgb3RoZXIgcmVxdWVzdGVkIGZpZWxkc1xuICAgICAgY29uc3Qgb3RoZXJGaWVsZHMgPSBmaWVsZHMuZmlsdGVyKGYgPT4gZiAhPT0gJ2xhbmd1YWdlQ29kZScgJiYgZiAhPT0gJ2xhbmd1YWdlc05hbWUnKTtcbiAgICAgIGlmIChvdGhlckZpZWxkcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IG90aGVyRGF0YSA9IHRoaXMuY291bnRyaWVzRGF0YS5tYXAoY291bnRyeSA9PiB7XG4gICAgICAgICAgY29uc3Qgb2JqOiBhbnkgPSB7fTtcbiAgICAgICAgICBvdGhlckZpZWxkcy5mb3JFYWNoKGZpZWxkID0+IHtcbiAgICAgICAgICAgIGlmIChjb3VudHJ5W2ZpZWxkXSAhPSBudWxsICYmIGNvdW50cnlbZmllbGRdICE9PSAnJyAmJiBjb3VudHJ5W2ZpZWxkXSAhPT0gJ1Vua25vd24nKSB7XG4gICAgICAgICAgICAgIG9ialtmaWVsZF0gPSBjb3VudHJ5W2ZpZWxkXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMob2JqKS5sZW5ndGggPiAwID8gb2JqIDogbnVsbDtcbiAgICAgICAgfSkuZmlsdGVyKG9iaiA9PiBvYmogIT0gbnVsbCk7XG4gICAgICAgIHJlc3VsdC5wdXNoKC4uLm90aGVyRGF0YSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLy8gU0tTMjRKVU4yNSBHZW5lcmFsIGNhc2U6IHJldHVybiByZXF1ZXN0ZWQgZmllbGRzIGZvciBhbGwgY291bnRyaWVzXG4gICAgcmV0dXJuIHRoaXMuY291bnRyaWVzRGF0YS5tYXAoY291bnRyeSA9PiB7XG4gICAgICBjb25zdCBvYmo6IGFueSA9IHt9O1xuICAgICAgZmllbGRzLmZvckVhY2goZmllbGQgPT4ge1xuICAgICAgICBpZiAoY291bnRyeVtmaWVsZF0gIT0gbnVsbCAmJiBjb3VudHJ5W2ZpZWxkXSAhPT0gJycgJiYgY291bnRyeVtmaWVsZF0gIT09ICdVbmtub3duJykge1xuICAgICAgICAgIG9ialtmaWVsZF0gPSBjb3VudHJ5W2ZpZWxkXTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gT2JqZWN0LmtleXMob2JqKS5sZW5ndGggPiAwID8gb2JqIDogbnVsbDtcbiAgICB9KS5maWx0ZXIob2JqID0+IG9iaiAhPSBudWxsKTtcbiAgfVxufSJdfQ==
|