@bnsights/bbsf-controls 1.0.87 → 1.0.88

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 (219) hide show
  1. package/README.md +2 -3
  2. package/bnsights-bbsf-controls-1.0.88.tgz +0 -0
  3. package/bnsights-bbsf-controls.d.ts +1 -1
  4. package/bnsights-bbsf-controls.metadata.json +1 -0
  5. package/bundles/bnsights-bbsf-controls.umd.js +9434 -0
  6. package/bundles/bnsights-bbsf-controls.umd.js.map +1 -0
  7. package/esm2015/bnsights-bbsf-controls.js +6 -0
  8. package/esm2015/lib/Shared/Directives/template-name.directive.js +18 -0
  9. package/{esm2020/lib/Shared/Models/datePickerOptions.mjs → esm2015/lib/Shared/Models/datePickerOptions.js} +1 -1
  10. package/esm2015/lib/Shared/Pipes/bbsf-date-time.pipe.js +20 -0
  11. package/esm2015/lib/Shared/Pipes/bbsf-date.pipe.js +20 -0
  12. package/esm2015/lib/Shared/components/app-base-component.js +202 -0
  13. package/esm2015/lib/Shared/components/ng-tag-input.js +323 -0
  14. package/esm2015/lib/Shared/default_intl.js +29 -0
  15. package/esm2015/lib/Shared/services/ControlUtility.js +164 -0
  16. package/esm2015/lib/Shared/services/GlobalSettings.service.js +28 -0
  17. package/esm2015/lib/Shared/services/OnPagingFiltersChange.service.js +22 -0
  18. package/esm2015/lib/Shared/services/render-component-service.service.js +30 -0
  19. package/esm2015/lib/Shared/services/validationErrorMassage.service.js +137 -0
  20. package/esm2015/lib/controls/AutocompleteTextBox/AutocompleteTextBox.component.js +248 -0
  21. package/esm2015/lib/controls/Calendar/Calendar.component.js +176 -0
  22. package/esm2015/lib/controls/CheckBox/CheckBox.component.js +114 -0
  23. package/esm2015/lib/controls/ConfirmationModal/ConfirmationModal.component.js +139 -0
  24. package/esm2015/lib/controls/DateTimePicker/DateTimePicker.component.js +215 -0
  25. package/esm2015/lib/controls/DropdownList/DropdownList.component.js +178 -0
  26. package/esm2015/lib/controls/FileUplaod/FileUplaod.component.js +451 -0
  27. package/esm2015/lib/controls/Form/Form.component.js +106 -0
  28. package/esm2015/lib/controls/HtmlEditor/HtmlEditor.component.js +222 -0
  29. package/esm2015/lib/controls/ImageUpload/ImageUpload.component.js +347 -0
  30. package/esm2015/lib/controls/MapAutoComplete/MapAutoComplete.component.js +325 -0
  31. package/esm2015/lib/controls/MultiLingualHtmlEditor/MultiLingualHtmlEditor.component.js +429 -0
  32. package/esm2015/lib/controls/MultiLingualTextArea/MultiLingualTextArea.component.js +430 -0
  33. package/esm2015/lib/controls/MultiLingualTextBox/MultiLingualTextBox.component.js +429 -0
  34. package/esm2015/lib/controls/Paging/JwPagination.component.js +129 -0
  35. package/esm2015/lib/controls/Paging/Paging.component.js +312 -0
  36. package/esm2015/lib/controls/Phone/Phone.component.js +119 -0
  37. package/esm2015/lib/controls/ProfileImageUploader/ProfileImageUploader.component.js +349 -0
  38. package/esm2015/lib/controls/RadioButton/RadioButton.component.js +108 -0
  39. package/esm2015/lib/controls/Recaptcha/Recaptcha.component.js +131 -0
  40. package/esm2015/lib/controls/Repeater/repeater/repeater.component.js +117 -0
  41. package/esm2015/lib/controls/Repeater/repeater-field-builder/repeater-field-builder.component.js +748 -0
  42. package/esm2015/lib/controls/Repeater/repeater-item-field/repeater-item-field.component.js +19 -0
  43. package/esm2015/lib/controls/Repeater/repeater-table/repeater-table.component.js +108 -0
  44. package/esm2015/lib/controls/TagsInput/TagsInput.component.js +268 -0
  45. package/esm2015/lib/controls/TextArea/TextArea.component.js +191 -0
  46. package/esm2015/lib/controls/TextBox/TextBox.component.js +262 -0
  47. package/esm2015/lib/controls/Toggleslide/toggleslide.component.js +83 -0
  48. package/esm2015/lib/controls/bbsf-controls.module.js +243 -0
  49. package/esm2015/lib/controls/page-header-component/page-header-component.component.js +32 -0
  50. package/fesm2015/{bnsights-bbsf-controls.mjs → bnsights-bbsf-controls.js} +1506 -1645
  51. package/fesm2015/bnsights-bbsf-controls.js.map +1 -0
  52. package/lib/Shared/Directives/template-name.directive.d.ts +0 -3
  53. package/lib/Shared/Models/datePickerOptions.d.ts +1 -1
  54. package/lib/Shared/Pipes/bbsf-date-time.pipe.d.ts +0 -3
  55. package/lib/Shared/Pipes/bbsf-date.pipe.d.ts +0 -3
  56. package/lib/Shared/components/app-base-component.d.ts +1 -3
  57. package/lib/Shared/components/ng-tag-input.d.ts +0 -3
  58. package/lib/Shared/default_intl.d.ts +0 -3
  59. package/lib/Shared/services/ControlUtility.d.ts +0 -3
  60. package/lib/Shared/services/GlobalSettings.service.d.ts +0 -3
  61. package/lib/Shared/services/OnPagingFiltersChange.service.d.ts +0 -3
  62. package/lib/Shared/services/render-component-service.service.d.ts +0 -3
  63. package/lib/Shared/services/validationErrorMassage.service.d.ts +0 -3
  64. package/lib/controls/AutocompleteTextBox/AutocompleteTextBox.component.d.ts +0 -4
  65. package/lib/controls/Calendar/Calendar.component.d.ts +0 -3
  66. package/lib/controls/CheckBox/CheckBox.component.d.ts +0 -4
  67. package/lib/controls/ConfirmationModal/ConfirmationModal.component.d.ts +0 -3
  68. package/lib/controls/DateTimePicker/DateTimePicker.component.d.ts +2 -8
  69. package/lib/controls/DropdownList/DropdownList.component.d.ts +0 -4
  70. package/lib/controls/FileUplaod/FileUplaod.component.d.ts +0 -3
  71. package/lib/controls/Form/Form.component.d.ts +0 -3
  72. package/lib/controls/HtmlEditor/HtmlEditor.component.d.ts +0 -4
  73. package/lib/controls/ImageUpload/ImageUpload.component.d.ts +0 -3
  74. package/lib/controls/MapAutoComplete/MapAutoComplete.component.d.ts +0 -3
  75. package/lib/controls/MultiLingualHtmlEditor/MultiLingualHtmlEditor.component.d.ts +0 -3
  76. package/lib/controls/MultiLingualTextArea/MultiLingualTextArea.component.d.ts +0 -3
  77. package/lib/controls/MultiLingualTextBox/MultiLingualTextBox.component.d.ts +0 -3
  78. package/lib/controls/Paging/JwPagination.component.d.ts +0 -3
  79. package/lib/controls/Paging/Paging.component.d.ts +0 -3
  80. package/lib/controls/Phone/Phone.component.d.ts +1 -7
  81. package/lib/controls/ProfileImageUploader/ProfileImageUploader.component.d.ts +0 -3
  82. package/lib/controls/RadioButton/RadioButton.component.d.ts +0 -3
  83. package/lib/controls/Recaptcha/Recaptcha.component.d.ts +0 -4
  84. package/lib/controls/Repeater/repeater/repeater.component.d.ts +0 -3
  85. package/lib/controls/Repeater/repeater-field-builder/repeater-field-builder.component.d.ts +0 -3
  86. package/lib/controls/Repeater/repeater-item-field/repeater-item-field.component.d.ts +0 -3
  87. package/lib/controls/Repeater/repeater-table/repeater-table.component.d.ts +0 -3
  88. package/lib/controls/TagsInput/TagsInput.component.d.ts +0 -4
  89. package/lib/controls/TextArea/TextArea.component.d.ts +0 -4
  90. package/lib/controls/TextBox/TextBox.component.d.ts +0 -4
  91. package/lib/controls/Toggleslide/toggleslide.component.d.ts +0 -4
  92. package/lib/controls/bbsf-controls.module.d.ts +0 -74
  93. package/lib/controls/page-header-component/page-header-component.component.d.ts +0 -3
  94. package/package.json +8 -20
  95. package/bnsights-bbsf-controls-1.0.87.tgz +0 -0
  96. package/esm2020/bnsights-bbsf-controls.mjs +0 -5
  97. package/esm2020/lib/Shared/Directives/template-name.directive.mjs +0 -18
  98. package/esm2020/lib/Shared/Pipes/bbsf-date-time.pipe.mjs +0 -21
  99. package/esm2020/lib/Shared/Pipes/bbsf-date.pipe.mjs +0 -21
  100. package/esm2020/lib/Shared/components/app-base-component.mjs +0 -198
  101. package/esm2020/lib/Shared/components/ng-tag-input.mjs +0 -336
  102. package/esm2020/lib/Shared/default_intl.mjs +0 -29
  103. package/esm2020/lib/Shared/services/ControlUtility.mjs +0 -162
  104. package/esm2020/lib/Shared/services/GlobalSettings.service.mjs +0 -30
  105. package/esm2020/lib/Shared/services/OnPagingFiltersChange.service.mjs +0 -24
  106. package/esm2020/lib/Shared/services/render-component-service.service.mjs +0 -30
  107. package/esm2020/lib/Shared/services/validationErrorMassage.service.mjs +0 -137
  108. package/esm2020/lib/controls/AutocompleteTextBox/AutocompleteTextBox.component.mjs +0 -245
  109. package/esm2020/lib/controls/Calendar/Calendar.component.mjs +0 -172
  110. package/esm2020/lib/controls/CheckBox/CheckBox.component.mjs +0 -114
  111. package/esm2020/lib/controls/ConfirmationModal/ConfirmationModal.component.mjs +0 -136
  112. package/esm2020/lib/controls/DateTimePicker/DateTimePicker.component.mjs +0 -217
  113. package/esm2020/lib/controls/DropdownList/DropdownList.component.mjs +0 -179
  114. package/esm2020/lib/controls/FileUplaod/FileUplaod.component.mjs +0 -453
  115. package/esm2020/lib/controls/Form/Form.component.mjs +0 -101
  116. package/esm2020/lib/controls/HtmlEditor/HtmlEditor.component.mjs +0 -223
  117. package/esm2020/lib/controls/ImageUpload/ImageUpload.component.mjs +0 -350
  118. package/esm2020/lib/controls/MapAutoComplete/MapAutoComplete.component.mjs +0 -325
  119. package/esm2020/lib/controls/MultiLingualHtmlEditor/MultiLingualHtmlEditor.component.mjs +0 -427
  120. package/esm2020/lib/controls/MultiLingualTextArea/MultiLingualTextArea.component.mjs +0 -427
  121. package/esm2020/lib/controls/MultiLingualTextBox/MultiLingualTextBox.component.mjs +0 -426
  122. package/esm2020/lib/controls/Paging/JwPagination.component.mjs +0 -156
  123. package/esm2020/lib/controls/Paging/Paging.component.mjs +0 -312
  124. package/esm2020/lib/controls/Phone/Phone.component.mjs +0 -124
  125. package/esm2020/lib/controls/ProfileImageUploader/ProfileImageUploader.component.mjs +0 -354
  126. package/esm2020/lib/controls/RadioButton/RadioButton.component.mjs +0 -106
  127. package/esm2020/lib/controls/Recaptcha/Recaptcha.component.mjs +0 -132
  128. package/esm2020/lib/controls/Repeater/repeater/repeater.component.mjs +0 -125
  129. package/esm2020/lib/controls/Repeater/repeater-field-builder/repeater-field-builder.component.mjs +0 -750
  130. package/esm2020/lib/controls/Repeater/repeater-item-field/repeater-item-field.component.mjs +0 -21
  131. package/esm2020/lib/controls/Repeater/repeater-table/repeater-table.component.mjs +0 -108
  132. package/esm2020/lib/controls/TagsInput/TagsInput.component.mjs +0 -268
  133. package/esm2020/lib/controls/TextArea/TextArea.component.mjs +0 -192
  134. package/esm2020/lib/controls/TextBox/TextBox.component.mjs +0 -266
  135. package/esm2020/lib/controls/Toggleslide/toggleslide.component.mjs +0 -84
  136. package/esm2020/lib/controls/bbsf-controls.module.mjs +0 -401
  137. package/esm2020/lib/controls/page-header-component/page-header-component.component.mjs +0 -37
  138. package/fesm2015/bnsights-bbsf-controls.mjs.map +0 -1
  139. package/fesm2020/bnsights-bbsf-controls.mjs +0 -8938
  140. package/fesm2020/bnsights-bbsf-controls.mjs.map +0 -1
  141. /package/{esm2020/lib/Shared/Enums/CalendarView.mjs → esm2015/lib/Shared/Enums/CalendarView.js} +0 -0
  142. /package/{esm2020/lib/Shared/Enums/ControlLayout.mjs → esm2015/lib/Shared/Enums/ControlLayout.js} +0 -0
  143. /package/{esm2020/lib/Shared/Enums/Countries.mjs → esm2015/lib/Shared/Enums/Countries.js} +0 -0
  144. /package/{esm2020/lib/Shared/Enums/Enums.mjs → esm2015/lib/Shared/Enums/Enums.js} +0 -0
  145. /package/{esm2020/lib/Shared/Enums/FileType.mjs → esm2015/lib/Shared/Enums/FileType.js} +0 -0
  146. /package/{esm2020/lib/Shared/Enums/FilterType.mjs → esm2015/lib/Shared/Enums/FilterType.js} +0 -0
  147. /package/{esm2020/lib/Shared/Enums/FontSize.mjs → esm2015/lib/Shared/Enums/FontSize.js} +0 -0
  148. /package/{esm2020/lib/Shared/Enums/ForceDirection.mjs → esm2015/lib/Shared/Enums/ForceDirection.js} +0 -0
  149. /package/{esm2020/lib/Shared/Enums/IconPosition.mjs → esm2015/lib/Shared/Enums/IconPosition.js} +0 -0
  150. /package/{esm2020/lib/Shared/Enums/ImageType.mjs → esm2015/lib/Shared/Enums/ImageType.js} +0 -0
  151. /package/{esm2020/lib/Shared/Enums/InputType.mjs → esm2015/lib/Shared/Enums/InputType.js} +0 -0
  152. /package/{esm2020/lib/Shared/Enums/Insert.mjs → esm2015/lib/Shared/Enums/Insert.js} +0 -0
  153. /package/{esm2020/lib/Shared/Enums/LanguageMode.mjs → esm2015/lib/Shared/Enums/LanguageMode.js} +0 -0
  154. /package/{esm2020/lib/Shared/Enums/LanguageValidation.mjs → esm2015/lib/Shared/Enums/LanguageValidation.js} +0 -0
  155. /package/{esm2020/lib/Shared/Enums/Misc.mjs → esm2015/lib/Shared/Enums/Misc.js} +0 -0
  156. /package/{esm2020/lib/Shared/Enums/PagingActionMode.mjs → esm2015/lib/Shared/Enums/PagingActionMode.js} +0 -0
  157. /package/{esm2020/lib/Shared/Enums/Para.mjs → esm2015/lib/Shared/Enums/Para.js} +0 -0
  158. /package/{esm2020/lib/Shared/Enums/PickerType.mjs → esm2015/lib/Shared/Enums/PickerType.js} +0 -0
  159. /package/{esm2020/lib/Shared/Enums/SelectMode.mjs → esm2015/lib/Shared/Enums/SelectMode.js} +0 -0
  160. /package/{esm2020/lib/Shared/Enums/StartView.mjs → esm2015/lib/Shared/Enums/StartView.js} +0 -0
  161. /package/{esm2020/lib/Shared/Enums/Style.mjs → esm2015/lib/Shared/Enums/Style.js} +0 -0
  162. /package/{esm2020/lib/Shared/Enums/StyleConfirmationMode.mjs → esm2015/lib/Shared/Enums/StyleConfirmationMode.js} +0 -0
  163. /package/{esm2020/lib/Shared/Enums/TagInputView.mjs → esm2015/lib/Shared/Enums/TagInputView.js} +0 -0
  164. /package/{esm2020/lib/Shared/Enums/menu-list-enum.mjs → esm2015/lib/Shared/Enums/menu-list-enum.js} +0 -0
  165. /package/{esm2020/lib/Shared/Models/Attribute.mjs → esm2015/lib/Shared/Models/Attribute.js} +0 -0
  166. /package/{esm2020/lib/Shared/Models/AutocompleteDTO.mjs → esm2015/lib/Shared/Models/AutocompleteDTO.js} +0 -0
  167. /package/{esm2020/lib/Shared/Models/AutocompleteOptions.mjs → esm2015/lib/Shared/Models/AutocompleteOptions.js} +0 -0
  168. /package/{esm2020/lib/Shared/Models/CalendarEventDTO.mjs → esm2015/lib/Shared/Models/CalendarEventDTO.js} +0 -0
  169. /package/{esm2020/lib/Shared/Models/CalendarOptions.mjs → esm2015/lib/Shared/Models/CalendarOptions.js} +0 -0
  170. /package/{esm2020/lib/Shared/Models/CancelDTO.mjs → esm2015/lib/Shared/Models/CancelDTO.js} +0 -0
  171. /package/{esm2020/lib/Shared/Models/CaptchaStyle.mjs → esm2015/lib/Shared/Models/CaptchaStyle.js} +0 -0
  172. /package/{esm2020/lib/Shared/Models/CheckBoxOptions.mjs → esm2015/lib/Shared/Models/CheckBoxOptions.js} +0 -0
  173. /package/{esm2020/lib/Shared/Models/ConfirmationModalOptions.mjs → esm2015/lib/Shared/Models/ConfirmationModalOptions.js} +0 -0
  174. /package/{esm2020/lib/Shared/Models/ControlOptionsBase.mjs → esm2015/lib/Shared/Models/ControlOptionsBase.js} +0 -0
  175. /package/{esm2020/lib/Shared/Models/CustomValidation.mjs → esm2015/lib/Shared/Models/CustomValidation.js} +0 -0
  176. /package/{esm2020/lib/Shared/Models/DropdownListItem.mjs → esm2015/lib/Shared/Models/DropdownListItem.js} +0 -0
  177. /package/{esm2020/lib/Shared/Models/DropdownOptions.mjs → esm2015/lib/Shared/Models/DropdownOptions.js} +0 -0
  178. /package/{esm2020/lib/Shared/Models/EditPersonalImage.mjs → esm2015/lib/Shared/Models/EditPersonalImage.js} +0 -0
  179. /package/{esm2020/lib/Shared/Models/EnglishArabicDTO.mjs → esm2015/lib/Shared/Models/EnglishArabicDTO.js} +0 -0
  180. /package/{esm2020/lib/Shared/Models/FileDTO.mjs → esm2015/lib/Shared/Models/FileDTO.js} +0 -0
  181. /package/{esm2020/lib/Shared/Models/FileUploadModel.mjs → esm2015/lib/Shared/Models/FileUploadModel.js} +0 -0
  182. /package/{esm2020/lib/Shared/Models/FileUploadOptions.mjs → esm2015/lib/Shared/Models/FileUploadOptions.js} +0 -0
  183. /package/{esm2020/lib/Shared/Models/FilterItem.mjs → esm2015/lib/Shared/Models/FilterItem.js} +0 -0
  184. /package/{esm2020/lib/Shared/Models/FormOptions.mjs → esm2015/lib/Shared/Models/FormOptions.js} +0 -0
  185. /package/{esm2020/lib/Shared/Models/HtmlEditorOptions.mjs → esm2015/lib/Shared/Models/HtmlEditorOptions.js} +0 -0
  186. /package/{esm2020/lib/Shared/Models/ImageUploadOptions.mjs → esm2015/lib/Shared/Models/ImageUploadOptions.js} +0 -0
  187. /package/{esm2020/lib/Shared/Models/MapAutoCompleteOptions.mjs → esm2015/lib/Shared/Models/MapAutoCompleteOptions.js} +0 -0
  188. /package/{esm2020/lib/Shared/Models/MapAutocompleteDTO.mjs → esm2015/lib/Shared/Models/MapAutocompleteDTO.js} +0 -0
  189. /package/{esm2020/lib/Shared/Models/MultiLingualHtmlEditorOptions.mjs → esm2015/lib/Shared/Models/MultiLingualHtmlEditorOptions.js} +0 -0
  190. /package/{esm2020/lib/Shared/Models/MultiLingualTextAreaOptions.mjs → esm2015/lib/Shared/Models/MultiLingualTextAreaOptions.js} +0 -0
  191. /package/{esm2020/lib/Shared/Models/MultilingualControlOptionsBase.mjs → esm2015/lib/Shared/Models/MultilingualControlOptionsBase.js} +0 -0
  192. /package/{esm2020/lib/Shared/Models/MultilingualTextBoxOptions.mjs → esm2015/lib/Shared/Models/MultilingualTextBoxOptions.js} +0 -0
  193. /package/{esm2020/lib/Shared/Models/MultipleFileUploadModel.mjs → esm2015/lib/Shared/Models/MultipleFileUploadModel.js} +0 -0
  194. /package/{esm2020/lib/Shared/Models/PagingDTO.mjs → esm2015/lib/Shared/Models/PagingDTO.js} +0 -0
  195. /package/{esm2020/lib/Shared/Models/PagingOptions.mjs → esm2015/lib/Shared/Models/PagingOptions.js} +0 -0
  196. /package/{esm2020/lib/Shared/Models/PagingPayload.mjs → esm2015/lib/Shared/Models/PagingPayload.js} +0 -0
  197. /package/{esm2020/lib/Shared/Models/PhoneOptions.mjs → esm2015/lib/Shared/Models/PhoneOptions.js} +0 -0
  198. /package/{esm2020/lib/Shared/Models/ProfileImageUploadOptions.mjs → esm2015/lib/Shared/Models/ProfileImageUploadOptions.js} +0 -0
  199. /package/{esm2020/lib/Shared/Models/ProfilePictureDTO.mjs → esm2015/lib/Shared/Models/ProfilePictureDTO.js} +0 -0
  200. /package/{esm2020/lib/Shared/Models/RadioButtonItem.mjs → esm2015/lib/Shared/Models/RadioButtonItem.js} +0 -0
  201. /package/{esm2020/lib/Shared/Models/RadioButtonOptions.mjs → esm2015/lib/Shared/Models/RadioButtonOptions.js} +0 -0
  202. /package/{esm2020/lib/Shared/Models/RangeNumber.mjs → esm2015/lib/Shared/Models/RangeNumber.js} +0 -0
  203. /package/{esm2020/lib/Shared/Models/Recaptcha.mjs → esm2015/lib/Shared/Models/Recaptcha.js} +0 -0
  204. /package/{esm2020/lib/Shared/Models/RecaptchaOptions.mjs → esm2015/lib/Shared/Models/RecaptchaOptions.js} +0 -0
  205. /package/{esm2020/lib/Shared/Models/RepeaterField.mjs → esm2015/lib/Shared/Models/RepeaterField.js} +0 -0
  206. /package/{esm2020/lib/Shared/Models/RepeaterOptions.mjs → esm2015/lib/Shared/Models/RepeaterOptions.js} +0 -0
  207. /package/{esm2020/lib/Shared/Models/SaveDTO.mjs → esm2015/lib/Shared/Models/SaveDTO.js} +0 -0
  208. /package/{esm2020/lib/Shared/Models/TagsInputDTO.mjs → esm2015/lib/Shared/Models/TagsInputDTO.js} +0 -0
  209. /package/{esm2020/lib/Shared/Models/TagsInputOptions.mjs → esm2015/lib/Shared/Models/TagsInputOptions.js} +0 -0
  210. /package/{esm2020/lib/Shared/Models/TextAreaOptions.mjs → esm2015/lib/Shared/Models/TextAreaOptions.js} +0 -0
  211. /package/{esm2020/lib/Shared/Models/TextBoxOptions.mjs → esm2015/lib/Shared/Models/TextBoxOptions.js} +0 -0
  212. /package/{esm2020/lib/Shared/Models/ToggleslideOptions.mjs → esm2015/lib/Shared/Models/ToggleslideOptions.js} +0 -0
  213. /package/{esm2020/lib/Shared/Models/UploadPersonalImage.mjs → esm2015/lib/Shared/Models/UploadPersonalImage.js} +0 -0
  214. /package/{esm2020/lib/Shared/Models/bread-crumb.mjs → esm2015/lib/Shared/Models/bread-crumb.js} +0 -0
  215. /package/{esm2020/lib/Shared/Models/control-filter-Item.mjs → esm2015/lib/Shared/Models/control-filter-Item.js} +0 -0
  216. /package/{esm2020/lib/Shared/Models/filter-options.mjs → esm2015/lib/Shared/Models/filter-options.js} +0 -0
  217. /package/{esm2020/lib/Shared/Models/page-header-options.mjs → esm2015/lib/Shared/Models/page-header-options.js} +0 -0
  218. /package/{esm2020/lib/Shared/config/environment.mjs → esm2015/lib/Shared/config/environment.js} +0 -0
  219. /package/{esm2020/public-api.mjs → esm2015/public-api.js} +0 -0
@@ -6,7 +6,6 @@ import { HttpClient } from '@angular/common/http';
6
6
  import { Observable, Subscription } from 'rxjs';
7
7
  import { ControlValidationService, RequestHandlerService, UtilityService } from '@bnsights/bbsf-utilities';
8
8
  import { GlobalSettings } from '../../Shared/services/GlobalSettings.service';
9
- import * as i0 from "@angular/core";
10
9
  export declare class TagsInputComponent implements OnInit, OnDestroy {
11
10
  private http;
12
11
  private controlUtility;
@@ -33,7 +32,6 @@ export declare class TagsInputComponent implements OnInit, OnDestroy {
33
32
  validationRulesasync: any[];
34
33
  changeValueSubscription: Subscription;
35
34
  SearchResultHasItems: boolean;
36
- textDir: any;
37
35
  static showErrorOfInputs(errors: any): void;
38
36
  ngOnDestroy(): void;
39
37
  ngOnInit(): void;
@@ -52,6 +50,4 @@ export declare class TagsInputComponent implements OnInit, OnDestroy {
52
50
  AddCustomValidation: (CustomValidation: any) => void;
53
51
  IsValid: () => void;
54
52
  onTagsInputBlur(SearchKey: any): void;
55
- static ɵfac: i0.ɵɵFactoryDeclaration<TagsInputComponent, [null, null, null, { optional: true; }, null, null, null, null]>;
56
- static ɵcmp: i0.ɵɵComponentDeclaration<TagsInputComponent, "BBSF-TagsInput", never, { "group": "group"; "options": "options"; }, { "OnChange": "OnChange"; }, never, never>;
57
53
  }
@@ -4,7 +4,6 @@ import { ControlValidationService, UtilityService } from '@bnsights/bbsf-utiliti
4
4
  import { ControlUtility } from '../../Shared/services/ControlUtility';
5
5
  import { TextAreaOptions } from '../../Shared/Models/TextAreaOptions';
6
6
  import { GlobalSettings } from '../../Shared/services/GlobalSettings.service';
7
- import * as i0 from "@angular/core";
8
7
  export declare class TextAreaComponent implements OnInit {
9
8
  private controlUtility;
10
9
  private controlContainer;
@@ -30,7 +29,6 @@ export declare class TextAreaComponent implements OnInit {
30
29
  charsLimitMsgClass: string;
31
30
  minCharsLimit: number;
32
31
  maxLimitWarningMsg: string;
33
- textDir: any;
34
32
  ngOnInit(): void;
35
33
  ngAfterViewInit(): void;
36
34
  resetError: () => void;
@@ -46,6 +44,4 @@ export declare class TextAreaComponent implements OnInit {
46
44
  RemoveCustomValidation: (CustomValidation: any) => void;
47
45
  AddCustomValidation: (CustomValidation: any) => void;
48
46
  IsValid: () => void;
49
- static ɵfac: i0.ɵɵFactoryDeclaration<TextAreaComponent, [null, { optional: true; }, null, null, null, null]>;
50
- static ɵcmp: i0.ɵɵComponentDeclaration<TextAreaComponent, "BBSF-TextArea", never, { "group": "group"; "options": "options"; }, { "OnChange": "OnChange"; }, never, never>;
51
47
  }
@@ -4,7 +4,6 @@ import { TextBoxOptions } from '../../Shared/Models/TextBoxOptions';
4
4
  import { ControlUtility } from '../../Shared/services/ControlUtility';
5
5
  import { ControlValidationService, UtilityService } from '@bnsights/bbsf-utilities';
6
6
  import { GlobalSettings } from '../../Shared/services/GlobalSettings.service';
7
- import * as i0 from "@angular/core";
8
7
  export declare class TextboxComponent implements OnInit {
9
8
  private controlUtility;
10
9
  private controlContainer;
@@ -39,7 +38,6 @@ export declare class TextboxComponent implements OnInit {
39
38
  charsLimitMsgClass: string;
40
39
  minCharsLimit: number;
41
40
  maxLimitWarningMsg: string;
42
- textDir: any;
43
41
  ngOnInit(): void;
44
42
  ngAfterViewInit(): void;
45
43
  resetError: () => void;
@@ -56,6 +54,4 @@ export declare class TextboxComponent implements OnInit {
56
54
  RemoveCustomValidation: (CustomValidation: any) => void;
57
55
  AddCustomValidation: (CustomValidation: any) => void;
58
56
  IsValid: () => void;
59
- static ɵfac: i0.ɵɵFactoryDeclaration<TextboxComponent, [null, { optional: true; }, null, null, null, null]>;
60
- static ɵcmp: i0.ɵɵComponentDeclaration<TextboxComponent, "BBSF-TextBox", never, { "group": "group"; "options": "options"; }, { "OnChange": "OnChange"; }, never, never>;
61
57
  }
@@ -4,7 +4,6 @@ import { ControlUtility } from '../../Shared/services/ControlUtility';
4
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
- import * as i0 from "@angular/core";
8
7
  export declare class ToggleslideComponent implements OnInit {
9
8
  private controlUtility;
10
9
  private controlContainer;
@@ -21,13 +20,10 @@ export declare class ToggleslideComponent implements OnInit {
21
20
  ToggleslideFormControl: AbstractControl;
22
21
  SlideValue: boolean;
23
22
  markAllAsTouched: boolean;
24
- textDir: any;
25
23
  ngOnInit(): void;
26
24
  ngAfterViewInit(): void;
27
25
  resetError(): void;
28
26
  showGlobalError(): void;
29
27
  getErrorValidation(ErrorList: any[]): string;
30
28
  changeValueToggle(): void;
31
- static ɵfac: i0.ɵɵFactoryDeclaration<ToggleslideComponent, [null, { optional: true; }, null, null, null, null, null]>;
32
- static ɵcmp: i0.ɵɵComponentDeclaration<ToggleslideComponent, "BBSF-Toggleslide", never, { "group": "group"; "options": "options"; }, { "OnChange": "OnChange"; }, never, never>;
33
29
  }
@@ -1,84 +1,10 @@
1
1
  import { Injector } from '@angular/core';
2
2
  import { IConfig } from 'ngx-mask';
3
3
  import { TranslateService } from '@ngx-translate/core';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./DateTimePicker/DateTimePicker.component";
6
- import * as i2 from "./FileUplaod/FileUplaod.component";
7
- import * as i3 from "./MultiLingualTextBox/MultiLingualTextBox.component";
8
- import * as i4 from "./TextBox/TextBox.component";
9
- import * as i5 from "./TextArea/TextArea.component";
10
- import * as i6 from "./MultiLingualTextArea/MultiLingualTextArea.component";
11
- import * as i7 from "./CheckBox/CheckBox.component";
12
- import * as i8 from "./DropdownList/DropdownList.component";
13
- import * as i9 from "./Phone/Phone.component";
14
- import * as i10 from "./Toggleslide/toggleslide.component";
15
- import * as i11 from "./HtmlEditor/HtmlEditor.component";
16
- import * as i12 from "./MultiLingualHtmlEditor/MultiLingualHtmlEditor.component";
17
- import * as i13 from "./ImageUpload/ImageUpload.component";
18
- import * as i14 from "./ProfileImageUploader/ProfileImageUploader.component";
19
- import * as i15 from "./Calendar/Calendar.component";
20
- import * as i16 from "./MapAutoComplete/MapAutoComplete.component";
21
- import * as i17 from "./AutocompleteTextBox/AutocompleteTextBox.component";
22
- import * as i18 from "./TagsInput/TagsInput.component";
23
- import * as i19 from "./Paging/Paging.component";
24
- import * as i20 from "./Paging/JwPagination.component";
25
- import * as i21 from "./RadioButton/RadioButton.component";
26
- import * as i22 from "./Form/Form.component";
27
- import * as i23 from "./ConfirmationModal/ConfirmationModal.component";
28
- import * as i24 from "./Repeater/repeater/repeater.component";
29
- import * as i25 from "./Repeater/repeater-field-builder/repeater-field-builder.component";
30
- import * as i26 from "../Shared/Directives/template-name.directive";
31
- import * as i27 from "./Repeater/repeater-item-field/repeater-item-field.component";
32
- import * as i28 from "./Repeater/repeater-table/repeater-table.component";
33
- import * as i29 from "../shared/Pipes/bbsf-date-time.pipe";
34
- import * as i30 from "../shared/Pipes/bbsf-date.pipe";
35
- import * as i31 from "../Shared/components/ng-tag-input";
36
- import * as i32 from "./Recaptcha/Recaptcha.component";
37
- import * as i33 from "./page-header-component/page-header-component.component";
38
- import * as i34 from "@angular/common";
39
- import * as i35 from "ngx-infinite-scroll";
40
- import * as i36 from "@ng-select/ng-select";
41
- import * as i37 from "ngx-tags-input";
42
- import * as i38 from "ngx-typeahead";
43
- import * as i39 from "@agm/core";
44
- import * as i40 from "@angular-material-extensions/google-maps-autocomplete";
45
- import * as i41 from "@fullcalendar/angular";
46
- import * as i42 from "angular-cropperjs";
47
- import * as i43 from "ngx-image-cropper";
48
- import * as i44 from "@ng-bootstrap/ng-bootstrap";
49
- import * as i45 from "ngx-dropzone";
50
- import * as i46 from "ng2-file-upload";
51
- import * as i47 from "@syncfusion/ej2-angular-popups";
52
- import * as i48 from "ngx-mask";
53
- import * as i49 from "ngx-summernote";
54
- import * as i50 from "@angular/material/slide-toggle";
55
- import * as i51 from "ngx-intl-tel-input";
56
- import * as i52 from "angular2-multiselect-dropdown";
57
- import * as i53 from "ng-multiselect-dropdown";
58
- import * as i54 from "ng-pick-datetime";
59
- import * as i55 from "ng-block-ui";
60
- import * as i56 from "@angular/forms";
61
- import * as i57 from "@angular/http";
62
- import * as i58 from "@angular/router";
63
- import * as i59 from "ngx-toastr";
64
- import * as i60 from "@angular/common/http";
65
- import * as i61 from "ngx-permissions";
66
- import * as i62 from "@angular/cdk/overlay";
67
- import * as i63 from "@ngrx/store-devtools";
68
- import * as i64 from "ngx-bootstrap/datepicker";
69
- import * as i65 from "ngx-bootstrap/typeahead";
70
- import * as i66 from "@kolkov/angular-editor";
71
- import * as i67 from "angular-ng-autocomplete";
72
- import * as i68 from "@bnsights/bbsf-utilities";
73
- import * as i69 from "ng-inline-svg";
74
- import * as i70 from "@sweetalert2/ngx-sweetalert2";
75
4
  export declare let options: Partial<IConfig> | (() => Partial<IConfig>);
76
5
  export declare let AppInjector: Injector;
77
6
  export declare class BBSFControlsModule {
78
7
  private injector;
79
8
  private translate;
80
9
  constructor(injector: Injector, translate: TranslateService);
81
- static ɵfac: i0.ɵɵFactoryDeclaration<BBSFControlsModule, never>;
82
- 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.NgxTagsInputModule, typeof i38.NgxTypeaheadModule, typeof i39.AgmCoreModule, typeof i40.MatGoogleMapsAutocompleteModule, typeof i41.FullCalendarModule, typeof i42.AngularCropperjsModule, typeof i43.ImageCropperModule, typeof i44.NgbModule, typeof i45.NgxDropzoneModule, typeof i46.FileUploadModule, typeof i47.TooltipModule, typeof i48.NgxMaskModule, typeof i49.NgxSummernoteModule, typeof i50.MatSlideToggleModule, typeof i51.NgxIntlTelInputModule, typeof i52.AngularMultiSelectModule, typeof i53.NgMultiSelectDropDownModule, typeof i54.OwlDateTimeModule, typeof i54.OwlNativeDateTimeModule, typeof i34.CommonModule, typeof i55.BlockUIModule, typeof i56.ReactiveFormsModule, typeof i57.HttpModule, typeof i58.RouterModule, typeof i59.ToastrModule, typeof i60.HttpClientModule, typeof i61.NgxPermissionsModule, typeof i62.OverlayModule, typeof i63.StoreDevtoolsModule, typeof i56.FormsModule, typeof i51.NgxIntlTelInputModule, typeof i51.NgxIntlTelInputModule, typeof i64.BsDatepickerModule, typeof i41.FullCalendarModule, typeof i65.TypeaheadModule, typeof i66.AngularEditorModule, typeof i67.AutocompleteLibModule, typeof i68.BBSFUtilitiesModule, typeof i69.InlineSVGModule, typeof i70.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]>;
83
- static ɵinj: i0.ɵɵInjectorDeclaration<BBSFControlsModule>;
84
10
  }
@@ -4,7 +4,6 @@ import { Router } from '@angular/router';
4
4
  import { UtilityService } from '@bnsights/bbsf-utilities';
5
5
  import { DataType } from '../../Shared/Enums/Enums';
6
6
  import { PageHeaderOptions } from '../../Shared/Models/page-header-options';
7
- import * as i0 from "@angular/core";
8
7
  export declare class PageHeaderComponentComponent implements OnInit {
9
8
  private router;
10
9
  utilityService: UtilityService;
@@ -15,6 +14,4 @@ export declare class PageHeaderComponentComponent implements OnInit {
15
14
  constructor(router: Router, utilityService: UtilityService);
16
15
  translate(key: string): string;
17
16
  ngOnInit(): void;
18
- static ɵfac: i0.ɵɵFactoryDeclaration<PageHeaderComponentComponent, never>;
19
- static ɵcmp: i0.ɵɵComponentDeclaration<PageHeaderComponentComponent, "bbsf-page-header-component", never, { "group": "group"; "options": "options"; }, {}, never, never>;
20
17
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bnsights/bbsf-controls",
3
- "version": "1.0.87",
3
+ "version": "1.0.88",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "~12.2.12",
6
6
  "@angular/core": "~12.2.12"
@@ -21,7 +21,7 @@
21
21
  "@angular/platform-browser": "~12.2.12",
22
22
  "@angular/platform-browser-dynamic": "~12.2.12",
23
23
  "@angular/router": "~12.2.12",
24
- "@bnsights/bbsf-utilities": "1.0.32",
24
+ "@bnsights/bbsf-utilities": "1.0.33",
25
25
  "@fortawesome/fontawesome-free": "^5.15.2",
26
26
  "@fullcalendar/angular": "^5.5.0",
27
27
  "@fullcalendar/core": "^5.5.0",
@@ -79,24 +79,12 @@
79
79
  "tslib": "^2.0.0",
80
80
  "zone.js": "~0.11.4"
81
81
  },
82
- "module": "fesm2015/bnsights-bbsf-controls.mjs",
83
- "es2020": "fesm2020/bnsights-bbsf-controls.mjs",
84
- "esm2020": "esm2020/bnsights-bbsf-controls.mjs",
85
- "fesm2020": "fesm2020/bnsights-bbsf-controls.mjs",
86
- "fesm2015": "fesm2015/bnsights-bbsf-controls.mjs",
82
+ "main": "bundles/bnsights-bbsf-controls.umd.js",
83
+ "module": "fesm2015/bnsights-bbsf-controls.js",
84
+ "es2015": "fesm2015/bnsights-bbsf-controls.js",
85
+ "esm2015": "esm2015/bnsights-bbsf-controls.js",
86
+ "fesm2015": "fesm2015/bnsights-bbsf-controls.js",
87
87
  "typings": "bnsights-bbsf-controls.d.ts",
88
- "exports": {
89
- "./package.json": {
90
- "default": "./package.json"
91
- },
92
- ".": {
93
- "types": "./bnsights-bbsf-controls.d.ts",
94
- "esm2020": "./esm2020/bnsights-bbsf-controls.mjs",
95
- "es2020": "./fesm2020/bnsights-bbsf-controls.mjs",
96
- "es2015": "./fesm2015/bnsights-bbsf-controls.mjs",
97
- "node": "./fesm2015/bnsights-bbsf-controls.mjs",
98
- "default": "./fesm2020/bnsights-bbsf-controls.mjs"
99
- }
100
- },
88
+ "metadata": "bnsights-bbsf-controls.metadata.json",
101
89
  "sideEffects": false
102
90
  }
Binary file
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm5zaWdodHMtYmJzZi1jb250cm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Jic2YtY29udHJvbHMvc3JjL2Juc2lnaHRzLWJic2YtY29udHJvbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,18 +0,0 @@
1
- import { Directive, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class NgTemplateNameDirective {
4
- constructor(template) {
5
- this.template = template;
6
- }
7
- }
8
- NgTemplateNameDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NgTemplateNameDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- NgTemplateNameDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: NgTemplateNameDirective, selector: "ng-template[name]", inputs: { name: "name" }, ngImport: i0 });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NgTemplateNameDirective, decorators: [{
11
- type: Directive,
12
- args: [{
13
- selector: 'ng-template[name]'
14
- }]
15
- }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; }, propDecorators: { name: [{
16
- type: Input
17
- }] } });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtbmFtZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWNvbnRyb2xzL3NyYy9saWIvU2hhcmVkL0RpcmVjdGl2ZXMvdGVtcGxhdGUtbmFtZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWUsTUFBTSxlQUFlLENBQUM7O0FBSzlELE1BQU0sT0FBTyx1QkFBdUI7SUFHbEMsWUFBbUIsUUFBMEI7UUFBMUIsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7SUFBSSxDQUFDOztxSEFIdkMsdUJBQXVCO3lHQUF2Qix1QkFBdUI7NEZBQXZCLHVCQUF1QjtrQkFIbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2lCQUM5QjtrR0FFVSxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICduZy10ZW1wbGF0ZVtuYW1lXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIE5nVGVtcGxhdGVOYW1lRGlyZWN0aXZlIHtcclxuICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PikgeyB9XHJcbn0iXX0=
@@ -1,21 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- export class BBSFDateTimePipe {
5
- constructor(datePipe) {
6
- this.datePipe = datePipe;
7
- }
8
- transform(value) {
9
- let latest_date = this.datePipe.transform(value, 'dd/MM/yyyy hh:mm a');
10
- return latest_date;
11
- }
12
- }
13
- BBSFDateTimePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BBSFDateTimePipe, deps: [{ token: i1.DatePipe }], target: i0.ɵɵFactoryTarget.Pipe });
14
- BBSFDateTimePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BBSFDateTimePipe, name: "bbsfDateTime" });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BBSFDateTimePipe, decorators: [{
16
- type: Pipe,
17
- args: [{
18
- name: 'bbsfDateTime'
19
- }]
20
- }], ctorParameters: function () { return [{ type: i1.DatePipe }]; } });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmJzZi1kYXRlLXRpbWUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtY29udHJvbHMvc3JjL2xpYi9zaGFyZWQvUGlwZXMvYmJzZi1kYXRlLXRpbWUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7O0FBS3BELE1BQU0sT0FBTyxnQkFBZ0I7SUFFM0IsWUFBbUIsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUFJLENBQUM7SUFDMUMsU0FBUyxDQUFDLEtBQVc7UUFDbkIsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLG9CQUFvQixDQUFDLENBQUM7UUFDdkUsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQzs7OEdBTlUsZ0JBQWdCOzRHQUFoQixnQkFBZ0I7NEZBQWhCLGdCQUFnQjtrQkFINUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsY0FBYztpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnYmJzZkRhdGVUaW1lJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQkJTRkRhdGVUaW1lUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGF0ZVBpcGU6IERhdGVQaXBlKSB7IH1cclxuICB0cmFuc2Zvcm0odmFsdWU6IERhdGUpIHtcclxuICAgIGxldCBsYXRlc3RfZGF0ZSA9IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHZhbHVlLCAnZGQvTU0veXl5eSBoaDptbSBhJyk7XHJcbiAgICByZXR1cm4gbGF0ZXN0X2RhdGU7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuIl19
@@ -1,21 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- export class BBSFDatePipe {
5
- constructor(datePipe) {
6
- this.datePipe = datePipe;
7
- }
8
- transform(value) {
9
- let latest_date = this.datePipe.transform(value, 'dd/MM/yyyy');
10
- return latest_date;
11
- }
12
- }
13
- BBSFDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BBSFDatePipe, deps: [{ token: i1.DatePipe }], target: i0.ɵɵFactoryTarget.Pipe });
14
- BBSFDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BBSFDatePipe, name: "bbsfDate" });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BBSFDatePipe, decorators: [{
16
- type: Pipe,
17
- args: [{
18
- name: 'bbsfDate'
19
- }]
20
- }], ctorParameters: function () { return [{ type: i1.DatePipe }]; } });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmJzZi1kYXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWNvbnRyb2xzL3NyYy9saWIvc2hhcmVkL1BpcGVzL2Jic2YtZGF0ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7QUFLcEQsTUFBTSxPQUFPLFlBQVk7SUFFdkIsWUFBbUIsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUFFLENBQUM7SUFDeEMsU0FBUyxDQUFDLEtBQVc7UUFDbkIsSUFBSSxXQUFXLEdBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzlELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7OzBHQU5VLFlBQVk7d0dBQVosWUFBWTs0RkFBWixZQUFZO2tCQUh4QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxVQUFVO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdiYnNmRGF0ZSdcclxufSlcclxuZXhwb3J0IGNsYXNzIEJCU0ZEYXRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGF0ZVBpcGU6IERhdGVQaXBlKXt9XHJcbiAgdHJhbnNmb3JtKHZhbHVlOiBEYXRlKSB7XHJcbiAgICBsZXQgbGF0ZXN0X2RhdGUgPXRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHZhbHVlLCAnZGQvTU0veXl5eScpO1xyXG4gICAgcmV0dXJuIGxhdGVzdF9kYXRlO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -1,198 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Title } from '@angular/platform-browser';
3
- import { UtilityService, AuthService, ConfigurationService, } from '@bnsights/bbsf-utilities';
4
- import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
5
- import { ControlUtility } from '../services/ControlUtility';
6
- import { CustomValidation } from '../Models/CustomValidation';
7
- import * as saveAs from 'file-saver';
8
- import { EnvironmentService } from '@bnsights/bbsf-utilities';
9
- import * as i0 from "@angular/core";
10
- export class AppBaseComponent {
11
- constructor(injector) {
12
- this.pageTitle = '';
13
- this.PageCount = 12;
14
- this.onSuccessAddHandler = (success) => {
15
- this.utilityService.notifySuccessMessage(this.l('RecordAdded'), null, null, false);
16
- };
17
- this.onSuccessEditHandler = (success) => {
18
- this.utilityService.notifySuccessMessage(this.l('RecordUpdated'), null, null, false);
19
- };
20
- this.onSuccessDeleteHandler = (success) => {
21
- this.utilityService.notifySuccessMessage(this.l('RecordDeleted'), null, null, false);
22
- };
23
- this.utilityService = injector.get(UtilityService);
24
- this.controlUtility = injector.get(ControlUtility);
25
- this.configurationService = injector.get(ConfigurationService);
26
- this.environmentService = injector.get(EnvironmentService);
27
- this.modalService = injector.get(NgbModal);
28
- this.titleService = injector.get(Title);
29
- this.auhService = injector.get(AuthService);
30
- this.exportLabel = this.utilityService.getResourceValue('Export');
31
- this.filtersLabel = this.utilityService.getResourceValue('Filters');
32
- this.addLabel = this.utilityService.getResourceValue('Add');
33
- this.userName = this.auhService.name();
34
- this.isEN = this.utilityService.isCurrentLanguageEnglish();
35
- }
36
- updatePageTitle(title) {
37
- this.titleService.setTitle(this.calculatePageTitle(title));
38
- }
39
- l(key) {
40
- return this.utilityService.getResourceValue(key);
41
- }
42
- getConfigurationValue(key) {
43
- return this.configurationService.getConfigurationValue(key);
44
- }
45
- getLanguageModeValue() {
46
- return this.configurationService.getConfigurationValue('LanguageMode');
47
- }
48
- stopBlockUI() {
49
- this.utilityService.stopBlockUI();
50
- }
51
- startBlockUI() {
52
- this.utilityService.startBlockUI();
53
- }
54
- openModal(modal, size) {
55
- if (size)
56
- this.modalService.open(modal, {
57
- size: size,
58
- backdrop: 'static',
59
- keyboard: false,
60
- });
61
- else
62
- this.modalService.open(modal, { backdrop: 'static', keyboard: false });
63
- }
64
- download(fileDTO, fileName) {
65
- /*let blob = new Blob([file]);*/
66
- let file = new Blob([fileDTO], {
67
- type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
68
- });
69
- saveAs(file, fileName);
70
- }
71
- downloadPDF(fileDTO, fileName) {
72
- let file = new Blob([fileDTO], { type: "application/pdf" });
73
- saveAs(file, fileName);
74
- }
75
- base64toBlob(base64Data, contentType) {
76
- contentType = contentType || '';
77
- var sliceSize = 1024;
78
- var byteCharacters = atob(base64Data);
79
- var bytesLength = byteCharacters.length;
80
- var slicesCount = Math.ceil(bytesLength / sliceSize);
81
- var byteArrays = new Array(slicesCount);
82
- for (var sliceIndex = 0; sliceIndex < slicesCount; ++sliceIndex) {
83
- var begin = sliceIndex * sliceSize;
84
- var end = Math.min(begin + sliceSize, bytesLength);
85
- var bytes = new Array(end - begin);
86
- for (var offset = begin, i = 0; offset < end; ++i, ++offset) {
87
- bytes[i] = byteCharacters[offset].charCodeAt(0);
88
- }
89
- byteArrays[sliceIndex] = new Uint8Array(bytes);
90
- }
91
- return new Blob(byteArrays, { type: contentType });
92
- }
93
- calculatePageTitle(title) {
94
- return title
95
- ? title.substring(0, 100) + ` | ${this.l('ApplicationName')}`
96
- : `${this.l('ApplicationName')}`;
97
- }
98
- getPagingFiltersValues(form, filters) {
99
- let model = new Object();
100
- for (var i = 0; i < filters.length; i++) {
101
- let filterItem = filters[i];
102
- if (form.controls[filterItem.FormControlName].value == undefined)
103
- continue;
104
- model[filterItem.ActionParameterName] =
105
- form.controls[filterItem.FormControlName].value == undefined
106
- ? ''
107
- : form.controls[filterItem.FormControlName].value;
108
- // params = params.append(filterItem.ActionParameterName, form.controls[filterItem.FormControlName].value == undefined ? '' : form.controls[filterItem.FormControlName].value);
109
- }
110
- return model;
111
- }
112
- removeControl(controlName, form) {
113
- form.removeControl(controlName);
114
- }
115
- copyToClipboard(val) {
116
- const selBox = document.createElement('textarea');
117
- selBox.style.position = 'fixed';
118
- selBox.style.left = '0';
119
- selBox.style.top = '0';
120
- selBox.style.opacity = '0';
121
- selBox.value = val;
122
- document.body.appendChild(selBox);
123
- selBox.focus();
124
- selBox.select();
125
- document.execCommand('copy');
126
- document.body.removeChild(selBox);
127
- this.utilityService.notifySuccessMessage(this.l('CopiedSuccessfully'));
128
- }
129
- addRequiredRule(control, controlOptions) {
130
- this.controlUtility.addRequiredToControl(control, controlOptions);
131
- }
132
- removeRequiredRule(control, controlOptions) {
133
- this.controlUtility.removeRequiredFromControl(control, controlOptions);
134
- }
135
- validateDates(form, fromDateControl, toDateControl, validationMessageKey) {
136
- var validator = new CustomValidation();
137
- validator.functionBody = (control) => {
138
- let fromDate = form.controls[fromDateControl].value;
139
- let toDate = form.controls[toDateControl].value;
140
- if (fromDate && toDate && toDate <= fromDate)
141
- return { customerError: true };
142
- return null;
143
- };
144
- validator.massage = this.l(validationMessageKey);
145
- return validator;
146
- }
147
- recalculatePageTitle() {
148
- this.titleService.setTitle(this.calculatePageTitle(''));
149
- }
150
- isEnglish() {
151
- return this.utilityService.isCurrentLanguageEnglish();
152
- }
153
- calculateInitials(name) {
154
- let language = localStorage.getItem('language');
155
- let currentUser = this.auhService.user.profile;
156
- console.log(currentUser);
157
- let userName = language == 'en' ? currentUser.given_nameEn : currentUser.given_nameAr;
158
- if (currentUser) {
159
- let fullName = userName.split(' ');
160
- let initials;
161
- if (fullName.length > 1) {
162
- if (this.isEN)
163
- initials = fullName.shift().charAt(0) + fullName.pop().charAt(0);
164
- else
165
- initials =
166
- fullName.shift().charAt(0) + ' ' + fullName.pop().charAt(0);
167
- }
168
- else {
169
- initials = fullName.pop().charAt(0);
170
- }
171
- return initials.toUpperCase();
172
- }
173
- return '';
174
- }
175
- getCurrentUserInitials() {
176
- return this.calculateInitials(this.auhService.name());
177
- }
178
- getCurrentFailOver(val) {
179
- if (this.isEnglish()) {
180
- if (val.English)
181
- return val.English;
182
- else
183
- return val.Arabic;
184
- }
185
- else {
186
- if (val.Arabic)
187
- return val.Arabic;
188
- else
189
- return val.English;
190
- }
191
- }
192
- }
193
- AppBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AppBaseComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
194
- AppBaseComponent.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AppBaseComponent });
195
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AppBaseComponent, decorators: [{
196
- type: Injectable
197
- }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWJhc2UtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1jb250cm9scy9zcmMvbGliL1NoYXJlZC9Db21wb25lbnRzL2FwcC1iYXNlLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVksVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsY0FBYyxFQUNkLFdBQVcsRUFDWCxvQkFBb0IsR0FDckIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTlELE9BQU8sS0FBSyxNQUFNLE1BQU0sWUFBWSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUc5RCxNQUFNLE9BQWdCLGdCQUFnQjtJQWdCcEMsWUFBWSxRQUFrQjtRQUZ2QixjQUFTLEdBQVcsRUFBRSxDQUFDO1FBQ3ZCLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFvSjlCLHdCQUFtQixHQUFHLENBQUMsT0FBWSxFQUFFLEVBQUU7WUFDckMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FDdEMsSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsRUFDckIsSUFBSSxFQUNKLElBQUksRUFDSixLQUFLLENBQ04sQ0FBQztRQUNKLENBQUMsQ0FBQztRQUVGLHlCQUFvQixHQUFHLENBQUMsT0FBWSxFQUFFLEVBQUU7WUFDdEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FDdEMsSUFBSSxDQUFDLENBQUMsQ0FB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RCxrQkFBa0IsQ0FBQyxHQUFxQjtRQUN0QyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNwQixJQUFJLEdBQUcsQ0FBQyxPQUFPO2dCQUFFLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQzs7Z0JBQy9CLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQztTQUN4QjthQUFNO1lBQ0wsSUFBSSxHQUFHLENBQUMsTUFBTTtnQkFBRSxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUM7O2dCQUM3QixPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUM7U0FDekI7SUFDSCxDQUFDOzs4R0F6T21CLGdCQUFnQjtrSEFBaEIsZ0JBQWdCOzRGQUFoQixnQkFBZ0I7a0JBRHJDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQge1xyXG4gIFV0aWxpdHlTZXJ2aWNlLFxyXG4gIEF1dGhTZXJ2aWNlLFxyXG4gIENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxyXG59IGZyb20gJ0BibnNpZ2h0cy9iYnNmLXV0aWxpdGllcyc7XHJcbmltcG9ydCB7IE5nYk1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29udHJvbFV0aWxpdHkgfSBmcm9tICcuLi9zZXJ2aWNlcy9Db250cm9sVXRpbGl0eSc7XHJcbmltcG9ydCB7IEZpbHRlckl0ZW0gfSBmcm9tICcuLi9Nb2RlbHMvRmlsdGVySXRlbSc7XHJcbmltcG9ydCB7IEN1c3RvbVZhbGlkYXRpb24gfSBmcm9tICcuLi9Nb2RlbHMvQ3VzdG9tVmFsaWRhdGlvbic7XHJcbmltcG9ydCB7IEVuZ2xpc2hBcmFiaWNEVE8gfSBmcm9tICcuLi9Nb2RlbHMvRW5nbGlzaEFyYWJpY0RUTyc7XHJcbmltcG9ydCAqIGFzIHNhdmVBcyBmcm9tICdmaWxlLXNhdmVyJztcclxuaW1wb3J0IHsgRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtdXRpbGl0aWVzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFwcEJhc2VDb21wb25lbnQge1xyXG4gIHB1YmxpYyB1dGlsaXR5U2VydmljZTogVXRpbGl0eVNlcnZpY2U7XHJcbiAgcHVibGljIG1vZGFsU2VydmljZTogTmdiTW9kYWw7XHJcbiAgcHJpdmF0ZSBjb250cm9sVXRpbGl0eTogQ29udHJvbFV0aWxpdHk7XHJcbiAgcHJpdmF0ZSB0aXRsZVNlcnZpY2U6IFRpdGxlO1xyXG4gIHByaXZhdGUgYXVoU2VydmljZTogQXV0aFNlcnZpY2U7XHJcbiAgcHJpdmF0ZSBjb25maWd1cmF0aW9uU2VydmljZTogQ29uZmlndXJhdGlvblNlcnZpY2U7XHJcbiAgcHVibGljIGVudmlyb25tZW50U2VydmljZTogRW52aXJvbm1lbnRTZXJ2aWNlO1xyXG4gIHB1YmxpYyBpc0VOOiBib29sZWFuO1xyXG4gIC8vTGFiZWxzXHJcbiAgcHVibGljIGV4cG9ydExhYmVsOiBzdHJpbmc7XHJcbiAgcHVibGljIGZpbHRlcnNMYWJlbDogc3RyaW5nO1xyXG4gIHB1YmxpYyBhZGRMYWJlbDogc3RyaW5nO1xyXG4gIHB1YmxpYyB1c2VyTmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBwYWdlVGl0bGU6IHN0cmluZyA9ICcnO1xyXG4gIHB1YmxpYyBQYWdlQ291bnQ6IG51bWJlciA9IDEyO1xyXG4gIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgdGhpcy51dGlsaXR5U2VydmljZSA9IGluamVjdG9yLmdldChVdGlsaXR5U2VydmljZSk7XHJcbiAgICB0aGlzLmNvbnRyb2xVdGlsaXR5ID0gaW5qZWN0b3IuZ2V0KENvbnRyb2xVdGlsaXR5KTtcclxuICAgIHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UgPSBpbmplY3Rvci5nZXQoQ29uZmlndXJhdGlvblNlcnZpY2UpO1xyXG4gICAgdGhpcy5lbnZpcm9ubWVudFNlcnZpY2UgPSBpbmplY3Rvci5nZXQoRW52aXJvbm1lbnRTZXJ2aWNlKTtcclxuICAgIHRoaXMubW9kYWxTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KE5nYk1vZGFsKTtcclxuICAgIHRoaXMudGl0bGVTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFRpdGxlKTtcclxuICAgIHRoaXMuYXVoU2VydmljZSA9IGluamVjdG9yLmdldChBdXRoU2VydmljZSk7XHJcbiAgICB0aGlzLmV4cG9ydExhYmVsID0gdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKCdFeHBvcnQnKTtcclxuICAgIHRoaXMuZmlsdGVyc0xhYmVsID0gdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKCdGaWx0ZXJzJyk7XHJcbiAgICB0aGlzLmFkZExhYmVsID0gdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKCdBZGQnKTtcclxuICAgIHRoaXMudXNlck5hbWUgPSB0aGlzLmF1aFNlcnZpY2UubmFtZSgpO1xyXG4gICAgdGhpcy5pc0VOID0gdGhpcy51dGlsaXR5U2VydmljZS5pc0N1cnJlbnRMYW5ndWFnZUVuZ2xpc2goKTtcclxuICB9XHJcbiAgdXBkYXRlUGFnZVRpdGxlKHRpdGxlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcclxuICAgIHRoaXMudGl0bGVTZXJ2aWNlLnNldFRpdGxlKHRoaXMuY2FsY3VsYXRlUGFnZVRpdGxlKHRpdGxlKSk7XHJcbiAgfVxyXG5cclxuICBsKGtleTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoa2V5KTtcclxuICB9XHJcbiAgZ2V0Q29uZmlndXJhdGlvblZhbHVlKGtleTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5nZXRDb25maWd1cmF0aW9uVmFsdWUoa2V5KTtcclxuICB9XHJcbiAgZ2V0TGFuZ3VhZ2VNb2RlVmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5nZXRDb25maWd1cmF0aW9uVmFsdWUoJ0xhbmd1YWdlTW9kZScpO1xyXG4gIH1cclxuICBzdG9wQmxvY2tVSSgpIHtcclxuICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uuc3RvcEJsb2NrVUkoKTtcclxuICB9XHJcblxyXG4gIHN0YXJ0QmxvY2tVSSgpIHtcclxuICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uuc3RhcnRCbG9ja1VJKCk7XHJcbiAgfVxyXG5cclxuICBvcGVuTW9kYWwobW9kYWw6IGFueSwgc2l6ZT86IHN0cmluZykge1xyXG4gICAgaWYgKHNpemUpXHJcbiAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4obW9kYWwsIHtcclxuICAgICAgICBzaXplOiBzaXplLFxyXG4gICAgICAgIGJhY2tkcm9wOiAnc3RhdGljJyxcclxuICAgICAgICBrZXlib2FyZDogZmFsc2UsXHJcbiAgICAgIH0pO1xyXG4gICAgZWxzZSB0aGlzLm1vZGFsU2VydmljZS5vcGVuKG1vZGFsLCB7IGJhY2tkcm9wOiAnc3RhdGljJywga2V5Ym9hcmQ6IGZhbHNlIH0pO1xyXG4gIH1cclxuXHJcbiAgZG93bmxvYWQoZmlsZURUTzogYW55LCBmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAvKmxldCBibG9iID0gbmV3IEJsb2IoW2ZpbGVdKTsqL1xyXG4gICAgbGV0IGZpbGUgPSBuZXcgQmxvYihbZmlsZURUT10sIHtcclxuICAgICAgdHlwZTogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JyxcclxuICAgIH0pO1xyXG4gICAgc2F2ZUFzKGZpbGUsIGZpbGVOYW1lKTtcclxuICB9XHJcblxyXG4gIGRvd25sb2FkUERGKGZpbGVEVE86IGFueSwgZmlsZU5hbWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgbGV0IGZpbGUgPSBuZXcgQmxvYihbZmlsZURUT10sIHsgdHlwZTogXCJhcHBsaWNhdGlvbi9wZGZcIiB9KTtcclxuICAgIHNhdmVBcyhmaWxlLCBmaWxlTmFtZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJhc2U2NHRvQmxvYihiYXNlNjREYXRhLCBjb250ZW50VHlwZSkge1xyXG4gICAgY29udGVudFR5cGUgPSBjb250ZW50VHlwZSB8fCAnJztcclxuICAgIHZhciBzbGljZVNpemUgPSAxMDI0O1xyXG4gICAgdmFyIGJ5dGVDaGFyYWN0ZXJzID0gYXRvYihiYXNlNjREYXRhKTtcclxuICAgIHZhciBieXRlc0xlbmd0aCA9IGJ5dGVDaGFyYWN0ZXJzLmxlbmd0aDtcclxuICAgIHZhciBzbGljZXNDb3VudCA9IE1hdGguY2VpbChieXRlc0xlbmd0aCAvIHNsaWNlU2l6ZSk7XHJcbiAgICB2YXIgYnl0ZUFycmF5cyA9IG5ldyBBcnJheShzbGljZXNDb3VudCk7XHJcblxyXG4gICAgZm9yICh2YXIgc2xpY2VJbmRleCA9IDA7IHNsaWNlSW5kZXggPCBzbGljZXNDb3VudDsgKytzbGljZUluZGV4KSB7XHJcbiAgICAgIHZhciBiZWdpbiA9IHNsaWNlSW5kZXggKiBzbGljZVNpemU7XHJcbiAgICAgIHZhciBlbmQgPSBNYXRoLm1pbihiZWdpbiArIHNsaWNlU2l6ZSwgYnl0ZXNMZW5ndGgpO1xyXG5cclxuICAgICAgdmFyIGJ5dGVzID0gbmV3IEFycmF5KGVuZCAtIGJlZ2luKTtcclxuICAgICAgZm9yICh2YXIgb2Zmc2V0ID0gYmVnaW4sIGkgPSAwOyBvZmZzZXQgPCBlbmQ7ICsraSwgKytvZmZzZXQpIHtcclxuICAgICAgICBieXRlc1tpXSA9IGJ5dGVDaGFyYWN0ZXJzW29mZnNldF0uY2hhckNvZGVBdCgwKTtcclxuICAgICAgfVxyXG4gICAgICBieXRlQXJyYXlzW3NsaWNlSW5kZXhdID0gbmV3IFVpbnQ4QXJyYXkoYnl0ZXMpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG5ldyBCbG9iKGJ5dGVBcnJheXMsIHsgdHlwZTogY29udGVudFR5cGUgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNhbGN1bGF0ZVBhZ2VUaXRsZSh0aXRsZTogc3RyaW5nIHwgdW5kZWZpbmVkKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aXRsZVxyXG4gICAgICA/IHRpdGxlLnN1YnN0cmluZygwLCAxMDApICsgYCB8ICR7dGhpcy5sKCdBcHBsaWNhdGlvbk5hbWUnKX1gXHJcbiAgICAgIDogYCR7dGhpcy5sKCdBcHBsaWNhdGlvbk5hbWUnKX1gO1xyXG4gIH1cclxuXHJcbiAgZ2V0UGFnaW5nRmlsdGVyc1ZhbHVlcyhmb3JtOiBGb3JtR3JvdXAsIGZpbHRlcnM6IEZpbHRlckl0ZW1bXSk6IGFueSB7XHJcbiAgICBsZXQgbW9kZWwgPSBuZXcgT2JqZWN0KCk7XHJcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGZpbHRlcnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgbGV0IGZpbHRlckl0ZW0gPSBmaWx0ZXJzW2ldO1xyXG4gICAgICBpZiAoZm9ybS5jb250cm9sc1tmaWx0ZXJJdGVtLkZvcm1Db250cm9sTmFtZV0udmFsdWUgPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICBtb2RlbFtmaWx0ZXJJdGVtLkFjdGlvblBhcmFtZXRlck5hbWVdID1cclxuICAgICAgICBmb3JtLmNvbnRyb2xzW2ZpbHRlckl0ZW0uRm9ybUNvbnRyb2xOYW1lXS52YWx1ZSA9PSB1bmRlZmluZWRcclxuICAgICAgICAgID8gJydcclxuICAgICAgICAgIDogZm9ybS5jb250cm9sc1tmaWx0ZXJJdGVtLkZvcm1Db250cm9sTmFtZV0udmFsdWU7XHJcbiAgICAgIC8vIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoZmlsdGVySXRlbS5BY3Rpb25QYXJhbWV0ZXJOYW1lLCBmb3JtLmNvbnRyb2xzW2ZpbHRlckl0ZW0uRm9ybUNvbnRyb2xOYW1lXS52YWx1ZSA9PSB1bmRlZmluZWQgPyAnJyA6IGZvcm0uY29udHJvbHNbZmlsdGVySXRlbS5Gb3JtQ29udHJvbE5hbWVdLnZhbHVlKTtcclxuICAgIH1cclxuICAgIHJldHVybiBtb2RlbDtcclxuICB9XHJcblxyXG4gIHJlbW92ZUNvbnRyb2woY29udHJvbE5hbWU6IHN0cmluZywgZm9ybTogRm9ybUdyb3VwKSB7XHJcbiAgICBmb3JtLnJlbW92ZUNvbnRyb2woY29udHJvbE5hbWUpO1xyXG4gIH1cclxuXHJcbiAgY29weVRvQ2xpcGJvYXJkKHZhbDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBzZWxCb3ggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpO1xyXG4gICAgc2VsQm94LnN0eWxlLnBvc2l0aW9uID0gJ2ZpeGVkJztcclxuICAgIHNlbEJveC5zdHlsZS5sZWZ0ID0gJzAnO1xyXG4gICAgc2VsQm94LnN0eWxlLnRvcCA9ICcwJztcclxuICAgIHNlbEJveC5zdHlsZS5vcGFjaXR5ID0gJzAnO1xyXG4gICAgc2VsQm94LnZhbHVlID0gdmFsO1xyXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzZWxCb3gpO1xyXG4gICAgc2VsQm94LmZvY3VzKCk7XHJcbiAgICBzZWxCb3guc2VsZWN0KCk7XHJcbiAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgnY29weScpO1xyXG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzZWxCb3gpO1xyXG4gICAgdGhpcy51dGlsaXR5U2VydmljZS5ub3RpZnlTdWNjZXNzTWVzc2FnZSh0aGlzLmwoJ0NvcGllZFN1Y2Nlc3NmdWxseScpKTtcclxuICB9XHJcblxyXG4gIGFkZFJlcXVpcmVkUnVsZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsIGNvbnRyb2xPcHRpb25zOiBhbnkpIHtcclxuICAgIHRoaXMuY29udHJvbFV0aWxpdHkuYWRkUmVxdWlyZWRUb0NvbnRyb2woY29udHJvbCwgY29udHJvbE9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlUmVxdWlyZWRSdWxlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwgY29udHJvbE9wdGlvbnM6IGFueSkge1xyXG4gICAgdGhpcy5jb250cm9sVXRpbGl0eS5yZW1vdmVSZXF1aXJlZEZyb21Db250cm9sKGNvbnRyb2wsIGNvbnRyb2xPcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlRGF0ZXMoXHJcbiAgICBmb3JtOiBGb3JtR3JvdXAsXHJcbiAgICBmcm9tRGF0ZUNvbnRyb2w6IHN0cmluZyxcclxuICAgIHRvRGF0ZUNvbnRyb2w6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb25NZXNzYWdlS2V5OiBzdHJpbmdcclxuICApOiBDdXN0b21WYWxpZGF0aW9uIHtcclxuICAgIHZhciB2YWxpZGF0b3IgPSBuZXcgQ3VzdG9tVmFsaWRhdGlvbigpO1xyXG4gICAgdmFsaWRhdG9yLmZ1bmN0aW9uQm9keSA9IChjb250cm9sKSA9PiB7XHJcbiAgICAgIGxldCBmcm9tRGF0ZSA9IGZvcm0uY29udHJvbHNbZnJvbURhdGVDb250cm9sXS52YWx1ZTtcclxuICAgICAgbGV0IHRvRGF0ZSA9IGZvcm0uY29udHJvbHNbdG9EYXRlQ29udHJvbF0udmFsdWU7XHJcblxyXG4gICAgICBpZiAoZnJvbURhdGUgJiYgdG9EYXRlICYmIHRvRGF0ZSA8PSBmcm9tRGF0ZSlcclxuICAgICAgICByZXR1cm4geyBjdXN0b21lckVycm9yOiB0cnVlIH07XHJcblxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH07XHJcbiAgICB2YWxpZGF0b3IubWFzc2FnZSA9IHRoaXMubCh2YWxpZGF0aW9uTWVzc2FnZUtleSk7XHJcbiAgICByZXR1cm4gdmFsaWRhdG9yO1xyXG4gIH1cclxuXHJcbiAgb25TdWNjZXNzQWRkSGFuZGxlciA9IChzdWNjZXNzOiBhbnkpID0+IHtcclxuICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uubm90aWZ5U3VjY2Vzc01lc3NhZ2UoXHJcbiAgICAgIHRoaXMubCgnUmVjb3JkQWRkZWQnKSxcclxuICAgICAgbnVsbCxcclxuICAgICAgbnVsbCxcclxuICAgICAgZmFsc2VcclxuICAgICk7XHJcbiAgfTtcclxuXHJcbiAgb25TdWNjZXNzRWRpdEhhbmRsZXIgPSAoc3VjY2VzczogYW55KSA9PiB7XHJcbiAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLm5vdGlmeVN1Y2Nlc3NNZXNzYWdlKFxyXG4gICAgICB0aGlzLmwoJ1JlY29yZFVwZGF0ZWQnKSxcclxuICAgICAgbnVsbCxcclxuICAgICAgbnVsbCxcclxuICAgICAgZmFsc2VcclxuICAgICk7XHJcbiAgfTtcclxuXHJcbiAgb25TdWNjZXNzRGVsZXRlSGFuZGxlciA9IChzdWNjZXNzOiBhbnkpID0+IHtcclxuICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uubm90aWZ5U3VjY2Vzc01lc3NhZ2UoXHJcbiAgICAgIHRoaXMubCgnUmVjb3JkRGVsZXRlZCcpLFxyXG4gICAgICBudWxsLFxyXG4gICAgICBudWxsLFxyXG4gICAgICBmYWxzZVxyXG4gICAgKTtcclxuICB9O1xyXG5cclxuICByZWNhbGN1bGF0ZVBhZ2VUaXRsZSgpIHtcclxuICAgIHRoaXMudGl0bGVTZXJ2aWNlLnNldFRpdGxlKHRoaXMuY2FsY3VsYXRlUGFnZVRpdGxlKCcnKSk7XHJcbiAgfVxyXG5cclxuICBpc0VuZ2xpc2goKSB7XHJcbiAgICByZXR1cm4gdGhpcy51dGlsaXR5U2VydmljZS5pc0N1cnJlbnRMYW5ndWFnZUVuZ2xpc2goKTtcclxuICB9XHJcblxyXG4gIGNhbGN1bGF0ZUluaXRpYWxzKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBsZXQgbGFuZ3VhZ2UgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbGFuZ3VhZ2UnKTtcclxuICAgIGxldCBjdXJyZW50VXNlciA9IHRoaXMuYXVoU2VydmljZS51c2VyLnByb2ZpbGU7XHJcbiAgICBjb25zb2xlLmxvZyhjdXJyZW50VXNlcik7XHJcbiAgICBsZXQgdXNlck5hbWUgPVxyXG4gICAgICBsYW5ndWFnZSA9PSAnZW4nID8gY3VycmVudFVzZXIuZ2l2ZW5fbmFtZUVuIDogY3VycmVudFVzZXIuZ2l2ZW5fbmFtZUFyO1xyXG4gICAgaWYgKGN1cnJlbnRVc2VyKSB7XHJcbiAgICAgIGxldCBmdWxsTmFtZSA9IHVzZXJOYW1lLnNwbGl0KCcgJyk7XHJcbiAgICAgIGxldCBpbml0aWFsczogc3RyaW5nO1xyXG4gICAgICBpZiAoZnVsbE5hbWUubGVuZ3RoID4gMSkge1xyXG4gICAgICAgIGlmICh0aGlzLmlzRU4pXHJcbiAgICAgICAgICBpbml0aWFscyA9IGZ1bGxOYW1lLnNoaWZ0KCkuY2hhckF0KDApICsgZnVsbE5hbWUucG9wKCkuY2hhckF0KDApO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIGluaXRpYWxzID1cclxuICAgICAgICAgICAgZnVsbE5hbWUuc2hpZnQoKS5jaGFyQXQoMCkgKyAnICcgKyBmdWxsTmFtZS5wb3AoKS5jaGFyQXQoMCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaW5pdGlhbHMgPSBmdWxsTmFtZS5wb3AoKS5jaGFyQXQoMCk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGluaXRpYWxzLnRvVXBwZXJDYXNlKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG5cclxuICBnZXRDdXJyZW50VXNlckluaXRpYWxzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5jYWxjdWxhdGVJbml0aWFscyh0aGlzLmF1aFNlcnZpY2UubmFtZSgpKTtcclxuICB9XHJcblxyXG4gIGdldEN1cnJlbnRGYWlsT3Zlcih2YWw6IEVuZ2xpc2hBcmFiaWNEVE8pOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuaXNFbmdsaXNoKCkpIHtcclxuICAgICAgaWYgKHZhbC5FbmdsaXNoKSByZXR1cm4gdmFsLkVuZ2xpc2g7XHJcbiAgICAgIGVsc2UgcmV0dXJuIHZhbC5BcmFiaWM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAodmFsLkFyYWJpYykgcmV0dXJuIHZhbC5BcmFiaWM7XHJcbiAgICAgIGVsc2UgcmV0dXJuIHZhbC5FbmdsaXNoO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=