@piserve-tech/form-submission 0.0.0-watch
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/README.md +24 -0
- package/element-type/element-type.module.d.ts +12 -0
- package/element-type/form-elements/form-elements.component.d.ts +7 -0
- package/element-type/question/question.component.d.ts +14 -0
- package/element-type/sub-form/sub-form.component.d.ts +6 -0
- package/esm2022/element-type/element-type.module.mjs +36 -0
- package/esm2022/element-type/form-elements/form-elements.component.mjs +23 -0
- package/esm2022/element-type/question/question.component.mjs +52 -0
- package/esm2022/element-type/sub-form/sub-form.component.mjs +17 -0
- package/esm2022/form-fields/check-box-fields/check-box-fields.component.mjs +198 -0
- package/esm2022/form-fields/date-time-fields/date-time-fields.component.mjs +155 -0
- package/esm2022/form-fields/drop-down-fields/drop-down-fields.component.mjs +147 -0
- package/esm2022/form-fields/file-picker-fields/file-picker-fields.component.mjs +77 -0
- package/esm2022/form-fields/form-fields.module.mjs +154 -0
- package/esm2022/form-fields/location-fields/location-fields.component.mjs +79 -0
- package/esm2022/form-fields/mail-fields/mail-fields.component.mjs +75 -0
- package/esm2022/form-fields/mobile-fields/mobile-fields.component.mjs +81 -0
- package/esm2022/form-fields/number-fields/number-fields.component.mjs +59 -0
- package/esm2022/form-fields/password-fields/password-fields.component.mjs +172 -0
- package/esm2022/form-fields/radio-button-fields/radio-button-fields.component.mjs +129 -0
- package/esm2022/form-fields/rich-text-editor-fields/rich-text-editor-fields.component.mjs +89 -0
- package/esm2022/form-fields/section-fields/section-fields.component.mjs +16 -0
- package/esm2022/form-fields/selection-matrix-fields/selection-matrix-fields.component.mjs +27 -0
- package/esm2022/form-fields/signature-fields/signature-fields.component.mjs +29 -0
- package/esm2022/form-fields/slider-fields/slider-fields.component.mjs +60 -0
- package/esm2022/form-fields/terms-and-condition-fields/terms-and-condition-fields.component.mjs +27 -0
- package/esm2022/form-fields/text-area-fields/text-area-fields.component.mjs +61 -0
- package/esm2022/form-fields/text-fields/text-fields.component.mjs +86 -0
- package/esm2022/form-fields/toggle-switch-fields/toggle-switch-fields.component.mjs +42 -0
- package/esm2022/form-fields/url-fields/url-fields.component.mjs +59 -0
- package/esm2022/form-submission/form-submission.module.mjs +42 -0
- package/esm2022/form-submission/header/header.component.mjs +16 -0
- package/esm2022/form-submission/logic/logic.component.mjs +17 -0
- package/esm2022/form-submission/navigation-tabs/navigation-tabs.component.mjs +27 -0
- package/esm2022/form-submission/next-prev-navigation/next-prev-navigation.component.mjs +42 -0
- package/esm2022/form-submission/submit-form/submit-form.component.mjs +157 -0
- package/esm2022/lib/form-submission.component.mjs +23 -0
- package/esm2022/lib/form-submission.module.mjs +45 -0
- package/esm2022/lib/form-submission.service.mjs +14 -0
- package/esm2022/logic/logic/logic.component.mjs +17 -0
- package/esm2022/logic/logic.module.mjs +20 -0
- package/esm2022/models/appearance.model.mjs +2 -0
- package/esm2022/models/elementOptionAPI.model.mjs +2 -0
- package/esm2022/models/elementOptionAPIData.model.mjs +2 -0
- package/esm2022/models/elementOptionDB.model.mjs +2 -0
- package/esm2022/models/elementOptionDBCriteria.model.mjs +2 -0
- package/esm2022/models/enum/condition.enum.mjs +18 -0
- package/esm2022/models/enum/elementType .enum.mjs +24 -0
- package/esm2022/models/enum/entityType.enum.mjs +12 -0
- package/esm2022/models/formConfiguration.model.mjs +2 -0
- package/esm2022/models/formElement.model.mjs +2 -0
- package/esm2022/models/formElementType.model.mjs +2 -0
- package/esm2022/models/grid.model.mjs +2 -0
- package/esm2022/models/logic.model.mjs +2 -0
- package/esm2022/models/option.model.mjs +2 -0
- package/esm2022/models/page.model.mjs +2 -0
- package/esm2022/models/publicForm.model.mjs +2 -0
- package/esm2022/models/question.model.mjs +2 -0
- package/esm2022/models/row.model.mjs +2 -0
- package/esm2022/models/section.model.mjs +2 -0
- package/esm2022/models/subForm.model.mjs +2 -0
- package/esm2022/models/validation.model.mjs +2 -0
- package/esm2022/piserve-tech-form-submission.mjs +5 -0
- package/esm2022/public-api.mjs +7 -0
- package/esm2022/services/countryService.mjs +65 -0
- package/esm2022/services/data.service.mjs +26 -0
- package/esm2022/services/form.service.mjs +43 -0
- package/esm2022/services/mapper.service.mjs +256 -0
- package/fesm2022/piserve-tech-form-submission.mjs +2558 -0
- package/fesm2022/piserve-tech-form-submission.mjs.map +1 -0
- package/form-fields/check-box-fields/check-box-fields.component.d.ts +42 -0
- package/form-fields/date-time-fields/date-time-fields.component.d.ts +41 -0
- package/form-fields/drop-down-fields/drop-down-fields.component.d.ts +45 -0
- package/form-fields/file-picker-fields/file-picker-fields.component.d.ts +24 -0
- package/form-fields/form-fields.module.d.ts +36 -0
- package/form-fields/location-fields/location-fields.component.d.ts +24 -0
- package/form-fields/mail-fields/mail-fields.component.d.ts +21 -0
- package/form-fields/mobile-fields/mobile-fields.component.d.ts +45 -0
- package/form-fields/number-fields/number-fields.component.d.ts +22 -0
- package/form-fields/password-fields/password-fields.component.d.ts +35 -0
- package/form-fields/radio-button-fields/radio-button-fields.component.d.ts +39 -0
- package/form-fields/rich-text-editor-fields/rich-text-editor-fields.component.d.ts +24 -0
- package/form-fields/section-fields/section-fields.component.d.ts +6 -0
- package/form-fields/selection-matrix-fields/selection-matrix-fields.component.d.ts +10 -0
- package/form-fields/signature-fields/signature-fields.component.d.ts +12 -0
- package/form-fields/slider-fields/slider-fields.component.d.ts +25 -0
- package/form-fields/terms-and-condition-fields/terms-and-condition-fields.component.d.ts +10 -0
- package/form-fields/text-area-fields/text-area-fields.component.d.ts +22 -0
- package/form-fields/text-fields/text-fields.component.d.ts +30 -0
- package/form-fields/toggle-switch-fields/toggle-switch-fields.component.d.ts +16 -0
- package/form-fields/url-fields/url-fields.component.d.ts +22 -0
- package/form-submission/form-submission.module.d.ts +14 -0
- package/form-submission/header/header.component.d.ts +6 -0
- package/form-submission/logic/logic.component.d.ts +6 -0
- package/form-submission/navigation-tabs/navigation-tabs.component.d.ts +10 -0
- package/form-submission/next-prev-navigation/next-prev-navigation.component.d.ts +15 -0
- package/form-submission/submit-form/submit-form.component.d.ts +43 -0
- package/index.d.ts +5 -0
- package/lib/form-submission.component.d.ts +10 -0
- package/lib/form-submission.module.d.ts +14 -0
- package/lib/form-submission.service.d.ts +6 -0
- package/logic/logic/logic.component.d.ts +6 -0
- package/logic/logic.module.d.ts +8 -0
- package/models/appearance.model.d.ts +48 -0
- package/models/elementOptionAPI.model.d.ts +11 -0
- package/models/elementOptionAPIData.model.d.ts +5 -0
- package/models/elementOptionDB.model.d.ts +7 -0
- package/models/elementOptionDBCriteria.model.d.ts +7 -0
- package/models/enum/condition.enum.d.ts +16 -0
- package/models/enum/elementType .enum.d.ts +22 -0
- package/models/enum/entityType.enum.d.ts +10 -0
- package/models/formConfiguration.model.d.ts +16 -0
- package/models/formElement.model.d.ts +12 -0
- package/models/formElementType.model.d.ts +5 -0
- package/models/grid.model.d.ts +8 -0
- package/models/logic.model.d.ts +8 -0
- package/models/option.model.d.ts +11 -0
- package/models/page.model.d.ts +5 -0
- package/models/publicForm.model.d.ts +7 -0
- package/models/question.model.d.ts +14 -0
- package/models/row.model.d.ts +4 -0
- package/models/section.model.d.ts +5 -0
- package/models/subForm.model.d.ts +8 -0
- package/models/validation.model.d.ts +44 -0
- package/package.json +43 -0
- package/public-api.d.ts +3 -0
- package/services/countryService.d.ts +21 -0
- package/services/data.service.d.ts +13 -0
- package/services/form.service.d.ts +17 -0
- package/services/mapper.service.d.ts +10 -0
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { CheckBoxFieldsComponent } from './check-box-fields/check-box-fields.component';
|
|
4
|
+
import { DateTimeFieldsComponent } from './date-time-fields/date-time-fields.component';
|
|
5
|
+
import { DropDownFieldsComponent } from './drop-down-fields/drop-down-fields.component';
|
|
6
|
+
import { FilePickerFieldsComponent } from './file-picker-fields/file-picker-fields.component';
|
|
7
|
+
import { LocationFieldsComponent } from './location-fields/location-fields.component';
|
|
8
|
+
import { RadioButtonFieldsComponent } from './radio-button-fields/radio-button-fields.component';
|
|
9
|
+
import { RichTextEditorFieldsComponent } from './rich-text-editor-fields/rich-text-editor-fields.component';
|
|
10
|
+
import { SelectionMatrixFieldsComponent } from './selection-matrix-fields/selection-matrix-fields.component';
|
|
11
|
+
import { SignatureFieldsComponent } from './signature-fields/signature-fields.component';
|
|
12
|
+
import { SliderFieldsComponent } from './slider-fields/slider-fields.component';
|
|
13
|
+
import { TermsAndConditionFieldsComponent } from './terms-and-condition-fields/terms-and-condition-fields.component';
|
|
14
|
+
import { TextAreaFieldsComponent } from './text-area-fields/text-area-fields.component';
|
|
15
|
+
import { TextFieldsComponent } from './text-fields/text-fields.component';
|
|
16
|
+
import { ToggleSwitchFieldsComponent } from './toggle-switch-fields/toggle-switch-fields.component';
|
|
17
|
+
import { UrlFieldsComponent } from './url-fields/url-fields.component';
|
|
18
|
+
import { FormsModule } from '@angular/forms';
|
|
19
|
+
import { MailFieldsComponent } from './mail-fields/mail-fields.component';
|
|
20
|
+
import { MobileFieldsComponent } from './mobile-fields/mobile-fields.component';
|
|
21
|
+
import { NumberFieldsComponent } from './number-fields/number-fields.component';
|
|
22
|
+
import { PasswordFieldsComponent } from './password-fields/password-fields.component';
|
|
23
|
+
import { MatSliderModule } from "@angular/material/slider";
|
|
24
|
+
import { BsDatepickerModule } from 'ngx-bootstrap/datepicker';
|
|
25
|
+
import { AngularEditorModule } from '@kolkov/angular-editor';
|
|
26
|
+
import { DocUploadModule } from '@piserve-tech/file-upload';
|
|
27
|
+
import { BrowserModule } from '@angular/platform-browser';
|
|
28
|
+
import { GoogleMapsModule } from '@angular/google-maps';
|
|
29
|
+
import { DropdownModule } from '@piserve-tech/drop-down';
|
|
30
|
+
import { FilePreviewModule } from '@piserve-tech/file-preview';
|
|
31
|
+
import { SectionFieldsComponent } from './section-fields/section-fields.component';
|
|
32
|
+
import * as i0 from "@angular/core";
|
|
33
|
+
import * as i1 from "ngx-bootstrap/datepicker";
|
|
34
|
+
export class FormFieldsModule {
|
|
35
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFieldsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
36
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: FormFieldsModule, declarations: [CheckBoxFieldsComponent,
|
|
37
|
+
DateTimeFieldsComponent,
|
|
38
|
+
DropDownFieldsComponent,
|
|
39
|
+
FilePickerFieldsComponent,
|
|
40
|
+
LocationFieldsComponent,
|
|
41
|
+
RadioButtonFieldsComponent,
|
|
42
|
+
RichTextEditorFieldsComponent,
|
|
43
|
+
SelectionMatrixFieldsComponent,
|
|
44
|
+
SignatureFieldsComponent,
|
|
45
|
+
SliderFieldsComponent,
|
|
46
|
+
TermsAndConditionFieldsComponent,
|
|
47
|
+
TextAreaFieldsComponent,
|
|
48
|
+
TextFieldsComponent,
|
|
49
|
+
ToggleSwitchFieldsComponent,
|
|
50
|
+
UrlFieldsComponent,
|
|
51
|
+
MailFieldsComponent,
|
|
52
|
+
MobileFieldsComponent,
|
|
53
|
+
NumberFieldsComponent,
|
|
54
|
+
PasswordFieldsComponent,
|
|
55
|
+
SectionFieldsComponent], imports: [CommonModule,
|
|
56
|
+
FormsModule,
|
|
57
|
+
MatSliderModule, i1.BsDatepickerModule, DropdownModule,
|
|
58
|
+
AngularEditorModule,
|
|
59
|
+
DocUploadModule,
|
|
60
|
+
BrowserModule,
|
|
61
|
+
GoogleMapsModule,
|
|
62
|
+
FilePreviewModule], exports: [CheckBoxFieldsComponent,
|
|
63
|
+
DateTimeFieldsComponent,
|
|
64
|
+
DropDownFieldsComponent,
|
|
65
|
+
FilePickerFieldsComponent,
|
|
66
|
+
LocationFieldsComponent,
|
|
67
|
+
MailFieldsComponent,
|
|
68
|
+
MobileFieldsComponent,
|
|
69
|
+
NumberFieldsComponent,
|
|
70
|
+
PasswordFieldsComponent,
|
|
71
|
+
RadioButtonFieldsComponent,
|
|
72
|
+
RichTextEditorFieldsComponent,
|
|
73
|
+
SelectionMatrixFieldsComponent,
|
|
74
|
+
SignatureFieldsComponent,
|
|
75
|
+
SliderFieldsComponent,
|
|
76
|
+
TermsAndConditionFieldsComponent,
|
|
77
|
+
TextAreaFieldsComponent,
|
|
78
|
+
TextFieldsComponent,
|
|
79
|
+
ToggleSwitchFieldsComponent,
|
|
80
|
+
UrlFieldsComponent,
|
|
81
|
+
SectionFieldsComponent] }); }
|
|
82
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFieldsModule, imports: [CommonModule,
|
|
83
|
+
FormsModule,
|
|
84
|
+
MatSliderModule,
|
|
85
|
+
BsDatepickerModule.forRoot(),
|
|
86
|
+
DropdownModule,
|
|
87
|
+
AngularEditorModule,
|
|
88
|
+
DocUploadModule,
|
|
89
|
+
BrowserModule,
|
|
90
|
+
GoogleMapsModule,
|
|
91
|
+
FilePreviewModule] }); }
|
|
92
|
+
}
|
|
93
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFieldsModule, decorators: [{
|
|
94
|
+
type: NgModule,
|
|
95
|
+
args: [{
|
|
96
|
+
declarations: [
|
|
97
|
+
CheckBoxFieldsComponent,
|
|
98
|
+
DateTimeFieldsComponent,
|
|
99
|
+
DropDownFieldsComponent,
|
|
100
|
+
FilePickerFieldsComponent,
|
|
101
|
+
LocationFieldsComponent,
|
|
102
|
+
RadioButtonFieldsComponent,
|
|
103
|
+
RichTextEditorFieldsComponent,
|
|
104
|
+
SelectionMatrixFieldsComponent,
|
|
105
|
+
SignatureFieldsComponent,
|
|
106
|
+
SliderFieldsComponent,
|
|
107
|
+
TermsAndConditionFieldsComponent,
|
|
108
|
+
TextAreaFieldsComponent,
|
|
109
|
+
TextFieldsComponent,
|
|
110
|
+
ToggleSwitchFieldsComponent,
|
|
111
|
+
UrlFieldsComponent,
|
|
112
|
+
MailFieldsComponent,
|
|
113
|
+
MobileFieldsComponent,
|
|
114
|
+
NumberFieldsComponent,
|
|
115
|
+
PasswordFieldsComponent,
|
|
116
|
+
SectionFieldsComponent
|
|
117
|
+
],
|
|
118
|
+
imports: [
|
|
119
|
+
CommonModule,
|
|
120
|
+
FormsModule,
|
|
121
|
+
MatSliderModule,
|
|
122
|
+
BsDatepickerModule.forRoot(),
|
|
123
|
+
DropdownModule,
|
|
124
|
+
AngularEditorModule,
|
|
125
|
+
DocUploadModule,
|
|
126
|
+
BrowserModule,
|
|
127
|
+
GoogleMapsModule,
|
|
128
|
+
FilePreviewModule
|
|
129
|
+
],
|
|
130
|
+
exports: [
|
|
131
|
+
CheckBoxFieldsComponent,
|
|
132
|
+
DateTimeFieldsComponent,
|
|
133
|
+
DropDownFieldsComponent,
|
|
134
|
+
FilePickerFieldsComponent,
|
|
135
|
+
LocationFieldsComponent,
|
|
136
|
+
MailFieldsComponent,
|
|
137
|
+
MobileFieldsComponent,
|
|
138
|
+
NumberFieldsComponent,
|
|
139
|
+
PasswordFieldsComponent,
|
|
140
|
+
RadioButtonFieldsComponent,
|
|
141
|
+
RichTextEditorFieldsComponent,
|
|
142
|
+
SelectionMatrixFieldsComponent,
|
|
143
|
+
SignatureFieldsComponent,
|
|
144
|
+
SliderFieldsComponent,
|
|
145
|
+
TermsAndConditionFieldsComponent,
|
|
146
|
+
TextAreaFieldsComponent,
|
|
147
|
+
TextFieldsComponent,
|
|
148
|
+
ToggleSwitchFieldsComponent,
|
|
149
|
+
UrlFieldsComponent,
|
|
150
|
+
SectionFieldsComponent
|
|
151
|
+
]
|
|
152
|
+
}]
|
|
153
|
+
}] });
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS1zdWJtaXNzaW9uL3NyYy9mb3JtLWZpZWxkcy9mb3JtLWZpZWxkcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDeEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDeEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDeEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDOUYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDNUcsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDN0csT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDekYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDckgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDeEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDcEcsT0FBTyxFQUFF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dkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxlQUFlO3dCQUNmLGtCQUFrQixDQUFDLE9BQU8sRUFBRTt3QkFDNUIsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjtxQkFDbEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHVCQUF1Qjt3QkFDdkIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLHlCQUF5Qjt3QkFDekIsdUJBQXVCO3dCQUN2QixtQkFBbUI7d0JBQ25CLHFCQUFxQjt3QkFDckIscUJBQXFCO3dCQUNyQix1QkFBdUI7d0JBQ3ZCLDBCQUEwQjt3QkFDMUIsNkJBQTZCO3dCQUM3Qiw4QkFBOEI7d0JBQzlCLHdCQUF3Qjt3QkFDeEIscUJBQXFCO3dCQUNyQixnQ0FBZ0M7d0JBQ2hDLHVCQUF1Qjt3QkFDdkIsbUJBQW1CO3dCQUNuQiwyQkFBMkI7d0JBQzNCLGtCQUFrQjt3QkFDbEIsc0JBQXNCO3FCQUV2QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENoZWNrQm94RmllbGRzQ29tcG9uZW50IH0gZnJvbSAnLi9jaGVjay1ib3gtZmllbGRzL2NoZWNrLWJveC1maWVsZHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGF0ZVRpbWVGaWVsZHNDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtdGltZS1maWVsZHMvZGF0ZS10aW1lLWZpZWxkcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEcm9wRG93bkZpZWxkc0NvbXBvbmVudCB9IGZyb20gJy4vZHJvcC1kb3duLWZpZWxkcy9kcm9wLWRvd24tZmllbGRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZpbGVQaWNrZXJGaWVsZHNDb21wb25lbnQgfSBmcm9tICcuL2ZpbGUtcGlja2VyLWZpZWxkcy9maWxlLXBpY2tlci1maWVsZHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTG9jYXRpb25GaWVsZHNDb21wb25lbnQgfSBmcm9tICcuL2xvY2F0aW9uLWZpZWxkcy9sb2NhdGlvbi1maWVsZHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmFkaW9CdXR0b25GaWVsZHNDb21wb25lbnQgfSBmcm9tICcuL3JhZGlvLWJ1dHRvbi1maWVsZHMvcmFkaW8tYnV0dG9uLWZpZWxkcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSaWNoVGV4dEVkaXRvckZpZWxkc0NvbXBvbmVudCB9IGZyb20gJy4vcmljaC10ZXh0LWVkaXRvci1maWVsZHMvcmljaC10ZXh0LWVkaXRvci1maWVsZHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VsZWN0aW9uTWF0cml4RmllbGRzQ29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3Rpb24tbWF0cml4LWZpZWxkcy9zZWxlY3Rpb24tbWF0cml4LWZpZWxkcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaWduYXR1cmVGaWVsZHNDb21wb25lbnQgfSBmcm9tICcuL3NpZ25hdHVyZS1maWVsZHMvc2lnbmF0dXJlLWZpZWxkcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbGlkZXJGaWVsZHNDb21wb25lbnQgfSBmcm9tICcuL3NsaWRlci1maWVsZHMvc2xpZGVyLWZpZWxkcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUZXJtc0FuZENvbmRpdGlvbkZpZWxkc0NvbXBvbmVudCB9IGZyb20gJy4vdGVybXMtYW5kLWNvbmRpdGlvbi1maWVsZHMvdGVybXMtYW5kLWNvbmRpdGlvbi1maWVsZHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGV4dEFyZWFGaWVsZHNDb21wb25lbnQgfSBmcm9tICcuL3RleHQtYXJlYS1maWVsZHMvdGV4dC1hcmVhLWZpZWxkcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUZXh0RmllbGRzQ29tcG9uZW50IH0gZnJvbSAnLi90ZXh0LWZpZWxkcy90ZXh0LWZpZWxkcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUb2dnbGVTd2l0Y2hGaWVsZHNDb21wb25lbnQgfSBmcm9tICcuL3RvZ2dsZS1zd2l0Y2gtZmllbGRzL3RvZ2dsZS1zd2l0Y2gtZmllbGRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVybEZpZWxkc0NvbXBvbmVudCB9IGZyb20gJy4vdXJsLWZpZWxkcy91cmwtZmllbGRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYWlsRmllbGRzQ29tcG9uZW50IH0gZnJvbSAnLi9tYWlsLWZpZWxkcy9tYWlsLWZpZWxkcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNb2JpbGVGaWVsZHNDb21wb25lbnQgfSBmcm9tICcuL21vYmlsZS1maWVsZHMvbW9iaWxlLWZpZWxkcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOdW1iZXJGaWVsZHNDb21wb25lbnQgfSBmcm9tICcuL251bWJlci1maWVsZHMvbnVtYmVyLWZpZWxkcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQYXNzd29yZEZpZWxkc0NvbXBvbmVudCB9IGZyb20gJy4vcGFzc3dvcmQtZmllbGRzL3Bhc3N3b3JkLWZpZWxkcy5jb21wb25lbnQnO1xyXG5pbXBvcnQge01hdFNsaWRlck1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NsaWRlclwiO1xyXG5pbXBvcnQgeyBCc0RhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL2RhdGVwaWNrZXInO1xyXG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yTW9kdWxlIH0gZnJvbSAnQGtvbGtvdi9hbmd1bGFyLWVkaXRvcic7XHJcbmltcG9ydCB7IERvY1VwbG9hZE1vZHVsZSB9IGZyb20gJ0BwaXNlcnZlLXRlY2gvZmlsZS11cGxvYWQnO1xyXG5cclxuaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBHb29nbGVNYXBzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZ29vZ2xlLW1hcHMnO1xyXG5pbXBvcnQgeyBEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BwaXNlcnZlLXRlY2gvZHJvcC1kb3duJztcclxuaW1wb3J0IHsgRmlsZVByZXZpZXdNb2R1bGUgfSBmcm9tICdAcGlzZXJ2ZS10ZWNoL2ZpbGUtcHJldmlldyc7XHJcbmltcG9ydCB7IFNlY3Rpb25GaWVsZHNDb21wb25lbnQgfSBmcm9tICcuL3NlY3Rpb24tZmllbGRzL3NlY3Rpb24tZmllbGRzLmNvbXBvbmVudCc7XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBDaGVja0JveEZpZWxkc0NvbXBvbmVudCxcclxuICAgIERhdGVUaW1lRmllbGRzQ29tcG9uZW50LFxyXG4gICAgRHJvcERvd25GaWVsZHNDb21wb25lbnQsXHJcbiAgICBGaWxlUGlja2VyRmllbGRzQ29tcG9uZW50LFxyXG4gICAgTG9jYXRpb25GaWVsZHNDb21wb25lbnQsXHJcbiAgICBSYWRpb0J1dHRvbkZpZWxkc0NvbXBvbmVudCxcclxuICAgIFJpY2hUZXh0RWRpdG9yRmllbGRzQ29tcG9uZW50LFxyXG4gICAgU2VsZWN0aW9uTWF0cml4RmllbGRzQ29tcG9uZW50LFxyXG4gICAgU2lnbmF0dXJlRmllbGRzQ29tcG9uZW50LFxyXG4gICAgU2xpZGVyRmllbGRzQ29tcG9uZW50LFxyXG4gICAgVGVybXNBbmRDb25kaXRpb25GaWVsZHNDb21wb25lbnQsXHJcbiAgICBUZXh0QXJlYUZpZWxkc0NvbXBvbmVudCxcclxuICAgIFRleHRGaWVsZHNDb21wb25lbnQsXHJcbiAgICBUb2dnbGVTd2l0Y2hGaWVsZHNDb21wb25lbnQsXHJcbiAgICBVcmxGaWVsZHNDb21wb25lbnQsXHJcbiAgICBNYWlsRmllbGRzQ29tcG9uZW50LFxyXG4gICAgTW9iaWxlRmllbGRzQ29tcG9uZW50LFxyXG4gICAgTnVtYmVyRmllbGRzQ29tcG9uZW50LFxyXG4gICAgUGFzc3dvcmRGaWVsZHNDb21wb25lbnQsXHJcbiAgICBTZWN0aW9uRmllbGRzQ29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIE1hdFNsaWRlck1vZHVsZSxcclxuICAgIEJzRGF0ZXBpY2tlck1vZHVsZS5mb3JSb290KCksXHJcbiAgICBEcm9wZG93bk1vZHVsZSxcclxuICAgIEFuZ3VsYXJFZGl0b3JNb2R1bGUsXHJcbiAgICBEb2NVcGxvYWRNb2R1bGUsXHJcbiAgICBCcm93c2VyTW9kdWxlLFxyXG4gICAgR29vZ2xlTWFwc01vZHVsZSxcclxuICAgIEZpbGVQcmV2aWV3TW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBDaGVja0JveEZpZWxkc0NvbXBvbmVudCxcclxuICAgIERhdGVUaW1lRmllbGRzQ29tcG9uZW50LFxyXG4gICAgRHJvcERvd25GaWVsZHNDb21wb25lbnQsXHJcbiAgICBGaWxlUGlja2VyRmllbGRzQ29tcG9uZW50LFxyXG4gICAgTG9jYXRpb25GaWVsZHNDb21wb25lbnQsXHJcbiAgICBNYWlsRmllbGRzQ29tcG9uZW50LFxyXG4gICAgTW9iaWxlRmllbGRzQ29tcG9uZW50LFxyXG4gICAgTnVtYmVyRmllbGRzQ29tcG9uZW50LFxyXG4gICAgUGFzc3dvcmRGaWVsZHNDb21wb25lbnQsXHJcbiAgICBSYWRpb0J1dHRvbkZpZWxkc0NvbXBvbmVudCxcclxuICAgIFJpY2hUZXh0RWRpdG9yRmllbGRzQ29tcG9uZW50LFxyXG4gICAgU2VsZWN0aW9uTWF0cml4RmllbGRzQ29tcG9uZW50LFxyXG4gICAgU2lnbmF0dXJlRmllbGRzQ29tcG9uZW50LFxyXG4gICAgU2xpZGVyRmllbGRzQ29tcG9uZW50LFxyXG4gICAgVGVybXNBbmRDb25kaXRpb25GaWVsZHNDb21wb25lbnQsXHJcbiAgICBUZXh0QXJlYUZpZWxkc0NvbXBvbmVudCxcclxuICAgIFRleHRGaWVsZHNDb21wb25lbnQsXHJcbiAgICBUb2dnbGVTd2l0Y2hGaWVsZHNDb21wb25lbnQsXHJcbiAgICBVcmxGaWVsZHNDb21wb25lbnQsXHJcbiAgICBTZWN0aW9uRmllbGRzQ29tcG9uZW50XHJcblxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1GaWVsZHNNb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Component, Input, ViewChild } from '@angular/core';
|
|
2
|
+
import { GoogleMap } from '@angular/google-maps';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "@angular/google-maps";
|
|
6
|
+
export class LocationFieldsComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.question = {};
|
|
9
|
+
this.count = 0;
|
|
10
|
+
this.required = false;
|
|
11
|
+
this.hint = '';
|
|
12
|
+
this.defaultZoomLevel = 0;
|
|
13
|
+
this.setCurrentPosition = false;
|
|
14
|
+
this.allowFullScreen = false;
|
|
15
|
+
this.latitude = 0;
|
|
16
|
+
this.longitude = 0;
|
|
17
|
+
this.regionBoundary = false;
|
|
18
|
+
this.region = '';
|
|
19
|
+
this.mapConfigurations = {};
|
|
20
|
+
}
|
|
21
|
+
ngOnInit() {
|
|
22
|
+
this.count = this.question.count;
|
|
23
|
+
this.required = this.question.required;
|
|
24
|
+
this.hint = this.question.hint;
|
|
25
|
+
this.defaultZoomLevel =
|
|
26
|
+
this.question.formElement.appearance.defaultZoomLevel;
|
|
27
|
+
this.setCurrentPosition =
|
|
28
|
+
this.question.formElement.appearance.setCurrentPosition;
|
|
29
|
+
this.allowFullScreen = this.question.formElement.appearance.allowFullScreen;
|
|
30
|
+
this.latitude = this.question.formElement.appearance.latitude;
|
|
31
|
+
this.longitude = this.question.formElement.appearance.longitude;
|
|
32
|
+
this.regionBoundary = this.question.formElement.validation.regionBoundary;
|
|
33
|
+
this.region = this.question.formElement.validation.region;
|
|
34
|
+
this.mapConfigurations = {
|
|
35
|
+
disableDefaultUI: true,
|
|
36
|
+
fullscreenControl: this.allowFullScreen,
|
|
37
|
+
zoomControl: true,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
ngAfterViewInit() {
|
|
41
|
+
const searchBox = new google.maps.places.SearchBox(this.searchField.nativeElement);
|
|
42
|
+
this.map.controls[google.maps.ControlPosition.TOP_CENTER].push(this.searchField.nativeElement);
|
|
43
|
+
searchBox.addListener('places_changed', () => {
|
|
44
|
+
const places = searchBox.getPlaces();
|
|
45
|
+
if (places?.length === 0) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
const bounds = new google.maps.LatLngBounds();
|
|
49
|
+
places?.forEach((place) => {
|
|
50
|
+
if (!place.geometry || !place.geometry.location) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
if (place.geometry.viewport) {
|
|
54
|
+
// Only geocodes have viewport.
|
|
55
|
+
bounds.union(place.geometry.viewport);
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
bounds.extend(place.geometry.location);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
this.map.fitBounds(bounds);
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocationFieldsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
65
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LocationFieldsComponent, selector: "lib-location-fields", inputs: { question: "question" }, viewQueries: [{ propertyName: "searchField", first: true, predicate: ["mapSearchField"], descendants: true }, { propertyName: "map", first: true, predicate: GoogleMap, descendants: true }], ngImport: i0, template: "<div [ngClass]=\"'col-' + count\" class=\"mb-4 px-3\">\r\n <div class=\"input-wrapper\">\r\n <label>{{ question.question }}</label> \r\n <span class=\"text-danger\" *ngIf=\"required\">*</span>\r\n <div class=\"svg-wrapper mb-2 hintIcon\" [attr.data-title]=\"hint\" *ngIf=\"hint\">\r\n <svg class=\"hintSvg\" viewBox=\"0 0 30 30\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M15 26.25V26.25C8.78625 26.25 3.75 21.2138 3.75 15V15C3.75 8.78625 8.78625 3.75 15 3.75V3.75C21.2138 3.75 26.25 8.78625 26.25 15V15C26.25 21.2138 21.2138 26.25 15 26.25Z\" stroke=\"#323232\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M15 16.5623V16.2498C15 15.2285 15.6312 14.6748 16.2637 14.2498C16.8812 13.8335 17.5 13.291 17.5 12.291C17.5 10.9098 16.3813 9.79102 15 9.79102C13.6187 9.79102 12.5 10.9098 12.5 12.291\" stroke=\"#323232\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M14.9988 20C14.8263 20 14.6863 20.14 14.6875 20.3125C14.6875 20.485 14.8275 20.625 15 20.625C15.1725 20.625 15.3125 20.485 15.3125 20.3125C15.3125 20.14 15.1725 20 14.9988 20\" stroke=\"#323232\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n</div>\r\n <div class=\"input-group\">\r\n <input\r\n type=\"text\"\r\n class=\"form-control location-input\"\r\n placeholder=\"Enter location\"\r\n #locationInput\r\n />\r\n </div>\r\n\r\n <input #mapSearchField class=\"my-map-search-field\" type=\"text\"/>\r\n <google-map\r\n width=\"100%\"\r\n [options]=\"mapConfigurations\"\r\n ></google-map>\r\n</div>", styles: [".input-wrapper{display:flex;align-items:flex-start}.svg-wrapper{margin-left:auto;z-index:999}.hintIcon{position:relative;cursor:pointer}.hintIcon:hover:before{content:attr(data-title);position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%);padding:4px 8px;border-radius:4px;background-color:#1d252d;color:#8e9aa0;font-size:14px;white-space:nowrap}.hintIcon:hover:after{content:\"\";position:absolute;top:calc(100% - 26px);left:50%;border:solid transparent;border-width:18px;border-bottom-color:#1d252d;transform:translate(-50%)}.height{height:42px}.invalid{border-color:red}.hintSvg{width:30px;height:30px;fill:none}.validationSvg{width:24px;height:24px;fill:none}.location-input{position:relative}.input-group-append{cursor:pointer;position:absolute;top:50%;right:10px;transform:translateY(-50%)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.GoogleMap, selector: "google-map", inputs: ["height", "width", "mapTypeId", "center", "zoom", "options"], outputs: ["mapInitialized", "authFailure", "boundsChanged", "centerChanged", "mapClick", "mapDblclick", "mapDrag", "mapDragend", "mapDragstart", "headingChanged", "idle", "maptypeidChanged", "mapMousemove", "mapMouseout", "mapMouseover", "projectionChanged", "mapRightclick", "tilesloaded", "tiltChanged", "zoomChanged"], exportAs: ["googleMap"] }] }); }
|
|
66
|
+
}
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocationFieldsComponent, decorators: [{
|
|
68
|
+
type: Component,
|
|
69
|
+
args: [{ selector: 'lib-location-fields', template: "<div [ngClass]=\"'col-' + count\" class=\"mb-4 px-3\">\r\n <div class=\"input-wrapper\">\r\n <label>{{ question.question }}</label> \r\n <span class=\"text-danger\" *ngIf=\"required\">*</span>\r\n <div class=\"svg-wrapper mb-2 hintIcon\" [attr.data-title]=\"hint\" *ngIf=\"hint\">\r\n <svg class=\"hintSvg\" viewBox=\"0 0 30 30\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M15 26.25V26.25C8.78625 26.25 3.75 21.2138 3.75 15V15C3.75 8.78625 8.78625 3.75 15 3.75V3.75C21.2138 3.75 26.25 8.78625 26.25 15V15C26.25 21.2138 21.2138 26.25 15 26.25Z\" stroke=\"#323232\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M15 16.5623V16.2498C15 15.2285 15.6312 14.6748 16.2637 14.2498C16.8812 13.8335 17.5 13.291 17.5 12.291C17.5 10.9098 16.3813 9.79102 15 9.79102C13.6187 9.79102 12.5 10.9098 12.5 12.291\" stroke=\"#323232\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M14.9988 20C14.8263 20 14.6863 20.14 14.6875 20.3125C14.6875 20.485 14.8275 20.625 15 20.625C15.1725 20.625 15.3125 20.485 15.3125 20.3125C15.3125 20.14 15.1725 20 14.9988 20\" stroke=\"#323232\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n</div>\r\n <div class=\"input-group\">\r\n <input\r\n type=\"text\"\r\n class=\"form-control location-input\"\r\n placeholder=\"Enter location\"\r\n #locationInput\r\n />\r\n </div>\r\n\r\n <input #mapSearchField class=\"my-map-search-field\" type=\"text\"/>\r\n <google-map\r\n width=\"100%\"\r\n [options]=\"mapConfigurations\"\r\n ></google-map>\r\n</div>", styles: [".input-wrapper{display:flex;align-items:flex-start}.svg-wrapper{margin-left:auto;z-index:999}.hintIcon{position:relative;cursor:pointer}.hintIcon:hover:before{content:attr(data-title);position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%);padding:4px 8px;border-radius:4px;background-color:#1d252d;color:#8e9aa0;font-size:14px;white-space:nowrap}.hintIcon:hover:after{content:\"\";position:absolute;top:calc(100% - 26px);left:50%;border:solid transparent;border-width:18px;border-bottom-color:#1d252d;transform:translate(-50%)}.height{height:42px}.invalid{border-color:red}.hintSvg{width:30px;height:30px;fill:none}.validationSvg{width:24px;height:24px;fill:none}.location-input{position:relative}.input-group-append{cursor:pointer;position:absolute;top:50%;right:10px;transform:translateY(-50%)}\n"] }]
|
|
70
|
+
}], propDecorators: { question: [{
|
|
71
|
+
type: Input
|
|
72
|
+
}], searchField: [{
|
|
73
|
+
type: ViewChild,
|
|
74
|
+
args: ['mapSearchField']
|
|
75
|
+
}], map: [{
|
|
76
|
+
type: ViewChild,
|
|
77
|
+
args: [GoogleMap]
|
|
78
|
+
}] } });
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYXRpb24tZmllbGRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm0tc3VibWlzc2lvbi9zcmMvZm9ybS1maWVsZHMvbG9jYXRpb24tZmllbGRzL2xvY2F0aW9uLWZpZWxkcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL2Zvcm0tZmllbGRzL2xvY2F0aW9uLWZpZWxkcy9sb2NhdGlvbi1maWVsZHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQU9qRCxNQUFNLE9BQU8sdUJBQXVCO0lBTHBDO1FBTVcsYUFBUSxHQUFRLEVBQUUsQ0FBQztRQUs1QixVQUFLLEdBQVcsQ0FBQyxDQUFDO1FBQ2xCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUNsQixxQkFBZ0IsR0FBVyxDQUFDLENBQUM7UUFDN0IsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBQ3BDLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBQ2pDLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFDckIsY0FBUyxHQUFXLENBQUMsQ0FBQztRQUN0QixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUNoQyxXQUFNLEdBQVcsRUFBRSxDQUFDO1FBRXBCLHNCQUFpQixHQUFRLEVBQUUsQ0FBQztLQXNEN0I7SUFwREMsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUN2QyxJ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b250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBHb29nbGVNYXAgfSBmcm9tICdAYW5ndWxhci9nb29nbGUtbWFwcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1sb2NhdGlvbi1maWVsZHMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2NhdGlvbi1maWVsZHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xvY2F0aW9uLWZpZWxkcy5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9jYXRpb25GaWVsZHNDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIHF1ZXN0aW9uOiBhbnkgPSB7fTtcclxuICBAVmlld0NoaWxkKCdtYXBTZWFyY2hGaWVsZCcpXHJcbiAgc2VhcmNoRmllbGQhOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoR29vZ2xlTWFwKSBtYXAhOiBHb29nbGVNYXA7XHJcblxyXG4gIGNvdW50OiBudW1iZXIgPSAwO1xyXG4gIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgaGludDogc3RyaW5nID0gJyc7XHJcbiAgZGVmYXVsdFpvb21MZXZlbDogbnVtYmVyID0gMDtcclxuICBzZXRDdXJyZW50UG9zaXRpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuICBhbGxvd0Z1bGxTY3JlZW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICBsYXRpdHVkZTogbnVtYmVyID0gMDtcclxuICBsb25naXR1ZGU6IG51bWJlciA9IDA7XHJcbiAgcmVnaW9uQm91bmRhcnk6IGJvb2xlYW4gPSBmYWxzZTtcclxuICByZWdpb246IHN0cmluZyA9ICcnO1xyXG4gIHNob3dHb29nbGVNYXAhOiBib29sZWFuO1xyXG4gIG1hcENvbmZpZ3VyYXRpb25zOiBhbnkgPSB7fTtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmNvdW50ID0gdGhpcy5xdWVzdGlvbi5jb3VudDtcclxuICAgIHRoaXMucmVxdWlyZWQgPSB0aGlzLnF1ZXN0aW9uLnJlcXVpcmVkO1xyXG4gICAgdGhpcy5oaW50ID0gdGhpcy5xdWVzdGlvbi5oaW50O1xyXG4gICAgdGhpcy5kZWZhdWx0Wm9vbUxldmVsID1cclxuICAgICAgdGhpcy5xdWVzdGlvbi5mb3JtRWxlbWVudC5hcHBlYXJhbmNlLmRlZmF1bHRab29tTGV2ZWw7XHJcbiAgICB0aGlzLnNldEN1cnJlbnRQb3NpdGlvbiA9XHJcbiAgICAgIHRoaXMucXVlc3Rpb24uZm9ybUVsZW1lbnQuYXBwZWFyYW5jZS5zZXRDdXJyZW50UG9zaXRpb247XHJcbiAgICB0aGlzLmFsbG93RnVsbFNjcmVlbiA9IHRoaXMucXVlc3Rpb24uZm9ybUVsZW1lbnQuYXBwZWFyYW5jZS5hbGxvd0Z1bGxTY3JlZW47XHJcbiAgICB0aGlzLmxhdGl0dWRlID0gdGhpcy5xdWVzdGlvbi5mb3JtRWxlbWVudC5hcHBlYXJhbmNlLmxhdGl0dWRlO1xyXG4gICAgdGhpcy5sb25naXR1ZGUgPSB0aGlzLnF1ZXN0aW9uLmZvcm1FbGVtZW50LmFwcGVhcmFuY2UubG9uZ2l0dWRlO1xyXG4gICAgdGhpcy5yZWdpb25Cb3VuZGFyeSA9IHRoaXMucXVlc3Rpb24uZm9ybUVsZW1lbnQudmFsaWRhdGlvbi5yZWdpb25Cb3VuZGFyeTtcclxuICAgIHRoaXMucmVnaW9uID0gdGhpcy5xdWVzdGlvbi5mb3JtRWxlbWVudC52YWxpZGF0aW9uLnJlZ2lvbjtcclxuICAgIHRoaXMubWFwQ29uZmlndXJhdGlvbnMgPSB7XHJcbiAgICAgIGRpc2FibGVEZWZhdWx0VUk6IHRydWUsXHJcbiAgICAgIGZ1bGxzY3JlZW5Db250cm9sOiB0aGlzLmFsbG93RnVsbFNjcmVlbixcclxuICAgICAgem9vbUNvbnRyb2w6IHRydWUsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3Qgc2VhcmNoQm94ID0gbmV3IGdvb2dsZS5tYXBzLnBsYWNlcy5TZWFyY2hCb3goXHJcbiAgICAgIHRoaXMuc2VhcmNoRmllbGQubmF0aXZlRWxlbWVudFxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLm1hcC5jb250cm9sc1tnb29nbGUubWFwcy5Db250cm9sUG9zaXRpb24uVE9QX0NFTlRFUl0ucHVzaChcclxuICAgICAgdGhpcy5zZWFyY2hGaWVsZC5uYXRpdmVFbGVtZW50XHJcbiAgICApO1xyXG5cclxuICAgIHNlYXJjaEJveC5hZGRMaXN0ZW5lcigncGxhY2VzX2NoYW5nZWQnLCAoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHBsYWNlcyA9IHNlYXJjaEJveC5nZXRQbGFjZXMoKTtcclxuICAgICAgaWYgKHBsYWNlcz8ubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBib3VuZHMgPSBuZXcgZ29vZ2xlLm1hcHMuTGF0TG5nQm91bmRzKCk7XHJcbiAgICAgIHBsYWNlcz8uZm9yRWFjaCgocGxhY2UpID0+IHtcclxuICAgICAgICBpZiAoIXBsYWNlLmdlb21ldHJ5IHx8ICFwbGFjZS5nZW9tZXRyeS5sb2NhdGlvbikge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHBsYWNlLmdlb21ldHJ5LnZpZXdwb3J0KSB7XHJcbiAgICAgICAgICAvLyBPbmx5IGdlb2NvZGVzIGhhdmUgdmlld3BvcnQuXHJcbiAgICAgICAgICBib3VuZHMudW5pb24ocGxhY2UuZ2VvbWV0cnkudmlld3BvcnQpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBib3VuZHMuZXh0ZW5kKHBsYWNlLmdlb21ldHJ5LmxvY2F0aW9uKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5tYXAuZml0Qm91bmRzKGJvdW5kcyk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBbbmdDbGFzc109XCInY29sLScgKyBjb3VudFwiIGNsYXNzPVwibWItNCBweC0zXCI+XHJcbiAgPGRpdiAgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCI+XHJcbiAgPGxhYmVsPnt7IHF1ZXN0aW9uLnF1ZXN0aW9uIH19PC9sYWJlbD4mbmJzcDtcclxuICA8c3BhbiBjbGFzcz1cInRleHQtZGFuZ2VyXCIgKm5nSWY9XCJyZXF1aXJlZFwiPio8L3NwYW4+XHJcbiAgPGRpdiBjbGFzcz1cInN2Zy13cmFwcGVyICBtYi0yIGhpbnRJY29uXCIgW2F0dHIuZGF0YS10aXRsZV09XCJoaW50XCIgKm5nSWY9XCJoaW50XCI+XHJcbiAgICA8c3ZnIGNsYXNzPVwiaGludFN2Z1wiICB2aWV3Qm94PVwiMCAwIDMwIDMwXCIgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTE1IDI2LjI1VjI2LjI1QzguNzg2MjUgMjYuMjUgMy43NSAyMS4yMTM4IDMuNzUgMTVWMTVDMy43NSA4Ljc4NjI1IDguNzg2MjUgMy43NSAxNSAzLjc1VjMuNzVDMjEuMjEzOCAzLjc1IDI2LjI1IDguNzg2MjUgMjYuMjUgMTVWMTVDMjYuMjUgMjEuMjEzOCAyMS4yMTM4IDI2LjI1IDE1IDI2LjI1WlwiIHN0cm9rZT1cIiMzMjMyMzJcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNMTUgMTYuNTYyM1YxNi4yNDk4QzE1IDE1LjIyODUgMTUuNjMxMiAxNC42NzQ4IDE2LjI2MzcgMTQuMjQ5OEMxNi44ODEyIDEzLjgzMzUgMTcuNSAxMy4yOTEgMTcuNSAxMi4yOTFDMTcuNSAxMC45MDk4IDE2LjM4MTMgOS43OTEwMiAxNSA5Ljc5MTAyQzEzLjYxODcgOS43OTEwMiAxMi41IDEwLjkwOTggMTIuNSAxMi4yOTFcIiBzdHJva2U9XCIjMzIzMjMyXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICA8cGF0aCBkPVwiTTE0Ljk5ODggMjBDMTQuODI2MyAyMCAxNC42ODYzIDIwLjE0IDE0LjY4NzUgMjAuMzEyNUMxNC42ODc1IDIwLjQ4NSAxNC44Mjc1IDIwLjYyNSAxNSAyMC42MjVDMTUuMTcyNSAyMC42MjUgMTUuMzEyNSAyMC40ODUgMTUuMzEyNSAyMC4zMTI1QzE1LjMxMjUgMjAuMTQgMTUuMTcyNSAyMCAxNC45OTg4IDIwXCIgc3Ryb2tlPVwiIzMyMzIzMlwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgIDwvc3ZnPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cclxuICAgIDxpbnB1dFxyXG4gICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGxvY2F0aW9uLWlucHV0XCJcclxuICAgICAgcGxhY2Vob2xkZXI9XCJFbnRlciBsb2NhdGlvblwiXHJcbiAgICAgICNsb2NhdGlvbklucHV0XHJcbiAgICAvPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8aW5wdXQgI21hcFNlYXJjaEZpZWxkIGNsYXNzPVwibXktbWFwLXNlYXJjaC1maWVsZFwiIHR5cGU9XCJ0ZXh0XCIvPlxyXG4gIDxnb29nbGUtbWFwXHJcbiAgICB3aWR0aD1cIjEwMCVcIlxyXG4gICAgW29wdGlvbnNdPVwibWFwQ29uZmlndXJhdGlvbnNcIlxyXG4gID48L2dvb2dsZS1tYXA+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "@angular/forms";
|
|
5
|
+
export class MailFieldsComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.question = {};
|
|
8
|
+
this.count = 0;
|
|
9
|
+
this.required = false;
|
|
10
|
+
this.hint = '';
|
|
11
|
+
this.placeholder = '';
|
|
12
|
+
this.expectedDomains = [];
|
|
13
|
+
this.regularExpression = '';
|
|
14
|
+
this.email = '';
|
|
15
|
+
this.validationFailed = false;
|
|
16
|
+
this.validationMessage = '';
|
|
17
|
+
this.validate = new EventEmitter();
|
|
18
|
+
}
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
this.valueAssigned();
|
|
21
|
+
}
|
|
22
|
+
valueAssigned() {
|
|
23
|
+
this.count = this.question.count;
|
|
24
|
+
this.required = this.question.required;
|
|
25
|
+
this.hint = this.question.hint;
|
|
26
|
+
this.placeholder = this.question.formElement.appearance.placeholder;
|
|
27
|
+
this.expectedDomains =
|
|
28
|
+
this.question?.formElement?.validation?.expectedDomains
|
|
29
|
+
?.split(',')
|
|
30
|
+
.map((domain) => domain.trim());
|
|
31
|
+
this.regularExpression =
|
|
32
|
+
this.question.formElement.validation.regularExpression;
|
|
33
|
+
}
|
|
34
|
+
validateEmail() {
|
|
35
|
+
this.validationFailed = false;
|
|
36
|
+
this.validationMessage = '';
|
|
37
|
+
const enteredEmail = this.email.trim().toLowerCase();
|
|
38
|
+
if (this.required && !this.email) {
|
|
39
|
+
this.validationFailed = true;
|
|
40
|
+
this.validationMessage = 'This is a required question';
|
|
41
|
+
this.validate.emit(this.validationFailed);
|
|
42
|
+
this.question.validation = false;
|
|
43
|
+
}
|
|
44
|
+
else if (this.expectedDomains) {
|
|
45
|
+
const isValidEmail = this.expectedDomains?.some((domain) => enteredEmail.endsWith(domain));
|
|
46
|
+
this.validationFailed = !isValidEmail;
|
|
47
|
+
this.validationMessage = 'Please enter valid email address';
|
|
48
|
+
if (this.validationFailed) {
|
|
49
|
+
this.validate.emit(this.validationFailed);
|
|
50
|
+
this.question.validation = false;
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
this.question.validation = true;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
this.question.validation = true;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
validateInput(event) {
|
|
61
|
+
this.question.answer = event.target.value;
|
|
62
|
+
this.validateEmail();
|
|
63
|
+
}
|
|
64
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MailFieldsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
65
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MailFieldsComponent, selector: "lib-mail-fields", inputs: { question: "question" }, outputs: { validate: "validate" }, ngImport: i0, template: "<div [ngClass]=\"'col-' + count\" class=\"mb-4 px-3\">\r\n <div class=\"input-wrapper\">\r\n <label>{{ question.question }}</label> \r\n <span class=\"text-danger\" *ngIf=\"required\">*</span>\r\n <div class=\"svg-wrapper mb-2 hintIcon\" [attr.data-title]=\"hint\" *ngIf=\"hint\">\r\n <svg class=\"hintSvg\" viewBox=\"0 0 30 30\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M15 26.25V26.25C8.78625 26.25 3.75 21.2138 3.75 15V15C3.75 8.78625 8.78625 3.75 15 3.75V3.75C21.2138 3.75 26.25 8.78625 26.25 15V15C26.25 21.2138 21.2138 26.25 15 26.25Z\" stroke=\"#323232\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M15 16.5623V16.2498C15 15.2285 15.6312 14.6748 16.2637 14.2498C16.8812 13.8335 17.5 13.291 17.5 12.291C17.5 10.9098 16.3813 9.79102 15 9.79102C13.6187 9.79102 12.5 10.9098 12.5 12.291\" stroke=\"#323232\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M14.9988 20C14.8263 20 14.6863 20.14 14.6875 20.3125C14.6875 20.485 14.8275 20.625 15 20.625C15.1725 20.625 15.3125 20.485 15.3125 20.3125C15.3125 20.14 15.1725 20 14.9988 20\" stroke=\"#323232\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n</div>\r\n <input\r\n type=\"email\"\r\n class=\"form-control mb-2 height\"\r\n [placeholder]=\"placeholder\"\r\n [(ngModel)]=\"email\"\r\n (blur)=\"validateEmail()\"\r\n (input)=\"validateInput($event)\"\r\n [class.invalid]=\"validationFailed\"\r\n />\r\n <div *ngIf=\"validationFailed\" class=\"text-danger\">\r\n <svg class=\"validationSvg\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M12.001 16.75C12.139 16.75 12.251 16.638 12.25 16.5C12.25 16.362 12.138 16.25 12 16.25C11.862 16.25 11.75 16.362 11.75 16.5C11.75 16.638 11.862 16.75 12.001 16.75\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 21C7.029 21 3 16.971 3 12C3 7.029 7.029 3 12 3C16.971 3 21 7.029 21 12C21 16.971 16.971 21 12 21Z\" fill=\"#FF0000\" stroke=\"#FF0000\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M12 12.75L12 7.75\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <circle cx=\"12\" cy=\"16\" r=\"1\" fill=\"white\"/>\r\n </svg>\r\n {{validationMessage}}</div>\r\n</div>\r\n", styles: [".input-wrapper{display:flex;align-items:flex-start}.svg-wrapper{margin-left:auto;z-index:999}.hintIcon{position:relative;cursor:pointer}.hintIcon:hover:before{content:attr(data-title);position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%);padding:4px 8px;border-radius:4px;background-color:#1d252d;color:#8e9aa0;font-size:14px;white-space:nowrap}.hintIcon:hover:after{content:\"\";position:absolute;top:calc(100% - 26px);left:50%;border:solid transparent;border-width:18px;border-bottom-color:#1d252d;transform:translate(-50%)}.height{height:42px}.invalid{border-color:red}.hintSvg{width:30px;height:30px;fill:none}.validationSvg{width:24px;height:24px;fill:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
66
|
+
}
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MailFieldsComponent, decorators: [{
|
|
68
|
+
type: Component,
|
|
69
|
+
args: [{ selector: 'lib-mail-fields', template: "<div [ngClass]=\"'col-' + count\" class=\"mb-4 px-3\">\r\n <div class=\"input-wrapper\">\r\n <label>{{ question.question }}</label> \r\n <span class=\"text-danger\" *ngIf=\"required\">*</span>\r\n <div class=\"svg-wrapper mb-2 hintIcon\" [attr.data-title]=\"hint\" *ngIf=\"hint\">\r\n <svg class=\"hintSvg\" viewBox=\"0 0 30 30\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M15 26.25V26.25C8.78625 26.25 3.75 21.2138 3.75 15V15C3.75 8.78625 8.78625 3.75 15 3.75V3.75C21.2138 3.75 26.25 8.78625 26.25 15V15C26.25 21.2138 21.2138 26.25 15 26.25Z\" stroke=\"#323232\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M15 16.5623V16.2498C15 15.2285 15.6312 14.6748 16.2637 14.2498C16.8812 13.8335 17.5 13.291 17.5 12.291C17.5 10.9098 16.3813 9.79102 15 9.79102C13.6187 9.79102 12.5 10.9098 12.5 12.291\" stroke=\"#323232\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M14.9988 20C14.8263 20 14.6863 20.14 14.6875 20.3125C14.6875 20.485 14.8275 20.625 15 20.625C15.1725 20.625 15.3125 20.485 15.3125 20.3125C15.3125 20.14 15.1725 20 14.9988 20\" stroke=\"#323232\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n</div>\r\n <input\r\n type=\"email\"\r\n class=\"form-control mb-2 height\"\r\n [placeholder]=\"placeholder\"\r\n [(ngModel)]=\"email\"\r\n (blur)=\"validateEmail()\"\r\n (input)=\"validateInput($event)\"\r\n [class.invalid]=\"validationFailed\"\r\n />\r\n <div *ngIf=\"validationFailed\" class=\"text-danger\">\r\n <svg class=\"validationSvg\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M12.001 16.75C12.139 16.75 12.251 16.638 12.25 16.5C12.25 16.362 12.138 16.25 12 16.25C11.862 16.25 11.75 16.362 11.75 16.5C11.75 16.638 11.862 16.75 12.001 16.75\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 21C7.029 21 3 16.971 3 12C3 7.029 7.029 3 12 3C16.971 3 21 7.029 21 12C21 16.971 16.971 21 12 21Z\" fill=\"#FF0000\" stroke=\"#FF0000\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M12 12.75L12 7.75\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <circle cx=\"12\" cy=\"16\" r=\"1\" fill=\"white\"/>\r\n </svg>\r\n {{validationMessage}}</div>\r\n</div>\r\n", styles: [".input-wrapper{display:flex;align-items:flex-start}.svg-wrapper{margin-left:auto;z-index:999}.hintIcon{position:relative;cursor:pointer}.hintIcon:hover:before{content:attr(data-title);position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%);padding:4px 8px;border-radius:4px;background-color:#1d252d;color:#8e9aa0;font-size:14px;white-space:nowrap}.hintIcon:hover:after{content:\"\";position:absolute;top:calc(100% - 26px);left:50%;border:solid transparent;border-width:18px;border-bottom-color:#1d252d;transform:translate(-50%)}.height{height:42px}.invalid{border-color:red}.hintSvg{width:30px;height:30px;fill:none}.validationSvg{width:24px;height:24px;fill:none}\n"] }]
|
|
70
|
+
}], propDecorators: { question: [{
|
|
71
|
+
type: Input
|
|
72
|
+
}], validate: [{
|
|
73
|
+
type: Output
|
|
74
|
+
}] } });
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbC1maWVsZHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS1zdWJtaXNzaW9uL3NyYy9mb3JtLWZpZWxkcy9tYWlsLWZpZWxkcy9tYWlsLWZpZWxkcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL2Zvcm0tZmllbGRzL21haWwtZmllbGRzL21haWwtZmllbGRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFPdkUsTUFBTSxPQUFPLG1CQUFtQjtJQUxoQztRQU1XLGFBQVEsR0FBUSxFQUFFLENBQUM7UUFDNUIsVUFBSyxHQUFXLENBQUMsQ0FBQztRQUNsQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDbEIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsb0JBQWUsR0FBYSxFQUFFLENBQUM7UUFDL0Isc0JBQWlCLEdBQVcsRUFBRSxDQUFDO1FBQy9CLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBQ2xDLHNCQUFpQixHQUFXLEVBQUUsQ0FBQztRQUVyQixhQUFRLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7S0FrRHpFO0lBaERDLFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDdkMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUM7UUFDcEUsSUFBSSxDQUFDLGVBQWU7WUFDbEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLGVBQWU7Z0JBQ3JELEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQztpQkFDWCxHQUFHLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxpQkFBaUI7WUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDO0lBQzNELENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztRQUM5QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO1FBQzVCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckQsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNoQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1lBQzdCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyw2QkFBNkIsQ0FBQztZQUN2RCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7U0FDbEM7YUFBTSxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDL0IsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUN6RCxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUM5QixDQUFDO1lBQ0YsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsWUFBWSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxrQ0FBa0MsQ0FBQztZQUM1RCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQzFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQzthQUNsQztpQkFDSTtnQkFDSCxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7YUFDakM7U0FDRjthQUNJO1lBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1NBQ2pDO0lBQ0gsQ0FBQztJQUNELGFBQWEsQ0FBQyxLQUFVO1FBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDOytHQTdEVSxtQkFBbUI7bUdBQW5CLG1CQUFtQiw0SENQaEMsNmdGQThCQTs7NEZEdkJhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxpQkFBaUI7OEJBS2xCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBV0ksUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1tYWlsLWZpZWxkcycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21haWwtZmllbGRzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9tYWlsLWZpZWxkcy5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWFpbEZpZWxkc0NvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgcXVlc3Rpb246IGFueSA9IHt9O1xyXG4gIGNvdW50OiBudW1iZXIgPSAwO1xyXG4gIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgaGludDogc3RyaW5nID0gJyc7XHJcbiAgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnO1xyXG4gIGV4cGVjdGVkRG9tYWluczogc3RyaW5nW10gPSBbXTtcclxuICByZWd1bGFyRXhwcmVzc2lvbjogc3RyaW5nID0gJyc7XHJcbiAgZW1haWw6IHN0cmluZyA9ICcnO1xyXG4gIHZhbGlkYXRpb25GYWlsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nID0gJyc7XHJcblxyXG4gIEBPdXRwdXQoKSB2YWxpZGF0ZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMudmFsdWVBc3NpZ25lZCgpO1xyXG4gIH1cclxuXHJcbiAgdmFsdWVBc3NpZ25lZCgpIHtcclxuICAgIHRoaXMuY291bnQgPSB0aGlzLnF1ZXN0aW9uLmNvdW50O1xyXG4gICAgdGhpcy5yZXF1aXJlZCA9IHRoaXMucXVlc3Rpb24ucmVxdWlyZWQ7XHJcbiAgICB0aGlzLmhpbnQgPSB0aGlzLnF1ZXN0aW9uLmhpbnQ7XHJcbiAgICB0aGlzLnBsYWNlaG9sZGVyID0gdGhpcy5xdWVzdGlvbi5mb3JtRWxlbWVudC5hcHBlYXJhbmNlLnBsYWNlaG9sZGVyO1xyXG4gICAgdGhpcy5leHBlY3RlZERvbWFpbnMgPVxyXG4gICAgICB0aGlzLnF1ZXN0aW9uPy5mb3JtRWxlbWVudD8udmFsaWRhdGlvbj8uZXhwZWN0ZWREb21haW5zXHJcbiAgICAgICAgPy5zcGxpdCgnLCcpXHJcbiAgICAgICAgLm1hcCgoZG9tYWluOiBhbnkpID0+IGRvbWFpbi50cmltKCkpO1xyXG4gICAgdGhpcy5yZWd1bGFyRXhwcmVzc2lvbiA9XHJcbiAgICAgIHRoaXMucXVlc3Rpb24uZm9ybUVsZW1lbnQudmFsaWRhdGlvbi5yZWd1bGFyRXhwcmVzc2lvbjtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlRW1haWwoKSB7XHJcbiAgICB0aGlzLnZhbGlkYXRpb25GYWlsZWQgPSBmYWxzZTtcclxuICAgIHRoaXMudmFsaWRhdGlvbk1lc3NhZ2UgPSAnJztcclxuICAgIGNvbnN0IGVudGVyZWRFbWFpbCA9IHRoaXMuZW1haWwudHJpbSgpLnRvTG93ZXJDYXNlKCk7XHJcbiAgICBpZiAodGhpcy5yZXF1aXJlZCAmJiAhdGhpcy5lbWFpbCkge1xyXG4gICAgICB0aGlzLnZhbGlkYXRpb25GYWlsZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLnZhbGlkYXRpb25NZXNzYWdlID0gJ1RoaXMgaXMgYSByZXF1aXJlZCBxdWVzdGlvbic7XHJcbiAgICAgIHRoaXMudmFsaWRhdGUuZW1pdCh0aGlzLnZhbGlkYXRpb25GYWlsZWQpO1xyXG4gICAgICB0aGlzLnF1ZXN0aW9uLnZhbGlkYXRpb24gPSBmYWxzZTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5leHBlY3RlZERvbWFpbnMpIHtcclxuICAgICAgY29uc3QgaXNWYWxpZEVtYWlsID0gdGhpcy5leHBlY3RlZERvbWFpbnM/LnNvbWUoKGRvbWFpbikgPT5cclxuICAgICAgICBlbnRlcmVkRW1haWwuZW5kc1dpdGgoZG9tYWluKVxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLnZhbGlkYXRpb25GYWlsZWQgPSAhaXNWYWxpZEVtYWlsO1xyXG4gICAgICB0aGlzLnZhbGlkYXRpb25NZXNzYWdlID0gJ1BsZWFzZSBlbnRlciB2YWxpZCBlbWFpbCBhZGRyZXNzJztcclxuICAgICAgaWYgKHRoaXMudmFsaWRhdGlvbkZhaWxlZCkge1xyXG4gICAgICAgIHRoaXMudmFsaWRhdGUuZW1pdCh0aGlzLnZhbGlkYXRpb25GYWlsZWQpO1xyXG4gICAgICAgIHRoaXMucXVlc3Rpb24udmFsaWRhdGlvbiA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHRoaXMucXVlc3Rpb24udmFsaWRhdGlvbiA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnF1ZXN0aW9uLnZhbGlkYXRpb24gPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuICB2YWxpZGF0ZUlucHV0KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMucXVlc3Rpb24uYW5zd2VyID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xyXG4gICAgdGhpcy52YWxpZGF0ZUVtYWlsKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgW25nQ2xhc3NdPVwiJ2NvbC0nICsgY291bnRcIiBjbGFzcz1cIm1iLTQgcHgtM1wiPlxyXG4gIDxkaXYgIGNsYXNzPVwiaW5wdXQtd3JhcHBlclwiPlxyXG4gIDxsYWJlbD57eyBxdWVzdGlvbi5xdWVzdGlvbiB9fTwvbGFiZWw+Jm5ic3A7XHJcbiAgPHNwYW4gY2xhc3M9XCJ0ZXh0LWRhbmdlclwiICpuZ0lmPVwicmVxdWlyZWRcIj4qPC9zcGFuPlxyXG4gIDxkaXYgY2xhc3M9XCJzdmctd3JhcHBlciAgbWItMiBoaW50SWNvblwiIFthdHRyLmRhdGEtdGl0bGVdPVwiaGludFwiICpuZ0lmPVwiaGludFwiPlxyXG4gICAgPHN2ZyBjbGFzcz1cImhpbnRTdmdcIiAgdmlld0JveD1cIjAgMCAzMCAzMFwiICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xNSAyNi4yNVYyNi4yNUM4Ljc4NjI1IDI2LjI1IDMuNzUgMjEuMjEzOCAzLjc1IDE1VjE1QzMuNzUgOC43ODYyNSA4Ljc4NjI1IDMuNzUgMTUgMy43NVYzLjc1QzIxLjIxMzggMy43NSAyNi4yNSA4Ljc4NjI1IDI2LjI1IDE1VjE1QzI2LjI1IDIxLjIxMzggMjEuMjEzOCAyNi4yNSAxNSAyNi4yNVpcIiBzdHJva2U9XCIjMzIzMjMyXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICA8cGF0aCBkPVwiTTE1IDE2LjU2MjNWMTYuMjQ5OEMxNSAxNS4yMjg1IDE1LjYzMTIgMTQuNjc0OCAxNi4yNjM3IDE0LjI0OThDMTYuODgxMiAxMy44MzM1IDE3LjUgMTMuMjkxIDE3LjUgMTIuMjkxQzE3LjUgMTAuOTA5OCAxNi4zODEzIDkuNzkxMDIgMTUgOS43OTEwMkMxMy42MTg3IDkuNzkxMDIgMTIuNSAxMC45MDk4IDEyLjUgMTIuMjkxXCIgc3Ryb2tlPVwiIzMyMzIzMlwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgPHBhdGggZD1cIk0xNC45OTg4IDIwQzE0LjgyNjMgMjAgMTQuNjg2MyAyMC4xNCAxNC42ODc1IDIwLjMxMjVDMTQuNjg3NSAyMC40ODUgMTQuODI3NSAyMC42MjUgMTUgMjAuNjI1QzE1LjE3MjUgMjAuNjI1IDE1LjMxMjUgMjAuNDg1IDE1LjMxMjUgMjAuMzEyNUMxNS4zMTI1IDIwLjE0IDE1LjE3MjUgMjAgMTQuOTk4OCAyMFwiIHN0cm9rZT1cIiMzMjMyMzJcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICA8L3N2Zz5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiAgPGlucHV0XHJcbiAgICB0eXBlPVwiZW1haWxcIlxyXG4gICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgbWItMiBoZWlnaHRcIlxyXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgIFsobmdNb2RlbCldPVwiZW1haWxcIlxyXG4gICAgKGJsdXIpPVwidmFsaWRhdGVFbWFpbCgpXCJcclxuICAgIChpbnB1dCk9XCJ2YWxpZGF0ZUlucHV0KCRldmVudClcIlxyXG4gICAgW2NsYXNzLmludmFsaWRdPVwidmFsaWRhdGlvbkZhaWxlZFwiXHJcbiAgLz5cclxuICA8ZGl2ICpuZ0lmPVwidmFsaWRhdGlvbkZhaWxlZFwiIGNsYXNzPVwidGV4dC1kYW5nZXJcIj5cclxuICAgIDxzdmcgY2xhc3M9XCJ2YWxpZGF0aW9uU3ZnXCIgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgIDxwYXRoIGQ9XCJNMTIuMDAxIDE2Ljc1QzEyLjEzOSAxNi43NSAxMi4yNTEgMTYuNjM4IDEyLjI1IDE2LjVDMTIuMjUgMTYuMzYyIDEyLjEzOCAxNi4yNSAxMiAxNi4yNUMxMS44NjIgMTYuMjUgMTEuNzUgMTYuMzYyIDExLjc1IDE2LjVDMTEuNzUgMTYuNjM4IDExLjg2MiAxNi43NSAxMi4wMDEgMTYuNzVcIiBzdHJva2U9XCJ3aGl0ZVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTEyIDIxQzcuMDI5IDIxIDMgMTYuOTcxIDMgMTJDMyA3LjAyOSA3LjAyOSAzIDEyIDNDMTYuOTcxIDMgMjEgNy4wMjkgMjEgMTJDMjEgMTYuOTcxIDE2Ljk3MSAyMSAxMiAyMVpcIiBmaWxsPVwiI0ZGMDAwMFwiIHN0cm9rZT1cIiNGRjAwMDBcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNMTIgMTIuNzVMMTIgNy43NVwiIHN0cm9rZT1cIndoaXRlXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjE2XCIgcj1cIjFcIiBmaWxsPVwid2hpdGVcIi8+XHJcbiAgICAgIDwvc3ZnPlxyXG4gICAgICB7e3ZhbGlkYXRpb25NZXNzYWdlfX08L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../services/countryService";
|
|
4
|
+
import * as i2 from "@angular/common";
|
|
5
|
+
import * as i3 from "@angular/forms";
|
|
6
|
+
import * as i4 from "@piserve-tech/drop-down";
|
|
7
|
+
export class MobileFieldsComponent {
|
|
8
|
+
constructor(countryService) {
|
|
9
|
+
this.countryService = countryService;
|
|
10
|
+
this.question = {};
|
|
11
|
+
this.count = 0;
|
|
12
|
+
this.required = false;
|
|
13
|
+
this.hint = '';
|
|
14
|
+
this.placeholder = '';
|
|
15
|
+
this.displayCountryCode = true;
|
|
16
|
+
this.displayFlag = true;
|
|
17
|
+
this.displayCode = true;
|
|
18
|
+
this.showCountryName = true;
|
|
19
|
+
this.beautifyNumbers = true;
|
|
20
|
+
this.countryWiseValidation = true;
|
|
21
|
+
this.restrictCountry = true;
|
|
22
|
+
this.allowedCountry = [];
|
|
23
|
+
this.blockedCountry = [];
|
|
24
|
+
this.countryDetails = [];
|
|
25
|
+
this.selectedCountry = [];
|
|
26
|
+
this.validationFailed = false;
|
|
27
|
+
this.validationMessage = '';
|
|
28
|
+
this.mobileNumber = '';
|
|
29
|
+
this.filteredCountry = [];
|
|
30
|
+
this.validate = new EventEmitter();
|
|
31
|
+
}
|
|
32
|
+
ngOnInit() {
|
|
33
|
+
this.valueAssigned();
|
|
34
|
+
}
|
|
35
|
+
valueAssigned() {
|
|
36
|
+
this.count = this.question.count;
|
|
37
|
+
this.required = this.question.required;
|
|
38
|
+
this.hint = this.question.hint;
|
|
39
|
+
this.placeholder = this.question.formElement.appearance.placeholder;
|
|
40
|
+
this.displayCountryCode =
|
|
41
|
+
this.question.formElement.appearance.displayCountryCode;
|
|
42
|
+
this.displayFlag = this.question.formElement.appearance.displayFlag;
|
|
43
|
+
this.displayCode = this.question.formElement.appearance.displayCode;
|
|
44
|
+
this.showCountryName = this.question.formElement.appearance.showCountryName;
|
|
45
|
+
this.beautifyNumbers = this.question.formElement.appearance.beautifyNumbers;
|
|
46
|
+
this.countryWiseValidation =
|
|
47
|
+
this.question.formElement.validation.countryWiseValidation;
|
|
48
|
+
this.restrictCountry = this.question.formElement.validation.restrictCountry;
|
|
49
|
+
this.allowedCountry = this.question.formElement.validation.allowedCountry;
|
|
50
|
+
this.blockedCountry = this.question.formElement.validation.blockedCountry;
|
|
51
|
+
this.countryService.loadCountryDetails().subscribe((data) => {
|
|
52
|
+
this.filteredCountry = data.result;
|
|
53
|
+
if (this.restrictCountry && (this.allowedCountry || this.blockedCountry)) {
|
|
54
|
+
this.filteredCountry = this.filteredCountry.filter(country => {
|
|
55
|
+
return (this.allowedCountry.includes(country.name) || !this.blockedCountry.includes(country.name));
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
this.countryDetails = this.countryService.processCountryDetails(this.filteredCountry, this.displayFlag, this.displayCode, this.showCountryName);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
validateMobile() {
|
|
62
|
+
this.validationFailed = false;
|
|
63
|
+
this.validationMessage = '';
|
|
64
|
+
if (this.required && (!this.mobileNumber || this.selectedCountry.length === 0)) {
|
|
65
|
+
this.validationFailed = true;
|
|
66
|
+
this.validationMessage = 'This is a required question';
|
|
67
|
+
this.validate.emit(this.validationFailed);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MobileFieldsComponent, deps: [{ token: i1.CountryService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
71
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MobileFieldsComponent, selector: "lib-mobile-fields", inputs: { question: "question" }, outputs: { validate: "validate" }, ngImport: i0, template: "<div [ngClass]=\"'col-' + count\" class=\"mb-4 px-3\">\r\n <div class=\"input-wrapper\">\r\n <label>{{ question.question }}</label> \r\n <span class=\"text-danger\" *ngIf=\"required\">*</span>\r\n <div class=\"svg-wrapper mb-2 hintIcon\" [attr.data-title]=\"hint\" *ngIf=\"hint\">\r\n <svg class=\"hintSvg\" viewBox=\"0 0 30 30\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M15 26.25V26.25C8.78625 26.25 3.75 21.2138 3.75 15V15C3.75 8.78625 8.78625 3.75 15 3.75V3.75C21.2138 3.75 26.25 8.78625 26.25 15V15C26.25 21.2138 21.2138 26.25 15 26.25Z\" stroke=\"#323232\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M15 16.5623V16.2498C15 15.2285 15.6312 14.6748 16.2637 14.2498C16.8812 13.8335 17.5 13.291 17.5 12.291C17.5 10.9098 16.3813 9.79102 15 9.79102C13.6187 9.79102 12.5 10.9098 12.5 12.291\" stroke=\"#323232\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M14.9988 20C14.8263 20 14.6863 20.14 14.6875 20.3125C14.6875 20.485 14.8275 20.625 15 20.625C15.1725 20.625 15.3125 20.485 15.3125 20.3125C15.3125 20.14 15.1725 20 14.9988 20\" stroke=\"#323232\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n</div>\r\n <div class=\"input-group mb-2\">\r\n <div class=\"col-xs-5 col-5 col-md-3 px-0 pe-2\">\r\n <lib-dropdown\r\n [items]=\"countryDetails\"\r\n [multiple] = \"false\"\r\n [(selectedItems)]=\"selectedCountry\"></lib-dropdown>\r\n </div>\r\n <input\r\n type=\"number\"\r\n class=\"form-control col-xs-7 col-7 col-md-9 height mobileField\" \r\n [placeholder]=\"placeholder\"\r\n aria-label=\"Mobile Number\"\r\n [class.invalid]=\"validationFailed\"\r\n (blur)=\"validateMobile()\"\r\n [(ngModel)]=\"mobileNumber\"\r\n />\r\n </div>\r\n <div *ngIf=\"validationFailed\" class=\"text-danger\">\r\n <svg class=\"validationSvg\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M12.001 16.75C12.139 16.75 12.251 16.638 12.25 16.5C12.25 16.362 12.138 16.25 12 16.25C11.862 16.25 11.75 16.362 11.75 16.5C11.75 16.638 11.862 16.75 12.001 16.75\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 21C7.029 21 3 16.971 3 12C3 7.029 7.029 3 12 3C16.971 3 21 7.029 21 12C21 16.971 16.971 21 12 21Z\" fill=\"#FF0000\" stroke=\"#FF0000\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M12 12.75L12 7.75\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <circle cx=\"12\" cy=\"16\" r=\"1\" fill=\"white\"/>\r\n </svg>\r\n {{validationMessage}}</div>\r\n</div>\r\n", styles: [".input-wrapper{display:flex;align-items:flex-start}.svg-wrapper{margin-left:auto;z-index:999}.hintIcon{position:relative;cursor:pointer}.hintIcon:hover:before{content:attr(data-title);position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%);padding:4px 8px;border-radius:4px;background-color:#1d252d;color:#8e9aa0;font-size:14px;white-space:nowrap}.hintIcon:hover:after{content:\"\";position:absolute;top:calc(100% - 26px);left:50%;border:solid transparent;border-width:18px;border-bottom-color:#1d252d;transform:translate(-50%)}.height{height:42px}.invalid{border-color:red}.hintSvg{width:30px;height:30px;fill:none}.validationSvg{width:24px;height:24px;fill:none}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.mobileField{border-radius:6px!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.DropdownComponent, selector: "lib-dropdown", inputs: ["multiple", "scrollable", "selectedItems", "placeholder", "items", "showCreateNew", "selectedValues", "customButtons", "showBorder"], outputs: ["buttonClick", "selectedItemsChange", "onScroll", "onCreateNew", "onSearch"] }] }); }
|
|
72
|
+
}
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MobileFieldsComponent, decorators: [{
|
|
74
|
+
type: Component,
|
|
75
|
+
args: [{ selector: 'lib-mobile-fields', template: "<div [ngClass]=\"'col-' + count\" class=\"mb-4 px-3\">\r\n <div class=\"input-wrapper\">\r\n <label>{{ question.question }}</label> \r\n <span class=\"text-danger\" *ngIf=\"required\">*</span>\r\n <div class=\"svg-wrapper mb-2 hintIcon\" [attr.data-title]=\"hint\" *ngIf=\"hint\">\r\n <svg class=\"hintSvg\" viewBox=\"0 0 30 30\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M15 26.25V26.25C8.78625 26.25 3.75 21.2138 3.75 15V15C3.75 8.78625 8.78625 3.75 15 3.75V3.75C21.2138 3.75 26.25 8.78625 26.25 15V15C26.25 21.2138 21.2138 26.25 15 26.25Z\" stroke=\"#323232\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M15 16.5623V16.2498C15 15.2285 15.6312 14.6748 16.2637 14.2498C16.8812 13.8335 17.5 13.291 17.5 12.291C17.5 10.9098 16.3813 9.79102 15 9.79102C13.6187 9.79102 12.5 10.9098 12.5 12.291\" stroke=\"#323232\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M14.9988 20C14.8263 20 14.6863 20.14 14.6875 20.3125C14.6875 20.485 14.8275 20.625 15 20.625C15.1725 20.625 15.3125 20.485 15.3125 20.3125C15.3125 20.14 15.1725 20 14.9988 20\" stroke=\"#323232\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n</div>\r\n <div class=\"input-group mb-2\">\r\n <div class=\"col-xs-5 col-5 col-md-3 px-0 pe-2\">\r\n <lib-dropdown\r\n [items]=\"countryDetails\"\r\n [multiple] = \"false\"\r\n [(selectedItems)]=\"selectedCountry\"></lib-dropdown>\r\n </div>\r\n <input\r\n type=\"number\"\r\n class=\"form-control col-xs-7 col-7 col-md-9 height mobileField\" \r\n [placeholder]=\"placeholder\"\r\n aria-label=\"Mobile Number\"\r\n [class.invalid]=\"validationFailed\"\r\n (blur)=\"validateMobile()\"\r\n [(ngModel)]=\"mobileNumber\"\r\n />\r\n </div>\r\n <div *ngIf=\"validationFailed\" class=\"text-danger\">\r\n <svg class=\"validationSvg\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M12.001 16.75C12.139 16.75 12.251 16.638 12.25 16.5C12.25 16.362 12.138 16.25 12 16.25C11.862 16.25 11.75 16.362 11.75 16.5C11.75 16.638 11.862 16.75 12.001 16.75\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 21C7.029 21 3 16.971 3 12C3 7.029 7.029 3 12 3C16.971 3 21 7.029 21 12C21 16.971 16.971 21 12 21Z\" fill=\"#FF0000\" stroke=\"#FF0000\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M12 12.75L12 7.75\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <circle cx=\"12\" cy=\"16\" r=\"1\" fill=\"white\"/>\r\n </svg>\r\n {{validationMessage}}</div>\r\n</div>\r\n", styles: [".input-wrapper{display:flex;align-items:flex-start}.svg-wrapper{margin-left:auto;z-index:999}.hintIcon{position:relative;cursor:pointer}.hintIcon:hover:before{content:attr(data-title);position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%);padding:4px 8px;border-radius:4px;background-color:#1d252d;color:#8e9aa0;font-size:14px;white-space:nowrap}.hintIcon:hover:after{content:\"\";position:absolute;top:calc(100% - 26px);left:50%;border:solid transparent;border-width:18px;border-bottom-color:#1d252d;transform:translate(-50%)}.height{height:42px}.invalid{border-color:red}.hintSvg{width:30px;height:30px;fill:none}.validationSvg{width:24px;height:24px;fill:none}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.mobileField{border-radius:6px!important}\n"] }]
|
|
76
|
+
}], ctorParameters: function () { return [{ type: i1.CountryService }]; }, propDecorators: { question: [{
|
|
77
|
+
type: Input
|
|
78
|
+
}], validate: [{
|
|
79
|
+
type: Output
|
|
80
|
+
}] } });
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLWZpZWxkcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL2Zvcm0tZmllbGRzL21vYmlsZS1maWVsZHMvbW9iaWxlLWZpZWxkcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL2Zvcm0tZmllbGRzL21vYmlsZS1maWVsZHMvbW9iaWxlLWZpZWxkcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFTLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFxQjlFLE1BQU0sT0FBTyxxQkFBcUI7SUF3QmhDLFlBQW9CLGNBQThCO1FBQTlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQXZCekMsYUFBUSxHQUFRLEVBQUUsQ0FBQztRQUM1QixVQUFLLEdBQVcsQ0FBQyxDQUFDO1FBQ2xCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUNsQixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6Qix1QkFBa0IsR0FBWSxJQUFJLENBQUM7UUFDbkMsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFDNUIsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFDNUIsb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFDaEMsb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFDaEMsMEJBQXFCLEdBQVksSUFBSSxDQUFDO1FBQ3RDLG9CQUFlLEdBQVksSUFBSSxDQUFDO1FBQ2hDLG1CQUFjLEdBQWEsRUFBRSxDQUFDO1FBQzlCLG1CQUFjLEdBQWEsRUFBRSxDQUFDO1FBQzlCLG1CQUFjLEdBQWtCLEVBQUUsQ0FBQztRQUNuQyxvQkFBZSxHQUFlLEVBQUUsQ0FBQztRQUNqQyxxQkFBZ0IsR0FBUyxLQUFL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QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO1FBQzVCLElBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sS0FBRyxDQUFDLENBQUMsRUFBQztZQUMxRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUMsSUFBSSxDQUFDO1lBQzNCLElBQUksQ0FBQyxpQkFBaUIsR0FBQyw2QkFBNkIsQ0FBQztZQUNyRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUMzQztJQUNILENBQUM7K0dBMUVVLHFCQUFxQjttR0FBckIscUJBQXFCLDhIQ3JCbEMsdzFGQXNDQTs7NEZEakJhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxtQkFBbUI7cUdBS3BCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBcUJJLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ291bnRyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb3VudHJ5U2VydmljZSc7XHJcblxyXG5pbnRlcmZhY2UgQ291bnRyeURhdGEge1xyXG4gIHZhbHVlOiBzdHJpbmc7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBpbWFnZTogc3RyaW5nO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgZmlsdGVyZWRDb3VudHJ5e1xyXG4gIG5hbWU6c3RyaW5nO1xyXG4gIGZsYWc6IHN0cmluZztcclxuICBpc2Q6e307XHJcbiAgbGFuZ3VhZ2VzOnt9O1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1tb2JpbGUtZmllbGRzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbW9iaWxlLWZpZWxkcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbW9iaWxlLWZpZWxkcy5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTW9iaWxlRmllbGRzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0e1xyXG4gIEBJbnB1dCgpIHF1ZXN0aW9uOiBhbnkgPSB7fTtcclxuICBjb3VudDogbnVtYmVyID0gMDtcclxuICByZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGhpbnQ6IHN0cmluZyA9ICcnO1xyXG4gIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcclxuICBkaXNwbGF5Q291bnRyeUNvZGU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGRpc3BsYXlGbGFnOiBib29sZWFuID0gdHJ1ZTtcclxuICBkaXNwbGF5Q29kZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgc2hvd0NvdW50cnlOYW1lOiBib29sZWFuID0gdHJ1ZTtcclxuICBiZWF1dGlmeU51bWJlcnM6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGNvdW50cnlXaXNlVmFsaWRhdGlvbjogYm9vbGVhbiA9IHRydWU7XHJcbiAgcmVzdHJpY3RDb3VudHJ5OiBib29sZWFuID0gdHJ1ZTtcclxuICBhbGxvd2VkQ291bnRyeTogc3RyaW5nW10gPSBbXTtcclxuICBibG9ja2VkQ291bnRyeTogc3RyaW5nW10gPSBbXTtcclxuICBjb3VudHJ5RGV0YWlsczogQ291bnRyeURhdGFbXSA9IFtdO1xyXG4gIHNlbGVjdGVkQ291bnRyeTpDb3VudHJ5RGF0YVtdPVtdO1xyXG4gIHZhbGlkYXRpb25GYWlsZWQ6Ym9vbGVhbj1mYWxzZTtcclxuICB2YWxpZGF0aW9uTWVzc2FnZTpzdHJpbmc9Jyc7XHJcbiAgbW9iaWxlTnVtYmVyOnN0cmluZz0nJztcclxuICBmaWx0ZXJlZENvdW50cnk6ZmlsdGVyZWRDb3VudHJ5W109W107XHJcblxyXG4gIEBPdXRwdXQoKSB2YWxpZGF0ZSA6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb3VudHJ5U2VydmljZTogQ291bnRyeVNlcnZpY2UpIHt9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy52YWx1ZUFzc2lnbmVkKCk7XHJcbiAgfVxyXG5cclxuICB2YWx1ZUFzc2lnbmVkKCkge1xyXG4gICAgdGhpcy5jb3VudCA9IHRoaXMucXVlc3Rpb24uY291bnQ7XHJcbiAgICB0aGlzLnJlcXVpcmVkID0gdGhpcy5xdWVzdGlvbi5yZXF1aXJlZDtcclxuICAgIHRoaXMuaGludCA9IHRoaXMucXVlc3Rpb24uaGludDtcclxuICAgIHRoaXMucGxhY2Vob2xkZXIgPSB0aGlzLnF1ZXN0aW9uLmZvcm1FbGVtZW50LmFwcGVhcmFuY2UucGxhY2Vob2xkZXI7XHJcbiAgICB0aGlzLmRpc3BsYXlDb3VudHJ5Q29kZSA9XHJcbiAgICAgIHRoaXMucXVlc3Rpb24uZm9ybUVsZW1lbnQuYXBwZWFyYW5jZS5kaXNwbGF5Q291bnRyeUNvZGU7XHJcbiAgICB0aGlzLmRpc3BsYXlGbGFnID0gdGhpcy5xdWVzdGlvbi5mb3JtRWxlbWVudC5hcHBlYXJhbmNlLmRpc3BsYXlGbGFnO1xyXG4gICAgdGhpcy5kaXNwbGF5Q29kZSA9IHRoaXMucXVlc3Rpb24uZm9ybUVsZW1lbnQuYXBwZWFyYW5jZS5kaXNwbGF5Q29kZTtcclxuICAgIHRoaXMuc2hvd0NvdW50cnlOYW1lID0gdGhpcy5xdWVzdGlvbi5mb3JtRWxlbWVudC5hcHBlYXJhbmNlLnNob3dDb3VudHJ5TmFtZTtcclxuICAgIHRoaXMuYmVhdXRpZnlOdW1iZXJzID0gdGhpcy5xdWVzdGlvbi5mb3JtRWxlbWVudC5hcHBlYXJhbmNlLmJlYXV0aWZ5TnVtYmVycztcclxuICAgIHRoaXMuY291bnRyeVdpc2VWYWxpZGF0aW9uID1cclxuICAgICAgdGhpcy5xdWVzdGlvbi5mb3JtRWxlbWVudC52YWxpZGF0aW9uLmNvdW50cnlXaXNlVmFsaWRhdGlvbjtcclxuICAgIHRoaXMucmVzdHJpY3RDb3VudHJ5ID0gdGhpcy5xdWVzdGlvbi5mb3JtRWxlbWVudC52YWxpZGF0aW9uLnJlc3RyaWN0Q291bnRyeTtcclxuICAgIFxyXG4gICAgdGhpcy5hbGxvd2VkQ291bnRyeSA9IHRoaXMucXVlc3Rpb24uZm9ybUVsZW1lbnQudmFsaWRhdGlvbi5hbGxvd2VkQ291bnRyeTtcclxuICAgIFxyXG4gICAgdGhpcy5ibG9ja2VkQ291bnRyeSA9IHRoaXMucXVlc3Rpb24uZm9ybUVsZW1lbnQudmFsaWRhdGlvbi5ibG9ja2VkQ291bnRyeTtcclxuICAgIFxyXG5cclxuICAgIHRoaXMuY291bnRyeVNlcnZpY2UubG9hZENvdW50cnlEZXRhaWxzKCkuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWRDb3VudHJ5PWRhdGEucmVzdWx0O1xyXG4gICAgICBpZih0aGlzLnJlc3RyaWN0Q291bnRyeSAmJiAoIHRoaXMuYWxsb3dlZENvdW50cnkgfHwgdGhpcy5ibG9ja2VkQ291bnRyeSApKXtcclxuICAgICAgICB0aGlzLmZpbHRlcmVkQ291bnRyeSA9IHRoaXMuZmlsdGVyZWRDb3VudHJ5LmZpbHRlcihjb3VudHJ5ID0+eyAgICAgICAgICBcclxuICAgICAgICAgcmV0dXJuICh0aGlzLmFsbG93ZWRDb3VudHJ5LmluY2x1ZGVzKGNvdW50cnkubmFtZSkgfHwgIXRoaXMuYmxvY2tlZENvdW50cnkuaW5jbHVkZXMoY291bnRyeS5uYW1lKSlcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNvdW50cnlEZXRhaWxzID0gdGhpcy5jb3VudHJ5U2VydmljZS5wcm9jZXNzQ291bnRyeURldGFpbHMoXHJcbiAgICAgICAgdGhpcy5maWx0ZXJlZENvdW50cnksXHJcbiAgICAgICAgdGhpcy5kaXNwbGF5RmxhZyxcclxuICAgICAgICB0aGlzLmRpc3BsYXlDb2RlLFxyXG4gICAgICAgIHRoaXMuc2hvd0NvdW50cnlOYW1lXHJcbiAgICAgICk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGVNb2JpbGUoKXtcclxuICAgIHRoaXMudmFsaWRhdGlvbkZhaWxlZCA9IGZhbHNlOyBcclxuICAgIHRoaXMudmFsaWRhdGlvbk1lc3NhZ2UgPSAnJztcclxuICAgIGlmKHRoaXMucmVxdWlyZWQgJiYgKCF0aGlzLm1vYmlsZU51bWJlciB8fCB0aGlzLnNlbGVjdGVkQ291bnRyeS5sZW5ndGg9PT0wKSl7XHJcbiAgICAgIHRoaXMudmFsaWRhdGlvbkZhaWxlZD10cnVlO1xyXG4gICAgICB0aGlzLnZhbGlkYXRpb25NZXNzYWdlPSdUaGlzIGlzIGEgcmVxdWlyZWQgcXVlc3Rpb24nO1xyXG4gICAgICB0aGlzLnZhbGlkYXRlLmVtaXQodGhpcy52YWxpZGF0aW9uRmFpbGVkKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBbbmdDbGFzc109XCInY29sLScgKyBjb3VudFwiIGNsYXNzPVwibWItNCBweC0zXCI+XHJcbiAgPGRpdiAgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCI+XHJcbiAgPGxhYmVsPnt7IHF1ZXN0aW9uLnF1ZXN0aW9uIH19PC9sYWJlbD4mbmJzcDtcclxuICA8c3BhbiBjbGFzcz1cInRleHQtZGFuZ2VyXCIgKm5nSWY9XCJyZXF1aXJlZFwiPio8L3NwYW4+XHJcbiAgPGRpdiBjbGFzcz1cInN2Zy13cmFwcGVyICBtYi0yIGhpbnRJY29uXCIgW2F0dHIuZGF0YS10aXRsZV09XCJoaW50XCIgKm5nSWY9XCJoaW50XCI+XHJcbiAgICA8c3ZnIGNsYXNzPVwiaGludFN2Z1wiICB2aWV3Qm94PVwiMCAwIDMwIDMwXCIgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTE1IDI2LjI1VjI2LjI1QzguNzg2MjUgMjYuMjUgMy43NSAyMS4yMTM4IDMuNzUgMTVWMTVDMy43NSA4Ljc4NjI1IDguNzg2MjUgMy43NSAxNSAzLjc1VjMuNzVDMjEuMjEzOCAzLjc1IDI2LjI1IDguNzg2MjUgMjYuMjUgMTVWMTVDMjYuMjUgMjEuMjEzOCAyMS4yMTM4IDI2LjI1IDE1IDI2LjI1WlwiIHN0cm9rZT1cIiMzMjMyMzJcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNMTUgMTYuNTYyM1YxNi4yNDk4QzE1IDE1LjIyODUgMTUuNjMxMiAxNC42NzQ4IDE2LjI2MzcgMTQuMjQ5OEMxNi44ODEyIDEzLjgzMzUgMTcuNSAxMy4yOTEgMTcuNSAxMi4yOTFDMTcuNSAxMC45MDk4IDE2LjM4MTMgOS43OTEwMiAxNSA5Ljc5MTAyQzEzLjYxODcgOS43OTEwMiAxMi41IDEwLjkwOTggMTIuNSAxMi4yOTFcIiBzdHJva2U9XCIjMzIzMjMyXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICA8cGF0aCBkPVwiTTE0Ljk5ODggMjBDMTQuODI2MyAyMCAxNC42ODYzIDIwLjE0IDE0LjY4NzUgMjAuMzEyNUMxNC42ODc1IDIwLjQ4NSAxNC44Mjc1IDIwLjYyNSAxNSAyMC42MjVDMTUuMTcyNSAyMC42MjUgMTUuMzEyNSAyMC40ODUgMTUuMzEyNSAyMC4zMTI1QzE1LjMxMjUgMjAuMTQgMTUuMTcyNSAyMCAxNC45OTg4IDIwXCIgc3Ryb2tlPVwiIzMyMzIzMlwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgIDwvc3ZnPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAgbWItMlwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC14cy01IGNvbC01IGNvbC1tZC0zIHB4LTAgcGUtMlwiPlxyXG4gICAgICA8bGliLWRyb3Bkb3duXHJcbiAgICAgICBbaXRlbXNdPVwiY291bnRyeURldGFpbHNcIlxyXG4gICAgICBbbXVsdGlwbGVdID0gXCJmYWxzZVwiXHJcbiAgICAgIFsoc2VsZWN0ZWRJdGVtcyldPVwic2VsZWN0ZWRDb3VudHJ5XCI+PC9saWItZHJvcGRvd24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxpbnB1dFxyXG4gICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgY29sLXhzLTcgY29sLTcgY29sLW1kLTkgIGhlaWdodCBtb2JpbGVGaWVsZFwiIFxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICBhcmlhLWxhYmVsPVwiTW9iaWxlIE51bWJlclwiXHJcbiAgICAgIFtjbGFzcy5pbnZhbGlkXT1cInZhbGlkYXRpb25GYWlsZWRcIlxyXG4gICAgICAoYmx1cik9XCJ2YWxpZGF0ZU1vYmlsZSgpXCJcclxuICAgICAgWyhuZ01vZGVsKV09XCJtb2JpbGVOdW1iZXJcIlxyXG4gICAgLz5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpuZ0lmPVwidmFsaWRhdGlvbkZhaWxlZFwiIGNsYXNzPVwidGV4dC1kYW5nZXJcIj5cclxuICAgIDxzdmcgY2xhc3M9XCJ2YWxpZGF0aW9uU3ZnXCIgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgIDxwYXRoIGQ9XCJNMTIuMDAxIDE2Ljc1QzEyLjEzOSAxNi43NSAxMi4yNTEgMTYuNjM4IDEyLjI1IDE2LjVDMTIuMjUgMTYuMzYyIDEyLjEzOCAxNi4yNSAxMiAxNi4yNUMxMS44NjIgMTYuMjUgMTEuNzUgMTYuMzYyIDExLjc1IDE2LjVDMTEuNzUgMTYuNjM4IDExLjg2MiAxNi43NSAxMi4wMDEgMTYuNzVcIiBzdHJva2U9XCJ3aGl0ZVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTEyIDIxQzcuMDI5IDIxIDMgMTYuOTcxIDMgMTJDMyA3LjAyOSA3LjAyOSAzIDEyIDNDMTYuOTcxIDMgMjEgNy4wMjkgMjEgMTJDMjEgMTYuOTcxIDE2Ljk3MSAyMSAxMiAyMVpcIiBmaWxsPVwiI0ZGMDAwMFwiIHN0cm9rZT1cIiNGRjAwMDBcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNMTIgMTIuNzVMMTIgNy43NVwiIHN0cm9rZT1cIndoaXRlXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjE2XCIgcj1cIjFcIiBmaWxsPVwid2hpdGVcIi8+XHJcbiAgICAgIDwvc3ZnPlxyXG4gICAgICB7e3ZhbGlkYXRpb25NZXNzYWdlfX08L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|