@bnsights/bbsf-controls 1.0.110 → 1.0.112

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/README.md +8 -0
  2. package/esm2022/lib/Shared/Components/app-base-component.mjs +7 -7
  3. package/esm2022/lib/Shared/Enums/StartView.mjs +1 -1
  4. package/esm2022/lib/Shared/Enums/map-enums.mjs +7 -0
  5. package/esm2022/lib/Shared/Models/AutocompleteOptions.mjs +9 -9
  6. package/esm2022/lib/Shared/Models/CalendarOptions.mjs +7 -7
  7. package/esm2022/lib/Shared/Models/CheckBoxOptions.mjs +3 -3
  8. package/esm2022/lib/Shared/Models/ConfirmationModalOptions.mjs +16 -16
  9. package/esm2022/lib/Shared/Models/ControlOptionsBase.mjs +5 -5
  10. package/esm2022/lib/Shared/Models/DatePickerOptions.mjs +24 -0
  11. package/esm2022/lib/Shared/Models/DropdownOptions.mjs +6 -6
  12. package/esm2022/lib/Shared/Models/EnglishArabicDTO.mjs +3 -3
  13. package/esm2022/lib/Shared/Models/FileUploadModel.mjs +1 -1
  14. package/esm2022/lib/Shared/Models/FileUploadOptions.mjs +3 -3
  15. package/esm2022/lib/Shared/Models/FormOptions.mjs +13 -13
  16. package/esm2022/lib/Shared/Models/HtmlEditorOptions.mjs +3 -3
  17. package/esm2022/lib/Shared/Models/ImageUploadOptions.mjs +4 -4
  18. package/esm2022/lib/Shared/Models/MapAutoCompleteOptions.mjs +5 -1
  19. package/esm2022/lib/Shared/Models/MapAutocompleteDTO.mjs +2 -2
  20. package/esm2022/lib/Shared/Models/MultiLingualHtmlEditorOptions.mjs +2 -2
  21. package/esm2022/lib/Shared/Models/MultiLingualTextAreaOptions.mjs +2 -2
  22. package/esm2022/lib/Shared/Models/{MultilingualTextBoxOptions.mjs → MultiLingualTextBoxOptions.mjs} +5 -5
  23. package/esm2022/lib/Shared/Models/MultilingualControlOptionsBase.mjs +6 -6
  24. package/esm2022/lib/Shared/Models/MultipleFileUploadModel.mjs +5 -5
  25. package/esm2022/lib/Shared/Models/PagingOptions.mjs +22 -22
  26. package/esm2022/lib/Shared/Models/PhoneOptions.mjs +4 -4
  27. package/esm2022/lib/Shared/Models/ProfileImageUploadOptions.mjs +3 -3
  28. package/esm2022/lib/Shared/Models/ProfilePictureDTO.mjs +1 -1
  29. package/esm2022/lib/Shared/Models/RadioButtonItem.mjs +1 -1
  30. package/esm2022/lib/Shared/Models/RadioButtonOptions.mjs +1 -1
  31. package/esm2022/lib/Shared/Models/RangeNumber.mjs +1 -1
  32. package/esm2022/lib/Shared/Models/Recaptcha.mjs +2 -2
  33. package/esm2022/lib/Shared/Models/RecaptchaOptions.mjs +9 -9
  34. package/esm2022/lib/Shared/Models/RepeaterField.mjs +1 -1
  35. package/esm2022/lib/Shared/Models/RepeaterOptions.mjs +9 -9
  36. package/esm2022/lib/Shared/Models/TagsInputDTO.mjs +1 -1
  37. package/esm2022/lib/Shared/Models/TagsInputOptions.mjs +19 -19
  38. package/esm2022/lib/Shared/Models/TextAreaOptions.mjs +1 -1
  39. package/esm2022/lib/Shared/Models/TextBoxOptions.mjs +9 -9
  40. package/esm2022/lib/Shared/Models/{ToggleslideOptions.mjs → ToggleSlideOptions.mjs} +2 -2
  41. package/esm2022/lib/Shared/Models/filter-options.mjs +5 -5
  42. package/esm2022/lib/Shared/Models/page-header-options.mjs +32 -32
  43. package/esm2022/lib/Shared/services/ControlUtility.mjs +37 -37
  44. package/esm2022/lib/Shared/services/GlobalSettings.service.mjs +9 -9
  45. package/esm2022/lib/controls/AutocompleteTextBox/AutocompleteTextBox.component.mjs +81 -81
  46. package/esm2022/lib/controls/Calendar/Calendar.component.mjs +40 -40
  47. package/esm2022/lib/controls/CheckBox/CheckBox.component.mjs +35 -35
  48. package/esm2022/lib/controls/ConfirmationModal/ConfirmationModal.component.mjs +30 -30
  49. package/esm2022/lib/controls/DateTimePicker/DateTimePicker.component.mjs +90 -97
  50. package/esm2022/lib/controls/DropdownList/DropdownList.component.mjs +74 -74
  51. package/esm2022/lib/controls/FileUplaod/FileUplaod.component.mjs +155 -155
  52. package/esm2022/lib/controls/Form/Form.component.mjs +24 -24
  53. package/esm2022/lib/controls/HtmlEditor/HtmlEditor.component.mjs +55 -55
  54. package/esm2022/lib/controls/ImageUpload/ImageUpload.component.mjs +113 -113
  55. package/esm2022/lib/controls/MapAutoComplete/MapAutoComplete.component.mjs +322 -246
  56. package/esm2022/lib/controls/MultiLingualHtmlEditor/MultiLingualHtmlEditor.component.mjs +163 -163
  57. package/esm2022/lib/controls/MultiLingualTextArea/MultiLingualTextArea.component.mjs +193 -193
  58. package/esm2022/lib/controls/MultiLingualTextBox/MultiLingualTextBox.component.mjs +210 -210
  59. package/esm2022/lib/controls/Paging/Paging.component.mjs +85 -85
  60. package/esm2022/lib/controls/Phone/Phone.component.mjs +42 -42
  61. package/esm2022/lib/controls/ProfileImageUploader/ProfileImageUploader.component.mjs +112 -112
  62. package/esm2022/lib/controls/RadioButton/RadioButton.component.mjs +38 -38
  63. package/esm2022/lib/controls/Recaptcha/Recaptcha.component.mjs +46 -46
  64. package/esm2022/lib/controls/Repeater/repeater/repeater.component.mjs +12 -12
  65. package/esm2022/lib/controls/Repeater/repeater-field-builder/repeater-field-builder.component.mjs +556 -556
  66. package/esm2022/lib/controls/Repeater/repeater-table/repeater-table.component.mjs +15 -15
  67. package/esm2022/lib/controls/TagsInput/TagsInput.component.mjs +100 -100
  68. package/esm2022/lib/controls/TextArea/TextArea.component.mjs +71 -71
  69. package/esm2022/lib/controls/TextBox/TextBox.component.mjs +116 -116
  70. package/esm2022/lib/controls/Toggleslide/Toggleslide.component.mjs +90 -0
  71. package/esm2022/lib/controls/bbsf-controls.module.mjs +13 -24
  72. package/esm2022/lib/controls/page-header-component/page-header-component.component.mjs +4 -4
  73. package/esm2022/public-api.mjs +8 -10
  74. package/fesm2022/bnsights-bbsf-controls.mjs +3060 -2989
  75. package/fesm2022/bnsights-bbsf-controls.mjs.map +1 -1
  76. package/lib/Shared/Enums/map-enums.d.ts +5 -0
  77. package/lib/Shared/Models/AutocompleteOptions.d.ts +20 -20
  78. package/lib/Shared/Models/CalendarOptions.d.ts +10 -10
  79. package/lib/Shared/Models/CheckBoxOptions.d.ts +2 -2
  80. package/lib/Shared/Models/ConfirmationModalOptions.d.ts +14 -14
  81. package/lib/Shared/Models/ControlOptionsBase.d.ts +17 -17
  82. package/lib/Shared/Models/{datePickerOptions.d.ts → DatePickerOptions.d.ts} +12 -13
  83. package/lib/Shared/Models/DropdownOptions.d.ts +15 -15
  84. package/lib/Shared/Models/EnglishArabicDTO.d.ts +2 -2
  85. package/lib/Shared/Models/FileUploadModel.d.ts +1 -1
  86. package/lib/Shared/Models/FileUploadOptions.d.ts +8 -8
  87. package/lib/Shared/Models/FormOptions.d.ts +11 -11
  88. package/lib/Shared/Models/HtmlEditorOptions.d.ts +11 -11
  89. package/lib/Shared/Models/ImageUploadOptions.d.ts +9 -9
  90. package/lib/Shared/Models/MapAutoCompleteOptions.d.ts +2 -1
  91. package/lib/Shared/Models/MapAutocompleteDTO.d.ts +5 -5
  92. package/lib/Shared/Models/MultiLingualHtmlEditorOptions.d.ts +7 -7
  93. package/lib/Shared/Models/MultiLingualTextAreaOptions.d.ts +5 -5
  94. package/lib/Shared/Models/{MultilingualTextBoxOptions.d.ts → MultiLingualTextBoxOptions.d.ts} +6 -6
  95. package/lib/Shared/Models/MultilingualControlOptionsBase.d.ts +34 -34
  96. package/lib/Shared/Models/MultipleFileUploadModel.d.ts +4 -4
  97. package/lib/Shared/Models/PagingOptions.d.ts +25 -25
  98. package/lib/Shared/Models/PhoneOptions.d.ts +9 -9
  99. package/lib/Shared/Models/ProfileImageUploadOptions.d.ts +10 -10
  100. package/lib/Shared/Models/ProfilePictureDTO.d.ts +9 -9
  101. package/lib/Shared/Models/RadioButtonItem.d.ts +2 -2
  102. package/lib/Shared/Models/RadioButtonOptions.d.ts +2 -2
  103. package/lib/Shared/Models/RangeNumber.d.ts +2 -2
  104. package/lib/Shared/Models/Recaptcha.d.ts +4 -4
  105. package/lib/Shared/Models/RecaptchaOptions.d.ts +10 -10
  106. package/lib/Shared/Models/RepeaterField.d.ts +4 -4
  107. package/lib/Shared/Models/RepeaterOptions.d.ts +16 -16
  108. package/lib/Shared/Models/TagsInputDTO.d.ts +4 -4
  109. package/lib/Shared/Models/TagsInputOptions.d.ts +29 -29
  110. package/lib/Shared/Models/TextAreaOptions.d.ts +11 -11
  111. package/lib/Shared/Models/TextBoxOptions.d.ts +18 -18
  112. package/lib/Shared/Models/{ToggleslideOptions.d.ts → ToggleSlideOptions.d.ts} +3 -3
  113. package/lib/Shared/Models/filter-options.d.ts +4 -4
  114. package/lib/Shared/Models/page-header-options.d.ts +43 -43
  115. package/lib/Shared/services/ControlUtility.d.ts +8 -8
  116. package/lib/Shared/services/GlobalSettings.service.d.ts +8 -8
  117. package/lib/controls/AutocompleteTextBox/AutocompleteTextBox.component.d.ts +11 -11
  118. package/lib/controls/Calendar/Calendar.component.d.ts +7 -7
  119. package/lib/controls/CheckBox/CheckBox.component.d.ts +10 -10
  120. package/lib/controls/DateTimePicker/DateTimePicker.component.d.ts +20 -24
  121. package/lib/controls/DropdownList/DropdownList.component.d.ts +13 -13
  122. package/lib/controls/FileUplaod/FileUplaod.component.d.ts +11 -11
  123. package/lib/controls/Form/Form.component.d.ts +2 -2
  124. package/lib/controls/HtmlEditor/HtmlEditor.component.d.ts +12 -12
  125. package/lib/controls/ImageUpload/ImageUpload.component.d.ts +16 -16
  126. package/lib/controls/MapAutoComplete/MapAutoComplete.component.d.ts +31 -13
  127. package/lib/controls/MultiLingualHtmlEditor/MultiLingualHtmlEditor.component.d.ts +25 -25
  128. package/lib/controls/MultiLingualTextArea/MultiLingualTextArea.component.d.ts +24 -24
  129. package/lib/controls/MultiLingualTextBox/MultiLingualTextBox.component.d.ts +32 -32
  130. package/lib/controls/Paging/Paging.component.d.ts +9 -9
  131. package/lib/controls/Phone/Phone.component.d.ts +12 -12
  132. package/lib/controls/ProfileImageUploader/ProfileImageUploader.component.d.ts +18 -18
  133. package/lib/controls/RadioButton/RadioButton.component.d.ts +11 -11
  134. package/lib/controls/Recaptcha/Recaptcha.component.d.ts +10 -10
  135. package/lib/controls/Repeater/repeater-field-builder/repeater-field-builder.component.d.ts +5 -5
  136. package/lib/controls/Repeater/repeater-table/repeater-table.component.d.ts +1 -1
  137. package/lib/controls/TagsInput/TagsInput.component.d.ts +17 -17
  138. package/lib/controls/TextArea/TextArea.component.d.ts +14 -14
  139. package/lib/controls/TextBox/TextBox.component.d.ts +25 -25
  140. package/lib/controls/Toggleslide/{toggleslide.component.d.ts → Toggleslide.component.d.ts} +10 -10
  141. package/lib/controls/bbsf-controls.module.d.ts +4 -2
  142. package/package.json +7 -2
  143. package/public-api.d.ts +5 -4
  144. package/src/lib/assets/Style-rtl.scss +46 -28
  145. package/src/lib/assets/images/marker-pin.svg +4 -0
  146. package/src/lib/assets/sass/base.scss +73 -21
  147. package/esm2022/lib/Shared/Models/datePickerOptions.mjs +0 -23
  148. package/esm2022/lib/controls/Toggleslide/toggleslide.component.mjs +0 -90
@@ -1,33 +1,33 @@
1
1
  import { OnInit, EventEmitter } from '@angular/core';
2
2
  import { FormGroup, ControlContainer, FormGroupDirective, AbstractControl } from '@angular/forms';
3
3
  import { ControlUtility } from '../../Shared/services/ControlUtility';
4
- import { ToggleSlideOptions } from '../../Shared/Models/ToggleslideOptions';
4
+ import { ToggleSlideOptions } from '../../Shared/Models/ToggleSlideOptions';
5
5
  import { ControlValidationService, UtilityService } from '@bnsights/bbsf-utilities';
6
6
  import { GlobalSettings } from '../../Shared/services/GlobalSettings.service';
7
7
  import * as i0 from "@angular/core";
8
8
  export declare class ToggleslideComponent implements OnInit {
9
9
  private controlUtility;
10
10
  private controlContainer;
11
- ToggleslideControlHost: FormGroupDirective;
12
- TextControlHost: FormGroupDirective;
13
- UtilityService: UtilityService;
11
+ toggleslideControlHost: FormGroupDirective;
12
+ textControlHost: FormGroupDirective;
13
+ utilityService: UtilityService;
14
14
  private controlValidationService;
15
15
  private globalSettings;
16
16
  static controlContainerstatic: any;
17
- constructor(controlUtility: ControlUtility, controlContainer: ControlContainer, ToggleslideControlHost: FormGroupDirective, TextControlHost: FormGroupDirective, UtilityService: UtilityService, controlValidationService: ControlValidationService, globalSettings: GlobalSettings);
17
+ constructor(controlUtility: ControlUtility, controlContainer: ControlContainer, toggleslideControlHost: FormGroupDirective, textControlHost: FormGroupDirective, utilityService: UtilityService, controlValidationService: ControlValidationService, globalSettings: GlobalSettings);
18
18
  group: FormGroup;
19
19
  options: ToggleSlideOptions;
20
- OnChange: EventEmitter<any>;
21
- ToggleslideFormControl: AbstractControl;
22
- SlideValue: boolean;
20
+ onChange: EventEmitter<any>;
21
+ toggleslideFormControl: AbstractControl;
22
+ slideValue: boolean;
23
23
  markAllAsTouched: boolean;
24
24
  textDir: any;
25
25
  ngOnInit(): void;
26
26
  ngAfterViewInit(): void;
27
27
  resetError(): void;
28
28
  showGlobalError(): void;
29
- getErrorValidation(ErrorList: any[]): string;
29
+ getErrorValidation(errorList: any[]): string;
30
30
  changeValueToggle(): void;
31
31
  static ɵfac: i0.ɵɵFactoryDeclaration<ToggleslideComponent, [null, { optional: true; }, null, null, null, null, null]>;
32
- static ɵcmp: i0.ɵɵComponentDeclaration<ToggleslideComponent, "BBSF-Toggleslide", never, { "group": { "alias": "group"; "required": false; }; "options": { "alias": "options"; "required": false; }; }, { "OnChange": "OnChange"; }, never, never, false, never>;
32
+ static ɵcmp: i0.ɵɵComponentDeclaration<ToggleslideComponent, "BBSF-Toggleslide", never, { "group": { "alias": "group"; "required": false; }; "options": { "alias": "options"; "required": false; }; }, { "onChange": "onChange"; }, never, never, false, never>;
33
33
  }
@@ -9,7 +9,7 @@ import * as i6 from "./MultiLingualTextArea/MultiLingualTextArea.component";
9
9
  import * as i7 from "./CheckBox/CheckBox.component";
10
10
  import * as i8 from "./DropdownList/DropdownList.component";
11
11
  import * as i9 from "./Phone/Phone.component";
12
- import * as i10 from "./Toggleslide/toggleslide.component";
12
+ import * as i10 from "./Toggleslide/Toggleslide.component";
13
13
  import * as i11 from "./HtmlEditor/HtmlEditor.component";
14
14
  import * as i12 from "./MultiLingualHtmlEditor/MultiLingualHtmlEditor.component";
15
15
  import * as i13 from "./ImageUpload/ImageUpload.component";
@@ -60,9 +60,11 @@ import * as i57 from "angular-ng-autocomplete";
60
60
  import * as i58 from "@bnsights/bbsf-utilities";
61
61
  import * as i59 from "ng-inline-svg-2";
62
62
  import * as i60 from "@sweetalert2/ngx-sweetalert2";
63
+ import * as i61 from "ngx-script-loader";
64
+ import * as i62 from "@angular/google-maps";
63
65
  export declare let options: Partial<IConfig> | (() => Partial<IConfig>);
64
66
  export declare class BBSFControlsModule {
65
67
  static ɵfac: i0.ɵɵFactoryDeclaration<BBSFControlsModule, never>;
66
- static ɵmod: i0.ɵɵNgModuleDeclaration<BBSFControlsModule, [typeof i1.DateInputComponent, typeof i2.FileUploadComponent, typeof i3.MultiLingualTextBoxComponent, typeof i4.TextboxComponent, typeof i5.TextAreaComponent, typeof i6.MultiLingualTextAreaComponent, typeof i7.CheckBoxComponent, typeof i8.DropdownListComponent, typeof i9.PhoneComponent, typeof i10.ToggleslideComponent, typeof i11.HtmlEditorComponent, typeof i12.MultiLingualHtmlEditorComponent, typeof i13.ImageUploaderComponent, typeof i14.ProfileImageUploaderComponent, typeof i15.CalendarComponent, typeof i16.MapAutoCompleteComponent, typeof i17.AutocompleteTextBoxComponent, typeof i18.TagsInputComponent, typeof i19.PagingComponent, typeof i20.JwPaginationComponent, typeof i21.RadioButtonComponent, typeof i22.FormComponent, typeof i23.ConfirmationModalComponent, typeof i24.RepeaterComponent, typeof i25.RepeaterFieldBuilderComponent, typeof i26.NgTemplateNameDirective, typeof i27.RepeaterItemFieldComponent, typeof i28.RepeaterTableComponent, typeof i29.BBSFDateTimePipe, typeof i30.BBSFDatePipe, typeof i31.BTagsInputComponent, typeof i32.RecaptchaComponent, typeof i33.PageHeaderComponentComponent], [typeof i34.CommonModule, typeof i35.InfiniteScrollModule, typeof i36.NgSelectModule, typeof i37.FullCalendarModule, typeof i38.AngularCropperjsModule, typeof i39.NgbModule, typeof i40.NgxDropzoneModule, typeof i41.FileUploadModule, typeof i42.NgxMaskDirective, typeof i42.NgxMaskPipe, typeof i43.NgxSummernoteModule, typeof i44.MatSlideToggleModule, typeof i45.NgxIntlTelInputModule, typeof i46.OwlDateTimeModule, typeof i46.OwlNativeDateTimeModule, typeof i34.CommonModule, typeof i47.BlockUIModule, typeof i48.ReactiveFormsModule, typeof i49.RouterModule, typeof i50.ToastrModule, typeof i51.HttpClientModule, typeof i52.OverlayModule, typeof i53.StoreDevtoolsModule, typeof i48.FormsModule, typeof i54.BsDatepickerModule, typeof i55.TypeaheadModule, typeof i56.AngularEditorModule, typeof i57.AutocompleteLibModule, typeof i58.BBSFUtilitiesModule, typeof i59.InlineSVGModule, typeof i60.SweetAlert2Module], [typeof i1.DateInputComponent, typeof i2.FileUploadComponent, typeof i3.MultiLingualTextBoxComponent, typeof i4.TextboxComponent, typeof i5.TextAreaComponent, typeof i6.MultiLingualTextAreaComponent, typeof i7.CheckBoxComponent, typeof i8.DropdownListComponent, typeof i9.PhoneComponent, typeof i10.ToggleslideComponent, typeof i11.HtmlEditorComponent, typeof i12.MultiLingualHtmlEditorComponent, typeof i13.ImageUploaderComponent, typeof i14.ProfileImageUploaderComponent, typeof i15.CalendarComponent, typeof i16.MapAutoCompleteComponent, typeof i17.AutocompleteTextBoxComponent, typeof i18.TagsInputComponent, typeof i19.PagingComponent, typeof i20.JwPaginationComponent, typeof i21.RadioButtonComponent, typeof i22.FormComponent, typeof i19.PagingComponent, typeof i23.ConfirmationModalComponent, typeof i24.RepeaterComponent, typeof i25.RepeaterFieldBuilderComponent, typeof i26.NgTemplateNameDirective, typeof i27.RepeaterItemFieldComponent, typeof i28.RepeaterTableComponent, typeof i29.BBSFDateTimePipe, typeof i30.BBSFDatePipe, typeof i32.RecaptchaComponent, typeof i33.PageHeaderComponentComponent]>;
68
+ static ɵmod: i0.ɵɵNgModuleDeclaration<BBSFControlsModule, [typeof i1.DateInputComponent, typeof i2.FileUploadComponent, typeof i3.MultiLingualTextBoxComponent, typeof i4.TextboxComponent, typeof i5.TextAreaComponent, typeof i6.MultiLingualTextAreaComponent, typeof i7.CheckBoxComponent, typeof i8.DropdownListComponent, typeof i9.PhoneComponent, typeof i10.ToggleslideComponent, typeof i11.HtmlEditorComponent, typeof i12.MultiLingualHtmlEditorComponent, typeof i13.ImageUploaderComponent, typeof i14.ProfileImageUploaderComponent, typeof i15.CalendarComponent, typeof i16.MapAutoCompleteComponent, typeof i17.AutocompleteTextBoxComponent, typeof i18.TagsInputComponent, typeof i19.PagingComponent, typeof i20.JwPaginationComponent, typeof i21.RadioButtonComponent, typeof i22.FormComponent, typeof i23.ConfirmationModalComponent, typeof i24.RepeaterComponent, typeof i25.RepeaterFieldBuilderComponent, typeof i26.NgTemplateNameDirective, typeof i27.RepeaterItemFieldComponent, typeof i28.RepeaterTableComponent, typeof i29.BBSFDateTimePipe, typeof i30.BBSFDatePipe, typeof i31.BTagsInputComponent, typeof i32.RecaptchaComponent, typeof i33.PageHeaderComponentComponent], [typeof i34.CommonModule, typeof i35.InfiniteScrollModule, typeof i36.NgSelectModule, typeof i37.FullCalendarModule, typeof i38.AngularCropperjsModule, typeof i39.NgbModule, typeof i40.NgxDropzoneModule, typeof i41.FileUploadModule, typeof i42.NgxMaskDirective, typeof i42.NgxMaskPipe, typeof i43.NgxSummernoteModule, typeof i44.MatSlideToggleModule, typeof i45.NgxIntlTelInputModule, typeof i46.OwlDateTimeModule, typeof i46.OwlNativeDateTimeModule, typeof i34.CommonModule, typeof i47.BlockUIModule, typeof i48.ReactiveFormsModule, typeof i49.RouterModule, typeof i50.ToastrModule, typeof i51.HttpClientModule, typeof i52.OverlayModule, typeof i53.StoreDevtoolsModule, typeof i48.FormsModule, typeof i54.BsDatepickerModule, typeof i55.TypeaheadModule, typeof i56.AngularEditorModule, typeof i57.AutocompleteLibModule, typeof i58.BBSFUtilitiesModule, typeof i59.InlineSVGModule, typeof i60.SweetAlert2Module, typeof i61.ScriptLoaderModule, typeof i62.GoogleMapsModule], [typeof i1.DateInputComponent, typeof i2.FileUploadComponent, typeof i3.MultiLingualTextBoxComponent, typeof i4.TextboxComponent, typeof i5.TextAreaComponent, typeof i6.MultiLingualTextAreaComponent, typeof i7.CheckBoxComponent, typeof i8.DropdownListComponent, typeof i9.PhoneComponent, typeof i10.ToggleslideComponent, typeof i11.HtmlEditorComponent, typeof i12.MultiLingualHtmlEditorComponent, typeof i13.ImageUploaderComponent, typeof i14.ProfileImageUploaderComponent, typeof i15.CalendarComponent, typeof i16.MapAutoCompleteComponent, typeof i17.AutocompleteTextBoxComponent, typeof i18.TagsInputComponent, typeof i19.PagingComponent, typeof i20.JwPaginationComponent, typeof i21.RadioButtonComponent, typeof i22.FormComponent, typeof i19.PagingComponent, typeof i23.ConfirmationModalComponent, typeof i24.RepeaterComponent, typeof i25.RepeaterFieldBuilderComponent, typeof i26.NgTemplateNameDirective, typeof i27.RepeaterItemFieldComponent, typeof i28.RepeaterTableComponent, typeof i29.BBSFDateTimePipe, typeof i30.BBSFDatePipe, typeof i32.RecaptchaComponent, typeof i33.PageHeaderComponentComponent]>;
67
69
  static ɵinj: i0.ɵɵInjectorDeclaration<BBSFControlsModule>;
68
70
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bnsights/bbsf-controls",
3
- "version": "1.0.110",
3
+ "version": "1.0.112",
4
4
  "peerDependencies": {
5
5
  "@angular/animations": "^17.0.5",
6
6
  "@angular/cdk": "^17.0.2",
@@ -54,7 +54,12 @@
54
54
  "@types/file-saver": "^2.0.7",
55
55
  "@ngrx/store-devtools": "^17.0.1",
56
56
  "ngx-bootstrap": "^11.0.2",
57
- "tslib": "^2.6.2"
57
+ "tslib": "^2.6.2",
58
+ "@types/google.maps": "^3.54.10",
59
+ "@angular/google-maps": "^17.0.3",
60
+ "@googlemaps/js-api-loader": "1.16.2",
61
+ "ngx-script-loader": "^3.0.0",
62
+ "moment": "^2.29.4"
58
63
  },
59
64
  "module": "fesm2022/bnsights-bbsf-controls.mjs",
60
65
  "typings": "index.d.ts",
package/public-api.d.ts CHANGED
@@ -8,7 +8,7 @@ export * from './lib/controls/MultiLingualTextArea/MultiLingualTextArea.componen
8
8
  export * from './lib/controls/CheckBox/CheckBox.component';
9
9
  export * from './lib/controls/DropdownList/DropdownList.component';
10
10
  export * from './lib/controls/Phone/Phone.component';
11
- export * from './lib/controls/Toggleslide/toggleslide.component';
11
+ export * from './lib/controls/Toggleslide/Toggleslide.component';
12
12
  export * from './lib/controls/HtmlEditor/HtmlEditor.component';
13
13
  export * from './lib/controls/MultiLingualHtmlEditor/MultiLingualHtmlEditor.component';
14
14
  export * from './lib/controls/ImageUpload/ImageUpload.component';
@@ -41,12 +41,12 @@ export * from './lib/Shared/Models/RecaptchaOptions';
41
41
  export * from './lib/Shared/Models/Recaptcha';
42
42
  export * from './lib/Shared/Models/MultilingualControlOptionsBase';
43
43
  export * from './lib/Shared/Models/CustomValidation';
44
- export * from './lib/Shared/Models/datePickerOptions';
44
+ export * from './lib/Shared/Models/DatePickerOptions';
45
45
  export * from './lib/Shared/Models/TextBoxOptions';
46
46
  export * from './lib/Shared/Models/FileUploadOptions';
47
47
  export * from './lib/Shared/Models/FileUploadModel';
48
48
  export * from './lib/Shared/Models/MultipleFileUploadModel';
49
- export * from './lib/Shared/Models/MultilingualTextBoxOptions';
49
+ export * from './lib/Shared/Models/MultiLingualTextBoxOptions';
50
50
  export * from './lib/Shared/Models/RangeNumber';
51
51
  export * from './lib/Shared/Models/EnglishArabicDTO';
52
52
  export * from './lib/Shared/Models/Attribute';
@@ -56,7 +56,7 @@ export * from './lib/Shared/Models/CheckBoxOptions';
56
56
  export * from './lib/Shared/Models/DropdownListItem';
57
57
  export * from './lib/Shared/Models/DropdownOptions';
58
58
  export * from './lib/Shared/Models/PhoneOptions';
59
- export * from './lib/Shared/Models/ToggleslideOptions';
59
+ export * from './lib/Shared/Models/ToggleSlideOptions';
60
60
  export * from './lib/Shared/Models/HtmlEditorOptions';
61
61
  export * from './lib/Shared/Models/MultiLingualHtmlEditorOptions';
62
62
  export * from './lib/Shared/Models/FileDTO';
@@ -115,3 +115,4 @@ export * from './lib/Shared/Enums/StyleConfirmationMode';
115
115
  export * from './lib/Shared/Enums/Enums';
116
116
  export * from './lib/Shared/Enums/LanguageValidation';
117
117
  export * from './lib/Shared/Enums/TagInputView';
118
+ export * from './lib/Shared/Enums/map-enums';
@@ -17,12 +17,13 @@
17
17
  padding-left: 40px;
18
18
  padding-right: 1rem;
19
19
 
20
- &[dir = "ltr"] {
20
+ &[dir="ltr"] {
21
21
  padding-left: 1rem !important;
22
22
  padding-right: 40px !important;
23
23
  }
24
24
  }
25
25
  }
26
+
26
27
  /* input with icon*/
27
28
  .bbsf-left-icon {
28
29
  left: auto;
@@ -30,7 +31,7 @@
30
31
  margin-left: 0 !important;
31
32
  margin-right: 0.7rem;
32
33
 
33
- + input {
34
+ +input {
34
35
  padding-right: 2.7rem;
35
36
  padding-left: 1rem !important;
36
37
  }
@@ -43,11 +44,12 @@
43
44
  margin-right: 0;
44
45
 
45
46
 
46
- + input {
47
+ +input {
47
48
  padding-right: 1rem !important;
48
49
  padding-left: 2.7rem;
49
50
  }
50
51
  }
52
+
51
53
  //copy to clipboard
52
54
  .copy-clipboard {
53
55
  left: 0px;
@@ -60,8 +62,8 @@
60
62
 
61
63
  .form-control {
62
64
 
63
- &[dir = "ltr"] {
64
- + .copy-clipboard {
65
+ &[dir="ltr"] {
66
+ +.copy-clipboard {
65
67
  right: 0px !important;
66
68
  left: auto !important;
67
69
  border-top-right-radius: $bbsf-rounded;
@@ -74,24 +76,26 @@
74
76
  &.is-invalid {
75
77
  background-position: left calc(0.375em + 0.1875rem) center;
76
78
 
77
- &[dir = "ltr"] {
79
+ &[dir="ltr"] {
78
80
  background-position: left calc(0.375em + 0.3875rem) center;
79
- }
80
81
  }
81
82
  }
82
83
  }
83
84
  }
84
- //checkbox
85
- .bbsf-checkbox {
86
- .bbsf-input-container {
87
- .label-subtext-container {
88
- margin-top: -4px;
89
- margin-right: 0.55rem;
90
- margin-left: 0;
91
- }
85
+ }
86
+
87
+ //checkbox
88
+ .bbsf-checkbox {
89
+ .bbsf-input-container {
90
+ .label-subtext-container {
91
+ margin-top: -4px;
92
+ margin-right: 0.55rem;
93
+ margin-left: 0;
92
94
  }
93
95
  }
94
- //dropdown
96
+ }
97
+
98
+ //dropdown
95
99
  .bbsf-dropdown.form-group {
96
100
 
97
101
  .bbsf-input-container {
@@ -104,7 +108,7 @@
104
108
  .ng-select-container {
105
109
  .ng-clear-wrapper {
106
110
  margin-left: 30px;
107
- margin-right:0px;
111
+ margin-right: 0px;
108
112
  }
109
113
 
110
114
  .ng-arrow-wrapper {
@@ -139,21 +143,35 @@
139
143
  }
140
144
  }
141
145
  }
142
- //tags input
143
- .bbsf-control.form-group.bbsf-tags-input {
144
- .user-initials {
145
- margin-left: 10px;
146
- margin-right: 0px;
147
- }
148
146
 
149
- .tags-input__tag-remove-btn {
150
- margin-right: 3px;
151
- margin-left: 0px;
152
- }
147
+ //tags input
148
+ .bbsf-control.form-group.bbsf-tags-input {
149
+ .user-initials {
150
+ margin-left: 10px;
151
+ margin-right: 0px;
152
+ }
153
+
154
+ .tags-input__tag-remove-btn {
155
+ margin-right: 3px;
156
+ margin-left: 0px;
153
157
  }
158
+ }
159
+
154
160
  //textbox type number arrows
155
161
  input::-webkit-outer-spin-button,
156
162
  input::-webkit-inner-spin-button {
157
163
  margin-left: 30px;
158
- margin-right:0px;
164
+ margin-right: 0px;
159
165
  }
166
+
167
+ .btn-icon-o {
168
+ border-radius: 0.475rem 0 0 0.475rem;
169
+
170
+ &:hover {
171
+ border-radius: 0.475rem 0 0 0.475rem !important;
172
+ }
173
+ }
174
+
175
+ .form-control.input-icon-o {
176
+ border-radius: 0 0.475rem 0.475rem 0 !important;
177
+ }
@@ -0,0 +1,4 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M12 13C13.6569 13 15 11.6569 15 10C15 8.34315 13.6569 7 12 7C10.3431 7 9 8.34315 9 10C9 11.6569 10.3431 13 12 13Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
3
+ <path d="M12 22C16 18 20 14.4183 20 10C20 5.58172 16.4183 2 12 2C7.58172 2 4 5.58172 4 10C4 14.4183 8 18 12 22Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
4
+ </svg>
@@ -2,6 +2,7 @@
2
2
  .bbsf-multilang-form-group {
3
3
  margin-bottom: 1.75rem;
4
4
  }
5
+
5
6
  .bbsf-control.form-group {
6
7
  margin-bottom: 1.75rem;
7
8
 
@@ -17,10 +18,12 @@
17
18
  position: relative;
18
19
 
19
20
  &.p-40px {
20
- input, textarea {
21
+
22
+ input,
23
+ textarea {
21
24
  padding-right: 40px;
22
25
 
23
- &[dir = "rtl"] {
26
+ &[dir="rtl"] {
24
27
  padding-left: 40px !important;
25
28
  padding-right: 1rem !important;
26
29
  }
@@ -46,13 +49,13 @@
46
49
  &.is-invalid {
47
50
  background-position: right calc(0.375em + 0.3875rem) center;
48
51
 
49
- &[dir = "rtl"] {
52
+ &[dir="rtl"] {
50
53
  background-position: left calc(0.375em + 0.3875rem) center;
51
54
  }
52
55
  }
53
56
 
54
- &[dir = "rtl"] {
55
- + .copy-clipboard {
57
+ &[dir="rtl"] {
58
+ +.copy-clipboard {
56
59
  left: 0px;
57
60
  right: auto;
58
61
  border-top-left-radius: $bbsf-rounded;
@@ -67,6 +70,7 @@
67
70
  border-color: #d5d5d5;
68
71
  box-shadow: none;
69
72
  }
73
+
70
74
  /* input with icon*/
71
75
  .bbsf-icon {
72
76
  z-index: 4;
@@ -87,7 +91,7 @@
87
91
  left: 0px;
88
92
  margin-left: 0.7rem !important;
89
93
 
90
- + input {
94
+ +input {
91
95
  padding-left: 2.7rem !important;
92
96
  }
93
97
  }
@@ -99,10 +103,11 @@
99
103
  right: 0px;
100
104
  margin-right: 0.7rem !important;
101
105
 
102
- + input {
106
+ +input {
103
107
  padding-right: 2.7rem !important;
104
108
  }
105
109
  }
110
+
106
111
  //copy to clipboard
107
112
  .copy-clipboard {
108
113
  position: absolute;
@@ -117,7 +122,7 @@
117
122
  height: 100%;
118
123
  display: flex;
119
124
  align-items: center;
120
- cursor:pointer;
125
+ cursor: pointer;
121
126
 
122
127
  i {
123
128
  color: #8b8b8b;
@@ -128,6 +133,7 @@
128
133
  }
129
134
  }
130
135
  }
136
+
131
137
  /* horizontal form control*/
132
138
  .bbsf-horizontal {
133
139
  display: flex;
@@ -159,38 +165,48 @@
159
165
  display: flex;
160
166
  justify-content: space-between;
161
167
  flex-wrap: wrap;
168
+
162
169
  //validation
163
- .bbsf-validation, .bbsf-character-count, .bbsf-word-count, .bbsf-control-desc {
170
+ .bbsf-validation,
171
+ .bbsf-character-count,
172
+ .bbsf-word-count,
173
+ .bbsf-control-desc {
164
174
  margin-top: 0.3rem;
165
175
  font-size: 12px;
166
176
  font-weight: 500;
167
177
  }
168
178
 
169
- .bbsf-validation, .bbsf-character-count {
179
+ .bbsf-validation,
180
+ .bbsf-character-count {
170
181
  color: $danger;
171
182
  }
183
+
172
184
  //word count and description
173
- .bbsf-word-count, .bbsf-control-desc {
185
+ .bbsf-word-count,
186
+ .bbsf-control-desc {
174
187
  color: $subtext-color;
175
188
  }
176
189
  }
177
190
  }
178
- //buttons
179
191
 
180
- .btn-brand {
181
- background: $primary;
182
- color: white;
183
- border: $primary;
192
+ //buttons
184
193
 
185
- &:hover {
186
- background: #3781d2;
187
- color: white;
188
- }
194
+ .btn-brand {
195
+ background: $primary;
196
+ color: white;
197
+ border: $primary;
198
+
199
+ &:hover {
200
+ background: #3781d2;
201
+ color: white;
189
202
  }
190
- //toggle
203
+ }
204
+
205
+ //toggle
191
206
  .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb {
192
207
  background-color: $primary;
193
208
  }
209
+
194
210
  .mat-slide-toggle.mat-checked .mat-slide-toggle-bar {
195
211
  background-color: #e3e3e3
196
212
  }
@@ -208,3 +224,39 @@ input::-webkit-inner-spin-button {
208
224
  color: #5E6278;
209
225
  font-size: 1rem;
210
226
  }
227
+
228
+
229
+ .google-map-container {
230
+ width: 100%;
231
+ height: 100%;
232
+
233
+ .map-container {
234
+ height: 500px;
235
+ width: 100%;
236
+ position: relative;
237
+ overflow: hidden;
238
+ }
239
+ }
240
+
241
+ .btn-icon-o {
242
+ padding: 8px;
243
+ background: #eeeeee;
244
+ box-shadow: none;
245
+ border-radius: 0 0.475rem 0.475rem 0;
246
+
247
+ &:hover {
248
+ border-radius: 0 0.475rem 0.475rem 0 !important;
249
+ }
250
+ }
251
+
252
+ .form-control.input-icon-o {
253
+ border-radius: 0.475rem 0 0 0.475rem !important;
254
+ }
255
+
256
+ .btn-check:checked+.btn-icon-o.btn-secondary:focus,
257
+ .btn-check:active+.btn-icon-o.btn-secondary:focus,
258
+ .btn-icon-o.btn-secondary:active:focus,
259
+ .btn-icon-o.btn-secondary.active:focus,
260
+ .show>.btn-icon-o.btn-secondary.dropdown-toggle:focus {
261
+ box-shadow: none;
262
+ }
@@ -1,23 +0,0 @@
1
- import { StartView } from '../Enums/StartView';
2
- import { PickerType } from '../Enums/PickerType';
3
- import { SelectMode } from '../Enums/SelectMode';
4
- import { ControlOptionsBase } from './ControlOptionsBase';
5
- export class DatePickerOptions extends ControlOptionsBase {
6
- constructor() {
7
- super(...arguments);
8
- /**To set First Day Of Week to DatePicker */
9
- this.FirstDayOfWeek = 1;
10
- /**To set Hour12Timer to DatePicker is 12 Hour or 24 Hour*/
11
- this.Hour12Timer = true;
12
- /**To set PickerType to DatePicker is Calendar or Timer Or Both */
13
- this.PickerType = PickerType.Calendar;
14
- /**To set StartView to DatePicker is Year or Month Or Multi-Year */
15
- this.StartView = StartView.Month;
16
- /**To set SelectMode to DatePicker is Single or Range */
17
- this.SelectMode = SelectMode.Single;
18
- this.ForceDirection = null;
19
- /**Name of DatePicker control to compare value with it */
20
- this.StartControlToCompareWith = null;
21
- }
22
- }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZVBpY2tlck9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWNvbnRyb2xzL3NyYy9saWIvU2hhcmVkL01vZGVscy9kYXRlUGlja2VyT3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUxRCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsa0JBQWtCO0lBQXpEOztRQVdFLDhDQUE4QztRQUM5QyxtQkFBYyxHQUFXLENBQUMsQ0FBQTtRQUMxQiw0REFBNEQ7UUFDNUQsZ0JBQVcsR0FBWSxJQUFJLENBQUE7UUFDM0IsbUVBQW1FO1FBQ25FLGVBQVUsR0FBZSxVQUFVLENBQUMsUUFBUSxDQUFBO1FBQzVDLG9FQUFvRTtRQUNwRSxjQUFTLEdBQWMsU0FBUyxDQUFDLEtBQUssQ0FBQTtRQUN0Qyx5REFBeUQ7UUFDekQsZUFBVSxHQUFlLFVBQVUsQ0FBQyxNQUFNLENBQUE7UUFDMUMsbUJBQWMsR0FBbUIsSUFBSSxDQUFBO1FBQ3JDLDJEQUEyRDtRQUMzRCw4QkFBeUIsR0FBVyxJQUFJLENBQUM7SUFFM0MsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9yY2VEaXJlY3Rpb24gfSBmcm9tICcuLi9FbnVtcy9Gb3JjZURpcmVjdGlvbic7XHJcbmltcG9ydCB7IFN0YXJ0VmlldyB9IGZyb20gJy4uL0VudW1zL1N0YXJ0Vmlldyc7XHJcbmltcG9ydCB7IFBpY2tlclR5cGUgfSBmcm9tICcuLi9FbnVtcy9QaWNrZXJUeXBlJztcclxuaW1wb3J0IHsgU2VsZWN0TW9kZSB9IGZyb20gJy4uL0VudW1zL1NlbGVjdE1vZGUnO1xyXG5pbXBvcnQgeyBDb250cm9sT3B0aW9uc0Jhc2UgfSBmcm9tICcuL0NvbnRyb2xPcHRpb25zQmFzZSc7XHJcblxyXG5leHBvcnQgY2xhc3MgRGF0ZVBpY2tlck9wdGlvbnMgZXh0ZW5kcyBDb250cm9sT3B0aW9uc0Jhc2Uge1xyXG5cclxuICAvKipUbyBzZXQgIHZhbHVlICB0byBEYXRlUGlja2VyICovXHJcbiAgVmFsdWU6IERhdGVcclxuICAvKipUbyBzZXQgIFN0YXJ0RGF0ZSAgdG8gRGF0ZVBpY2tlciAqL1xyXG4gIFN0YXJ0RGF0ZTogRGF0ZVxyXG4gIC8qKlRvIHNldCAgRW5kRGF0ZSAgdG8gRGF0ZVBpY2tlciAqL1xyXG4gIEVuZERhdGU6IERhdGU7XHJcbiAgLyoqIGFkZCBidXR0b24gdG8gZm9yIGNvcGluZyB0byBjbGlwYm9hcmQgKi9cclxuICBFbmFibGVDb3B5VG9DbGlwYm9hcmQ6IGJvb2xlYW5cclxuICBJc0dNVDogYm9vbGVhblxyXG4gIC8qKlRvIHNldCAgRmlyc3QgRGF5IE9mIFdlZWsgIHRvIERhdGVQaWNrZXIgKi9cclxuICBGaXJzdERheU9mV2VlazogbnVtYmVyID0gMVxyXG4gIC8qKlRvIHNldCBIb3VyMTJUaW1lciB0byBEYXRlUGlja2VyICBpcyAxMiBIb3VyIG9yIDI0IEhvdXIqL1xyXG4gIEhvdXIxMlRpbWVyOiBib29sZWFuID0gdHJ1ZVxyXG4gIC8qKlRvIHNldCBQaWNrZXJUeXBlIHRvIERhdGVQaWNrZXIgIGlzIENhbGVuZGFyIG9yIFRpbWVyIE9yIEJvdGggKi9cclxuICBQaWNrZXJUeXBlOiBQaWNrZXJUeXBlID0gUGlja2VyVHlwZS5DYWxlbmRhclxyXG4gIC8qKlRvIHNldCBTdGFydFZpZXcgdG8gRGF0ZVBpY2tlciAgaXMgWWVhciBvciBNb250aCBPciBNdWx0aS1ZZWFyICovXHJcbiAgU3RhcnRWaWV3OiBTdGFydFZpZXcgPSBTdGFydFZpZXcuTW9udGhcclxuICAvKipUbyBzZXQgU2VsZWN0TW9kZSB0byBEYXRlUGlja2VyICBpcyBTaW5nbGUgb3IgUmFuZ2UgKi9cclxuICBTZWxlY3RNb2RlOiBTZWxlY3RNb2RlID0gU2VsZWN0TW9kZS5TaW5nbGVcclxuICBGb3JjZURpcmVjdGlvbjogRm9yY2VEaXJlY3Rpb24gPSBudWxsXHJcbiAgLyoqTmFtZSBvZiBEYXRlUGlja2VyIGNvbnRyb2wgdG8gY29tcGFyZSB2YWx1ZSB3aXRoIGl0ICAgKi9cclxuICBTdGFydENvbnRyb2xUb0NvbXBhcmVXaXRoOiBzdHJpbmcgPSBudWxsO1xyXG5cclxufVxyXG4iXX0=
@@ -1,90 +0,0 @@
1
- import { Component, Input, Optional, EventEmitter, Output } from '@angular/core';
2
- import { FormControl } from '@angular/forms';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../Shared/services/ControlUtility";
5
- import * as i2 from "@angular/forms";
6
- import * as i3 from "@bnsights/bbsf-utilities";
7
- import * as i4 from "../../Shared/services/GlobalSettings.service";
8
- import * as i5 from "@angular/common";
9
- import * as i6 from "@angular/material/slide-toggle";
10
- import * as i7 from "@angular/cdk/bidi";
11
- import * as i8 from "ngx-intl-tel-input";
12
- export class ToggleslideComponent {
13
- static { this.controlContainerstatic = null; }
14
- // tslint:disable-next-line: max-line-length
15
- constructor(controlUtility, controlContainer, ToggleslideControlHost, TextControlHost, UtilityService, controlValidationService, globalSettings) {
16
- this.controlUtility = controlUtility;
17
- this.controlContainer = controlContainer;
18
- this.ToggleslideControlHost = ToggleslideControlHost;
19
- this.TextControlHost = TextControlHost;
20
- this.UtilityService = UtilityService;
21
- this.controlValidationService = controlValidationService;
22
- this.globalSettings = globalSettings;
23
- this.OnChange = new EventEmitter();
24
- this.SlideValue = false;
25
- this.markAllAsTouched = false;
26
- ToggleslideComponent.controlContainerstatic = this.controlContainer;
27
- }
28
- ngOnInit() {
29
- if (this.options.ForceDirection)
30
- this.textDir = this.options.ForceDirection == 2 ? 'rtl' : 'ltr';
31
- else
32
- this.textDir = localStorage.getItem('language') == 'ar' ? 'rtl' : 'ltr';
33
- this.group.addControl(this.options.Name, new FormControl(''));
34
- this.ToggleslideFormControl = this.group.controls[this.options.Name]; // new FormControl('',validationRules);
35
- let validationRules = [];
36
- let validationRulesasync = [];
37
- this.SlideValue = this.options.Value == undefined ? false : this.options.Value;
38
- if (!this.options.ViewType)
39
- this.options.ViewType = this.globalSettings.ViewType;
40
- if (this.options.IsDisabled || this.options.IsReadonly) {
41
- this.ToggleslideFormControl.disable();
42
- }
43
- if (this.options.LabelKey != null && this.options.LabelKey != "")
44
- this.options.LabelValue = this.UtilityService.getResourceValue(this.options.LabelKey);
45
- }
46
- ngAfterViewInit() {
47
- if (this.options.AttributeList != null) {
48
- var element = document.getElementById(this.options.Name);
49
- for (let index = 0; index < this.options.AttributeList.length; index++) {
50
- element.setAttribute(this.options.AttributeList[index].Key, this.options.AttributeList[index].value);
51
- }
52
- }
53
- }
54
- resetError() {
55
- this.controlValidationService.removeGlobalError();
56
- }
57
- showGlobalError() {
58
- this.controlUtility.showGlobalError();
59
- }
60
- getErrorValidation(ErrorList) {
61
- if (this.markAllAsTouched && this.group.invalid) {
62
- this.showGlobalError();
63
- this.markAllAsTouched = false;
64
- }
65
- return this.controlUtility.getErrorValidationMassage(ErrorList, this.group, this.options);
66
- }
67
- changeValueToggle() {
68
- this.OnChange.emit(this.SlideValue);
69
- this.options.Value = this.SlideValue;
70
- this.ToggleslideFormControl.setValue(this.SlideValue);
71
- if (this.options.PatchFunction && this.options.PatchPath && this.ToggleslideFormControl.valid) {
72
- this.controlUtility.patchControlValue(this.SlideValue, this.options.PatchFunction, this.options.PatchPath);
73
- }
74
- }
75
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ToggleslideComponent, deps: [{ token: i1.ControlUtility }, { token: i2.ControlContainer, optional: true }, { token: i2.FormGroupDirective }, { token: i2.FormGroupDirective }, { token: i3.UtilityService }, { token: i3.ControlValidationService }, { token: i4.GlobalSettings }], target: i0.ɵɵFactoryTarget.Component }); }
76
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: ToggleslideComponent, selector: "BBSF-Toggleslide", inputs: { group: "group", options: "options" }, outputs: { OnChange: "OnChange" }, ngImport: i0, template: "<div class=\"form-group bbsf-control bbsf-toggleslide\" [formGroup]=\"group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label [hidden]=\"options.HideLabel\" class=\"bbsf-label {{options.LabelExtraClasses}}\">\r\n {{options.LabelValue}}\r\n </label>\r\n <div *ngIf=\"!options.IsReadonly\"class=\"bbsf-input-container\">\r\n <!--input-->\r\n <mat-slide-toggle [(ngModel)]=\"SlideValue\" [dir]=\"textDir\" [cssClass]=\"(options.ViewType==1)?'':'col-md-9'\"\r\n formControlName=\"{{options.Name}}\" disableRipple=\"true\" [disabled]=\"options.IsDisabled\" (change)=\"changeValueToggle()\">\r\n </mat-slide-toggle>\r\n </div>\r\n <!-- readonly -->\r\n <div *ngIf=\"options.IsReadonly\">\r\n <span class=\"readonly-view\" *ngIf=\"options.Value\">{{UtilityService.getResourceValue(\"Yes\")}}</span>\r\n <span class=\"readonly-view\" *ngIf=\"!options.Value\">{{UtilityService.getResourceValue(\"No\")}}</span>\r\n </div>\r\n </div>\r\n <div class=\"subtext-container\">\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"options.LabelDescription!=null\">{{options.LabelDescription}}</div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "checked", "hideIcon"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "directive", type: i7.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "directive", type: i8.NativeElementInjectorDirective, selector: "[ngModel], [formControl], [formControlName]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
77
- }
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ToggleslideComponent, decorators: [{
79
- type: Component,
80
- args: [{ selector: 'BBSF-Toggleslide', template: "<div class=\"form-group bbsf-control bbsf-toggleslide\" [formGroup]=\"group\">\r\n <div [ngClass]=\"(options.ViewType==1)?'bbsf-vertical':'bbsf-horizontal'\">\r\n <!--label-->\r\n <label [hidden]=\"options.HideLabel\" class=\"bbsf-label {{options.LabelExtraClasses}}\">\r\n {{options.LabelValue}}\r\n </label>\r\n <div *ngIf=\"!options.IsReadonly\"class=\"bbsf-input-container\">\r\n <!--input-->\r\n <mat-slide-toggle [(ngModel)]=\"SlideValue\" [dir]=\"textDir\" [cssClass]=\"(options.ViewType==1)?'':'col-md-9'\"\r\n formControlName=\"{{options.Name}}\" disableRipple=\"true\" [disabled]=\"options.IsDisabled\" (change)=\"changeValueToggle()\">\r\n </mat-slide-toggle>\r\n </div>\r\n <!-- readonly -->\r\n <div *ngIf=\"options.IsReadonly\">\r\n <span class=\"readonly-view\" *ngIf=\"options.Value\">{{UtilityService.getResourceValue(\"Yes\")}}</span>\r\n <span class=\"readonly-view\" *ngIf=\"!options.Value\">{{UtilityService.getResourceValue(\"No\")}}</span>\r\n </div>\r\n </div>\r\n <div class=\"subtext-container\">\r\n <!-- LabelDescription-->\r\n <div class=\"bbsf-control-desc\" *ngIf=\"options.LabelDescription!=null\">{{options.LabelDescription}}</div>\r\n </div>\r\n</div>\r\n" }]
81
- }], ctorParameters: () => [{ type: i1.ControlUtility }, { type: i2.ControlContainer, decorators: [{
82
- type: Optional
83
- }] }, { type: i2.FormGroupDirective }, { type: i2.FormGroupDirective }, { type: i3.UtilityService }, { type: i3.ControlValidationService }, { type: i4.GlobalSettings }], propDecorators: { group: [{
84
- type: Input
85
- }], options: [{
86
- type: Input
87
- }], OnChange: [{
88
- type: Output
89
- }] } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlc2xpZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1jb250cm9scy9zcmMvbGliL2NvbnRyb2xzL1RvZ2dsZXNsaWRlL3RvZ2dsZXNsaWRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtY29udHJvbHMvc3JjL2xpYi9jb250cm9scy9Ub2dnbGVzbGlkZS9Ub2dnbGVzbGlkZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQW9FLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7O0FBVy9HLE1BQU0sT0FBTyxvQkFBb0I7YUFHeEIsMkJBQXNCLEdBQUcsSUFBSSxBQUFQLENBQVE7SUFDckMsNENBQTRDO0lBQzVDLFlBQW9CLGNBQThCLEVBQXNCLGdCQUFrQyxFQUNqRyxzQkFBMEMsRUFBUyxlQUFtQyxFQUN0RixjQUE4QixFQUFVLHdCQUFrRCxFQUN6RixjQUE4QjtRQUhwQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBc0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqRywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQW9CO1FBQVMsb0JBQWUsR0FBZixlQUFlLENBQW9CO1FBQ3RGLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFVLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDekYsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBSzlCLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXhDLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBUGhDLG9CQUFvQixDQUFD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RyxLQUFLLENBQUE7U0FDOUI7UUFFRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMseUJBQXlCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFHRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQTtRQUNuQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUNyRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUU7WUFDN0YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUE7U0FDMUc7SUFDSCxDQUFDOzhHQTdFVSxvQkFBb0I7a0dBQXBCLG9CQUFvQiwySUNaakMseXdDQXVCQTs7MkZEWGEsb0JBQW9CO2tCQUpoQyxTQUFTOytCQUNFLGtCQUFrQjs7MEJBUXlCLFFBQVE7NE1BTXBELEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3B0aW9uYWwsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgQ29udHJvbENvbnRhaW5lciwgRm9ybUdyb3VwRGlyZWN0aXZlLCBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDb250cm9sVXRpbGl0eSB9IGZyb20gJy4uLy4uL1NoYXJlZC9zZXJ2aWNlcy9Db250cm9sVXRpbGl0eSc7XHJcbmltcG9ydCB7IFRvZ2dsZVNsaWRlT3B0aW9ucyB9IGZyb20gJy4uLy4uL1NoYXJlZC9Nb2RlbHMvVG9nZ2xlc2xpZGVPcHRpb25zJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbGlkYXRpb25TZXJ2aWNlLCBVdGlsaXR5U2VydmljZSB9IGZyb20gICdAYm5zaWdodHMvYmJzZi11dGlsaXRpZXMnO1xyXG5pbXBvcnQgeyBHbG9iYWxTZXR0aW5ncyB9IGZyb20gJy4uLy4uL1NoYXJlZC9zZXJ2aWNlcy9HbG9iYWxTZXR0aW5ncy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdCQlNGLVRvZ2dsZXNsaWRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vVG9nZ2xlc2xpZGUuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUb2dnbGVzbGlkZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG5cclxuICBzdGF0aWMgY29udHJvbENvbnRhaW5lcnN0YXRpYyA9IG51bGw7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBtYXgtbGluZS1sZW5ndGhcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbnRyb2xVdGlsaXR5OiBDb250cm9sVXRpbGl0eSwgQE9wdGlvbmFsKCkgcHJpdmF0ZSBjb250cm9sQ29udGFpbmVyOiBDb250cm9sQ29udGFpbmVyLFxyXG4gICAgcHVibGljIFRvZ2dsZXNsaWRlQ29udHJvbEhvc3Q6IEZvcm1Hcm91cERpcmVjdGl2ZSwgcHVibGljIFRleHRDb250cm9sSG9zdDogRm9ybUdyb3VwRGlyZWN0aXZlLFxyXG4gICAgcHVibGljIFV0aWxpdHlTZXJ2aWNlOiBVdGlsaXR5U2VydmljZSwgcHJpdmF0ZSBjb250cm9sVmFsaWRhdGlvblNlcnZpY2U6IENvbnRyb2xWYWxpZGF0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgZ2xvYmFsU2V0dGluZ3M6IEdsb2JhbFNldHRpbmdzKSB7XHJcbiAgICBUb2dnbGVzbGlkZUNvbXBvbmVudC5jb250cm9sQ29udGFpbmVyc3RhdGljID0gdGhpcy5jb250cm9sQ29udGFpbmVyO1xyXG4gIH1cclxuICBASW5wdXQoKSBncm91cDogRm9ybUdyb3VwO1xyXG4gIEBJbnB1dCgpIG9wdGlvbnM6IFRvZ2dsZVNsaWRlT3B0aW9ucztcclxuICBAT3V0cHV0KCkgT25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgVG9nZ2xlc2xpZGVGb3JtQ29udHJvbDogQWJzdHJhY3RDb250cm9sO1xyXG4gIFNsaWRlVmFsdWU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBtYXJrQWxsQXNUb3VjaGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgdGV4dERpcjtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZih0aGlzLm9wdGlvbnMuRm9yY2VEaXJlY3Rpb24pXHJcbiAgICB0aGlzLnRleHREaXI9dGhpcy5vcHRpb25zLkZvcmNlRGlyZWN0aW9uPT0yPydydGwnOidsdHInO1xyXG4gICAgZWxzZVxyXG4gICAgdGhpcy50ZXh0RGlyPWxvY2FsU3RvcmFnZS5nZXRJdGVtKCdsYW5ndWFnZScpPT0nYXInPydydGwnOidsdHInO1xyXG4gICAgdGhpcy5ncm91cC5hZGRDb250cm9sKHRoaXMub3B0aW9ucy5OYW1lLCBuZXcgRm9ybUNvbnRyb2woJycpKTtcclxuICAgIHRoaXMuVG9nZ2xlc2xpZGVGb3JtQ29udHJvbCA9IHRoaXMuZ3JvdXAuY29udHJvbHNbdGhpcy5vcHRpb25zLk5hbWVdOyAvLyAgbmV3IEZvcm1Db250cm9sKCcnLHZhbGlkYXRpb25SdWxlcyk7XHJcbiAgICBsZXQgdmFsaWRhdGlvblJ1bGVzID0gW107XHJcbiAgICBsZXQgdmFsaWRhdGlvblJ1bGVzYXN5bmMgPSBbXTtcclxuICAgIHRoaXMuU2xpZGVWYWx1ZSA9IHRoaXMub3B0aW9ucy5WYWx1ZSA9PSB1bmRlZmluZWQgPyBmYWxzZSA6IHRoaXMub3B0aW9ucy5WYWx1ZTtcclxuXHJcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5WaWV3VHlwZSlcclxuICAgICAgdGhpcy5vcHRpb25zLlZpZXdUeXBlID0gdGhpcy5nbG9iYWxTZXR0aW5ncy5WaWV3VHlwZTtcclxuXHJcbiAgICAgIGlmICh0aGlzLm9wdGlvbnMuSXNEaXNhYmxlZCB8fHRoaXMub3B0aW9ucy5Jc1JlYWRvbmx5ICkge1xyXG4gICAgICAgIHRoaXMuVG9nZ2xlc2xpZGVGb3JtQ29udHJvbC5kaXNhYmxlKCk7XHJcbiAgICAgIH1cclxuICAgIGlmICh0aGlzLm9wdGlvbnMuTGFiZWxLZXkgIT0gbnVsbCAmJiB0aGlzLm9wdGlvbnMuTGFiZWxLZXkgIT0gXCJcIilcclxuICAgICAgdGhpcy5vcHRpb25zLkxhYmVsVmFsdWUgPSB0aGlzLlV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUodGhpcy5vcHRpb25zLkxhYmVsS2V5KTtcclxuICB9XHJcblxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5vcHRpb25zLkF0dHJpYnV0ZUxpc3QgIT0gbnVsbCkge1xyXG4gICAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMub3B0aW9ucy5OYW1lKTtcclxuICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHRoaXMub3B0aW9ucy5BdHRyaWJ1dGVMaXN0Lmxlbmd0aDsgaW5kZXgrKykge1xyXG4gICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKHRoaXMub3B0aW9ucy5BdHRyaWJ1dGVMaXN0W2luZGV4XS5LZXksIHRoaXMub3B0aW9ucy5BdHRyaWJ1dGVMaXN0W2luZGV4XS52YWx1ZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgcmVzZXRFcnJvcigpIHtcclxuICAgIHRoaXMuY29udHJvbFZhbGlkYXRpb25TZXJ2aWNlLnJlbW92ZUdsb2JhbEVycm9yKCk7XHJcbiAgfVxyXG5cclxuICBzaG93R2xvYmFsRXJyb3IoKSB7XHJcbiAgICB0aGlzLmNvbnRyb2xVdGlsaXR5LnNob3dHbG9iYWxFcnJvcigpXHJcbiAgfVxyXG5cclxuICBnZXRFcnJvclZhbGlkYXRpb24oRXJyb3JMaXN0OiBhbnlbXSk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5tYXJrQWxsQXNUb3VjaGVkICYmIHRoaXMuZ3JvdXAuaW52YWxpZCkge1xyXG4gICAgICB0aGlzLnNob3dHbG9iYWxFcnJvcigpXHJcbiAgICAgIHRoaXMubWFya0FsbEFzVG91Y2hlZCA9IGZhbHNlXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuY29udHJvbFV0aWxpdHkuZ2V0RXJyb3JWYWxpZGF0aW9uTWFzc2FnZShFcnJvckxpc3QsIHRoaXMuZ3JvdXAsIHRoaXMub3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuXHJcbiAgY2hhbmdlVmFsdWVUb2dnbGUoKSB7XHJcbiAgICB0aGlzLk9uQ2hhbmdlLmVtaXQodGhpcy5TbGlkZVZhbHVlKVxyXG4gICAgdGhpcy5vcHRpb25zLlZhbHVlPSB0aGlzLlNsaWRlVmFsdWVcclxuICAgIHRoaXMuVG9nZ2xlc2xpZGVGb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLlNsaWRlVmFsdWUpXHJcbiAgICBpZiAodGhpcy5vcHRpb25zLlBhdGNoRnVuY3Rpb24gJiYgdGhpcy5vcHRpb25zLlBhdGNoUGF0aCAmJiB0aGlzLlRvZ2dsZXNsaWRlRm9ybUNvbnRyb2wudmFsaWQpIHtcclxuICAgICAgdGhpcy5jb250cm9sVXRpbGl0eS5wYXRjaENvbnRyb2xWYWx1ZSh0aGlzLlNsaWRlVmFsdWUsdGhpcy5vcHRpb25zLlBhdGNoRnVuY3Rpb24gLHRoaXMub3B0aW9ucy5QYXRjaFBhdGgpXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGJic2YtY29udHJvbCBiYnNmLXRvZ2dsZXNsaWRlXCIgW2Zvcm1Hcm91cF09XCJncm91cFwiPlxyXG4gIDxkaXYgW25nQ2xhc3NdPVwiKG9wdGlvbnMuVmlld1R5cGU9PTEpPydiYnNmLXZlcnRpY2FsJzonYmJzZi1ob3Jpem9udGFsJ1wiPlxyXG4gICAgPCEtLWxhYmVsLS0+XHJcbiAgICA8bGFiZWwgW2hpZGRlbl09XCJvcHRpb25zLkhpZGVMYWJlbFwiIGNsYXNzPVwiYmJzZi1sYWJlbCB7e29wdGlvbnMuTGFiZWxFeHRyYUNsYXNzZXN9fVwiPlxyXG4gICAgICB7e29wdGlvbnMuTGFiZWxWYWx1ZX19XHJcbiAgICA8L2xhYmVsPlxyXG4gICAgPGRpdiAqbmdJZj1cIiFvcHRpb25zLklzUmVhZG9ubHlcImNsYXNzPVwiYmJzZi1pbnB1dC1jb250YWluZXJcIj5cclxuICAgICAgPCEtLWlucHV0LS0+XHJcbiAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIFsobmdNb2RlbCldPVwiU2xpZGVWYWx1ZVwiIFtkaXJdPVwidGV4dERpclwiIFtjc3NDbGFzc109XCIob3B0aW9ucy5WaWV3VHlwZT09MSk/Jyc6J2NvbC1tZC05J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInt7b3B0aW9ucy5OYW1lfX1cIiBkaXNhYmxlUmlwcGxlPVwidHJ1ZVwiIFtkaXNhYmxlZF09XCJvcHRpb25zLklzRGlzYWJsZWRcIiAoY2hhbmdlKT1cImNoYW5nZVZhbHVlVG9nZ2xlKClcIj5cclxuICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgPC9kaXY+XHJcbiAgICAgIDwhLS0gcmVhZG9ubHkgLS0+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJvcHRpb25zLklzUmVhZG9ubHlcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInJlYWRvbmx5LXZpZXdcIiAqbmdJZj1cIm9wdGlvbnMuVmFsdWVcIj57e1V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJZZXNcIil9fTwvc3Bhbj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInJlYWRvbmx5LXZpZXdcIiAqbmdJZj1cIiFvcHRpb25zLlZhbHVlXCI+e3tVdGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiTm9cIil9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInN1YnRleHQtY29udGFpbmVyXCI+XHJcbiAgICA8IS0tIExhYmVsRGVzY3JpcHRpb24tLT5cclxuICAgIDxkaXYgY2xhc3M9XCJiYnNmLWNvbnRyb2wtZGVzY1wiICAqbmdJZj1cIm9wdGlvbnMuTGFiZWxEZXNjcmlwdGlvbiE9bnVsbFwiPnt7b3B0aW9ucy5MYWJlbERlc2NyaXB0aW9ufX08L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==