@bnsights/bbsf-controls 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -0
- package/bnsights-bbsf-controls.d.ts +26 -0
- package/bnsights-bbsf-controls.metadata.json +1 -0
- package/bundles/bnsights-bbsf-controls.umd.js +6375 -0
- package/bundles/bnsights-bbsf-controls.umd.js.map +1 -0
- package/esm2015/bnsights-bbsf-controls.js +27 -0
- package/esm2015/lib/Shared/Enums/CalendarView.js +8 -0
- package/esm2015/lib/Shared/Enums/ControlLayout.js +6 -0
- package/esm2015/lib/Shared/Enums/Countries.js +247 -0
- package/esm2015/lib/Shared/Enums/FileType.js +22 -0
- package/esm2015/lib/Shared/Enums/FilterType.js +11 -0
- package/esm2015/lib/Shared/Enums/FontSize.js +7 -0
- package/esm2015/lib/Shared/Enums/ForceDirection.js +6 -0
- package/esm2015/lib/Shared/Enums/IconPosition.js +6 -0
- package/esm2015/lib/Shared/Enums/ImageType.js +10 -0
- package/esm2015/lib/Shared/Enums/InputType.js +9 -0
- package/esm2015/lib/Shared/Enums/Insert.js +9 -0
- package/esm2015/lib/Shared/Enums/LanguageMode.js +11 -0
- package/esm2015/lib/Shared/Enums/Misc.js +7 -0
- package/esm2015/lib/Shared/Enums/PagingActionMode.js +6 -0
- package/esm2015/lib/Shared/Enums/Para.js +9 -0
- package/esm2015/lib/Shared/Enums/PickerType.js +7 -0
- package/esm2015/lib/Shared/Enums/SelectMode.js +6 -0
- package/esm2015/lib/Shared/Enums/StartView.js +7 -0
- package/esm2015/lib/Shared/Enums/Style.js +8 -0
- package/esm2015/lib/Shared/Enums/menu-list-enum.js +6 -0
- package/esm2015/lib/Shared/Models/Attribute.js +3 -0
- package/esm2015/lib/Shared/Models/AutocompleteDTO.js +7 -0
- package/esm2015/lib/Shared/Models/AutocompleteOptions.js +29 -0
- package/esm2015/lib/Shared/Models/CalendarEventDTO.js +3 -0
- package/esm2015/lib/Shared/Models/CalendarOptions.js +17 -0
- package/esm2015/lib/Shared/Models/CancelDTO.js +7 -0
- package/esm2015/lib/Shared/Models/CheckBoxOptions.js +12 -0
- package/esm2015/lib/Shared/Models/CustomValidation.js +14 -0
- package/esm2015/lib/Shared/Models/DropdownListItem.js +3 -0
- package/esm2015/lib/Shared/Models/DropdownOptions.js +18 -0
- package/esm2015/lib/Shared/Models/EditPersonalImage.js +7 -0
- package/esm2015/lib/Shared/Models/EnglishArabicDTO.js +3 -0
- package/esm2015/lib/Shared/Models/FileDTO.js +2 -0
- package/esm2015/lib/Shared/Models/FileUploadModel.js +3 -0
- package/esm2015/lib/Shared/Models/FileUploadOptions.js +15 -0
- package/esm2015/lib/Shared/Models/FilterItem.js +8 -0
- package/esm2015/lib/Shared/Models/FormOptions.js +26 -0
- package/esm2015/lib/Shared/Models/HtmlEditorOptions.js +16 -0
- package/esm2015/lib/Shared/Models/ImageUploadOptions.js +18 -0
- package/esm2015/lib/Shared/Models/MapAutoCompleteOptions.js +11 -0
- package/esm2015/lib/Shared/Models/MapAutocompleteDTO.js +3 -0
- package/esm2015/lib/Shared/Models/MultiLingualHtmlEditorOptions.js +19 -0
- package/esm2015/lib/Shared/Models/MultiLingualTextAreaOptions.js +19 -0
- package/esm2015/lib/Shared/Models/MultilingualTextBoxOptions.js +22 -0
- package/esm2015/lib/Shared/Models/MultipleFileUploadModel.js +9 -0
- package/esm2015/lib/Shared/Models/PagingDTO.js +13 -0
- package/esm2015/lib/Shared/Models/PagingOptions.js +43 -0
- package/esm2015/lib/Shared/Models/PhoneOptions.js +15 -0
- package/esm2015/lib/Shared/Models/ProfileImageUploadOptions.js +15 -0
- package/esm2015/lib/Shared/Models/ProfilePictureDTO.js +3 -0
- package/esm2015/lib/Shared/Models/RadioButtonItem.js +3 -0
- package/esm2015/lib/Shared/Models/RadioButtonOptions.js +10 -0
- package/esm2015/lib/Shared/Models/RangeNumber.js +3 -0
- package/esm2015/lib/Shared/Models/SaveDTO.js +7 -0
- package/esm2015/lib/Shared/Models/TagsInputDTO.js +3 -0
- package/esm2015/lib/Shared/Models/TagsInputOptions.js +45 -0
- package/esm2015/lib/Shared/Models/TextAreaOptions.js +14 -0
- package/esm2015/lib/Shared/Models/TextBoxOptions.js +21 -0
- package/esm2015/lib/Shared/Models/ToggleslideOptions.js +9 -0
- package/esm2015/lib/Shared/Models/UploadPersonalImage.js +7 -0
- package/esm2015/lib/Shared/Models/datePickerOptions.js +24 -0
- package/esm2015/lib/Shared/config/environment.js +12 -0
- package/esm2015/lib/Shared/services/ControlUtility.js +114 -0
- package/esm2015/lib/Shared/services/OnPagingFiltersChange.service.js +22 -0
- package/esm2015/lib/Shared/services/validationErrorMassage.service.js +122 -0
- package/esm2015/lib/controls/AutocompleteTextBox/AutocompleteTextBox.component.js +236 -0
- package/esm2015/lib/controls/Calendar/Calendar.component.js +176 -0
- package/esm2015/lib/controls/CheckBox/CheckBox.component.js +111 -0
- package/esm2015/lib/controls/DateTimePicker/DateTimePicker.component.js +148 -0
- package/esm2015/lib/controls/DropdownList/DropdownList.component.js +172 -0
- package/esm2015/lib/controls/FileUplaod/FileUplaod.component.js +319 -0
- package/esm2015/lib/controls/Form/Form.component.js +82 -0
- package/esm2015/lib/controls/HtmlEditor/HtmlEditor.component.js +202 -0
- package/esm2015/lib/controls/ImageUpload/ImageUpload.component.js +304 -0
- package/esm2015/lib/controls/MapAutoComplete/MapAutoComplete.component.js +283 -0
- package/esm2015/lib/controls/MultiLingualHtmlEditor/MultiLingualHtmlEditor.component.js +383 -0
- package/esm2015/lib/controls/MultiLingualTextArea/MultiLingualTextArea.component.js +325 -0
- package/esm2015/lib/controls/MultiLingualTextBox/MultiLingualTextBox.component.js +326 -0
- package/esm2015/lib/controls/Paging/JwPagination.component.js +127 -0
- package/esm2015/lib/controls/Paging/Paging.component.js +215 -0
- package/esm2015/lib/controls/Phone/Phone.component.js +114 -0
- package/esm2015/lib/controls/ProfileImageUploader/ProfileImageUploader.component.js +326 -0
- package/esm2015/lib/controls/RadioButton/RadioButton.component.js +98 -0
- package/esm2015/lib/controls/TagsInput/TagsInput.component.js +205 -0
- package/esm2015/lib/controls/TextArea/TextArea.component.js +148 -0
- package/esm2015/lib/controls/TextBox/TextBox.component.js +217 -0
- package/esm2015/lib/controls/Toggleslide/toggleslide.component.js +71 -0
- package/esm2015/lib/controls/bbsf-controls.module.js +208 -0
- package/esm2015/public-api.js +101 -0
- package/fesm2015/bnsights-bbsf-controls.js +5794 -0
- package/fesm2015/bnsights-bbsf-controls.js.map +1 -0
- package/lib/Shared/Enums/CalendarView.d.ts +6 -0
- package/lib/Shared/Enums/ControlLayout.d.ts +4 -0
- package/lib/Shared/Enums/Countries.d.ts +245 -0
- package/lib/Shared/Enums/FileType.d.ts +20 -0
- package/lib/Shared/Enums/FilterType.d.ts +9 -0
- package/lib/Shared/Enums/FontSize.d.ts +5 -0
- package/lib/Shared/Enums/ForceDirection.d.ts +4 -0
- package/lib/Shared/Enums/IconPosition.d.ts +4 -0
- package/lib/Shared/Enums/ImageType.d.ts +8 -0
- package/lib/Shared/Enums/InputType.d.ts +7 -0
- package/lib/Shared/Enums/Insert.d.ts +7 -0
- package/lib/Shared/Enums/LanguageMode.d.ts +9 -0
- package/lib/Shared/Enums/Misc.d.ts +5 -0
- package/lib/Shared/Enums/PagingActionMode.d.ts +4 -0
- package/lib/Shared/Enums/Para.d.ts +7 -0
- package/lib/Shared/Enums/PickerType.d.ts +5 -0
- package/lib/Shared/Enums/SelectMode.d.ts +4 -0
- package/lib/Shared/Enums/StartView.d.ts +5 -0
- package/lib/Shared/Enums/Style.d.ts +6 -0
- package/lib/Shared/Enums/menu-list-enum.d.ts +4 -0
- package/lib/Shared/Models/Attribute.d.ts +4 -0
- package/lib/Shared/Models/AutocompleteDTO.d.ts +4 -0
- package/lib/Shared/Models/AutocompleteOptions.d.ts +74 -0
- package/lib/Shared/Models/CalendarEventDTO.d.ts +8 -0
- package/lib/Shared/Models/CalendarOptions.d.ts +29 -0
- package/lib/Shared/Models/CancelDTO.d.ts +5 -0
- package/lib/Shared/Models/CheckBoxOptions.d.ts +38 -0
- package/lib/Shared/Models/CustomValidation.d.ts +10 -0
- package/lib/Shared/Models/DropdownListItem.d.ts +4 -0
- package/lib/Shared/Models/DropdownOptions.d.ts +67 -0
- package/lib/Shared/Models/EditPersonalImage.d.ts +5 -0
- package/lib/Shared/Models/EnglishArabicDTO.d.ts +4 -0
- package/lib/Shared/Models/FileDTO.d.ts +19 -0
- package/lib/Shared/Models/FileUploadModel.d.ts +4 -0
- package/lib/Shared/Models/FileUploadOptions.d.ts +56 -0
- package/lib/Shared/Models/FilterItem.d.ts +13 -0
- package/lib/Shared/Models/FormOptions.d.ts +15 -0
- package/lib/Shared/Models/HtmlEditorOptions.d.ts +66 -0
- package/lib/Shared/Models/ImageUploadOptions.d.ts +59 -0
- package/lib/Shared/Models/MapAutoCompleteOptions.d.ts +44 -0
- package/lib/Shared/Models/MapAutocompleteDTO.d.ts +7 -0
- package/lib/Shared/Models/MultiLingualHtmlEditorOptions.d.ts +97 -0
- package/lib/Shared/Models/MultiLingualTextAreaOptions.d.ts +85 -0
- package/lib/Shared/Models/MultilingualTextBoxOptions.d.ts +83 -0
- package/lib/Shared/Models/MultipleFileUploadModel.d.ts +7 -0
- package/lib/Shared/Models/PagingDTO.d.ts +11 -0
- package/lib/Shared/Models/PagingOptions.d.ts +51 -0
- package/lib/Shared/Models/PhoneOptions.d.ts +56 -0
- package/lib/Shared/Models/ProfileImageUploadOptions.d.ts +64 -0
- package/lib/Shared/Models/ProfilePictureDTO.d.ts +12 -0
- package/lib/Shared/Models/RadioButtonItem.d.ts +4 -0
- package/lib/Shared/Models/RadioButtonOptions.d.ts +44 -0
- package/lib/Shared/Models/RangeNumber.d.ts +4 -0
- package/lib/Shared/Models/SaveDTO.d.ts +5 -0
- package/lib/Shared/Models/TagsInputDTO.d.ts +4 -0
- package/lib/Shared/Models/TagsInputOptions.d.ts +91 -0
- package/lib/Shared/Models/TextAreaOptions.d.ts +60 -0
- package/lib/Shared/Models/TextBoxOptions.d.ts +70 -0
- package/lib/Shared/Models/ToggleslideOptions.d.ts +36 -0
- package/lib/Shared/Models/UploadPersonalImage.d.ts +5 -0
- package/lib/Shared/Models/datePickerOptions.d.ts +65 -0
- package/lib/Shared/config/environment.d.ts +1 -0
- package/lib/Shared/services/ControlUtility.d.ts +23 -0
- package/lib/Shared/services/OnPagingFiltersChange.service.d.ts +7 -0
- package/lib/Shared/services/validationErrorMassage.service.d.ts +13 -0
- package/lib/controls/AutocompleteTextBox/AutocompleteTextBox.component.d.ts +51 -0
- package/lib/controls/Calendar/Calendar.component.d.ts +40 -0
- package/lib/controls/CheckBox/CheckBox.component.d.ts +33 -0
- package/lib/controls/DateTimePicker/DateTimePicker.component.d.ts +41 -0
- package/lib/controls/DropdownList/DropdownList.component.d.ts +47 -0
- package/lib/controls/FileUplaod/FileUplaod.component.d.ts +49 -0
- package/lib/controls/Form/Form.component.d.ts +15 -0
- package/lib/controls/HtmlEditor/HtmlEditor.component.d.ts +44 -0
- package/lib/controls/ImageUpload/ImageUpload.component.d.ts +64 -0
- package/lib/controls/MapAutoComplete/MapAutoComplete.component.d.ts +52 -0
- package/lib/controls/MultiLingualHtmlEditor/MultiLingualHtmlEditor.component.d.ts +58 -0
- package/lib/controls/MultiLingualTextArea/MultiLingualTextArea.component.d.ts +59 -0
- package/lib/controls/MultiLingualTextBox/MultiLingualTextBox.component.d.ts +57 -0
- package/lib/controls/Paging/JwPagination.component.d.ts +24 -0
- package/lib/controls/Paging/Paging.component.d.ts +44 -0
- package/lib/controls/Phone/Phone.component.d.ts +37 -0
- package/lib/controls/ProfileImageUploader/ProfileImageUploader.component.d.ts +65 -0
- package/lib/controls/RadioButton/RadioButton.component.d.ts +31 -0
- package/lib/controls/TagsInput/TagsInput.component.d.ts +47 -0
- package/lib/controls/TextArea/TextArea.component.d.ts +41 -0
- package/lib/controls/TextBox/TextBox.component.d.ts +50 -0
- package/lib/controls/Toggleslide/toggleslide.component.d.ts +26 -0
- package/lib/controls/bbsf-controls.module.d.ts +10 -0
- package/package.json +85 -0
- package/public-api.d.ts +66 -0
- package/src/lib/assets/Style.css +1149 -0
- package/src/lib/assets/i18n/ar.json +29 -0
- package/src/lib/assets/i18n/en.json +24 -0
- package/src/lib/assets/images/imagenotfound.png +0 -0
- package/src/lib/assets/images/uploadimg.png +0 -0
- package/src/lib/assets/images/userimg.png +0 -0
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
import { Component, Input, Optional, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import { FormControl, Validators, ControlContainer, FormGroupDirective } from '@angular/forms';
|
|
3
|
+
import { InputType } from '../../Shared/Enums/InputType';
|
|
4
|
+
import { ControlUtility } from '../../Shared/services/ControlUtility';
|
|
5
|
+
import { ControlValidationService, UtilityService } from '@bnsights/bbsf-utilities';
|
|
6
|
+
export class TextboxComponent {
|
|
7
|
+
// tslint:disable-next-line: max-line-length
|
|
8
|
+
constructor(controlUtility, controlContainer, TextControlHost, UtilityService, controlValidationService) {
|
|
9
|
+
this.controlUtility = controlUtility;
|
|
10
|
+
this.controlContainer = controlContainer;
|
|
11
|
+
this.TextControlHost = TextControlHost;
|
|
12
|
+
this.UtilityService = UtilityService;
|
|
13
|
+
this.controlValidationService = controlValidationService;
|
|
14
|
+
this.OnChange = new EventEmitter();
|
|
15
|
+
this.WordCount = 0;
|
|
16
|
+
this.WordCountArray = 0;
|
|
17
|
+
this.IsShowWordCount = false;
|
|
18
|
+
this.markAllAsTouched = false;
|
|
19
|
+
this.validationRules = [];
|
|
20
|
+
this.validationRulesasync = [];
|
|
21
|
+
this.currentLanguage = "";
|
|
22
|
+
this.resetError = () => {
|
|
23
|
+
this.controlValidationService.RemoveGlobalError();
|
|
24
|
+
};
|
|
25
|
+
//External Method
|
|
26
|
+
this.RemoveRequiredValidation = () => {
|
|
27
|
+
this.controlUtility.RemoveRequiredValidation(this.TextBoxFormControl, this.validationRules, this.options);
|
|
28
|
+
};
|
|
29
|
+
//External Method
|
|
30
|
+
this.AddRequiredValidation = () => {
|
|
31
|
+
this.controlUtility.AddRequiredValidation(this.TextBoxFormControl, this.validationRules, this.options);
|
|
32
|
+
};
|
|
33
|
+
//External Method
|
|
34
|
+
this.RemoveCustomValidation = (CustomValidation) => {
|
|
35
|
+
this.controlUtility.RemoveCustomValidation(this.TextBoxFormControl, this.validationRules, CustomValidation);
|
|
36
|
+
};
|
|
37
|
+
//External Method
|
|
38
|
+
this.AddCustomValidation = (CustomValidation) => {
|
|
39
|
+
this.controlUtility.AddCustomValidation(this.TextBoxFormControl, this.validationRules, CustomValidation);
|
|
40
|
+
};
|
|
41
|
+
//External Method
|
|
42
|
+
this.IsValid = () => {
|
|
43
|
+
this.controlUtility.IsValid(this.TextBoxFormControl);
|
|
44
|
+
};
|
|
45
|
+
TextboxComponent.controlContainerstatic = this.controlContainer;
|
|
46
|
+
}
|
|
47
|
+
// static showErrorOfInputs(errors: any) {
|
|
48
|
+
// const controlContainerstatic = TextboxComponent.controlContainerstatic;
|
|
49
|
+
// const formGroup = controlContainerstatic.control as FormGroup;
|
|
50
|
+
// for (const key in errors) {
|
|
51
|
+
// if (errors.hasOwnProperty(key)) {
|
|
52
|
+
// for (const iterator of errors[key]) {
|
|
53
|
+
// const formControl = formGroup.get(key) as FormControl;
|
|
54
|
+
// formControl.setErrors({ "FluentApi": iterator });
|
|
55
|
+
// formControl.markAsTouched();
|
|
56
|
+
// }
|
|
57
|
+
// }
|
|
58
|
+
// }
|
|
59
|
+
// }
|
|
60
|
+
ngOnInit() {
|
|
61
|
+
this.controlValidationService.isCreatedBefor = false;
|
|
62
|
+
if (this.options.MaskPattern != null && this.options.MaskPattern != "") {
|
|
63
|
+
this.MaskPattern = this.options.MaskPattern;
|
|
64
|
+
this.options.Placeholder = this.MaskPattern;
|
|
65
|
+
}
|
|
66
|
+
this.group.addControl(this.options.Name, new FormControl(''));
|
|
67
|
+
this.TextBoxFormControl = this.group.controls[this.options.Name]; // new FormControl('',validationRules);
|
|
68
|
+
this.TextBoxFormControl.setValue(this.options.Value);
|
|
69
|
+
if (this.options.LabelKey != null && this.options.LabelKey != "")
|
|
70
|
+
this.options.LabelValue = this.UtilityService.getResourceValue(this.options.LabelKey);
|
|
71
|
+
this.getCustomErrorsMassages();
|
|
72
|
+
switch (this.options.Type) {
|
|
73
|
+
case InputType.Email:
|
|
74
|
+
this.validationRules.push(Validators.compose([
|
|
75
|
+
this.controlUtility.patternValidator(/^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$/, { EmailValidationKey: this.EmailValidationKey }),
|
|
76
|
+
]));
|
|
77
|
+
break;
|
|
78
|
+
case InputType.EID:
|
|
79
|
+
this.MaskPattern = '000-0000-0000000-0';
|
|
80
|
+
this.options.Placeholder = this.MaskPattern;
|
|
81
|
+
break;
|
|
82
|
+
case InputType.Number:
|
|
83
|
+
this.validationRules.push(Validators.pattern('^[0-9]+(\.?[0-9]+)?$'));
|
|
84
|
+
if (this.options.NumberRange != null) {
|
|
85
|
+
this.validationRules.push(Validators.min(this.options.NumberRange.From));
|
|
86
|
+
this.validationRules.push(Validators.max(this.options.NumberRange.To));
|
|
87
|
+
}
|
|
88
|
+
break;
|
|
89
|
+
case InputType.Password:
|
|
90
|
+
if (!this.options.RemoveDefaultPasswordValidation) {
|
|
91
|
+
this.validationRules.push(Validators.compose([
|
|
92
|
+
this.controlUtility.patternValidator(/\d/, { PasswordComplexityHasNumber: this.PasswordComplexityHasNumber }),
|
|
93
|
+
this.controlUtility.patternValidator(/[A-Z]/, { PasswordComplexityHasCapitalLetter: this.PasswordComplexityHasCapitalLetter }),
|
|
94
|
+
this.controlUtility.patternValidator(/[a-z]/, { PasswordComplexityHasSmallLetter: this.PasswordComplexityHasSmallLetter }),
|
|
95
|
+
this.controlUtility.patternValidator(/[!@#$%^&*(),.?":{}|<>]/, { PasswordComplexityHasSpecialLetter: this.PasswordComplexityHasSpecialLetter }),
|
|
96
|
+
Validators.minLength(8),
|
|
97
|
+
]));
|
|
98
|
+
}
|
|
99
|
+
break;
|
|
100
|
+
}
|
|
101
|
+
// if (this.options.ForceDirection==ForceDirection.Arabic)
|
|
102
|
+
// {
|
|
103
|
+
// this.validationRules.push(Validators.compose([
|
|
104
|
+
// this.controlUtility.patternValidator(/[\u0621-\u064A]+/, { ArabicLetterOnly: this.ArabicLetterOnly }),
|
|
105
|
+
// ]));
|
|
106
|
+
// }
|
|
107
|
+
// else if (this.options.ForceDirection==ForceDirection.English)
|
|
108
|
+
// {
|
|
109
|
+
// this.validationRules.push(Validators.compose([
|
|
110
|
+
// this.controlUtility.patternValidator(/^[\x00-\x7F]*$/, { EnglishLetterOnly: this.EnglishLetterOnly }),
|
|
111
|
+
// ]));
|
|
112
|
+
// }
|
|
113
|
+
if (this.options.CustomValidation.length > 0) {
|
|
114
|
+
let Validations = this.options.CustomValidation;
|
|
115
|
+
for (let index = 0; index < Validations.length; index++) {
|
|
116
|
+
const Validation = Validations[index];
|
|
117
|
+
this.validationRules.push(Validation.functionBody);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
if (this.options.MinLength > 0) {
|
|
121
|
+
this.validationRules.push(Validators.minLength(this.options.MinLength));
|
|
122
|
+
}
|
|
123
|
+
if (this.options.MaxLength > 0) {
|
|
124
|
+
this.validationRules.push(Validators.maxLength(this.options.MaxLength));
|
|
125
|
+
}
|
|
126
|
+
if (this.options.IsRequired) {
|
|
127
|
+
this.validationRules.push(Validators.required);
|
|
128
|
+
}
|
|
129
|
+
this.TextBoxFormControl.setValidators(this.validationRules);
|
|
130
|
+
this.TextBoxFormControl.setAsyncValidators(this.validationRulesasync);
|
|
131
|
+
if (this.options.IsDisabled) {
|
|
132
|
+
this.TextBoxFormControl.disable();
|
|
133
|
+
}
|
|
134
|
+
this.TextControlHost.ngSubmit.subscribe((value) => {
|
|
135
|
+
this.group.markAllAsTouched();
|
|
136
|
+
this.markAllAsTouched = true;
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
ngAfterViewInit() {
|
|
140
|
+
this.controlUtility.setAttributeForControl(this.options);
|
|
141
|
+
}
|
|
142
|
+
showGlobalError() {
|
|
143
|
+
this.controlUtility.showGlobalError();
|
|
144
|
+
}
|
|
145
|
+
getErrorValidation(ErrorList) {
|
|
146
|
+
if (this.markAllAsTouched && this.group.invalid) {
|
|
147
|
+
this.showGlobalError();
|
|
148
|
+
this.markAllAsTouched = false;
|
|
149
|
+
}
|
|
150
|
+
return this.controlUtility.getErrorValidationMassage(ErrorList, this.group, this.options);
|
|
151
|
+
}
|
|
152
|
+
getInputType(type) {
|
|
153
|
+
return this.controlUtility.getInputType(type);
|
|
154
|
+
}
|
|
155
|
+
trimControlValue() {
|
|
156
|
+
let OrignalValue = this.controlUtility.trimControlValue(this.TextBoxFormControl.value);
|
|
157
|
+
this.TextBoxFormControl.patchValue(OrignalValue);
|
|
158
|
+
}
|
|
159
|
+
copyInputMessage(inputElement) {
|
|
160
|
+
this.controlUtility.CopyInputMessage(inputElement);
|
|
161
|
+
}
|
|
162
|
+
getCustomErrorsMassages() {
|
|
163
|
+
this.EmailValidationKey = this.UtilityService.getResourceValue("EmailValidationKey");
|
|
164
|
+
this.PasswordComplexityHasCapitalLetter = this.UtilityService.getResourceValue("PasswordComplexityHasCapitalLetter");
|
|
165
|
+
this.PasswordComplexityHasNumber = this.UtilityService.getResourceValue("PasswordComplexityHasNumber");
|
|
166
|
+
this.PasswordComplexityHasSmallLetter = this.UtilityService.getResourceValue("PasswordComplexityHasSmallLetter");
|
|
167
|
+
this.PasswordComplexityHasSpecialLetter = this.UtilityService.getResourceValue("PasswordComplexityHasSpecialLetter");
|
|
168
|
+
this.MaxWordCountValidationKey = this.UtilityService.getResourceValue("MaxWordCountValidationKey");
|
|
169
|
+
this.ArabicLetterOnly = this.UtilityService.getResourceValue("ArabicLetterOnly");
|
|
170
|
+
this.EnglishLetterOnly = this.UtilityService.getResourceValue("EnglishLetterOnly");
|
|
171
|
+
}
|
|
172
|
+
onTextChange() {
|
|
173
|
+
if (this.TextBoxFormControl.value == "") {
|
|
174
|
+
this.WordCountArray = 0;
|
|
175
|
+
this.WordCount = 0;
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
this.WordCountArray = this.TextBoxFormControl.value.split(" ").length;
|
|
179
|
+
if (this.WordCountArray > 0) {
|
|
180
|
+
if (this.WordCountArray > this.options.MaxWordCount) {
|
|
181
|
+
this.WordCount = this.options.MaxWordCount;
|
|
182
|
+
this.TextBoxFormControl.setErrors({ MaxWordCountValidationKey: this.options.MaxWordCount });
|
|
183
|
+
this.TextBoxFormControl.markAsTouched();
|
|
184
|
+
this.TextBoxFormControl.invalid;
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
this.WordCount = this.WordCountArray;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
this.OnChange.emit(this.TextBoxFormControl.value);
|
|
192
|
+
}
|
|
193
|
+
showWordCount(value) {
|
|
194
|
+
this.IsShowWordCount = value;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
TextboxComponent.controlContainerstatic = null;
|
|
198
|
+
TextboxComponent.decorators = [
|
|
199
|
+
{ type: Component, args: [{
|
|
200
|
+
selector: 'BBSF-TextBox',
|
|
201
|
+
template: "<div class=\"b-control b-textbox\">\r\n <div class=\"form-group row validate is-invalid\" [formGroup]=\"group\" [ngClass]=\"(options.NoMargin==true)?'':'NoMargin'\">\r\n <label class=\"b-label col-form-label col-sm-12 \" [ngClass]=\"(options.ViewType==1)?'col-md-12':'col-md-3'\"*ngIf=\"!options.HideLabel\" >\r\n {{options.LabelValue}}\r\n <span *ngIf=\"(options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)\" class=\"text-danger Required-text\"\r\n aria-required=\"true\">*</span>\r\n </label>\r\n\r\n <div class=\"col-sm-12\" [ngClass]=\"(options.ViewType==1)?'': ((options.HideLabel)?'col-md-12':'col-md-9')\">\r\n <div class=\"input-group align-items-center\" *ngIf=\"MaskPattern!=null&&MaskPattern!=''\">\r\n <div class=\"svg svg-icon-grey\" [ngClass]=\"(options.IconPosition==1)?'left':'right'\" *ngIf=\"options.Icon!=null\">\r\n <span [inlineSVG]=\"options.Icon\"></span>\r\n </div>\r\n <input [mask]=\"MaskPattern\" placeHolderCharacter=\" \" [showMaskTyped]=\"true\" [validation]=\"true\"\r\n class=\"form-control bnsights-control {{options.ExtraClasses}}\"\r\n dir=\"{{options.ForceDirection==2?'rtl':''}}\"\r\n aria-describedby=\"email-error\" aria-invalid=\"true\" formControlName=\"{{options.Name}}\"\r\n type=\"{{getInputType(options.Type)}}\"\r\n [class.is-invalid]=\"TextBoxFormControl.invalid && TextBoxFormControl.touched\"\r\n placeholder=\"{{options.Placeholder}}\" id=\"{{options.Name}}\" autocomplete=\"{{options.AutoComplete}}\"\r\n (change)=\"trimControlValue()\" (keyup)=\"onTextChange()\"\r\n (keydown)=\"WordCountArray>options.MaxWordCount&&$event.keyCode !=8?$event.preventDefault():null\"\r\n #userinput>\r\n <div class=\"input-group-append\">\r\n <span class=\"input-group-text\" *ngIf=\"options.EnableCopyToClipboard\" (click)=\"copyInputMessage(userinput)\">\r\n <i class=\"fas fa-copy\"></i>\r\n </span>\r\n </div>\r\n <div class=\"text-muted font-weight-500 word-count\" *ngIf=\"options.MaxWordCount>0&&IsShowWordCount\">{{WordCount}}/{{options.MaxWordCount}} Words</div>\r\n </div>\r\n\r\n <div class=\"input-group align-items-center\" *ngIf=\"MaskPattern==null||MaskPattern==''\">\r\n <div class=\"svg svg-icon-grey\" [ngClass]=\"(options.IconPosition==1)?'left':'right'\" *ngIf=\"options.Icon!=null\">\r\n <span [inlineSVG]=\"options.Icon\"></span>\r\n </div>\r\n <input class=\"form-control bnsights-control {{options.ExtraClasses}} \"\r\n dir=\"{{options.ForceDirection==2?'rtl':''}}\"\r\n (focus)=\"showWordCount(true)\" (focusout)=\"showWordCount(false)\"\r\n maxlength=\"{{options.MaxLength}}\" minlength=\"{{options.MinLength}}\" aria-describedby=\"email-error\"\r\n aria-invalid=\"true\" formControlName=\"{{options.Name}}\" type=\"{{getInputType(options.Type)}}\"\r\n [class.is-invalid]=\"TextBoxFormControl.invalid && TextBoxFormControl.touched\"\r\n placeholder=\"{{options.Placeholder}}\" id=\"{{options.Name}}\" autocomplete=\"{{options.AutoComplete}}\"\r\n (change)=\"trimControlValue()\" (keyup)=\"onTextChange()\"\r\n (keydown)=\"WordCountArray>options.MaxWordCount&&$event.keyCode !=8?$event.preventDefault():null\"\r\n #userinput>\r\n <div class=\"input-group-append\" *ngIf=\"options.EnableCopyToClipboard\">\r\n <span class=\"input-group-text\" (click)=\"copyInputMessage(userinput)\">\r\n <i class=\"fas fa-copy\"></i>\r\n </span>\r\n </div>\r\n <div class=\"text-muted font-weight-500 word-count\" *ngIf=\"options.MaxWordCount>0&&IsShowWordCount\">{{WordCount}}/{{options.MaxWordCount}} Words</div>\r\n </div>\r\n <div class=\"text-danger Required-text\" dir=\"{{options.ForceDirection==2?'rtl':''}}\"\r\n *ngIf=\"(TextBoxFormControl.invalid && TextBoxFormControl.touched)\">\r\n {{getErrorValidation(TextBoxFormControl.errors|keyvalue)}}\r\n </div>\r\n <div class=\"control-desc\" *ngIf=\"options.LabelDescription!=null\">{{options.LabelDescription}}</div>\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">{{resetError()}}</div>\r\n\r\n\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
202
|
+
styles: [".example-form{min-width:150px;max-width:500px;width:100%}.example-full-width{width:100%}.flip_V{transform:scaleY(-1)}\n"]
|
|
203
|
+
},] }
|
|
204
|
+
];
|
|
205
|
+
TextboxComponent.ctorParameters = () => [
|
|
206
|
+
{ type: ControlUtility },
|
|
207
|
+
{ type: ControlContainer, decorators: [{ type: Optional }] },
|
|
208
|
+
{ type: FormGroupDirective },
|
|
209
|
+
{ type: UtilityService },
|
|
210
|
+
{ type: ControlValidationService }
|
|
211
|
+
];
|
|
212
|
+
TextboxComponent.propDecorators = {
|
|
213
|
+
group: [{ type: Input }],
|
|
214
|
+
options: [{ type: Input }],
|
|
215
|
+
OnChange: [{ type: Output }]
|
|
216
|
+
};
|
|
217
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGV4dEJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWNvbnRyb2xzL3NyYy9saWIvY29udHJvbHMvVGV4dEJveC9UZXh0Qm94LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBVyxRQUFRLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBOEIsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQWlDLE1BQU0sZ0JBQWdCLENBQUM7QUFHMUosT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUd0RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFPcEYsTUFBTSxPQUFPLGdCQUFnQjtJQUczQiw0Q0FBNEM7SUFDNUMsWUFBcUIsY0FBOEIsRUFBc0IsZ0JBQWtDLEVBQVMsZUFBbUMsRUFBUyxjQUE2QixFQUFTLHdCQUFpRDtRQUFsTyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBc0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFTLG9CQUFlLEdBQWYsZUFBZSxDQUFvQjtRQUFTLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQVMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUF5QjtRQU03TyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUl4QyxjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCLG1CQUFjLEdBQVcsQ0FBQyxDQUFDO1FBUzNCLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBQ2pDLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUNsQyxvQkFBZSxHQUFHLEVBQUUsQ0FBQztR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QUFDO29CQUMzQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLEVBQUUseUJBQXlCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO29CQUM1RixJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxFQUFFLENBQUM7b0JBQ3hDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7aUJBQ2pDO3FCQUNJO29CQUNILElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztpQkFFdEM7YUFFRjtTQUNGO1FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ25ELENBQUM7SUFFRCxhQUFhLENBQUMsS0FBYztRQUMxQixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQTtJQUM5QixDQUFDOztBQTlOTSx1Q0FBc0IsR0FBRyxJQUFJLENBQUM7O1lBUHRDLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsY0FBYztnQkFDeEIsK3BKQUF1Qzs7YUFFeEM7OztZQVRRLGNBQWM7WUFKdUMsZ0JBQWdCLHVCQWtCdEIsUUFBUTtZQWxCZ0Isa0JBQWtCO1lBTy9ELGNBQWM7WUFBeEMsd0JBQXdCOzs7b0JBZTlCLEtBQUs7c0JBQ0wsS0FBSzt1QkFDTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBEb0NoZWNrLCBPcHRpb25hbCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMsIEZvcm1Hcm91cCwgQWJzdHJhY3RDb250cm9sLCBDb250cm9sQ29udGFpbmVyLCBGb3JtR3JvdXBEaXJlY3RpdmUsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBFcnJvck1hc3NhZ2VWYWxpZGF0aW9uIH0gZnJvbSAnLi4vLi4vU2hhcmVkL3NlcnZpY2VzL3ZhbGlkYXRpb25FcnJvck1hc3NhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IFRleHRCb3hPcHRpb25zIH0gZnJvbSAnLi4vLi4vU2hhcmVkL01vZGVscy9UZXh0Qm94T3B0aW9ucyc7XHJcbmltcG9ydCB7IElucHV0VHlwZSB9IGZyb20gJy4uLy4uL1NoYXJlZC9FbnVtcy9JbnB1dFR5cGUnO1xyXG5pbXBvcnQgeyBDb250cm9sVXRpbGl0eSB9IGZyb20gJy4uLy4uL1NoYXJlZC9zZXJ2aWNlcy9Db250cm9sVXRpbGl0eSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgRm9yY2VEaXJlY3Rpb24gfSBmcm9tICcuLi8uLi9TaGFyZWQvRW51bXMvRm9yY2VEaXJlY3Rpb24nO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsaWRhdGlvblNlcnZpY2UsIFV0aWxpdHlTZXJ2aWNlIH0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtdXRpbGl0aWVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnQkJTRi1UZXh0Qm94JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vVGV4dEJveC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vVGV4dEJveC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZXh0Ym94Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgc3RhdGljIGNvbnRyb2xDb250YWluZXJzdGF0aWMgPSBudWxsO1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbWF4LWxpbmUtbGVuZ3RoXHJcbiAgY29uc3RydWN0b3IoIHByaXZhdGUgY29udHJvbFV0aWxpdHk6IENvbnRyb2xVdGlsaXR5LCBAT3B0aW9uYWwoKSBwcml2YXRlIGNvbnRyb2xDb250YWluZXI6IENvbnRyb2xDb250YWluZXIsIHB1YmxpYyBUZXh0Q29udHJvbEhvc3Q6IEZvcm1Hcm91cERpcmVjdGl2ZSxwcml2YXRlIFV0aWxpdHlTZXJ2aWNlOlV0aWxpdHlTZXJ2aWNlLHByaXZhdGUgY29udHJvbFZhbGlkYXRpb25TZXJ2aWNlOkNvbnRyb2xWYWxpZGF0aW9uU2VydmljZSkge1xyXG4gICAgVGV4dGJveENvbXBvbmVudC5jb250cm9sQ29udGFpbmVyc3RhdGljID0gdGhpcy5jb250cm9sQ29udGFpbmVyO1xyXG5cclxuICB9XHJcbiAgQElucHV0KCkgZ3JvdXA6IEZvcm1Hcm91cDtcclxuICBASW5wdXQoKSBvcHRpb25zOiBUZXh0Qm94T3B0aW9ucztcclxuICBAT3V0cHV0KCkgT25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIFRleHRCb3hGb3JtQ29udHJvbDogQWJzdHJhY3RDb250cm9sO1xyXG4gIE1hc2tQYXR0ZXJuOiBzdHJpbmc7XHJcbiAgV29yZENvdW50OiBudW1iZXIgPSAwO1xyXG4gIFdvcmRDb3VudEFycmF5OiBudW1iZXIgPSAwO1xyXG4gIEVtYWlsVmFsaWRhdGlvbktleTogc3RyaW5nO1xyXG4gIFBhc3N3b3JkQ29tcGxleGl0eUhhc051bWJlcjogc3RyaW5nO1xyXG4gIEFyYWJpY0xldHRlck9ubHk6IHN0cmluZztcclxuICBFbmdsaXNoTGV0dGVyT25seTpzdHJpbmc7XHJcbiAgUGFzc3dvcmRDb21wbGV4aXR5SGFzQ2FwaXRhbExldHRlcjogc3RyaW5nO1xyXG4gIFBhc3N3b3JkQ29tcGxleGl0eUhhc1NtYWxsTGV0dGVyOiBzdHJpbmc7XHJcbiAgUGFzc3dvcmRDb21wbGV4aXR5SGFzU3BlY2lhbExldHRlcjogc3RyaW5nXHJcbiAgTWF4V29yZENvdW50VmFsaWRhdGlvbktleTogc3RyaW5nXHJcbiAgSXNTaG93V29yZENvdW50OiBib29sZWFuID0gZmFsc2U7XHJcbiAgbWFya0FsbEFzVG91Y2hlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHZhbGlkYXRpb25SdWxlcyA9IFtdO1xyXG4gIHZhbGlkYXRpb25SdWxlc2FzeW5jID0gW107XHJcbiAgY3VycmVudExhbmd1YWdlID0gXCJcIlxyXG4gIC8vIHN0YXRpYyBzaG93RXJyb3JPZklucHV0cyhlcnJvcnM6IGFueSkge1xyXG5cclxuICAvLyAgIGNvbnN0IGNvbnRyb2xDb250YWluZXJzdGF0aWMgPSBUZXh0Ym94Q29tcG9uZW50LmNvbnRyb2xDb250YWluZXJzdGF0aWM7XHJcbiAgLy8gICBjb25zdCBmb3JtR3JvdXAgPSBjb250cm9sQ29udGFpbmVyc3RhdGljLmNvbnRyb2wgYXMgRm9ybUdyb3VwO1xyXG4gIC8vICAgZm9yIChjb25zdCBrZXkgaW4gZXJyb3JzKSB7XHJcbiAgLy8gICAgIGlmIChlcnJvcnMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gIC8vICAgICAgIGZvciAoY29uc3QgaXRlcmF0b3Igb2YgZXJyb3JzW2tleV0pIHtcclxuICAvLyAgICAgICAgIGNvbnN0IGZvcm1Db250cm9sID0gZm9ybUdyb3VwLmdldChrZXkpIGFzIEZvcm1Db250cm9sO1xyXG4gIC8vICAgICAgICAgZm9ybUNvbnRyb2wuc2V0RXJyb3JzKHsgXCJGbHVlbnRBcGlcIjogaXRlcmF0b3IgfSk7XHJcbiAgLy8gICAgICAgICBmb3JtQ29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICB9XHJcbiAgLy8gICB9XHJcbiAgLy8gfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuXHJcblxyXG4gICAgdGhpcy5jb250cm9sVmFsaWRhdGlvblNlcnZpY2UuaXNDcmVhdGVkQmVmb3IgPSBmYWxzZVxyXG5cclxuICAgIGlmICh0aGlzLm9wdGlvbnMuTWFza1BhdHRlcm4gIT0gbnVsbCAmJiB0aGlzLm9wdGlvbnMuTWFza1BhdHRlcm4gIT0gXCJcIikge1xyXG4gICAgICB0aGlzLk1hc2tQYXR0ZXJuID0gdGhpcy5vcHRpb25zLk1hc2tQYXR0ZXJuXHJcbiAgICAgIHRoaXMub3B0aW9ucy5QbGFjZWhvbGRlciA9IHRoaXMuTWFza1BhdHRlcm5cclxuICAgIH1cclxuICAgIHRoaXMuZ3JvdXAuYWRkQ29udHJvbCh0aGlzLm9wdGlvbnMuTmFtZSwgbmV3IEZvcm1Db250cm9sKCcnKSk7XHJcbiAgICB0aGlzLlRleHRCb3hGb3JtQ29udHJvbCA9IHRoaXMuZ3JvdXAuY29udHJvbHNbdGhpcy5vcHRpb25zLk5hbWVdOyAvLyAgbmV3IEZvcm1Db250cm9sKCcnLHZhbGlkYXRpb25SdWxlcyk7XHJcbiAgICB0aGlzLlRleHRCb3hGb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLm9wdGlvbnMuVmFsdWUpO1xyXG5cclxuICAgIGlmICh0aGlzLm9wdGlvbnMuTGFiZWxLZXkgIT0gbnVsbCAmJiB0aGlzLm9wdGlvbnMuTGFiZWxLZXkgIT0gXCJcIilcclxuICAgICAgdGhpcy5vcHRpb25zLkxhYmVsVmFsdWUgPSB0aGlzLlV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUodGhpcy5vcHRpb25zLkxhYmVsS2V5KTtcclxuXHJcbiAgICB0aGlzLmdldEN1c3RvbUVycm9yc01hc3NhZ2VzKClcclxuICAgIHN3aXRjaCAodGhpcy5vcHRpb25zLlR5cGUpIHtcclxuICAgICAgY2FzZSBJbnB1dFR5cGUuRW1haWw6XHJcbiAgICAgICAgdGhpcy52YWxpZGF0aW9uUnVsZXMucHVzaChWYWxpZGF0b3JzLmNvbXBvc2UoW1xyXG4gICAgICAgICAgdGhpcy5jb250cm9sVXRpbGl0eS5wYXR0ZXJuVmFsaWRhdG9yKC9eW2EtejAtOS5fJSstXStAW2EtejAtOS4tXStcXC5bYS16XXsyLDR9JC8sIHsgRW1haWxWYWxpZGF0aW9uS2V5OiB0aGlzLkVtYWlsVmFsaWRhdGlvbktleSB9KSxcclxuXHJcbiAgICAgICAgXSkpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIElucHV0VHlwZS5FSUQ6XHJcbiAgICAgICAgdGhpcy5NYXNrUGF0dGVybiA9ICcwMDAtMDAwMC0wMDAwMDAwLTAnO1xyXG4gICAgICAgIHRoaXMub3B0aW9ucy5QbGFjZWhvbGRlciA9IHRoaXMuTWFza1BhdHRlcm5cclxuXHJcblxyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBJbnB1dFR5cGUuTnVtYmVyOlxyXG4gICAgICAgIHRoaXMudmFsaWRhdGlvblJ1bGVzLnB1c2goVmFsaWRhdG9ycy5wYXR0ZXJuKCdeWzAtOV0rKFxcLj9bMC05XSspPyQnKSk7XHJcbiAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5OdW1iZXJSYW5nZSAhPSBudWxsKSB7XHJcblxyXG4gICAgICAgICAgdGhpcy52YWxpZGF0aW9uUnVsZXMucHVzaChWYWxpZGF0b3JzLm1pbih0aGlzLm9wdGlvbnMuTnVtYmVyUmFuZ2UuRnJvbSkpO1xyXG4gICAgICAgICAgdGhpcy52YWxpZGF0aW9uUnVsZXMucHVzaChWYWxpZGF0b3JzLm1heCh0aGlzLm9wdGlvbnMuTnVtYmVyUmFuZ2UuVG8pKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgSW5wdXRUeXBlLlBhc3N3b3JkOlxyXG4gICAgICAgIGlmICghdGhpcy5vcHRpb25zLlJlbW92ZURlZmF1bHRQYXNzd29yZFZhbGlkYXRpb24pIHtcclxuICAgICAgICAgIHRoaXMudmFsaWRhdGlvblJ1bGVzLnB1c2goVmFsaWRhdG9ycy5jb21wb3NlKFtcclxuICAgICAgICAgICAgdGhpcy5jb250cm9sVXRpbGl0eS5wYXR0ZXJuVmFsaWRhdG9yKC9cXGQvLCB7IFBhc3N3b3JkQ29tcGxleGl0eUhhc051bWJlcjogdGhpcy5QYXNzd29yZENvbXBsZXhpdHlIYXNOdW1iZXIgfSksXHJcbiAgICAgICAgICAgIHRoaXMuY29udHJvbFV0aWxpdHkucGF0dGVyblZhbGlkYXRvcigvW0EtWl0vLCB7IFBhc3N3b3JkQ29tcGxleGl0eUhhc0NhcGl0YWxMZXR0ZXI6IHRoaXMuUGFzc3dvcmRDb21wbGV4aXR5SGFzQ2FwaXRhbExldHRlciB9KSxcclxuICAgICAgICAgICAgdGhpcy5jb250cm9sVXRpbGl0eS5wYXR0ZXJuVmFsaWRhdG9yKC9bYS16XS8sIHsgUGFzc3dvcmRDb21wbGV4aXR5SGFzU21hbGxMZXR0ZXI6IHRoaXMuUGFzc3dvcmRDb21wbGV4aXR5SGFzU21hbGxMZXR0ZXIgfSksXHJcbiAgICAgICAgICAgIHRoaXMuY29udHJvbFV0aWxpdHkucGF0dGVyblZhbGlkYXRvcigvWyFAIyQlXiYqKCksLj9cIjp7fXw8Pl0vLCB7IFBhc3N3b3JkQ29tcGxleGl0eUhhc1NwZWNpYWxMZXR0ZXI6IHRoaXMuUGFzc3dvcmRDb21wbGV4aXR5SGFzU3BlY2lhbExldHRlciB9KSxcclxuICAgICAgICAgICAgVmFsaWRhdG9ycy5taW5MZW5ndGgoOCksXHJcbiAgICAgICAgICBdKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLyBpZiAodGhpcy5vcHRpb25zLkZvcmNlRGlyZWN0aW9uPT1Gb3JjZURpcmVjdGlvbi5BcmFiaWMpIFxyXG4gICAgLy8ge1xyXG4gICAgLy8gICB0aGlzLnZhbGlkYXRpb25SdWxlcy5wdXNoKFZhbGlkYXRvcnMuY29tcG9zZShbXHJcbiAgICAvLyAgICAgdGhpcy5jb250cm9sVXRpbGl0eS5wYXR0ZXJuVmFsaWRhdG9yKC9bXFx1MDYyMS1cXHUwNjRBXSsvLCB7IEFyYWJpY0xldHRlck9ubHk6IHRoaXMuQXJhYmljTGV0dGVyT25seSB9KSxcclxuICAgICAgICAgXHJcbiAgICAvLyAgIF0pKTtcclxuICAgICBcclxuICAgIC8vIH1cclxuICAgIC8vICBlbHNlIGlmICh0aGlzLm9wdGlvbnMuRm9yY2VEaXJlY3Rpb249PUZvcmNlRGlyZWN0aW9uLkVuZ2xpc2gpIFxyXG4gICAgLy8ge1xyXG4gICAgLy8gICB0aGlzLnZhbGlkYXRpb25SdWxlcy5wdXNoKFZhbGlkYXRvcnMuY29tcG9zZShbXHJcbiAgICAvLyAgICAgdGhpcy5jb250cm9sVXRpbGl0eS5wYXR0ZXJuVmFsaWRhdG9yKC9eW1xceDAwLVxceDdGXSokLywgeyBFbmdsaXNoTGV0dGVyT25seTogdGhpcy5FbmdsaXNoTGV0dGVyT25seSB9KSxcclxuICAgICAgICAgXHJcbiAgICAvLyAgIF0pKTtcclxuICAgICAgXHJcbiAgICBcclxuICAgICAgXHJcbiAgICAvLyB9XHJcblxyXG5cclxuICAgIGlmICh0aGlzLm9wdGlvbnMuQ3VzdG9tVmFsaWRhdGlvbi5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGxldCBWYWxpZGF0aW9ucyA9IHRoaXMub3B0aW9ucy5DdXN0b21WYWxpZGF0aW9uXHJcbiAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBWYWxpZGF0aW9ucy5sZW5ndGg7IGluZGV4KyspIHtcclxuICAgICAgICBjb25zdCBWYWxpZGF0aW9uID0gVmFsaWRhdGlvbnNbaW5kZXhdO1xyXG4gICAgICAgIHRoaXMudmFsaWRhdGlvblJ1bGVzLnB1c2goVmFsaWRhdGlvbi5mdW5jdGlvbkJvZHkpO1xyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5NaW5MZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMudmFsaWRhdGlvblJ1bGVzLnB1c2goVmFsaWRhdG9ycy5taW5MZW5ndGgodGhpcy5vcHRpb25zLk1pbkxlbmd0aCkpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5NYXhMZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMudmFsaWRhdGlvblJ1bGVzLnB1c2goVmFsaWRhdG9ycy5tYXhMZW5ndGgodGhpcy5vcHRpb25zLk1heExlbmd0aCkpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5Jc1JlcXVpcmVkKSB7XHJcbiAgICAgIHRoaXMudmFsaWRhdGlvblJ1bGVzLnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLlRleHRCb3hGb3JtQ29udHJvbC5zZXRWYWxpZGF0b3JzKHRoaXMudmFsaWRhdGlvblJ1bGVzKTtcclxuICAgIHRoaXMuVGV4dEJveEZvcm1Db250cm9sLnNldEFzeW5jVmFsaWRhdG9ycyh0aGlzLnZhbGlkYXRpb25SdWxlc2FzeW5jKTtcclxuICAgIGlmICh0aGlzLm9wdGlvbnMuSXNEaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLlRleHRCb3hGb3JtQ29udHJvbC5kaXNhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5UZXh0Q29udHJvbEhvc3QubmdTdWJtaXQuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xyXG4gICAgICB0aGlzLmdyb3VwLm1hcmtBbGxBc1RvdWNoZWQoKVxyXG4gICAgICB0aGlzLm1hcmtBbGxBc1RvdWNoZWQgPSB0cnVlXHJcbiAgICB9KVxyXG5cclxuICB9XHJcblxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbnRyb2xVdGlsaXR5LnNldEF0dHJpYnV0ZUZvckNvbnRyb2wodGhpcy5vcHRpb25zKVxyXG4gIH1cclxuXHJcbiAgcmVzZXRFcnJvciA9ICgpID0+IHtcclxuICAgIHRoaXMuY29udHJvbFZhbGlkYXRpb25TZXJ2aWNlLlJlbW92ZUdsb2JhbEVycm9yKCk7XHJcbiAgfVxyXG5cclxuICBzaG93R2xvYmFsRXJyb3IoKSB7XHJcbiAgICB0aGlzLmNvbnRyb2xVdGlsaXR5LnNob3dHbG9iYWxFcnJvcigpXHJcbiAgfVxyXG5cclxuICBnZXRFcnJvclZhbGlkYXRpb24oRXJyb3JMaXN0KSB7XHJcblxyXG4gICAgaWYgKHRoaXMubWFya0FsbEFzVG91Y2hlZCAmJiB0aGlzLmdyb3VwLmludmFsaWQpIHtcclxuICAgICAgdGhpcy5zaG93R2xvYmFsRXJyb3IoKVxyXG4gICAgICB0aGlzLm1hcmtBbGxBc1RvdWNoZWQgPSBmYWxzZVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLmNvbnRyb2xVdGlsaXR5LmdldEVycm9yVmFsaWRhdGlvbk1hc3NhZ2UoRXJyb3JMaXN0LCB0aGlzLmdyb3VwLCB0aGlzLm9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgZ2V0SW5wdXRUeXBlKHR5cGU6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udHJvbFV0aWxpdHkuZ2V0SW5wdXRUeXBlKHR5cGUpXHJcbiAgfVxyXG5cclxuICB0cmltQ29udHJvbFZhbHVlKCkge1xyXG4gICAgbGV0IE9yaWduYWxWYWx1ZSA9IHRoaXMuY29udHJvbFV0aWxpdHkudHJpbUNvbnRyb2xWYWx1ZSh0aGlzLlRleHRCb3hGb3JtQ29udHJvbC52YWx1ZSk7XHJcbiAgICB0aGlzLlRleHRCb3hGb3JtQ29udHJvbC5wYXRjaFZhbHVlKE9yaWduYWxWYWx1ZSlcclxuXHJcbiAgfVxyXG5cclxuICBjb3B5SW5wdXRNZXNzYWdlKGlucHV0RWxlbWVudCkge1xyXG4gICAgdGhpcy5jb250cm9sVXRpbGl0eS5Db3B5SW5wdXRNZXNzYWdlKGlucHV0RWxlbWVudClcclxuICB9XHJcblxyXG4gIGdldEN1c3RvbUVycm9yc01hc3NhZ2VzKCkge1xyXG4gICAgdGhpcy5FbWFpbFZhbGlkYXRpb25LZXkgPSB0aGlzLlV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJFbWFpbFZhbGlkYXRpb25LZXlcIik7XHJcbiAgICB0aGlzLlBhc3N3b3JkQ29tcGxleGl0eUhhc0NhcGl0YWxMZXR0ZXIgPSB0aGlzLlV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJQYXNzd29yZENvbXBsZXhpdHlIYXNDYXBpdGFsTGV0dGVyXCIpO1xyXG4gICAgdGhpcy5QYXNzd29yZENvbXBsZXhpdHlIYXNOdW1iZXIgPSB0aGlzLlV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJQYXNzd29yZENvbXBsZXhpdHlIYXNOdW1iZXJcIik7XHJcbiAgICB0aGlzLlBhc3N3b3JkQ29tcGxleGl0eUhhc1NtYWxsTGV0dGVyID0gdGhpcy5VdGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiUGFzc3dvcmRDb21wbGV4aXR5SGFzU21hbGxMZXR0ZXJcIik7XHJcbiAgICB0aGlzLlBhc3N3b3JkQ29tcGxleGl0eUhhc1NwZWNpYWxMZXR0ZXIgPSB0aGlzLlV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJQYXNzd29yZENvbXBsZXhpdHlIYXNTcGVjaWFsTGV0dGVyXCIpO1xyXG4gICAgdGhpcy5NYXhXb3JkQ291bnRWYWxpZGF0aW9uS2V5ID0gdGhpcy5VdGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiTWF4V29yZENvdW50VmFsaWRhdGlvbktleVwiKTtcclxuICAgIHRoaXMuQXJhYmljTGV0dGVyT25seSA9IHRoaXMuVXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkFyYWJpY0xldHRlck9ubHlcIik7XHJcbiAgICB0aGlzLkVuZ2xpc2hMZXR0ZXJPbmx5ID0gdGhpcy5VdGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiRW5nbGlzaExldHRlck9ubHlcIik7XHJcblxyXG5cclxuICB9XHJcblxyXG4gIG9uVGV4dENoYW5nZSgpIHtcclxuXHJcbiAgICBpZiAodGhpcy5UZXh0Qm94Rm9ybUNvbnRyb2wudmFsdWUgPT0gXCJcIikge1xyXG4gICAgICB0aGlzLldvcmRDb3VudEFycmF5ID0gMDtcclxuICAgICAgdGhpcy5Xb3JkQ291bnQgPSAwO1xyXG4gICAgfVxyXG5cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLldvcmRDb3VudEFycmF5ID0gdGhpcy5UZXh0Qm94Rm9ybUNvbnRyb2wudmFsdWUuc3BsaXQoXCIgXCIpLmxlbmd0aDtcclxuICAgICAgaWYgKHRoaXMuV29yZENvdW50QXJyYXkgPiAwKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuV29yZENvdW50QXJyYXkgPiB0aGlzLm9wdGlvbnMuTWF4V29yZENvdW50KSB7XHJcbiAgICAgICAgICB0aGlzLldvcmRDb3VudCA9IHRoaXMub3B0aW9ucy5NYXhXb3JkQ291bnQ7XHJcbiAgICAgICAgICB0aGlzLlRleHRCb3hGb3JtQ29udHJvbC5zZXRFcnJvcnMoeyBNYXhXb3JkQ291bnRWYWxpZGF0aW9uS2V5OiB0aGlzLm9wdGlvbnMuTWF4V29yZENvdW50IH0pO1xyXG4gICAgICAgICAgdGhpcy5UZXh0Qm94Rm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgICAgICAgdGhpcy5UZXh0Qm94Rm9ybUNvbnRyb2wuaW52YWxpZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLldvcmRDb3VudCA9IHRoaXMuV29yZENvdW50QXJyYXk7XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuT25DaGFuZ2UuZW1pdCh0aGlzLlRleHRCb3hGb3JtQ29udHJvbC52YWx1ZSlcclxuICB9XHJcblxyXG4gIHNob3dXb3JkQ291bnQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuSXNTaG93V29yZENvdW50ID0gdmFsdWVcclxuICB9XHJcbiAgLy9FeHRlcm5hbCBNZXRob2RcclxuICBSZW1vdmVSZXF1aXJlZFZhbGlkYXRpb24gPSAoKSA9PiB7XHJcbiAgICB0aGlzLmNvbnRyb2xVdGlsaXR5LlJlbW92ZVJlcXVpcmVkVmFsaWRhdGlvbih0aGlzLlRleHRCb3hGb3JtQ29udHJvbCwgdGhpcy52YWxpZGF0aW9uUnVsZXMsIHRoaXMub3B0aW9ucylcclxuICB9XHJcbiAgLy9FeHRlcm5hbCBNZXRob2RcclxuICBBZGRSZXF1aXJlZFZhbGlkYXRpb24gPSAoKSA9PiB7XHJcbiAgICB0aGlzLmNvbnRyb2xVdGlsaXR5LkFkZFJlcXVpcmVkVmFsaWRhdGlvbih0aGlzLlRleHRCb3hGb3JtQ29udHJvbCwgdGhpcy52YWxpZGF0aW9uUnVsZXMsIHRoaXMub3B0aW9ucylcclxuICB9XHJcblxyXG4gIC8vRXh0ZXJuYWwgTWV0aG9kXHJcbiAgUmVtb3ZlQ3VzdG9tVmFsaWRhdGlvbiA9IChDdXN0b21WYWxpZGF0aW9uKSA9PiB7XHJcbiAgICB0aGlzLmNvbnRyb2xVdGlsaXR5LlJlbW92ZUN1c3RvbVZhbGlkYXRpb24odGhpcy5UZXh0Qm94Rm9ybUNvbnRyb2wsIHRoaXMudmFsaWRhdGlvblJ1bGVzLCBDdXN0b21WYWxpZGF0aW9uKVxyXG4gIH1cclxuICAvL0V4dGVybmFsIE1ldGhvZFxyXG4gIEFkZEN1c3RvbVZhbGlkYXRpb24gPSAoQ3VzdG9tVmFsaWRhdGlvbikgPT4ge1xyXG4gICAgdGhpcy5jb250cm9sVXRpbGl0eS5BZGRDdXN0b21WYWxpZGF0aW9uKHRoaXMuVGV4dEJveEZvcm1Db250cm9sLCB0aGlzLnZhbGlkYXRpb25SdWxlcywgQ3VzdG9tVmFsaWRhdGlvbilcclxuICB9XHJcbiAgLy9FeHRlcm5hbCBNZXRob2RcclxuICBJc1ZhbGlkID0gKCkgPT4ge1xyXG4gICAgdGhpcy5jb250cm9sVXRpbGl0eS5Jc1ZhbGlkKHRoaXMuVGV4dEJveEZvcm1Db250cm9sKVxyXG4gIH1cclxufVxyXG5cclxuXHJcbiJdfQ==
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Component, Input, Optional } from '@angular/core';
|
|
2
|
+
import { ControlContainer, FormGroupDirective, FormControl } from '@angular/forms';
|
|
3
|
+
import { ErrorMassageValidation } from '../../Shared/services/validationErrorMassage.service';
|
|
4
|
+
import { ControlUtility } from '../../Shared/services/ControlUtility';
|
|
5
|
+
import { ControlValidationService, UtilityService } from '@bnsights/bbsf-utilities';
|
|
6
|
+
export class ToggleslideComponent {
|
|
7
|
+
// tslint:disable-next-line: max-line-length
|
|
8
|
+
constructor(ErrorHandler, controlUtility, controlContainer, ToggleslideControlHost, TextControlHost, UtilityService, controlValidationService) {
|
|
9
|
+
this.ErrorHandler = ErrorHandler;
|
|
10
|
+
this.controlUtility = controlUtility;
|
|
11
|
+
this.controlContainer = controlContainer;
|
|
12
|
+
this.ToggleslideControlHost = ToggleslideControlHost;
|
|
13
|
+
this.TextControlHost = TextControlHost;
|
|
14
|
+
this.UtilityService = UtilityService;
|
|
15
|
+
this.controlValidationService = controlValidationService;
|
|
16
|
+
this.SlideValue = false;
|
|
17
|
+
ToggleslideComponent.controlContainerstatic = this.controlContainer;
|
|
18
|
+
}
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
;
|
|
21
|
+
this.group.addControl(this.options.Name, new FormControl(''));
|
|
22
|
+
this.ToggleslideFormControl = this.group.controls[this.options.Name]; // new FormControl('',validationRules);
|
|
23
|
+
let validationRules = [];
|
|
24
|
+
let validationRulesasync = [];
|
|
25
|
+
this.SlideValue = this.options.Value == undefined ? false : this.options.Value;
|
|
26
|
+
if (this.options.IsDisabled) {
|
|
27
|
+
this.ToggleslideFormControl.disable();
|
|
28
|
+
}
|
|
29
|
+
if (this.options.LabelKey != null && this.options.LabelKey != "")
|
|
30
|
+
this.options.LabelValue = this.UtilityService.getResourceValue(this.options.LabelKey);
|
|
31
|
+
}
|
|
32
|
+
ngAfterViewInit() {
|
|
33
|
+
if (this.options.AttributeList != null) {
|
|
34
|
+
var element = document.getElementById(this.options.Name);
|
|
35
|
+
for (let index = 0; index < this.options.AttributeList.length; index++) {
|
|
36
|
+
element.setAttribute(this.options.AttributeList[index].Key, this.options.AttributeList[index].value);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
resetError() {
|
|
41
|
+
this.controlValidationService.RemoveGlobalError();
|
|
42
|
+
}
|
|
43
|
+
getErrorValidation(Errorsitem) {
|
|
44
|
+
return this.controlUtility.getErrorValidation(Errorsitem, this.options.CustomValidation);
|
|
45
|
+
}
|
|
46
|
+
changeValueToggle() {
|
|
47
|
+
this.ToggleslideFormControl.setValue(this.SlideValue);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
ToggleslideComponent.controlContainerstatic = null;
|
|
51
|
+
ToggleslideComponent.decorators = [
|
|
52
|
+
{ type: Component, args: [{
|
|
53
|
+
selector: 'BBSF-Toggleslide',
|
|
54
|
+
template: "<div class=\"b-control b-toggle-slide\">\n <div class=\"form-group validate is-invalid\" [formGroup]=\"group\">\n <label class=\"b-label col-form-label col-sm-12 \" [ngClass]=\"(options.ViewType==1)?'col-md-12':'col-md-3'\"\n [hidden]=\"options.HideLabel\">\n {{options.LabelValue}}\n </label>\n <mat-slide-toggle [(ngModel)]=\"SlideValue\" dir=\"{{options.ForceDirection==2?'rtl':''}}\" [cssClass]=\"(options.ViewType==1)?'':'col-md-9'\"\n formControlName=\"{{options.Name}}\" disableRipple=\"true\"\n (change)=\"changeValueToggle()\">\n </mat-slide-toggle>\n \n </div>\n</div>\n",
|
|
55
|
+
styles: [".mat-slide-toggle{padding-left:10px}.mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#e3f4fe}.mat-slide-toggle-thumb-container{width:25px;height:25px;top:1px;left:-2px}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#009ef7}.mat-slide-toggle-thumb{height:25px;width:25px;border-radius:50%}.mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#009ef7}.mat-slide-toggle-bar{width:55px;height:30px;border-radius:3.25rem}\n"]
|
|
56
|
+
},] }
|
|
57
|
+
];
|
|
58
|
+
ToggleslideComponent.ctorParameters = () => [
|
|
59
|
+
{ type: ErrorMassageValidation },
|
|
60
|
+
{ type: ControlUtility },
|
|
61
|
+
{ type: ControlContainer, decorators: [{ type: Optional }] },
|
|
62
|
+
{ type: FormGroupDirective },
|
|
63
|
+
{ type: FormGroupDirective },
|
|
64
|
+
{ type: UtilityService },
|
|
65
|
+
{ type: ControlValidationService }
|
|
66
|
+
];
|
|
67
|
+
ToggleslideComponent.propDecorators = {
|
|
68
|
+
group: [{ type: Input }],
|
|
69
|
+
options: [{ type: Input }]
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlc2xpZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1jb250cm9scy9zcmMvbGliL2NvbnRyb2xzL1RvZ2dsZXNsaWRlL3RvZ2dsZXNsaWRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFhLGdCQUFnQixFQUFFLGtCQUFrQixFQUFtQixXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUM5RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFHdEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLGNBQWMsRUFBRSxNQUFPLDBCQUEwQixDQUFDO0FBT3JGLE1BQU0sT0FBTyxvQkFBb0I7SUFJL0IsNENBQTRDO0lBQzVDLFlBQW9CLFlBQW9DLEVBQVUsY0FBOEIsRUFBc0IsZ0JBQWtDLEVBQVMsc0JBQTBDLEVBQVMsZUFBbUMsRUFBUyxjQUE2QixFQUFTLHdCQUFpRDtRQUFuVSxpQkFBWSxHQUFaLFlBQVksQ0FBd0I7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBc0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFTLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBb0I7UUFBUyxvQkFBZSxHQUFmLGVBQWUsQ0FBb0I7UUFBUyxtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUFTLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBeUI7UUFNdlYsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUwxQixvQkFBb0IsQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDdEUsQ0FBQztJQVFELFFBQVE7UUFDVCxDQUFDO1FBQ0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLHdDQUF3QztRQUM5RyxJQUFJLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFDekIsSUFBSSxvQkFBb0IsR0FBRyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBRSxTQUFTLENBQUEsQ0FBQyxDQUFBLEtBQUssQ0FBQSxDQUFDLENBQUEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDekUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRTtZQUMzQixJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDdkM7UUFDRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxFQUFFO1lBQzlELElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBR0QsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLElBQUksSUFBSSxFQUFFO1lBQ3RDLElBQUksT0FBTyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6RCxLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUN0RSxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUN0RztTQUVGO0lBRUgsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsd0JBQXdCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsVUFBaUI7UUFDbEMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUE7SUFDMUYsQ0FBQztJQUdELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ3ZELENBQUM7O0FBakRNLDJDQUFzQixHQUFHLElBQUksQ0FBQzs7WUFSdEMsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLGdxQkFBMkM7O2FBRTVDOzs7WUFWUSxzQkFBc0I7WUFDdEIsY0FBYztZQUZILGdCQUFnQix1QkFpQmlFLFFBQVE7WUFqQnZFLGtCQUFrQjtZQUFsQixrQkFBa0I7WUFLckIsY0FBYztZQUF4Qyx3QkFBd0I7OztvQkFlOUIsS0FBSztzQkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIENvbnRyb2xDb250YWluZXIsIEZvcm1Hcm91cERpcmVjdGl2ZSwgQWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRXJyb3JNYXNzYWdlVmFsaWRhdGlvbiB9IGZyb20gJy4uLy4uL1NoYXJlZC9zZXJ2aWNlcy92YWxpZGF0aW9uRXJyb3JNYXNzYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb250cm9sVXRpbGl0eSB9IGZyb20gJy4uLy4uL1NoYXJlZC9zZXJ2aWNlcy9Db250cm9sVXRpbGl0eSc7XHJcbmltcG9ydCB7IENoZWNrQm94T3B0aW9ucyB9IGZyb20gJy4uLy4uL1NoYXJlZC9Nb2RlbHMvQ2hlY2tCb3hPcHRpb25zJztcclxuaW1wb3J0IHsgVG9nZ2xlU2xpZGVPcHRpb25zIH0gZnJvbSAnLi4vLi4vU2hhcmVkL01vZGVscy9Ub2dnbGVzbGlkZU9wdGlvbnMnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsaWRhdGlvblNlcnZpY2UsIFV0aWxpdHlTZXJ2aWNlIH0gZnJvbSAgJ0BibnNpZ2h0cy9iYnNmLXV0aWxpdGllcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ0JCU0YtVG9nZ2xlc2xpZGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9Ub2dnbGVzbGlkZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vVG9nZ2xlc2xpZGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9nZ2xlc2xpZGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuXHJcbiAgc3RhdGljIGNvbnRyb2xDb250YWluZXJzdGF0aWMgPSBudWxsO1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbWF4LWxpbmUtbGVuZ3RoXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBFcnJvckhhbmRsZXI6IEVycm9yTWFzc2FnZVZhbGlkYXRpb24sIHByaXZhdGUgY29udHJvbFV0aWxpdHk6IENvbnRyb2xVdGlsaXR5LCBAT3B0aW9uYWwoKSBwcml2YXRlIGNvbnRyb2xDb250YWluZXI6IENvbnRyb2xDb250YWluZXIsIHB1YmxpYyBUb2dnbGVzbGlkZUNvbnRyb2xIb3N0OiBGb3JtR3JvdXBEaXJlY3RpdmUsIHB1YmxpYyBUZXh0Q29udHJvbEhvc3Q6IEZvcm1Hcm91cERpcmVjdGl2ZSxwcml2YXRlIFV0aWxpdHlTZXJ2aWNlOlV0aWxpdHlTZXJ2aWNlLHByaXZhdGUgY29udHJvbFZhbGlkYXRpb25TZXJ2aWNlOkNvbnRyb2xWYWxpZGF0aW9uU2VydmljZSkge1xyXG4gICAgVG9nZ2xlc2xpZGVDb21wb25lbnQuY29udHJvbENvbnRhaW5lcnN0YXRpYyA9IHRoaXMuY29udHJvbENvbnRhaW5lcjtcclxuICB9XHJcbiAgQElucHV0KCkgZ3JvdXA6IEZvcm1Hcm91cDtcclxuICBASW5wdXQoKSBvcHRpb25zOiBUb2dnbGVTbGlkZU9wdGlvbnM7XHJcbiAgVG9nZ2xlc2xpZGVGb3JtQ29udHJvbDogQWJzdHJhY3RDb250cm9sO1xyXG4gIFNsaWRlVmFsdWU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuIDtcclxuICAgIHRoaXMuZ3JvdXAuYWRkQ29udHJvbCh0aGlzLm9wdGlvbnMuTmFtZSwgbmV3IEZvcm1Db250cm9sKCcnKSk7XHJcbiAgICB0aGlzLlRvZ2dsZXNsaWRlRm9ybUNvbnRyb2wgPSB0aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMub3B0aW9ucy5OYW1lXTsgLy8gIG5ldyBGb3JtQ29udHJvbCgnJyx2YWxpZGF0aW9uUnVsZXMpO1xyXG4gICAgbGV0IHZhbGlkYXRpb25SdWxlcyA9IFtdO1xyXG4gICAgbGV0IHZhbGlkYXRpb25SdWxlc2FzeW5jID0gW107XHJcbiAgICB0aGlzLlNsaWRlVmFsdWUgPSB0aGlzLm9wdGlvbnMuVmFsdWU9PXVuZGVmaW5lZD9mYWxzZTp0aGlzLm9wdGlvbnMuVmFsdWU7XHJcbiAgICBpZiAodGhpcy5vcHRpb25zLklzRGlzYWJsZWQpIHtcclxuICAgICAgdGhpcy5Ub2dnbGVzbGlkZUZvcm1Db250cm9sLmRpc2FibGUoKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm9wdGlvbnMuTGFiZWxLZXkgIT0gbnVsbCAmJiB0aGlzLm9wdGlvbnMuTGFiZWxLZXkgIT0gXCJcIilcclxuICAgICAgdGhpcy5vcHRpb25zLkxhYmVsVmFsdWUgPSB0aGlzLlV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUodGhpcy5vcHRpb25zLkxhYmVsS2V5KTtcclxuICB9XHJcblxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5vcHRpb25zLkF0dHJpYnV0ZUxpc3QgIT0gbnVsbCkge1xyXG4gICAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMub3B0aW9ucy5OYW1lKTtcclxuICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHRoaXMub3B0aW9ucy5BdHRyaWJ1dGVMaXN0Lmxlbmd0aDsgaW5kZXgrKykge1xyXG4gICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKHRoaXMub3B0aW9ucy5BdHRyaWJ1dGVMaXN0W2luZGV4XS5LZXksIHRoaXMub3B0aW9ucy5BdHRyaWJ1dGVMaXN0W2luZGV4XS52YWx1ZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgcmVzZXRFcnJvcigpIHtcclxuICAgIHRoaXMuY29udHJvbFZhbGlkYXRpb25TZXJ2aWNlLlJlbW92ZUdsb2JhbEVycm9yKCk7XHJcbiAgfVxyXG5cclxuICBnZXRFcnJvclZhbGlkYXRpb24oRXJyb3JzaXRlbTogYW55W10pOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udHJvbFV0aWxpdHkuZ2V0RXJyb3JWYWxpZGF0aW9uKEVycm9yc2l0ZW0sIHRoaXMub3B0aW9ucy5DdXN0b21WYWxpZGF0aW9uKVxyXG4gIH1cclxuXHJcblxyXG4gIGNoYW5nZVZhbHVlVG9nZ2xlKCkge1xyXG4gICAgdGhpcy5Ub2dnbGVzbGlkZUZvcm1Db250cm9sLnNldFZhbHVlKHRoaXMuU2xpZGVWYWx1ZSlcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import { FullCalendarModule } from '@fullcalendar/angular';
|
|
2
|
+
import dayGridPlugin from '@fullcalendar/daygrid';
|
|
3
|
+
import timeGridPlugin from '@fullcalendar/timegrid';
|
|
4
|
+
import listPlugin from '@fullcalendar/list';
|
|
5
|
+
import interactionPlugin from '@fullcalendar/interaction';
|
|
6
|
+
import { NgModule, Injector, NO_ERRORS_SCHEMA } from '@angular/core';
|
|
7
|
+
import { BlockUIModule } from 'ng-block-ui';
|
|
8
|
+
import { FormGroupDirective, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
9
|
+
import { HttpModule } from '@angular/http';
|
|
10
|
+
import { RouterModule } from '@angular/router';
|
|
11
|
+
import { ToastrModule } from 'ngx-toastr';
|
|
12
|
+
import { NgxPermissionsModule } from 'ngx-permissions';
|
|
13
|
+
import { OverlayModule } from '@angular/cdk/overlay';
|
|
14
|
+
import { StoreDevtoolsModule } from '@ngrx/store-devtools';
|
|
15
|
+
import { CommonModule } from '@angular/common';
|
|
16
|
+
import { NgxIntlTelInputModule } from 'ngx-intl-tel-input';
|
|
17
|
+
import { ErrorMassageValidation } from '../Shared/services/validationErrorMassage.service';
|
|
18
|
+
import { BsDatepickerModule } from 'ngx-bootstrap/datepicker';
|
|
19
|
+
import { DateInputComponent } from './DateTimePicker/DateTimePicker.component';
|
|
20
|
+
import { FileUploadComponent } from './FileUplaod/FileUplaod.component';
|
|
21
|
+
import { MultiLingualTextBoxComponent } from './MultiLingualTextBox/MultiLingualTextBox.component';
|
|
22
|
+
import { ControlUtility } from '../Shared/services/ControlUtility';
|
|
23
|
+
import { TextAreaComponent } from './TextArea/TextArea.component';
|
|
24
|
+
import { MultiLingualTextAreaComponent } from './MultiLingualTextArea/MultiLingualTextArea.component';
|
|
25
|
+
import { CheckBoxComponent } from './CheckBox/CheckBox.component';
|
|
26
|
+
import { OwlDateTimeModule, OwlNativeDateTimeModule } from 'ng-pick-datetime';
|
|
27
|
+
import { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';
|
|
28
|
+
import { DropdownListComponent } from './DropdownList/DropdownList.component';
|
|
29
|
+
import { AngularMultiSelectModule } from 'angular2-multiselect-dropdown';
|
|
30
|
+
import { PhoneComponent } from './Phone/Phone.component';
|
|
31
|
+
import { ToggleslideComponent } from './Toggleslide/toggleslide.component';
|
|
32
|
+
import { HtmlEditorComponent } from './HtmlEditor/HtmlEditor.component';
|
|
33
|
+
import { NgxSummernoteModule } from 'ngx-summernote';
|
|
34
|
+
import { MultiLingualHtmlEditorComponent } from './MultiLingualHtmlEditor/MultiLingualHtmlEditor.component';
|
|
35
|
+
import { NgxMaskModule } from 'ngx-mask';
|
|
36
|
+
import { TooltipModule } from '@syncfusion/ej2-angular-popups';
|
|
37
|
+
import { FileUploadModule } from 'ng2-file-upload';
|
|
38
|
+
import { ImageUploaderComponent } from './ImageUpload/ImageUpload.component';
|
|
39
|
+
import { NgxDropzoneModule } from 'ngx-dropzone';
|
|
40
|
+
import { AngularCropperjsModule } from 'angular-cropperjs';
|
|
41
|
+
import { ImageCropperModule } from 'ngx-image-cropper';
|
|
42
|
+
import { NgbActiveModal, NgbModal, NgbModule } from '@ng-bootstrap/ng-bootstrap';
|
|
43
|
+
import { ProfileImageUploaderComponent } from './ProfileImageUploader/ProfileImageUploader.component';
|
|
44
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
45
|
+
import { HttpClientModule } from '@angular/common/http';
|
|
46
|
+
import { NgxTypeaheadModule } from 'ngx-typeahead';
|
|
47
|
+
import { AutocompleteTextBoxComponent } from './AutocompleteTextBox/AutocompleteTextBox.component';
|
|
48
|
+
import { NgxTagsInputModule } from 'ngx-tags-input';
|
|
49
|
+
import { TagsInputComponent } from './TagsInput/TagsInput.component';
|
|
50
|
+
import { PagingComponent } from './Paging/Paging.component';
|
|
51
|
+
import { JwPaginationComponent } from './Paging/JwPagination.component';
|
|
52
|
+
import { NgSelectModule } from '@ng-select/ng-select';
|
|
53
|
+
import { OnPagingFiltersChangeService } from '../Shared/services/OnPagingFiltersChange.service';
|
|
54
|
+
import { InfiniteScrollModule } from 'ngx-infinite-scroll';
|
|
55
|
+
import { RadioButtonComponent } from './RadioButton/RadioButton.component';
|
|
56
|
+
import { TextboxComponent } from './TextBox/TextBox.component';
|
|
57
|
+
import { MapAutoCompleteComponent } from './MapAutoComplete/MapAutoComplete.component';
|
|
58
|
+
import { AgmCoreModule } from '@agm/core';
|
|
59
|
+
import { MatGoogleMapsAutocompleteModule } from '@angular-material-extensions/google-maps-autocomplete';
|
|
60
|
+
import { CalendarComponent } from './Calendar/Calendar.component';
|
|
61
|
+
import { TypeaheadModule } from 'ngx-bootstrap/typeahead';
|
|
62
|
+
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
63
|
+
import { AngularEditorModule } from '@kolkov/angular-editor';
|
|
64
|
+
import { AutocompleteLibModule } from 'angular-ng-autocomplete';
|
|
65
|
+
import { InlineSVGModule } from 'ng-inline-svg';
|
|
66
|
+
import { AuthService, BBSFUtilitiesModule, EnvironmentService, RequestHandlerService, UtilityService, BBSFTranslateService, ControlValidationService } from '@bnsights/bbsf-utilities';
|
|
67
|
+
import { FormComponent } from './Form/Form.component';
|
|
68
|
+
export let options;
|
|
69
|
+
export let AppInjector;
|
|
70
|
+
FullCalendarModule.registerPlugins([
|
|
71
|
+
dayGridPlugin,
|
|
72
|
+
timeGridPlugin,
|
|
73
|
+
listPlugin,
|
|
74
|
+
interactionPlugin
|
|
75
|
+
]);
|
|
76
|
+
export class BBSFControlsModule {
|
|
77
|
+
constructor(injector, translate) {
|
|
78
|
+
this.injector = injector;
|
|
79
|
+
this.translate = translate;
|
|
80
|
+
AppInjector = this.injector;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
BBSFControlsModule.decorators = [
|
|
84
|
+
{ type: NgModule, args: [{
|
|
85
|
+
declarations: [
|
|
86
|
+
DateInputComponent,
|
|
87
|
+
FileUploadComponent,
|
|
88
|
+
MultiLingualTextBoxComponent,
|
|
89
|
+
TextboxComponent,
|
|
90
|
+
TextAreaComponent,
|
|
91
|
+
MultiLingualTextAreaComponent,
|
|
92
|
+
CheckBoxComponent,
|
|
93
|
+
DropdownListComponent,
|
|
94
|
+
PhoneComponent,
|
|
95
|
+
ToggleslideComponent,
|
|
96
|
+
HtmlEditorComponent,
|
|
97
|
+
MultiLingualHtmlEditorComponent,
|
|
98
|
+
// MultiLingualHtmlEditorComponent,
|
|
99
|
+
ImageUploaderComponent,
|
|
100
|
+
ProfileImageUploaderComponent,
|
|
101
|
+
CalendarComponent,
|
|
102
|
+
MapAutoCompleteComponent,
|
|
103
|
+
AutocompleteTextBoxComponent,
|
|
104
|
+
TagsInputComponent,
|
|
105
|
+
PagingComponent,
|
|
106
|
+
JwPaginationComponent,
|
|
107
|
+
RadioButtonComponent,
|
|
108
|
+
FormComponent
|
|
109
|
+
],
|
|
110
|
+
imports: [
|
|
111
|
+
CommonModule,
|
|
112
|
+
InfiniteScrollModule,
|
|
113
|
+
NgSelectModule,
|
|
114
|
+
NgxTagsInputModule,
|
|
115
|
+
NgxTypeaheadModule,
|
|
116
|
+
AgmCoreModule.forRoot({
|
|
117
|
+
// &language=${UtilityService.CurrentLanguage}
|
|
118
|
+
apiKey: `AIzaSyA75ojhZhEhDaO3vfn3mxTY32sq5flAwlY`,
|
|
119
|
+
libraries: ['places'],
|
|
120
|
+
}),
|
|
121
|
+
MatGoogleMapsAutocompleteModule,
|
|
122
|
+
FullCalendarModule,
|
|
123
|
+
AngularCropperjsModule,
|
|
124
|
+
ImageCropperModule,
|
|
125
|
+
NgbModule,
|
|
126
|
+
NgxDropzoneModule,
|
|
127
|
+
FileUploadModule,
|
|
128
|
+
TooltipModule,
|
|
129
|
+
NgxMaskModule.forRoot(),
|
|
130
|
+
NgxSummernoteModule,
|
|
131
|
+
MatSlideToggleModule,
|
|
132
|
+
NgxIntlTelInputModule,
|
|
133
|
+
AngularMultiSelectModule,
|
|
134
|
+
NgMultiSelectDropDownModule.forRoot(),
|
|
135
|
+
OwlDateTimeModule,
|
|
136
|
+
OwlNativeDateTimeModule,
|
|
137
|
+
CommonModule,
|
|
138
|
+
BlockUIModule.forRoot(),
|
|
139
|
+
ReactiveFormsModule,
|
|
140
|
+
HttpModule,
|
|
141
|
+
RouterModule,
|
|
142
|
+
ToastrModule.forRoot(),
|
|
143
|
+
HttpClientModule,
|
|
144
|
+
NgxPermissionsModule.forRoot(),
|
|
145
|
+
OverlayModule,
|
|
146
|
+
StoreDevtoolsModule.instrument(),
|
|
147
|
+
FormsModule,
|
|
148
|
+
NgxIntlTelInputModule,
|
|
149
|
+
NgxIntlTelInputModule,
|
|
150
|
+
BsDatepickerModule.forRoot(),
|
|
151
|
+
FullCalendarModule,
|
|
152
|
+
TypeaheadModule.forRoot(),
|
|
153
|
+
AngularEditorModule,
|
|
154
|
+
AutocompleteLibModule,
|
|
155
|
+
BBSFUtilitiesModule,
|
|
156
|
+
InlineSVGModule.forRoot(),
|
|
157
|
+
],
|
|
158
|
+
providers: [
|
|
159
|
+
ErrorMassageValidation,
|
|
160
|
+
ControlUtility,
|
|
161
|
+
OnPagingFiltersChangeService,
|
|
162
|
+
EnvironmentService,
|
|
163
|
+
AuthService,
|
|
164
|
+
RequestHandlerService,
|
|
165
|
+
UtilityService,
|
|
166
|
+
TranslateService,
|
|
167
|
+
BBSFTranslateService,
|
|
168
|
+
ControlValidationService,
|
|
169
|
+
FormGroupDirective,
|
|
170
|
+
NgbModal,
|
|
171
|
+
NgbActiveModal
|
|
172
|
+
],
|
|
173
|
+
schemas: [
|
|
174
|
+
NO_ERRORS_SCHEMA
|
|
175
|
+
],
|
|
176
|
+
exports: [
|
|
177
|
+
DateInputComponent,
|
|
178
|
+
FileUploadComponent,
|
|
179
|
+
MultiLingualTextBoxComponent,
|
|
180
|
+
TextboxComponent,
|
|
181
|
+
TextAreaComponent,
|
|
182
|
+
MultiLingualTextAreaComponent,
|
|
183
|
+
CheckBoxComponent,
|
|
184
|
+
DropdownListComponent,
|
|
185
|
+
PhoneComponent,
|
|
186
|
+
ToggleslideComponent,
|
|
187
|
+
HtmlEditorComponent,
|
|
188
|
+
MultiLingualHtmlEditorComponent,
|
|
189
|
+
FileUploadComponent,
|
|
190
|
+
ImageUploaderComponent,
|
|
191
|
+
ProfileImageUploaderComponent,
|
|
192
|
+
CalendarComponent,
|
|
193
|
+
MapAutoCompleteComponent,
|
|
194
|
+
AutocompleteTextBoxComponent,
|
|
195
|
+
TagsInputComponent,
|
|
196
|
+
PagingComponent,
|
|
197
|
+
JwPaginationComponent,
|
|
198
|
+
RadioButtonComponent,
|
|
199
|
+
FormComponent,
|
|
200
|
+
PagingComponent
|
|
201
|
+
]
|
|
202
|
+
},] }
|
|
203
|
+
];
|
|
204
|
+
BBSFControlsModule.ctorParameters = () => [
|
|
205
|
+
{ type: Injector },
|
|
206
|
+
{ type: TranslateService }
|
|
207
|
+
];
|
|
208
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmJzZi1jb250cm9scy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWNvbnRyb2xzL3NyYy9saWIvY29udHJvbHMvYmJzZi1jb250cm9scy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxhQUFhLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxjQUFjLE1BQU0sd0JBQXdCLENBQUM7QUFDcEQsT0FBTyxVQUFVLE1BQU0sb0JBQW9CLENBQUM7QUFDNUMsT0FBTyxpQkFBaUIsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBMEIsZ0JBQWdCLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDMUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsc0JBQXNCLEVB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QUMsVUFBVSxFQUFFO29CQUNoQyxXQUFXO29CQUNYLHFCQUFxQjtvQkFDckIscUJBQXFCO29CQUNyQixrQkFBa0IsQ0FBQyxPQUFPLEVBQUU7b0JBQzVCLGtCQUFrQjtvQkFDbEIsZUFBZSxDQUFDLE9BQU8sRUFBRTtvQkFDekIsbUJBQW1CO29CQUNuQixxQkFBcUI7b0JBQ3JCLG1CQUFtQjtvQkFDbkIsZUFBZSxDQUFDLE9BQU8sRUFBRTtpQkFFMUI7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULHNCQUFzQjtvQkFDdEIsY0FBYztvQkFDZCw0QkFBNEI7b0JBQzVCLGtCQUFrQjtvQkFDbEIsV0FBVztvQkFDWCxxQkFBcUI7b0JBQ3JCLGNBQWM7b0JBQ2QsZ0JBQWdCO29CQUNoQixvQkFBb0I7b0JBQ3BCLHdCQUF3QjtvQkFDeEIsa0JBQWtCO29CQUNsQixRQUFRO29CQUNSLGNBQWM7aUJBQ2Y7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLGdCQUFnQjtpQkFDakI7Z0JBRUQsT0FBTyxFQUFFO29CQUVQLGtCQUFrQjtvQkFDbEIsbUJBQW1CO29CQUNuQiw0QkFBNEI7b0JBQzVCLGdCQUFnQjtvQkFDaEIsaUJBQWlCO29CQUNqQiw2QkFBNkI7b0JBQzdCLGlCQUFpQjtvQkFDakIscUJBQXFCO29CQUNyQixjQUFjO29CQUNkLG9CQUFvQjtvQkFDcEIsbUJBQW1CO29CQUNuQiwrQkFBK0I7b0JBQy9CLG1CQUFtQjtvQkFDbkIsc0JBQXNCO29CQUN0Qiw2QkFBNkI7b0JBQzdCLGlCQUFpQjtvQkFDakIsd0JBQXdCO29CQUN4Qiw0QkFBNEI7b0JBQzVCLGtCQUFrQjtvQkFDbEIsZUFBZTtvQkFDZixxQkFBcUI7b0JBQ3JCLG9CQUFvQjtvQkFDcEIsYUFBYTtvQkFDYixlQUFlO2lCQUNoQjthQUNGOzs7WUF6TWtCLFFBQVE7WUF3Q2dCLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZ1bGxDYWxlbmRhck1vZHVsZSB9IGZyb20gJ0BmdWxsY2FsZW5kYXIvYW5ndWxhcic7XHJcbmltcG9ydCBkYXlHcmlkUGx1Z2luIGZyb20gJ0BmdWxsY2FsZW5kYXIvZGF5Z3JpZCc7XHJcbmltcG9ydCB0aW1lR3JpZFBsdWdpbiBmcm9tICdAZnVsbGNhbGVuZGFyL3RpbWVncmlkJztcclxuaW1wb3J0IGxpc3RQbHVnaW4gZnJvbSAnQGZ1bGxjYWxlbmRhci9saXN0JztcclxuaW1wb3J0IGludGVyYWN0aW9uUGx1Z2luIGZyb20gJ0BmdWxsY2FsZW5kYXIvaW50ZXJhY3Rpb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSwgSW5qZWN0b3IsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIE5PX0VSUk9SU19TQ0hFTUEsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmxvY2tVSU1vZHVsZSB9IGZyb20gJ25nLWJsb2NrLXVpJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwRGlyZWN0aXZlLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgSHR0cE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2h0dHAnO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBUb2FzdHJNb2R1bGUgfSBmcm9tICduZ3gtdG9hc3RyJztcclxuaW1wb3J0IHsgTmd4UGVybWlzc2lvbnNNb2R1bGUgfSBmcm9tICduZ3gtcGVybWlzc2lvbnMnO1xyXG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBTdG9yZURldnRvb2xzTW9kdWxlIH0gZnJvbSAnQG5ncngvc3RvcmUtZGV2dG9vbHMnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ3hJbnRsVGVsSW5wdXRNb2R1bGUgfSBmcm9tICduZ3gtaW50bC10ZWwtaW5wdXQnO1xyXG5pbXBvcnQgeyBFcnJvck1hc3NhZ2VWYWxpZGF0aW9uIH0gZnJvbSAnLi4vU2hhcmVkL3NlcnZpY2VzL3ZhbGlkYXRpb25FcnJvck1hc3NhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEJzRGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ25neC1ib290c3RyYXAvZGF0ZXBpY2tlcic7XHJcbmltcG9ydCB7IERhdGVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vRGF0ZVRpbWVQaWNrZXIvRGF0ZVRpbWVQaWNrZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmlsZVVwbG9hZENvbXBvbmVudCB9IGZyb20gJy4vRmlsZVVwbGFvZC9GaWxlVXBsYW9kLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE11bHRpTGluZ3VhbFRleHRCb3hDb21wb25lbnQgfSBmcm9tICcuL011bHRpTGluZ3VhbFRleHRCb3gvTXVsdGlMaW5ndWFsVGV4dEJveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb250cm9sVXRpbGl0eSB9IGZyb20gJy4uL1NoYXJlZC9zZXJ2aWNlcy9Db250cm9sVXRpbGl0eSc7XHJcbmltcG9ydCB7IFRleHRBcmVhQ29tcG9uZW50IH0gZnJvbSAnLi9UZXh0QXJlYS9UZXh0QXJlYS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNdWx0aUxpbmd1YWxUZXh0QXJlYUNvbXBvbmVudCB9IGZyb20gJy4vTXVsdGlMaW5ndWFsVGV4dEFyZWEvTXVsdGlMaW5ndWFsVGV4dEFyZWEuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2hlY2tCb3hDb21wb25lbnQgfSBmcm9tICcuL0NoZWNrQm94L0NoZWNrQm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJyb3dzZXJBbmltYXRpb25zTW9kdWxlLCBOb29wQW5pbWF0aW9uc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IE93bERhdGVUaW1lTW9kdWxlLCBPd2xOYXRpdmVEYXRlVGltZU1vZHVsZSB9IGZyb20gJ25nLXBpY2stZGF0ZXRpbWUnO1xyXG5pbXBvcnQgeyBOZ011bHRpU2VsZWN0RHJvcERvd25Nb2R1bGUgfSBmcm9tICduZy1tdWx0aXNlbGVjdC1kcm9wZG93bic7XHJcbmltcG9ydCB7IERyb3Bkb3duTGlzdENvbXBvbmVudCB9IGZyb20gJy4vRHJvcGRvd25MaXN0L0Ryb3Bkb3duTGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBbmd1bGFyTXVsdGlTZWxlY3RNb2R1bGUgfSBmcm9tICdhbmd1bGFyMi1tdWx0aXNlbGVjdC1kcm9wZG93bic7XHJcbmltcG9ydCB7IFBob25lQ29tcG9uZW50IH0gZnJvbSAnLi9QaG9uZS9QaG9uZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUb2dnbGVzbGlkZUNvbXBvbmVudCB9IGZyb20gJy4vVG9nZ2xlc2xpZGUvdG9nZ2xlc2xpZGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSHRtbEVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vSHRtbEVkaXRvci9IdG1sRWRpdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5neFN1bW1lcm5vdGVNb2R1bGUgfSBmcm9tICduZ3gtc3VtbWVybm90ZSc7XHJcbmltcG9ydCB7IE11bHRpTGluZ3VhbEh0bWxFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL011bHRpTGluZ3VhbEh0bWxFZGl0b3IvTXVsdGlMaW5ndWFsSHRtbEVkaXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOZ3hNYXNrTW9kdWxlLCBJQ29uZmlnIH0gZnJvbSAnbmd4LW1hc2snXHJcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1wb3B1cHMnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkTW9kdWxlIH0gZnJvbSAnbmcyLWZpbGUtdXBsb2FkJztcclxuaW1wb3J0IHsgSW1hZ2VVcGxvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vSW1hZ2VVcGxvYWQvSW1hZ2VVcGxvYWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTmd4RHJvcHpvbmVNb2R1bGUgfSBmcm9tICduZ3gtZHJvcHpvbmUnO1xyXG5pbXBvcnQgeyBBbmd1bGFyQ3JvcHBlcmpzTW9kdWxlIH0gZnJvbSAnYW5ndWxhci1jcm9wcGVyanMnO1xyXG5pbXBvcnQgeyBJbWFnZUNyb3BwZXJNb2R1bGUgfSBmcm9tICduZ3gtaW1hZ2UtY3JvcHBlcic7XHJcblxyXG5pbXBvcnQgeyBOZ2JBY3RpdmVNb2RhbCwgTmdiTW9kYWwsIE5nYk1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgUHJvZmlsZUltYWdlVXBsb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL1Byb2ZpbGVJbWFnZVVwbG9hZGVyL1Byb2ZpbGVJbWFnZVVwbG9hZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlTG9hZGVyLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZUh0dHBMb2FkZXIgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9odHRwLWxvYWRlcic7XHJcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUsIEhUVFBfSU5URVJDRVBUT1JTLCBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBOZ3hUeXBlYWhlYWRNb2R1bGUgfSBmcm9tICduZ3gtdHlwZWFoZWFkJztcclxuaW1wb3J0IHsgQXV0b2NvbXBsZXRlVGV4dEJveENvbXBvbmVudCB9IGZyb20gJy4vQXV0b2NvbXBsZXRlVGV4dEJveC9BdXRvY29tcGxldGVUZXh0Qm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5neFRhZ3NJbnB1dE1vZHVsZSB9IGZyb20gJ25neC10YWdzLWlucHV0JztcclxuaW1wb3J0IHsgVGFnc0lucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9UYWdzSW5wdXQvVGFnc0lucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBhZ2luZ0NvbXBvbmVudCB9IGZyb20gJy4vUGFnaW5nL1BhZ2luZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBKd1BhZ2luYXRpb25Db21wb25lbnQgfSBmcm9tICcuL1BhZ2luZy9Kd1BhZ2luYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTmdTZWxlY3RNb2R1bGUgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XHJcbmltcG9ydCB7IE9uUGFnaW5nRmlsdGVyc0NoYW5nZVNlcnZpY2UgfSBmcm9tICcuLi9TaGFyZWQvc2VydmljZXMvT25QYWdpbmdGaWx0ZXJzQ2hhbmdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbmZpbml0ZVNjcm9sbE1vZHVsZSB9IGZyb20gJ25neC1pbmZpbml0ZS1zY3JvbGwnO1xyXG5pbXBvcnQgeyBSYWRpb0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vUmFkaW9CdXR0b24vUmFkaW9CdXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBUZXh0Ym94Q29tcG9uZW50IH0gZnJvbSAnLi9UZXh0Qm94L1RleHRCb3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWFwQXV0b0NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi9NYXBBdXRvQ29tcGxldGUvTWFwQXV0b0NvbXBsZXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFnbUNvcmVNb2R1bGUgfSBmcm9tICdAYWdtL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRHb29nbGVNYXBzQXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXItbWF0ZXJpYWwtZXh0ZW5zaW9ucy9nb29nbGUtbWFwcy1hdXRvY29tcGxldGUnO1xyXG5pbXBvcnQgeyBDYWxlbmRhckNvbXBvbmVudCB9IGZyb20gJy4vQ2FsZW5kYXIvQ2FsZW5kYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVHlwZWFoZWFkTW9kdWxlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC90eXBlYWhlYWQnO1xyXG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XHJcbmltcG9ydCB7IEFuZ3VsYXJFZGl0b3JNb2R1bGUgfSBmcm9tICdAa29sa292L2FuZ3VsYXItZWRpdG9yJztcclxuaW1wb3J0IHtBdXRvY29tcGxldGVMaWJNb2R1bGV9IGZyb20gJ2FuZ3VsYXItbmctYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgSW5saW5lU1ZHTW9kdWxlIH0gZnJvbSAnbmctaW5saW5lLXN2Zyc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCBCQlNGVXRpbGl0aWVzTW9kdWxlLCBFbnZpcm9ubWVudFNlcnZpY2UsIFN0eWxlc0J1bmRsZVNlcnZpY2UgLFJlcXVlc3RIYW5kbGVyU2VydmljZSwgVXRpbGl0eVNlcnZpY2UsIEJCU0ZUcmFuc2xhdGVTZXJ2aWNlLENvbnRyb2xWYWxpZGF0aW9uU2VydmljZX0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtdXRpbGl0aWVzJztcclxuaW1wb3J0IHsgRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vRm9ybS9Gb3JtLmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgbGV0IG9wdGlvbnM6IFBhcnRpYWw8SUNvbmZpZz4gfCAoKCkgPT4gUGFydGlhbDxJQ29uZmlnPik7XHJcblxyXG5leHBvcnQgbGV0IEFwcEluamVjdG9yOiBJbmplY3RvcjtcclxuXHJcblxyXG5cclxuRnVsbENhbGVuZGFyTW9kdWxlLnJlZ2lzdGVyUGx1Z2lucyhbXHJcbiAgZGF5R3JpZFBsdWdpbixcclxuICB0aW1lR3JpZFBsdWdpbixcclxuICBsaXN0UGx1Z2luLFxyXG4gIGludGVyYWN0aW9uUGx1Z2luXHJcbl0pXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcblxyXG4gICAgRGF0ZUlucHV0Q29tcG9uZW50LFxyXG4gICAgRmlsZVVwbG9hZENvbXBvbmVudCxcclxuICAgIE11bHRpTGluZ3VhbFRleHRCb3hDb21wb25lbnQsXHJcbiAgICBUZXh0Ym94Q29tcG9uZW50LFxyXG4gICAgVGV4dEFyZWFDb21wb25lbnQsXHJcbiAgICBNdWx0aUxpbmd1YWxUZXh0QXJlYUNvbXBvbmVudCxcclxuICAgIENoZWNrQm94Q29tcG9uZW50LFxyXG4gICAgRHJvcGRvd25MaXN0Q29tcG9uZW50LFxyXG4gICAgUGhvbmVDb21wb25lbnQsXHJcbiAgICBUb2dnbGVzbGlkZUNvbXBvbmVudCxcclxuICAgIEh0bWxFZGl0b3JDb21wb25lbnQsXHJcbiAgICBNdWx0aUxpbmd1YWxIdG1sRWRpdG9yQ29tcG9uZW50LFxyXG4gICAgLy8gTXVsdGlMaW5ndWFsSHRtbEVkaXRvckNvbXBvbmVudCxcclxuICAgIEltYWdlVXBsb2FkZXJDb21wb25lbnQsXHJcbiAgICBQcm9maWxlSW1hZ2VVcGxvYWRlckNvbXBvbmVudCxcclxuICAgICBDYWxlbmRhckNvbXBvbmVudCxcclxuICAgIE1hcEF1dG9Db21wbGV0ZUNvbXBvbmVudCxcclxuICAgIEF1dG9jb21wbGV0ZVRleHRCb3hDb21wb25lbnQsXHJcbiAgICBUYWdzSW5wdXRDb21wb25lbnQsXHJcbiAgICBQYWdpbmdDb21wb25lbnQsXHJcbiAgICBKd1BhZ2luYXRpb25Db21wb25lbnQsXHJcbiAgICBSYWRpb0J1dHRvbkNvbXBvbmVudCxcclxuICAgIEZvcm1Db21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgSW5maW5pdGVTY3JvbGxNb2R1bGUsXHJcbiAgICBOZ1NlbGVjdE1vZHVsZSxcclxuICAgIE5neFRhZ3NJbnB1dE1vZHVsZSxcclxuICAgIE5neFR5cGVhaGVhZE1vZHVsZSxcclxuICAgIEFnbUNvcmVNb2R1bGUuZm9yUm9vdCh7XHJcbiAgICAgIC8vICZsYW5ndWFnZT0ke1V0aWxpdHlTZXJ2aWNlLkN1cnJlbnRMYW5ndWFnZX1cclxuICAgICAgYXBpS2V5OiBgQUl6YVN5QTc1b2poWmhFaERhTzN2Zm4zbXhUWTMyc3E1ZmxBd2xZYCxcclxuICAgICAgIGxpYnJhcmllczogWydwbGFjZXMnXSxcclxuICAgIH0pLFxyXG4gICAgTWF0R29vZ2xlTWFwc0F1dG9jb21wbGV0ZU1vZHVsZSxcclxuICAgIEZ1bGxDYWxlbmRhck1vZHVsZSxcclxuICAgIEFuZ3VsYXJDcm9wcGVyanNNb2R1bGUsXHJcbiAgICBJbWFnZUNyb3BwZXJNb2R1bGUsXHJcbiAgICBOZ2JNb2R1bGUsXHJcbiAgICBOZ3hEcm9wem9uZU1vZHVsZSxcclxuICAgIEZpbGVVcGxvYWRNb2R1bGUsXHJcbiAgICBUb29sdGlwTW9kdWxlLFxyXG4gICAgTmd4TWFza01vZHVsZS5mb3JSb290KCksXHJcbiAgICBOZ3hTdW1tZXJub3RlTW9kdWxlLFxyXG4gICAgTWF0U2xpZGVUb2dnbGVNb2R1bGUsXHJcbiAgICBOZ3hJbnRsVGVsSW5wdXRNb2R1bGUsXHJcbiAgICBBbmd1bGFyTXVsdGlTZWxlY3RNb2R1bGUsXHJcbiAgICBOZ011bHRpU2VsZWN0RHJvcERvd25Nb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgT3dsRGF0ZVRpbWVNb2R1bGUsXHJcbiAgICBPd2xOYXRpdmVEYXRlVGltZU1vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEJsb2NrVUlNb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIEh0dHBNb2R1bGUsXHJcbiAgICBSb3V0ZXJNb2R1bGUsXHJcbiAgICBUb2FzdHJNb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgSHR0cENsaWVudE1vZHVsZSxcclxuICAgIE5neFBlcm1pc3Npb25zTW9kdWxlLmZvclJvb3QoKSxcclxuICAgIE92ZXJsYXlNb2R1bGUsXHJcbiAgICBTdG9yZURldnRvb2xzTW9kdWxlLmluc3RydW1lbnQoKSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgTmd4SW50bFRlbElucHV0TW9kdWxlLFxyXG4gICAgTmd4SW50bFRlbElucHV0TW9kdWxlLFxyXG4gICAgQnNEYXRlcGlja2VyTW9kdWxlLmZvclJvb3QoKSxcclxuICAgIEZ1bGxDYWxlbmRhck1vZHVsZSxcclxuICAgIFR5cGVhaGVhZE1vZHVsZS5mb3JSb290KCksXHJcbiAgICBBbmd1bGFyRWRpdG9yTW9kdWxlLFxyXG4gICAgQXV0b2NvbXBsZXRlTGliTW9kdWxlLFxyXG4gICAgQkJTRlV0aWxpdGllc01vZHVsZSxcclxuICAgIElubGluZVNWR01vZHVsZS5mb3JSb290KCksXHJcblxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBFcnJvck1hc3NhZ2VWYWxpZGF0aW9uLFxyXG4gICAgQ29udHJvbFV0aWxpdHksXHJcbiAgICBPblBhZ2luZ0ZpbHRlcnNDaGFuZ2VTZXJ2aWNlLFxyXG4gICAgRW52aXJvbm1lbnRTZXJ2aWNlLFxyXG4gICAgQXV0aFNlcnZpY2UsXHJcbiAgICBSZXF1ZXN0SGFuZGxlclNlcnZpY2UsXHJcbiAgICBVdGlsaXR5U2VydmljZSxcclxuICAgIFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBCQlNGVHJhbnNsYXRlU2VydmljZSxcclxuICAgIENvbnRyb2xWYWxpZGF0aW9uU2VydmljZSxcclxuICAgIEZvcm1Hcm91cERpcmVjdGl2ZSxcclxuICAgIE5nYk1vZGFsLFxyXG4gICAgTmdiQWN0aXZlTW9kYWxcclxuICBdLFxyXG4gIHNjaGVtYXM6IFtcclxuICAgIE5PX0VSUk9SU19TQ0hFTUFcclxuICBdLFxyXG5cclxuICBleHBvcnRzOiBbXHJcblxyXG4gICAgRGF0ZUlucHV0Q29tcG9uZW50LFxyXG4gICAgRmlsZVVwbG9hZENvbXBvbmVudCxcclxuICAgIE11bHRpTGluZ3VhbFRleHRCb3hDb21wb25lbnQsXHJcbiAgICBUZXh0Ym94Q29tcG9uZW50LFxyXG4gICAgVGV4dEFyZWFDb21wb25lbnQsXHJcbiAgICBNdWx0aUxpbmd1YWxUZXh0QXJlYUNvbXBvbmVudCxcclxuICAgIENoZWNrQm94Q29tcG9uZW50LFxyXG4gICAgRHJvcGRvd25MaXN0Q29tcG9uZW50LFxyXG4gICAgUGhvbmVDb21wb25lbnQsXHJcbiAgICBUb2dnbGVzbGlkZUNvbXBvbmVudCxcclxuICAgIEh0bWxFZGl0b3JDb21wb25lbnQsXHJcbiAgICBNdWx0aUxpbmd1YWxIdG1sRWRpdG9yQ29tcG9uZW50LFxyXG4gICAgRmlsZVVwbG9hZENvbXBvbmVudCxcclxuICAgIEltYWdlVXBsb2FkZXJDb21wb25lbnQsXHJcbiAgICBQcm9maWxlSW1hZ2VVcGxvYWRlckNvbXBvbmVudCxcclxuICAgIENhbGVuZGFyQ29tcG9uZW50LFxyXG4gICAgTWFwQXV0b0NvbXBsZXRlQ29tcG9uZW50LFxyXG4gICAgQXV0b2NvbXBsZXRlVGV4dEJveENvbXBvbmVudCxcclxuICAgIFRhZ3NJbnB1dENvbXBvbmVudCxcclxuICAgIFBhZ2luZ0NvbXBvbmVudCxcclxuICAgIEp3UGFnaW5hdGlvbkNvbXBvbmVudCxcclxuICAgIFJhZGlvQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgRm9ybUNvbXBvbmVudCxcclxuICAgIFBhZ2luZ0NvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEJCU0ZDb250cm9sc01vZHVsZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLCBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xyXG4gICAgQXBwSW5qZWN0b3IgPSB0aGlzLmluamVjdG9yO1xyXG5cclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|