@acorex/components 5.0.8 → 5.0.14

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 (241) hide show
  1. package/{esm2015/acorex-components.js → esm2020/acorex-components.mjs} +0 -0
  2. package/{esm2015/lib/alert/alert-button.component.js → esm2020/lib/alert/alert-button.component.mjs} +3 -3
  3. package/{esm2015/lib/alert/alert-contnet.component.js → esm2020/lib/alert/alert-contnet.component.mjs} +3 -3
  4. package/{esm2015/lib/alert/alert-footer.component.js → esm2020/lib/alert/alert-footer.component.mjs} +3 -3
  5. package/{esm2015/lib/alert/alert-suffix.component.js → esm2020/lib/alert/alert-suffix.component.mjs} +3 -3
  6. package/{esm2015/lib/alert/alert-title.component.js → esm2020/lib/alert/alert-title.component.mjs} +3 -3
  7. package/esm2020/lib/alert/alert.component.mjs +124 -0
  8. package/{esm2015/lib/alert/alert.module.js → esm2020/lib/alert/alert.module.mjs} +4 -4
  9. package/{esm2015/lib/alert/index.js → esm2020/lib/alert/index.mjs} +0 -0
  10. package/{esm2015/lib/avatar/avatar.component.js → esm2020/lib/avatar/avatar.component.mjs} +5 -12
  11. package/{esm2015/lib/avatar/avatar.module.js → esm2020/lib/avatar/avatar.module.mjs} +4 -4
  12. package/{esm2015/lib/avatar/index.js → esm2020/lib/avatar/index.mjs} +0 -0
  13. package/{esm2015/lib/badge/badge.component.js → esm2020/lib/badge/badge.component.mjs} +6 -12
  14. package/{esm2015/lib/badge/badge.module.js → esm2020/lib/badge/badge.module.mjs} +4 -4
  15. package/{esm2015/lib/badge/index.js → esm2020/lib/badge/index.mjs} +0 -0
  16. package/{esm2015/lib/base/common.module.js → esm2020/lib/base/common.module.mjs} +4 -4
  17. package/{esm2015/lib/base/custom-cdk-overlay.service.js → esm2020/lib/base/custom-cdk-overlay.service.mjs} +6 -6
  18. package/{esm2015/lib/base/drawing.class.js → esm2020/lib/base/drawing.class.mjs} +0 -0
  19. package/{esm2015/lib/base/events.class.js → esm2020/lib/base/events.class.mjs} +0 -0
  20. package/{esm2015/lib/base/index.js → esm2020/lib/base/index.mjs} +0 -0
  21. package/esm2020/lib/base/mixin/base-components.class.mjs +102 -0
  22. package/esm2020/lib/base/mixin/button-mixin.class.mjs +116 -0
  23. package/esm2020/lib/base/mixin/clickable-mixin.class.mjs +24 -0
  24. package/{esm2015/lib/base/mixin/constratctor.js → esm2020/lib/base/mixin/constratctor.mjs} +0 -0
  25. package/esm2020/lib/base/mixin/datalist-component.class.mjs +96 -0
  26. package/esm2020/lib/base/mixin/dropdown-mixin.class.mjs +89 -0
  27. package/{esm2015/lib/base/mixin/index.js → esm2020/lib/base/mixin/index.mjs} +0 -0
  28. package/esm2020/lib/base/mixin/interactive-mixin.class.mjs +77 -0
  29. package/{esm2015/lib/base/mixin/loading-mixin.class.js → esm2020/lib/base/mixin/loading-mixin.class.mjs} +0 -0
  30. package/{esm2015/lib/base/mixin/mixin.class.js → esm2020/lib/base/mixin/mixin.class.mjs} +2 -2
  31. package/{esm2015/lib/base/mixin/selection-component.class.js → esm2020/lib/base/mixin/selection-component.class.mjs} +0 -0
  32. package/{esm2015/lib/base/mixin/sizable-mixin.class.js → esm2020/lib/base/mixin/sizable-mixin.class.mjs} +0 -0
  33. package/{esm2015/lib/base/mixin/textbox-mixin.class.js → esm2020/lib/base/mixin/textbox-mixin.class.mjs} +0 -0
  34. package/esm2020/lib/base/mixin/value-mixin.class.mjs +196 -0
  35. package/{esm2015/lib/base/overlay.service.js → esm2020/lib/base/overlay.service.mjs} +3 -3
  36. package/{esm2015/lib/base/responsive.directive.js → esm2020/lib/base/responsive.directive.mjs} +3 -3
  37. package/{esm2015/lib/base/styles.class.js → esm2020/lib/base/styles.class.mjs} +0 -0
  38. package/{esm2015/lib/button/button-group.component.js → esm2020/lib/button/button-group.component.mjs} +8 -15
  39. package/{esm2015/lib/button/button-item.class.js → esm2020/lib/button/button-item.class.mjs} +0 -0
  40. package/{esm2015/lib/button/button-item.component.js → esm2020/lib/button/button-item.component.mjs} +3 -3
  41. package/esm2020/lib/button/button.component.mjs +65 -0
  42. package/{esm2015/lib/button/button.module.js → esm2020/lib/button/button.module.mjs} +4 -4
  43. package/{esm2015/lib/button/index.js → esm2020/lib/button/index.mjs} +0 -0
  44. package/esm2020/lib/calendar/calendar.class.mjs +97 -0
  45. package/esm2020/lib/calendar/calendar.component.mjs +230 -0
  46. package/{esm2015/lib/calendar/calendar.module.js → esm2020/lib/calendar/calendar.module.mjs} +4 -4
  47. package/{esm2015/lib/calendar/index.js → esm2020/lib/calendar/index.mjs} +0 -0
  48. package/{esm2015/lib/carousel/carousel-arrows.component.js → esm2020/lib/carousel/carousel-arrows.component.mjs} +3 -3
  49. package/{esm2015/lib/carousel/carousel-item.component.js → esm2020/lib/carousel/carousel-item.component.mjs} +3 -3
  50. package/{esm2015/lib/carousel/carousel-pager.component.js → esm2020/lib/carousel/carousel-pager.component.mjs} +3 -3
  51. package/{esm2015/lib/carousel/carousel-splidejs.class.js → esm2020/lib/carousel/carousel-splidejs.class.mjs} +0 -0
  52. package/{esm2015/lib/carousel/carousel.class.js → esm2020/lib/carousel/carousel.class.mjs} +3 -3
  53. package/{esm2015/lib/carousel/carousel.component.js → esm2020/lib/carousel/carousel.component.mjs} +7 -15
  54. package/{esm2015/lib/carousel/carousel.module.js → esm2020/lib/carousel/carousel.module.mjs} +4 -4
  55. package/{esm2015/lib/carousel/index.js → esm2020/lib/carousel/index.mjs} +0 -0
  56. package/esm2020/lib/checkbox/checkbox.component.mjs +51 -0
  57. package/{esm2015/lib/checkbox/checkbox.module.js → esm2020/lib/checkbox/checkbox.module.mjs} +4 -4
  58. package/{esm2015/lib/checkbox/index.js → esm2020/lib/checkbox/index.mjs} +0 -0
  59. package/esm2020/lib/datalist/datalist.component.mjs +73 -0
  60. package/{esm2015/lib/datalist/datalist.module.js → esm2020/lib/datalist/datalist.module.mjs} +4 -4
  61. package/{esm2015/lib/datalist/index.js → esm2020/lib/datalist/index.mjs} +0 -0
  62. package/esm2020/lib/datepicker/datepicker.component.mjs +125 -0
  63. package/esm2020/lib/datepicker/datepicker.module.mjs +47 -0
  64. package/{esm2015/lib/datepicker/index.js → esm2020/lib/datepicker/index.mjs} +0 -0
  65. package/esm2020/lib/decorators/content.component.mjs +26 -0
  66. package/esm2020/lib/decorators/decorators.module.mjs +23 -0
  67. package/{esm2015/lib/decorators/index.js → esm2020/lib/decorators/index.mjs} +2 -1
  68. package/{esm2015/lib/decorators/prefix.component.js → esm2020/lib/decorators/prefix.component.mjs} +5 -6
  69. package/{esm2015/lib/decorators/suffix.component.js → esm2020/lib/decorators/suffix.component.mjs} +5 -6
  70. package/{esm2015/lib/dialog/dialog.class.js → esm2020/lib/dialog/dialog.class.mjs} +0 -0
  71. package/esm2020/lib/dialog/dialog.component.mjs +40 -0
  72. package/{esm2015/lib/dialog/dialog.module.js → esm2020/lib/dialog/dialog.module.mjs} +4 -4
  73. package/esm2020/lib/dialog/dialog.service.mjs +145 -0
  74. package/{esm2015/lib/dialog/index.js → esm2020/lib/dialog/index.mjs} +0 -0
  75. package/{esm2015/lib/drawer/drawer-container.component.js → esm2020/lib/drawer/drawer-container.component.mjs} +3 -3
  76. package/{esm2015/lib/drawer/drawer-content.component.js → esm2020/lib/drawer/drawer-content.component.mjs} +3 -3
  77. package/{esm2015/lib/drawer/drawer.component.js → esm2020/lib/drawer/drawer.component.mjs} +3 -3
  78. package/{esm2015/lib/drawer/drawer.module.js → esm2020/lib/drawer/drawer.module.mjs} +4 -4
  79. package/{esm2015/lib/drawer/index.js → esm2020/lib/drawer/index.mjs} +0 -0
  80. package/esm2020/lib/dropdown/dropdown-panel.component.mjs +80 -0
  81. package/esm2020/lib/dropdown/dropdown.component.mjs +28 -0
  82. package/{esm2015/lib/dropdown/dropdown.module.js → esm2020/lib/dropdown/dropdown.module.mjs} +4 -4
  83. package/{esm2015/lib/dropdown/index.js → esm2020/lib/dropdown/index.mjs} +0 -0
  84. package/{esm2015/lib/form/form-field.component.js → esm2020/lib/form/form-field.component.mjs} +3 -3
  85. package/{esm2015/lib/form/form-field.module.js → esm2020/lib/form/form-field.module.mjs} +4 -4
  86. package/{esm2015/lib/form/form-hint.component.js → esm2020/lib/form/form-hint.component.mjs} +5 -5
  87. package/{esm2015/lib/form/form.component.js → esm2020/lib/form/form.component.mjs} +3 -3
  88. package/{esm2015/lib/form/index.js → esm2020/lib/form/index.mjs} +0 -0
  89. package/{esm2015/lib/icon/icon.component.js → esm2020/lib/icon/icon.component.mjs} +3 -3
  90. package/{esm2015/lib/icon/icon.module.js → esm2020/lib/icon/icon.module.mjs} +4 -4
  91. package/{esm2015/lib/icon/index.js → esm2020/lib/icon/index.mjs} +0 -0
  92. package/{esm2015/lib/input-mask/index.js → esm2020/lib/input-mask/index.mjs} +0 -0
  93. package/{esm2015/lib/input-mask/input-mask.component.js → esm2020/lib/input-mask/input-mask.component.mjs} +3 -3
  94. package/{esm2015/lib/input-mask/input-mask.module.js → esm2020/lib/input-mask/input-mask.module.mjs} +4 -4
  95. package/{esm2015/lib/label/index.js → esm2020/lib/label/index.mjs} +0 -0
  96. package/esm2020/lib/label/label.component.mjs +15 -0
  97. package/{esm2015/lib/label/label.module.js → esm2020/lib/label/label.module.mjs} +4 -4
  98. package/{esm2015/lib/loading/index.js → esm2020/lib/loading/index.mjs} +0 -0
  99. package/{esm2015/lib/loading/loading-spinner.component.js → esm2020/lib/loading/loading-spinner.component.mjs} +3 -3
  100. package/{esm2015/lib/loading/loading.component.js → esm2020/lib/loading/loading.component.mjs} +3 -3
  101. package/{esm2015/lib/loading/loading.directive.js → esm2020/lib/loading/loading.directive.mjs} +3 -3
  102. package/{esm2015/lib/loading/loading.module.js → esm2020/lib/loading/loading.module.mjs} +4 -4
  103. package/esm2020/lib/loading/loading.service.mjs +154 -0
  104. package/{esm2015/lib/number-box/index.js → esm2020/lib/number-box/index.mjs} +0 -0
  105. package/{esm2015/lib/number-box/number-box.component.js → esm2020/lib/number-box/number-box.component.mjs} +9 -17
  106. package/{esm2015/lib/number-box/number-box.module.js → esm2020/lib/number-box/number-box.module.mjs} +4 -4
  107. package/esm2020/lib/page/base-page.class.mjs +67 -0
  108. package/{esm2015/lib/page/index.js → esm2020/lib/page/index.mjs} +0 -0
  109. package/{esm2015/lib/page/page-footer.component.js → esm2020/lib/page/page-footer.component.mjs} +6 -10
  110. package/{esm2015/lib/page/page.component.js → esm2020/lib/page/page.component.mjs} +3 -3
  111. package/{esm2015/lib/page/page.module.js → esm2020/lib/page/page.module.mjs} +4 -4
  112. package/{esm2015/lib/password-box/index.js → esm2020/lib/password-box/index.mjs} +0 -0
  113. package/{esm2015/lib/password-box/password-box.component.js → esm2020/lib/password-box/password-box.component.mjs} +7 -15
  114. package/{esm2015/lib/password-box/password-box.module.js → esm2020/lib/password-box/password-box.module.mjs} +4 -4
  115. package/{esm2015/lib/popover/index.js → esm2020/lib/popover/index.mjs} +0 -0
  116. package/esm2020/lib/popover/popover.component.mjs +213 -0
  117. package/{esm2015/lib/popover/popover.module.js → esm2020/lib/popover/popover.module.mjs} +4 -4
  118. package/{esm2015/lib/popup/index.js → esm2020/lib/popup/index.mjs} +0 -0
  119. package/esm2020/lib/popup/popup.component.mjs +100 -0
  120. package/{esm2015/lib/popup/popup.module.js → esm2020/lib/popup/popup.module.mjs} +4 -4
  121. package/esm2020/lib/popup/popup.service.mjs +93 -0
  122. package/esm2020/lib/radio/index.mjs +3 -0
  123. package/esm2020/lib/radio/radio.component.mjs +16 -0
  124. package/esm2020/lib/radio/radio.module.mjs +21 -0
  125. package/{esm2015/lib/range-slider/index.js → esm2020/lib/range-slider/index.mjs} +0 -0
  126. package/{esm2015/lib/range-slider/range-slider.component.js → esm2020/lib/range-slider/range-slider.component.mjs} +5 -11
  127. package/{esm2015/lib/range-slider/range-slider.module.js → esm2020/lib/range-slider/range-slider.module.mjs} +4 -4
  128. package/{esm2015/lib/selectbox/index.js → esm2020/lib/selectbox/index.mjs} +0 -0
  129. package/esm2020/lib/selectbox/selectbox.component.mjs +193 -0
  130. package/{esm2015/lib/selectbox/selectbox.module.js → esm2020/lib/selectbox/selectbox.module.mjs} +4 -4
  131. package/{esm2015/lib/selection-list/index.js → esm2020/lib/selection-list/index.mjs} +0 -0
  132. package/esm2020/lib/selection-list/selection-list.component.mjs +40 -0
  133. package/{esm2015/lib/selection-list/selection-list.module.js → esm2020/lib/selection-list/selection-list.module.mjs} +4 -4
  134. package/{esm2015/lib/side-menu/index.js → esm2020/lib/side-menu/index.mjs} +0 -0
  135. package/{esm2015/lib/side-menu/side-menu.component.js → esm2020/lib/side-menu/side-menu.component.mjs} +5 -11
  136. package/{esm2015/lib/side-menu/side-menu.module.js → esm2020/lib/side-menu/side-menu.module.mjs} +4 -4
  137. package/{esm2015/lib/switch/index.js → esm2020/lib/switch/index.mjs} +0 -0
  138. package/{esm2015/lib/switch/switch.component.js → esm2020/lib/switch/switch.component.mjs} +5 -12
  139. package/{esm2015/lib/switch/switch.module.js → esm2020/lib/switch/switch.module.mjs} +6 -7
  140. package/{esm2015/lib/tabs/index.js → esm2020/lib/tabs/index.mjs} +0 -0
  141. package/esm2020/lib/tabs/tab-content.directive.mjs +29 -0
  142. package/esm2020/lib/tabs/tab-item.component.mjs +91 -0
  143. package/{esm2015/lib/tabs/tab-strip.component.js → esm2020/lib/tabs/tab-strip.component.mjs} +5 -12
  144. package/{esm2015/lib/tabs/tab-view.component.js → esm2020/lib/tabs/tab-view.component.mjs} +5 -12
  145. package/{esm2015/lib/tabs/tab.component.js → esm2020/lib/tabs/tab.component.mjs} +3 -3
  146. package/{esm2015/lib/tabs/tabs.class.js → esm2020/lib/tabs/tabs.class.mjs} +0 -0
  147. package/esm2020/lib/tabs/tabs.component.mjs +67 -0
  148. package/{esm2015/lib/tabs/tabs.module.js → esm2020/lib/tabs/tabs.module.mjs} +4 -4
  149. package/{esm2015/lib/textbox/index.js → esm2020/lib/textbox/index.mjs} +0 -0
  150. package/{esm2015/lib/textbox/textbox.component.js → esm2020/lib/textbox/textbox.component.mjs} +7 -15
  151. package/{esm2015/lib/textbox/textbox.module.js → esm2020/lib/textbox/textbox.module.mjs} +4 -4
  152. package/{esm2015/lib/time-box/index.js → esm2020/lib/time-box/index.mjs} +0 -0
  153. package/{esm2015/lib/time-box/time-box.component.js → esm2020/lib/time-box/time-box.component.mjs} +5 -13
  154. package/{esm2015/lib/time-box/time-box.module.js → esm2020/lib/time-box/time-box.module.mjs} +4 -4
  155. package/{esm2015/lib/toast/index.js → esm2020/lib/toast/index.mjs} +0 -0
  156. package/{esm2015/lib/toast/toast.class.js → esm2020/lib/toast/toast.class.mjs} +0 -0
  157. package/esm2020/lib/toast/toast.component.mjs +44 -0
  158. package/{esm2015/lib/toast/toast.module.js → esm2020/lib/toast/toast.module.mjs} +4 -4
  159. package/{esm2015/lib/toast/toast.service.js → esm2020/lib/toast/toast.service.mjs} +3 -3
  160. package/{esm2015/lib/tooltip/index.js → esm2020/lib/tooltip/index.mjs} +0 -0
  161. package/{esm2015/lib/tooltip/tooltip.component.js → esm2020/lib/tooltip/tooltip.component.mjs} +6 -13
  162. package/{esm2015/lib/tooltip/tooltip.directive.js → esm2020/lib/tooltip/tooltip.directive.mjs} +3 -3
  163. package/{esm2015/lib/tooltip/tooltip.module.js → esm2020/lib/tooltip/tooltip.module.mjs} +4 -4
  164. package/{esm2015/lib/validation/index.js → esm2020/lib/validation/index.mjs} +0 -0
  165. package/{esm2015/lib/validation/validation-rule.widget.js → esm2020/lib/validation/validation-rule.widget.mjs} +3 -3
  166. package/{esm2015/lib/validation/validation.class.js → esm2020/lib/validation/validation.class.mjs} +0 -0
  167. package/{esm2015/lib/validation/validation.module.js → esm2020/lib/validation/validation.module.mjs} +4 -4
  168. package/esm2020/public-api.mjs +42 -0
  169. package/fesm2015/acorex-components.mjs +6423 -0
  170. package/fesm2015/acorex-components.mjs.map +1 -0
  171. package/{fesm2015/acorex-components.js → fesm2020/acorex-components.mjs} +1343 -1386
  172. package/fesm2020/acorex-components.mjs.map +1 -0
  173. package/lib/base/mixin/base-components.class.d.ts +23 -18
  174. package/lib/base/mixin/button-mixin.class.d.ts +12 -17
  175. package/lib/base/mixin/clickable-mixin.class.d.ts +4 -9
  176. package/lib/base/mixin/datalist-component.class.d.ts +10 -15
  177. package/lib/base/mixin/dropdown-mixin.class.d.ts +17 -12
  178. package/lib/base/mixin/interactive-mixin.class.d.ts +6 -11
  179. package/lib/base/mixin/loading-mixin.class.d.ts +4 -9
  180. package/lib/base/mixin/mixin.class.d.ts +183 -165
  181. package/lib/base/mixin/selection-component.class.d.ts +4 -9
  182. package/lib/base/mixin/sizable-mixin.class.d.ts +4 -9
  183. package/lib/base/mixin/textbox-mixin.class.d.ts +5 -12
  184. package/lib/base/mixin/value-mixin.class.d.ts +16 -20
  185. package/lib/button/button-item.component.d.ts +10 -20
  186. package/lib/calendar/calendar.class.d.ts +38 -0
  187. package/lib/calendar/calendar.component.d.ts +5 -26
  188. package/lib/checkbox/checkbox.component.d.ts +6 -5
  189. package/lib/datepicker/datepicker.component.d.ts +170 -16
  190. package/lib/datepicker/datepicker.module.d.ts +8 -2
  191. package/lib/decorators/content.component.d.ts +8 -0
  192. package/lib/decorators/decorators.module.d.ts +3 -2
  193. package/lib/decorators/index.d.ts +1 -0
  194. package/lib/dropdown/dropdown-panel.component.d.ts +4 -5
  195. package/lib/dropdown/dropdown.component.d.ts +5 -6
  196. package/lib/label/label.component.d.ts +2 -2
  197. package/lib/popup/popup.component.d.ts +3 -2
  198. package/lib/radio/index.d.ts +2 -0
  199. package/lib/radio/radio.component.d.ts +8 -0
  200. package/lib/radio/radio.module.d.ts +8 -0
  201. package/lib/tabs/tab-item.component.d.ts +2 -1
  202. package/lib/tabs/tabs.component.d.ts +2 -4
  203. package/package.json +21 -8
  204. package/public-api.d.ts +1 -0
  205. package/bundles/acorex-components.umd.js +0 -7545
  206. package/bundles/acorex-components.umd.js.map +0 -1
  207. package/esm2015/lib/alert/alert.component.js +0 -130
  208. package/esm2015/lib/base/mixin/base-components.class.js +0 -83
  209. package/esm2015/lib/base/mixin/button-mixin.class.js +0 -129
  210. package/esm2015/lib/base/mixin/clickable-mixin.class.js +0 -24
  211. package/esm2015/lib/base/mixin/datalist-component.class.js +0 -97
  212. package/esm2015/lib/base/mixin/dropdown-mixin.class.js +0 -36
  213. package/esm2015/lib/base/mixin/interactive-mixin.class.js +0 -77
  214. package/esm2015/lib/base/mixin/value-mixin.class.js +0 -190
  215. package/esm2015/lib/button/button.component.js +0 -73
  216. package/esm2015/lib/calendar/calendar.component.js +0 -287
  217. package/esm2015/lib/checkbox/checkbox.component.js +0 -40
  218. package/esm2015/lib/datalist/datalist.component.js +0 -81
  219. package/esm2015/lib/datepicker/datepicker.component.js +0 -80
  220. package/esm2015/lib/datepicker/datepicker.module.js +0 -23
  221. package/esm2015/lib/decorators/decorators.module.js +0 -22
  222. package/esm2015/lib/dialog/dialog.component.js +0 -45
  223. package/esm2015/lib/dialog/dialog.service.js +0 -146
  224. package/esm2015/lib/dropdown/dropdown-base.class.js +0 -98
  225. package/esm2015/lib/dropdown/dropdown-panel.component.js +0 -84
  226. package/esm2015/lib/dropdown/dropdown.component.js +0 -32
  227. package/esm2015/lib/label/label.component.js +0 -20
  228. package/esm2015/lib/loading/loading.service.js +0 -155
  229. package/esm2015/lib/page/base-page.class.js +0 -66
  230. package/esm2015/lib/popover/popover.component.js +0 -220
  231. package/esm2015/lib/popup/popup.component.js +0 -97
  232. package/esm2015/lib/popup/popup.service.js +0 -94
  233. package/esm2015/lib/selectbox/selectbox.component.js +0 -201
  234. package/esm2015/lib/selection-list/selection-list.component.js +0 -47
  235. package/esm2015/lib/tabs/tab-content.directive.js +0 -27
  236. package/esm2015/lib/tabs/tab-item.component.js +0 -76
  237. package/esm2015/lib/tabs/tabs.component.js +0 -74
  238. package/esm2015/lib/toast/toast.component.js +0 -50
  239. package/esm2015/public-api.js +0 -41
  240. package/fesm2015/acorex-components.js.map +0 -1
  241. package/lib/dropdown/dropdown-base.class.d.ts +0 -92
@@ -1,155 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { asyncScheduler, BehaviorSubject } from 'rxjs';
3
- import { finalize, observeOn } from 'rxjs/operators';
4
- import { AXLoadingComponent } from './loading.component';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../base/overlay.service";
7
- const DEFAULT_LOADER_ID = '_DEFAULT';
8
- /**
9
- * Used for centrally setting/unsetting loading flags for components or services.
10
- * Should be connected to global HTTP interceptor which will unset
11
- * the loading flags in case an error happens using the clearLoadings() method.
12
- *
13
- * FAQ:
14
- * Q: How to change loading flag for a parent component?
15
- * A: Inject the parent component as a dependency to your constructor and
16
- * call loadingService.setLoading(parentComponent, STATE).
17
- *
18
- * Q: How to change loading flag for a child component?
19
- * A: Use a @ViewChild with component selector and pass the
20
- * reference of the child to setLoading method.
21
- *
22
- * Q: I need more loading indicators in my components. How to?
23
- * A: Assign a LoaderId to each indicator and then use them
24
- * with calls to methods of this service.
25
- */
26
- export class AXLoadingService {
27
- constructor(zoneRef, overlayService) {
28
- this.zoneRef = zoneRef;
29
- this.overlayService = overlayService;
30
- // WeakMap will remove components from itself upon
31
- // their garbage collection by JS runtime.
32
- this.loadingStates = new WeakMap();
33
- // Both loading state maps are kept in-sync such that
34
- // they can be used by both sync and async methods.
35
- this.loadingStates$ = new WeakMap();
36
- this._stack = [];
37
- }
38
- show(location) {
39
- let host;
40
- if (location) {
41
- host = location.closest('.ax-loading-host');
42
- }
43
- const containerElement = (host || location);
44
- const com = this.overlayService.show(AXLoadingComponent, {}, {
45
- closeOnClickOutside: false,
46
- containerElement,
47
- hasBackdrop: true,
48
- backdropClass: ['ax-loading-overlay'],
49
- scroll: 'block'
50
- });
51
- com.instance.visible = true;
52
- const id = new Date().getTime();
53
- this._stack.push({ id, component: com });
54
- return id;
55
- }
56
- hide(id) {
57
- const f = this._stack.find(c => c.id === id);
58
- if (f) {
59
- f.component.dispose();
60
- this._stack = this._stack.filter(c => c.id !== id);
61
- }
62
- }
63
- // Observable creation operator.
64
- // LoaderId can be used when there are multiple loading indicators associated to a single context.
65
- // Context can be any object, though in practice, components and services will be the most common contexts.
66
- // loaderId is a non-mandatory parameter - when not specified, a default loaderId is used.
67
- // Such a scenario is used when your context has contains only one loading indicator.
68
- doLoading(source$, context, loaderId) {
69
- this.startLoading(context, loaderId);
70
- return source$.pipe(observeOn(asyncScheduler), finalize(() => this.endLoading(context, loaderId)));
71
- }
72
- // To be used in your html templates.
73
- // Returns a boolean indicating whether a given loader is active in a given context.
74
- // If loaderId is unspecified, the method will return a logical disjunction of all
75
- // loader states in the context.
76
- isLoading(context, loaderId) {
77
- var _a;
78
- const loaderStates = this.loadingStates.get(context);
79
- if (!loaderStates) {
80
- return false;
81
- }
82
- else {
83
- if (loaderId !== undefined) {
84
- return (_a = loaderStates.get(this.getLoaderId(loaderId))) !== null && _a !== void 0 ? _a : false;
85
- }
86
- else {
87
- return [...loaderStates.values()].filter(state => state).length > 0;
88
- }
89
- }
90
- }
91
- // To be used in your html templates with async pipes.
92
- // Returns an Observable of booleans indicating whether a given loader is active in a given context.
93
- isLoading$(context, loaderId) {
94
- const coalescedLoaderId = this.getLoaderId(loaderId);
95
- if (!this.hasLoadingStates(context, coalescedLoaderId)) {
96
- this.setLoadingState(context, false, loaderId);
97
- }
98
- return this.loadingStates$.get(context).get(coalescedLoaderId);
99
- }
100
- // The startLoading and endLoading methods are intended to be used when handling
101
- // complex scenarios where a need for extended usage flexibility is desired.
102
- startLoading(context, loaderId) {
103
- this.setLoadingState(context, true, this.getLoaderId(loaderId));
104
- }
105
- endLoading(context, loaderId) {
106
- this.setLoadingState(context, false, this.getLoaderId(loaderId));
107
- }
108
- // To be called by middleware code (HTTP interceptors/routing listeners, etc.).
109
- clearLoadings() {
110
- this.loadingStates = new WeakMap();
111
- this.loadingStates$ = new WeakMap();
112
- }
113
- setLoadingState(context, state, loaderId) {
114
- if (!this.hasLoadingStates(context, loaderId)) {
115
- if (this.hasContextLoadingState(context)) {
116
- this.loadingStates.get(context).set(loaderId, state);
117
- this.loadingStates$.get(context).set(loaderId, new BehaviorSubject(state));
118
- }
119
- else {
120
- this.loadingStates.set(context, new Map([
121
- [loaderId, state]
122
- ]));
123
- this.loadingStates$.set(context, new Map([
124
- [loaderId, new BehaviorSubject(state)]
125
- ]));
126
- }
127
- }
128
- else {
129
- // @ts-ignore - loadingStates[context] is surely defined in this branch
130
- this.loadingStates.get(context).set(loaderId, state);
131
- this.loadingStates$.get(context).get(loaderId).next(state);
132
- }
133
- }
134
- hasLoadingStates(context, loaderId) {
135
- return this.hasContextLoadingState(context) && this.hasLoaderLoadingState(context, loaderId);
136
- }
137
- hasContextLoadingState(context) {
138
- return this.loadingStates.has(context) && this.loadingStates$.has(context);
139
- }
140
- hasLoaderLoadingState(context, loaderId) {
141
- return this.loadingStates.get(context).has(loaderId) && this.loadingStates$.get(context).has(loaderId);
142
- }
143
- getLoaderId(loaderId) {
144
- return loaderId !== null && loaderId !== void 0 ? loaderId : DEFAULT_LOADER_ID;
145
- }
146
- }
147
- AXLoadingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXLoadingService, deps: [{ token: i0.NgZone }, { token: i1.AXOverlayService }], target: i0.ɵɵFactoryTarget.Injectable });
148
- AXLoadingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXLoadingService, providedIn: 'root' });
149
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXLoadingService, decorators: [{
150
- type: Injectable,
151
- args: [{
152
- providedIn: 'root'
153
- }]
154
- }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.AXOverlayService }]; } });
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9sb2FkaW5nL2xvYWRpbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQUl6RCxNQUFNLGlCQUFpQixHQUFhLFVBQVUsQ0FBQztBQUUvQzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFJSCxNQUFNLE9BQU8sZ0JBQWdCO0lBUXpCLFlBQXNCLE9BQWUsRUFBVSxjQUFnQztRQUF6RCxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWtCO1FBUC9FLGtEQUFrRDtRQUNsRCwwQ0FBMEM7UUFDaEMsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBMEMsQ0FBQztRQUNoRixxREFBcUQ7UUFDckQsbURBQW1EO1FBQ3pDLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQTJELENBQUM7UUFJMUYsV0FBTSxHQUFrRCxFQUFFLENBQUM7SUFGZ0IsQ0FBQztJQUlwRixJQUFJLENBQUMsUUFBa0I7UUFDbkIsSUFBSSxJQUFhLENBQUM7UUFDbEIsSUFBSSxRQUFRLEVBQUU7WUFDVixJQUFJLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1NBQy9DO1FBQ0QsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLElBQUksSUFBSSxRQUFRLENBQW1CLENBQUM7UUFDOUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFD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QUFJLGlCQUFpQixDQUFDO0lBQ3pDLENBQUM7OzZHQTNJUSxnQkFBZ0I7aUhBQWhCLGdCQUFnQixjQUZiLE1BQU07MkZBRVQsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBhc3luY1NjaGVkdWxlciwgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbmFsaXplLCBvYnNlcnZlT24gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEFYT3ZlcmxheVNlcnZpY2UsIEFYT3ZlcmxheVZpZXdSZWYgfSBmcm9tICcuLi9iYXNlL292ZXJsYXkuc2VydmljZSc7XHJcbmltcG9ydCB7IEFYTG9hZGluZ0NvbXBvbmVudCB9IGZyb20gJy4vbG9hZGluZy5jb21wb25lbnQnO1xyXG5cclxudHlwZSBMb2FkaW5nQ29udGV4dCA9IG9iamVjdDtcclxudHlwZSBMb2FkZXJJZCA9IHN0cmluZyB8IG51bWJlcjsgLy8gZXhwZWN0ZWQgZW51bSB2YWx1ZXNcclxuY29uc3QgREVGQVVMVF9MT0FERVJfSUQ6IExvYWRlcklkID0gJ19ERUZBVUxUJztcclxuXHJcbi8qKlxyXG4gKiBVc2VkIGZvciBjZW50cmFsbHkgc2V0dGluZy91bnNldHRpbmcgbG9hZGluZyBmbGFncyBmb3IgY29tcG9uZW50cyBvciBzZXJ2aWNlcy5cclxuICogU2hvdWxkIGJlIGNvbm5lY3RlZCB0byBnbG9iYWwgSFRUUCBpbnRlcmNlcHRvciB3aGljaCB3aWxsIHVuc2V0XHJcbiAqIHRoZSBsb2FkaW5nIGZsYWdzIGluIGNhc2UgYW4gZXJyb3IgaGFwcGVucyB1c2luZyB0aGUgY2xlYXJMb2FkaW5ncygpIG1ldGhvZC5cclxuICpcclxuICogRkFROlxyXG4gKiBROiBIb3cgdG8gY2hhbmdlIGxvYWRpbmcgZmxhZyBmb3IgYSBwYXJlbnQgY29tcG9uZW50P1xyXG4gKiBBOiBJbmplY3QgdGhlIHBhcmVudCBjb21wb25lbnQgYXMgYSBkZXBlbmRlbmN5IHRvIHlvdXIgY29uc3RydWN0b3IgYW5kXHJcbiAqICAgIGNhbGwgbG9hZGluZ1NlcnZpY2Uuc2V0TG9hZGluZyhwYXJlbnRDb21wb25lbnQsIFNUQVRFKS5cclxuICogXHJcbiAqIFE6IEhvdyB0byBjaGFuZ2UgbG9hZGluZyBmbGFnIGZvciBhIGNoaWxkIGNvbXBvbmVudD9cclxuICogQTogVXNlIGEgQFZpZXdDaGlsZCB3aXRoIGNvbXBvbmVudCBzZWxlY3RvciBhbmQgcGFzcyB0aGVcclxuICogICAgcmVmZXJlbmNlIG9mIHRoZSBjaGlsZCB0byBzZXRMb2FkaW5nIG1ldGhvZC5cclxuICpcclxuICogUTogSSBuZWVkIG1vcmUgbG9hZGluZyBpbmRpY2F0b3JzIGluIG15IGNvbXBvbmVudHMuIEhvdyB0bz9cclxuICogQTogQXNzaWduIGEgTG9hZGVySWQgdG8gZWFjaCBpbmRpY2F0b3IgYW5kIHRoZW4gdXNlIHRoZW1cclxuICogICAgd2l0aCBjYWxscyB0byBtZXRob2RzIG9mIHRoaXMgc2VydmljZS5cclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhMb2FkaW5nU2VydmljZSB7XHJcbiAgICAvLyBXZWFrTWFwIHdpbGwgcmVtb3ZlIGNvbXBvbmVudHMgZnJvbSBpdHNlbGYgdXBvblxyXG4gICAgLy8gdGhlaXIgZ2FyYmFnZSBjb2xsZWN0aW9uIGJ5IEpTIHJ1bnRpbWUuXHJcbiAgICBwcm90ZWN0ZWQgbG9hZGluZ1N0YXRlcyA9IG5ldyBXZWFrTWFwPExvYWRpbmdDb250ZXh0LCBNYXA8TG9hZGVySWQsIGJvb2xlYW4+PigpO1xyXG4gICAgLy8gQm90aCBsb2FkaW5nIHN0YXRlIG1hcHMgYXJlIGtlcHQgaW4tc3luYyBzdWNoIHRoYXRcclxuICAgIC8vIHRoZXkgY2FuIGJlIHVzZWQgYnkgYm90aCBzeW5jIGFuZCBhc3luYyBtZXRob2RzLlxyXG4gICAgcHJvdGVjdGVkIGxvYWRpbmdTdGF0ZXMkID0gbmV3IFdlYWtNYXA8TG9hZGluZ0NvbnRleHQsIE1hcDxMb2FkZXJJZCwgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+Pj4oKTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgem9uZVJlZjogTmdab25lLCBwcml2YXRlIG92ZXJsYXlTZXJ2aWNlOiBBWE92ZXJsYXlTZXJ2aWNlKSB7IH1cclxuXHJcbiAgICBwcml2YXRlIF9zdGFjazogeyBpZDogbnVtYmVyLCBjb21wb25lbnQ6IEFYT3ZlcmxheVZpZXdSZWYgfVtdID0gW107XHJcblxyXG4gICAgc2hvdyhsb2NhdGlvbj86IEVsZW1lbnQpOiBudW1iZXIge1xyXG4gICAgICAgIGxldCBob3N0OiBFbGVtZW50O1xyXG4gICAgICAgIGlmIChsb2NhdGlvbikge1xyXG4gICAgICAgICAgICBob3N0ID0gbG9jYXRpb24uY2xvc2VzdCgnLmF4LWxvYWRpbmctaG9zdCcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBjb250YWluZXJFbGVtZW50ID0gKGhvc3QgfHwgbG9jYXRpb24pIGFzIEhUTUxEaXZFbGVtZW50O1xyXG4gICAgICAgIGNvbnN0IGNvbSA9IHRoaXMub3ZlcmxheVNlcnZpY2Uuc2hvdyhBWExvYWRpbmdDb21wb25lbnQsIHt9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBjbG9zZU9uQ2xpY2tPdXRzaWRlOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIGNvbnRhaW5lckVsZW1lbnQsXHJcbiAgICAgICAgICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIGJhY2tkcm9wQ2xhc3M6IFsnYXgtbG9hZGluZy1vdmVybGF5J10sXHJcbiAgICAgICAgICAgICAgICBzY3JvbGw6ICdibG9jaydcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgY29tLmluc3RhbmNlLnZpc2libGUgPSB0cnVlO1xyXG4gICAgICAgIGNvbnN0IGlkID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgdGhpcy5fc3RhY2sucHVzaCh7IGlkLCBjb21wb25lbnQ6IGNvbSB9KTtcclxuICAgICAgICByZXR1cm4gaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgaGlkZShpZCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGYgPSB0aGlzLl9zdGFjay5maW5kKGMgPT4gYy5pZCA9PT0gaWQpO1xyXG4gICAgICAgIGlmIChmKSB7XHJcbiAgICAgICAgICAgIGYuY29tcG9uZW50LmRpc3Bvc2UoKTtcclxuICAgICAgICAgICAgdGhpcy5fc3RhY2sgPSB0aGlzLl9zdGFjay5maWx0ZXIoYyA9PiBjLmlkICE9PSBpZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvLyBPYnNlcnZhYmxlIGNyZWF0aW9uIG9wZXJhdG9yLlxyXG4gICAgLy8gTG9hZGVySWQgY2FuIGJlIHVzZWQgd2hlbiB0aGVyZSBhcmUgbXVsdGlwbGUgbG9hZGluZyBpbmRpY2F0b3JzIGFzc29jaWF0ZWQgdG8gYSBzaW5nbGUgY29udGV4dC5cclxuICAgIC8vIENvbnRleHQgY2FuIGJlIGFueSBvYmplY3QsIHRob3VnaCBpbiBwcmFjdGljZSwgY29tcG9uZW50cyBhbmQgc2VydmljZXMgd2lsbCBiZSB0aGUgbW9zdCBjb21tb24gY29udGV4dHMuXHJcbiAgICAvLyBsb2FkZXJJZCBpcyBhIG5vbi1tYW5kYXRvcnkgcGFyYW1ldGVyIC0gd2hlbiBub3Qgc3BlY2lmaWVkLCBhIGRlZmF1bHQgbG9hZGVySWQgaXMgdXNlZC5cclxuICAgIC8vIFN1Y2ggYSBzY2VuYXJpbyBpcyB1c2VkIHdoZW4geW91ciBjb250ZXh0IGhhcyBjb250YWlucyBvbmx5IG9uZSBsb2FkaW5nIGluZGljYXRvci5cclxuICAgIGRvTG9hZGluZzxWPihzb3VyY2UkOiBPYnNlcnZhYmxlPFY+LCBjb250ZXh0OiBMb2FkaW5nQ29udGV4dCwgbG9hZGVySWQ/OiBMb2FkZXJJZCk6IE9ic2VydmFibGU8Vj4ge1xyXG4gICAgICAgIHRoaXMuc3RhcnRMb2FkaW5nKGNvbnRleHQsIGxvYWRlcklkKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHNvdXJjZSQucGlwZShcclxuICAgICAgICAgICAgb2JzZXJ2ZU9uKGFzeW5jU2NoZWR1bGVyKSxcclxuICAgICAgICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5lbmRMb2FkaW5nKGNvbnRleHQsIGxvYWRlcklkKSksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBUbyBiZSB1c2VkIGluIHlvdXIgaHRtbCB0ZW1wbGF0ZXMuXHJcbiAgICAvLyBSZXR1cm5zIGEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgYSBnaXZlbiBsb2FkZXIgaXMgYWN0aXZlIGluIGEgZ2l2ZW4gY29udGV4dC5cclxuICAgIC8vIElmIGxvYWRlcklkIGlzIHVuc3BlY2lmaWVkLCB0aGUgbWV0aG9kIHdpbGwgcmV0dXJuIGEgbG9naWNhbCBkaXNqdW5jdGlvbiBvZiBhbGxcclxuICAgIC8vIGxvYWRlciBzdGF0ZXMgaW4gdGhlIGNvbnRleHQuXHJcbiAgICBpc0xvYWRpbmcoY29udGV4dDogTG9hZGluZ0NvbnRleHQsIGxvYWRlcklkPzogTG9hZGVySWQpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBsb2FkZXJTdGF0ZXMgPSB0aGlzLmxvYWRpbmdTdGF0ZXMuZ2V0KGNvbnRleHQpO1xyXG5cclxuICAgICAgICBpZiAoIWxvYWRlclN0YXRlcykge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAobG9hZGVySWQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGxvYWRlclN0YXRlcy5nZXQodGhpcy5nZXRMb2FkZXJJZChsb2FkZXJJZCkpID8/IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFsuLi5sb2FkZXJTdGF0ZXMudmFsdWVzKCldLmZpbHRlcihzdGF0ZSA9PiBzdGF0ZSkubGVuZ3RoID4gMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBUbyBiZSB1c2VkIGluIHlvdXIgaHRtbCB0ZW1wbGF0ZXMgd2l0aCBhc3luYyBwaXBlcy5cclxuICAgIC8vIFJldHVybnMgYW4gT2JzZXJ2YWJsZSBvZiBib29sZWFucyBpbmRpY2F0aW5nIHdoZXRoZXIgYSBnaXZlbiBsb2FkZXIgaXMgYWN0aXZlIGluIGEgZ2l2ZW4gY29udGV4dC5cclxuICAgIGlzTG9hZGluZyQoY29udGV4dDogTG9hZGluZ0NvbnRleHQsIGxvYWRlcklkPzogTG9hZGVySWQpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgICAgICBjb25zdCBjb2FsZXNjZWRMb2FkZXJJZCA9IHRoaXMuZ2V0TG9hZGVySWQobG9hZGVySWQpO1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMuaGFzTG9hZGluZ1N0YXRlcyhjb250ZXh0LCBjb2FsZXNjZWRMb2FkZXJJZCkpIHtcclxuICAgICAgICAgICAgdGhpcy5zZXRMb2FkaW5nU3RhdGUoY29udGV4dCwgZmFsc2UsIGxvYWRlcklkKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmxvYWRpbmdTdGF0ZXMkLmdldChjb250ZXh0KS5nZXQoY29hbGVzY2VkTG9hZGVySWQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFRoZSBzdGFydExvYWRpbmcgYW5kIGVuZExvYWRpbmcgbWV0aG9kcyBhcmUgaW50ZW5kZWQgdG8gYmUgdXNlZCB3aGVuIGhhbmRsaW5nXHJcbiAgICAvLyBjb21wbGV4IHNjZW5hcmlvcyB3aGVyZSBhIG5lZWQgZm9yIGV4dGVuZGVkIHVzYWdlIGZsZXhpYmlsaXR5IGlzIGRlc2lyZWQuXHJcbiAgICBzdGFydExvYWRpbmcoY29udGV4dDogTG9hZGluZ0NvbnRleHQsIGxvYWRlcklkPzogTG9hZGVySWQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNldExvYWRpbmdTdGF0ZShjb250ZXh0LCB0cnVlLCB0aGlzLmdldExvYWRlcklkKGxvYWRlcklkKSk7XHJcbiAgICB9XHJcblxyXG4gICAgZW5kTG9hZGluZyhjb250ZXh0OiBMb2FkaW5nQ29udGV4dCwgbG9hZGVySWQ/OiBMb2FkZXJJZCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2V0TG9hZGluZ1N0YXRlKGNvbnRleHQsIGZhbHNlLCB0aGlzLmdldExvYWRlcklkKGxvYWRlcklkKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVG8gYmUgY2FsbGVkIGJ5IG1pZGRsZXdhcmUgY29kZSAoSFRUUCBpbnRlcmNlcHRvcnMvcm91dGluZyBsaXN0ZW5lcnMsIGV0Yy4pLlxyXG4gICAgY2xlYXJMb2FkaW5ncygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmxvYWRpbmdTdGF0ZXMgPSBuZXcgV2Vha01hcDxMb2FkaW5nQ29udGV4dCwgTWFwPExvYWRlcklkLCBib29sZWFuPj4oKTtcclxuICAgICAgICB0aGlzLmxvYWRpbmdTdGF0ZXMkID0gbmV3IFdlYWtNYXA8TG9hZGluZ0NvbnRleHQsIE1hcDxMb2FkZXJJZCwgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+Pj4oKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgc2V0TG9hZGluZ1N0YXRlKGNvbnRleHQ6IExvYWRpbmdDb250ZXh0LCBzdGF0ZTogYm9vbGVhbiwgbG9hZGVySWQ6IExvYWRlcklkKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmhhc0xvYWRpbmdTdGF0ZXMoY29udGV4dCwgbG9hZGVySWQpKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmhhc0NvbnRleHRMb2FkaW5nU3RhdGUoY29udGV4dCkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZ1N0YXRlcy5nZXQoY29udGV4dCkuc2V0KGxvYWRlcklkLCBzdGF0ZSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmdTdGF0ZXMkLmdldChjb250ZXh0KS5zZXQobG9hZGVySWQsIG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oc3RhdGUpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZ1N0YXRlcy5zZXQoY29udGV4dCwgbmV3IE1hcDxMb2FkZXJJZCwgYm9vbGVhbj4oW1xyXG4gICAgICAgICAgICAgICAgICAgIFtsb2FkZXJJZCwgc3RhdGVdXHJcbiAgICAgICAgICAgICAgICBdKSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmdTdGF0ZXMkLnNldChjb250ZXh0LCBuZXcgTWFwPExvYWRlcklkLCBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4+KFtcclxuICAgICAgICAgICAgICAgICAgICBbbG9hZGVySWQsIG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oc3RhdGUpXVxyXG4gICAgICAgICAgICAgICAgXSkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlIC0gbG9hZGluZ1N0YXRlc1tjb250ZXh0XSBpcyBzdXJlbHkgZGVmaW5lZCBpbiB0aGlzIGJyYW5jaFxyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmdTdGF0ZXMuZ2V0KGNvbnRleHQpLnNldChsb2FkZXJJZCwgc3RhdGUpO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmdTdGF0ZXMkLmdldChjb250ZXh0KS5nZXQobG9hZGVySWQpLm5leHQoc3RhdGUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgaGFzTG9hZGluZ1N0YXRlcyhjb250ZXh0OiBMb2FkaW5nQ29udGV4dCwgbG9hZGVySWQ6IExvYWRlcklkKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzQ29udGV4dExvYWRpbmdTdGF0ZShjb250ZXh0KSAmJiB0aGlzLmhhc0xvYWRlckxvYWRpbmdTdGF0ZShjb250ZXh0LCBsb2FkZXJJZCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGhhc0NvbnRleHRMb2FkaW5nU3RhdGUoY29udGV4dDogTG9hZGluZ0NvbnRleHQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5sb2FkaW5nU3RhdGVzLmhhcyhjb250ZXh0KSAmJiB0aGlzLmxvYWRpbmdTdGF0ZXMkLmhhcyhjb250ZXh0KTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgaGFzTG9hZGVyTG9hZGluZ1N0YXRlKGNvbnRleHQ6IExvYWRpbmdDb250ZXh0LCBsb2FkZXJJZDogTG9hZGVySWQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5sb2FkaW5nU3RhdGVzLmdldChjb250ZXh0KS5oYXMobG9hZGVySWQpICYmIHRoaXMubG9hZGluZ1N0YXRlcyQuZ2V0KGNvbnRleHQpLmhhcyhsb2FkZXJJZCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldExvYWRlcklkKGxvYWRlcklkPzogTG9hZGVySWQpOiBMb2FkZXJJZCB7XHJcbiAgICAgICAgcmV0dXJuIGxvYWRlcklkID8/IERFRkFVTFRfTE9BREVSX0lEO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,66 +0,0 @@
1
- import { EventEmitter, Injectable, ViewChild } from '@angular/core';
2
- import { AXEvent } from '../base/events.class';
3
- import { AXPageComponent } from './page.component';
4
- import { AXPageFooterComponent } from './page-footer.component';
5
- import * as i0 from "@angular/core";
6
- export const TAB_META_KEY = '__meta__';
7
- export class AXPageCloseEvent extends AXEvent {
8
- }
9
- export class AXPageClosing {
10
- constructor() {
11
- this.cancel = false;
12
- }
13
- }
14
- export class AXPageResult {
15
- }
16
- /**
17
- * Defines a CSS class—or multiple classes separated by spaces— which are applied to a span element inside the Button. Allows the usage of custom icons after the primary text.
18
- */
19
- export class AXPageClosedPromise extends Promise {
20
- constructor(executor) {
21
- super(executor);
22
- }
23
- close() {
24
- if (this.closeMethod) {
25
- this.closeMethod();
26
- }
27
- }
28
- }
29
- export class AXBasePageComponent {
30
- constructor() {
31
- this._isLoading = false;
32
- this.onClosed = new EventEmitter();
33
- }
34
- get isLoading() {
35
- return this._isLoading;
36
- }
37
- set isLoading(v) {
38
- this._isLoading = v;
39
- if (this.pageContainer) {
40
- this.pageContainer.isLoading = this.isLoading;
41
- }
42
- }
43
- close(data) {
44
- this.onClosed.emit({
45
- component: this,
46
- data: data
47
- });
48
- }
49
- onClosing(e) {
50
- }
51
- ngOnDestroy() {
52
- this.onClosed.unsubscribe();
53
- }
54
- }
55
- AXBasePageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXBasePageComponent, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
56
- AXBasePageComponent.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXBasePageComponent });
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXBasePageComponent, decorators: [{
58
- type: Injectable
59
- }], propDecorators: { pageContainer: [{
60
- type: ViewChild,
61
- args: [AXPageComponent, { static: true }]
62
- }], footer: [{
63
- type: ViewChild,
64
- args: [AXPageFooterComponent, { static: true }]
65
- }] } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wYWdlLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9wYWdlL2Jhc2UtcGFnZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFFaEUsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQztBQUV2QyxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsT0FBTztDQUU1QztBQUNELE1BQU0sT0FBTyxhQUFhO0lBQTFCO1FBQ0ksV0FBTSxHQUFZLEtBQUssQ0FBQztJQUU1QixDQUFDO0NBQUE7QUFFRCxNQUFNLE9BQU8sWUFBWTtDQUd4QjtBQUVEOztFQUVFO0FBQ0YsTUFBTSxPQUFPLG1CQUFvQixTQUFRLE9BQXFCO0lBRzFELFlBQ0ksUUFDMkM7UUFFM0MsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFTSxLQUFLO1FBQ1IsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN0QjtJQUNMLENBQUM7Q0FDSjtBQUlELE1BQU0sT0FBTyxtQkFBbUI7SUFEaEM7UUFTWSxlQUFVLEdBQVksS0FBSyxDQUFDO1FBWXBDLGFBQVEsR0FBbUMsSUFBSSxZQUFZLEVBQW9CLENBQUM7S0FlbkY7SUExQkcsSUFBVyxTQUFTO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBVyxTQUFTLENBQUMsQ0FBVTtRQUMzQixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztRQUNwQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUNqRDtJQUNMLENBQUM7SUFLRCxLQUFLLENBQUMsSUFBVTtRQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ2YsU0FBUyxFQUFFLElBQUk7WUFDZixJQUFJLEVBQUUsSUFBSTtTQUNiLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxTQUFTLENBQUMsQ0FBZ0I7SUFDMUIsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7O2dIQWxDUSxtQkFBbUI7b0hBQW5CLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVOzhCQUlDLGFBQWE7c0JBRHBCLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJNUMsTUFBTTtzQkFETCxTQUFTO3VCQUFDLHFCQUFxQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYRXZlbnQgfSBmcm9tICcuLi9iYXNlL2V2ZW50cy5jbGFzcyc7XHJcblxyXG5cclxuaW1wb3J0IHsgQVhQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYUGFnZUZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4vcGFnZS1mb290ZXIuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCBjb25zdCBUQUJfTUVUQV9LRVkgPSAnX19tZXRhX18nO1xyXG5cclxuZXhwb3J0IGNsYXNzIEFYUGFnZUNsb3NlRXZlbnQgZXh0ZW5kcyBBWEV2ZW50IHtcclxuICAgIGRhdGE/OiBhbnlcclxufVxyXG5leHBvcnQgY2xhc3MgQVhQYWdlQ2xvc2luZyB7XHJcbiAgICBjYW5jZWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGRhdGE/OiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBWFBhZ2VSZXN1bHQge1xyXG4gICAgc2VuZGVyOiBBWEJhc2VQYWdlQ29tcG9uZW50O1xyXG4gICAgZGF0YT86IGFueTtcclxufVxyXG5cclxuLyoqXHJcbiogIERlZmluZXMgYSBDU1MgY2xhc3PigJRvciBtdWx0aXBsZSBjbGFzc2VzIHNlcGFyYXRlZCBieSBzcGFjZXPigJQgd2hpY2ggYXJlIGFwcGxpZWQgdG8gYSBzcGFuIGVsZW1lbnQgaW5zaWRlIHRoZSBCdXR0b24uIEFsbG93cyB0aGUgdXNhZ2Ugb2YgY3VzdG9tIGljb25zIGFmdGVyIHRoZSBwcmltYXJ5IHRleHQuXHJcbiovXHJcbmV4cG9ydCBjbGFzcyBBWFBhZ2VDbG9zZWRQcm9taXNlIGV4dGVuZHMgUHJvbWlzZTxBWFBhZ2VSZXN1bHQ+IHtcclxuXHJcbiAgICBwcml2YXRlIGNsb3NlTWV0aG9kOiAoKSA9PiB2b2lkO1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgZXhlY3V0b3I6IChyZXNvbHZlOiAodmFsdWU/OiBBWFBhZ2VSZXN1bHQgfCBQcm9taXNlTGlrZTxBWFBhZ2VSZXN1bHQ+KSA9PiB2b2lkLFxyXG4gICAgICAgICAgICByZWplY3Q6IChyZWFzb24/OiBhbnkpID0+IHZvaWQpID0+IHZvaWRcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKGV4ZWN1dG9yKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2xvc2UoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY2xvc2VNZXRob2QpIHtcclxuICAgICAgICAgICAgdGhpcy5jbG9zZU1ldGhvZCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFYQmFzZVBhZ2VDb21wb25lbnQge1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoQVhQYWdlQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gICAgcHJpdmF0ZSBwYWdlQ29udGFpbmVyOiBBWFBhZ2VDb21wb25lbnQ7XHJcblxyXG4gICAgQFZpZXdDaGlsZChBWFBhZ2VGb290ZXJDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgICBmb290ZXI6IEFYUGFnZUZvb3RlckNvbXBvbmVudDtcclxuXHJcbiAgICBwcml2YXRlIF9pc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBnZXQgaXNMb2FkaW5nKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pc0xvYWRpbmc7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IGlzTG9hZGluZyh2OiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5faXNMb2FkaW5nID0gdjtcclxuICAgICAgICBpZiAodGhpcy5wYWdlQ29udGFpbmVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMucGFnZUNvbnRhaW5lci5pc0xvYWRpbmcgPSB0aGlzLmlzTG9hZGluZztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIG9uQ2xvc2VkOiBFdmVudEVtaXR0ZXI8QVhQYWdlQ2xvc2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYUGFnZUNsb3NlRXZlbnQ+KCk7XHJcblxyXG4gICAgY2xvc2UoZGF0YT86IGFueSkge1xyXG4gICAgICAgIHRoaXMub25DbG9zZWQuZW1pdCh7XHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICAgICAgZGF0YTogZGF0YVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG9uQ2xvc2luZyhlOiBBWFBhZ2VDbG9zaW5nKTogdm9pZCB8IFByb21pc2U8dm9pZD4ge1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHRoaXMub25DbG9zZWQudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxufSJdfQ==
@@ -1,220 +0,0 @@
1
- import { Component, Input, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, ElementRef, HostListener, EventEmitter } from '@angular/core';
2
- import { AXBaseComponent } from '../base';
3
- import { AXDrawingUtil } from '@acorex/core';
4
- import { TemplatePortal } from '@angular/cdk/portal';
5
- import { fromEvent } from 'rxjs';
6
- import _ from 'lodash';
7
- import { throttleTime } from 'rxjs/operators';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/cdk/overlay";
10
- import * as i2 from "@acorex/core";
11
- export class AXPopoverComponent extends AXBaseComponent {
12
- constructor(_elementRef, _cdr, _zone, _overlay, _platform, _viewContainerRef) {
13
- super(_elementRef, _cdr);
14
- this._cdr = _cdr;
15
- this._zone = _zone;
16
- this._overlay = _overlay;
17
- this._platform = _platform;
18
- this._viewContainerRef = _viewContainerRef;
19
- this.position = [
20
- {
21
- originX: 'start',
22
- originY: 'bottom',
23
- overlayX: 'start',
24
- overlayY: 'top',
25
- },
26
- {
27
- originX: 'start',
28
- originY: 'top',
29
- overlayX: 'start',
30
- overlayY: 'bottom'
31
- }
32
- ];
33
- this._subs = [];
34
- //
35
- this.openTrigger = 'toggle';
36
- //
37
- this.closeTrigger = 'clickout';
38
- //
39
- this.hasBackdrop = false;
40
- //
41
- this._mousePos = { x: 0, y: 0 };
42
- this._isScrollAttached = false;
43
- //
44
- this.onOpened = new EventEmitter();
45
- this.onClosed = new EventEmitter();
46
- }
47
- get target() {
48
- return this._target;
49
- }
50
- set target(v) {
51
- if (v instanceof HTMLElement)
52
- this._target = v;
53
- else if (v instanceof ElementRef)
54
- this._target = v.nativeElement;
55
- else if (v instanceof AXBaseComponent)
56
- this._target = v._getInnerElement();
57
- }
58
- _emitOnOpenedEvent() {
59
- this.onOpened.emit({
60
- component: this,
61
- htmlElement: this._getHostElement()
62
- });
63
- }
64
- _emitOnClosedEvent() {
65
- this.onClosed.emit({
66
- component: this,
67
- htmlElement: this._getHostElement()
68
- });
69
- }
70
- //
71
- onViewInit() {
72
- if (this._target) {
73
- if (this.openTrigger === 'mouseover') {
74
- const mouseEnter$ = fromEvent(this._target, 'mouseover');
75
- this._addSub(mouseEnter$.subscribe(e => {
76
- const point = { x: e.clientX, y: e.clientY };
77
- if (AXDrawingUtil.isInElementBound(point, this._target))
78
- this.open();
79
- }));
80
- }
81
- if (this.closeTrigger === 'mouseout') {
82
- const mouseMove$ = fromEvent(document, 'mousemove');
83
- this._addSub(mouseMove$.pipe(throttleTime(50)).subscribe(e => {
84
- this._mousePos.x = e.clientX;
85
- this._mousePos.y = e.clientY;
86
- if (this.isOpen) {
87
- setTimeout(() => {
88
- if (!_.some([this._target, this._overlayRef.overlayElement], el => _.includes(document.elementsFromPoint(this._mousePos.x, this._mousePos.y), el)))
89
- this.close();
90
- }, 100);
91
- }
92
- }));
93
- }
94
- //
95
- if (this.openTrigger === 'click' || this.openTrigger === 'toggle') {
96
- const click$ = fromEvent(this._target, 'click');
97
- this._addSub(click$.subscribe(e => {
98
- this.openTrigger == 'toggle' ? this.toggle() : this.open();
99
- }));
100
- }
101
- }
102
- }
103
- //
104
- onDestroy() {
105
- var _a, _b;
106
- (_a = this._overlayRef) === null || _a === void 0 ? void 0 : _a.detach();
107
- (_b = this._overlayRef) === null || _b === void 0 ? void 0 : _b.dispose();
108
- this._subs.forEach(s => {
109
- s === null || s === void 0 ? void 0 : s.unsubscribe();
110
- });
111
- }
112
- _handleKeydownHandler(e) {
113
- if (e.key === 'Enter' && e.type === 'keydown') {
114
- this.toggle();
115
- }
116
- if (e.key === 'Escape') {
117
- if (this.isOpen) {
118
- this.close();
119
- e.stopPropagation();
120
- }
121
- }
122
- }
123
- //
124
- toggle() {
125
- this.isOpen ? this.close() : this.open();
126
- }
127
- //
128
- close() {
129
- var _a;
130
- if (!this.isOpen) {
131
- return;
132
- }
133
- (_a = this._overlayRef) === null || _a === void 0 ? void 0 : _a.detach();
134
- this._emitOnClosedEvent();
135
- }
136
- //
137
- open() {
138
- if (this.isOpen) {
139
- return;
140
- }
141
- this._ensureOverlayCreated();
142
- this._overlayRef.attach(this._templatePortal);
143
- this._emitOnOpenedEvent();
144
- }
145
- _ensureOverlayCreated() {
146
- const targetRef = this._target;
147
- if (!targetRef)
148
- return;
149
- if (!this._overlayRef) {
150
- const positionStrategy = this._overlay.position()
151
- .flexibleConnectedTo(targetRef)
152
- .withPositions(Array.isArray(this.position) ? this.position : [this.position])
153
- .withPush(false);
154
- this._overlayRef = this._overlay.create({
155
- positionStrategy,
156
- scrollStrategy: this._overlay.scrollStrategies.close(),
157
- panelClass: ['ax-animate-fadeIn', 'ax-animate-faster'],
158
- hasBackdrop: this.hasBackdrop,
159
- backdropClass: [this.backdropClass || 'cdk-overlay-transparent-backdrop']
160
- });
161
- if (this.closeTrigger == 'clickout') {
162
- this._addSub(this._overlayRef._outsidePointerEvents.subscribe(c => {
163
- const target = c.target;
164
- const comElem = targetRef;
165
- if (!(comElem.contains(target))) {
166
- this.close();
167
- }
168
- }));
169
- }
170
- this._addSub(this._overlayRef.attachments().subscribe(() => {
171
- if (!this._isScrollAttached) {
172
- this._addSub(this._platform.scroll.subscribe(c => {
173
- // if (!(c.nativeEvent.target as HTMLElement).closest('.ax-overlay-pane'))
174
- this.close();
175
- }));
176
- this._isScrollAttached = true;
177
- }
178
- }));
179
- }
180
- if (!this._templatePortal) {
181
- this._templatePortal = new TemplatePortal(this._baseTemplate, this._viewContainerRef);
182
- }
183
- }
184
- get isOpen() {
185
- return this._overlayRef ? this._overlayRef.hasAttached() : false;
186
- }
187
- _addSub(sub) {
188
- this._subs.push(sub);
189
- }
190
- }
191
- AXPopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXPopoverComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1.Overlay }, { token: i2.AXPlatform }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
192
- AXPopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: AXPopoverComponent, selector: "ax-popover", inputs: { target: "target", position: "position", openTrigger: "openTrigger", closeTrigger: "closeTrigger", hasBackdrop: "hasBackdrop", backdropClass: "backdropClass" }, host: { listeners: { "document:keydown": "_handleKeydownHandler($event)" } }, viewQueries: [{ propertyName: "_baseTemplate", first: true, predicate: ["baseTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #baseTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
193
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXPopoverComponent, decorators: [{
194
- type: Component,
195
- args: [{
196
- selector: 'ax-popover',
197
- templateUrl: './popover.component.html',
198
- encapsulation: ViewEncapsulation.None,
199
- changeDetection: ChangeDetectionStrategy.OnPush,
200
- }]
201
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i1.Overlay }, { type: i2.AXPlatform }, { type: i0.ViewContainerRef }]; }, propDecorators: { target: [{
202
- type: Input
203
- }], position: [{
204
- type: Input
205
- }], _baseTemplate: [{
206
- type: ViewChild,
207
- args: ['baseTemplate']
208
- }], openTrigger: [{
209
- type: Input
210
- }], closeTrigger: [{
211
- type: Input
212
- }], hasBackdrop: [{
213
- type: Input
214
- }], backdropClass: [{
215
- type: Input
216
- }], _handleKeydownHandler: [{
217
- type: HostListener,
218
- args: ['document:keydown', ['$event']]
219
- }] } });
220
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBNkIsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFlLFVBQVUsRUFBb0IsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxTSxPQUFPLEVBQUUsZUFBZSxFQUFnQyxNQUFNLFNBQVMsQ0FBQztBQUV4RSxPQUFPLEVBQUUsYUFBYSxFQUF1QixNQUFNLGNBQWMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVk5QyxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsZUFBZTtJQUVyRCxZQUNFLFdBQXVCLEVBQ2hCLElBQXVCLEVBQ3RCLEtBQWEsRUFDYixRQUFpQixFQUNqQixTQUFxQixFQUNyQixpQkFBbUM7UUFHM0MsS0FBSyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQVBsQixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUN0QixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ2IsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixjQUFTLEdBQVQsU0FBUyxDQUFZO1FBQ3JCLHNCQUFpQixHQUFqQixp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OUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsV0FBVyxFQUFFLDBCQUEwQjtvQkFDdkMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDtvT0FpQlksTUFBTTtzQkFEaEIsS0FBSztnQkFlTixRQUFRO3NCQURQLEtBQUs7Z0JBaUJOLGFBQWE7c0JBRFosU0FBUzt1QkFBQyxjQUFjO2dCQVF6QixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBa0VOLHFCQUFxQjtzQkFEcEIsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE5nWm9uZSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBWaWV3RW5jYXBzdWxhdGlvbiwgVmlld0NoaWxkLCBUZW1wbGF0ZVJlZiwgRWxlbWVudFJlZiwgVmlld0NvbnRhaW5lclJlZiwgSG9zdExpc3RlbmVyLCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhCYXNlQ29tcG9uZW50LCBBWENvbm5lY3RlZFBvc2l0aW9uLCBBWEV2ZW50IH0gZnJvbSAnLi4vYmFzZSc7XHJcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IEFYRHJhd2luZ1V0aWwsIEFYUGxhdGZvcm0sIEFYUG9pbnQgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyB0aHJvdHRsZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5cclxuXHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdheC1wb3BvdmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcG9wb3Zlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYUG9wb3ZlckNvbXBvbmVudCBleHRlbmRzIEFYQmFzZUNvbXBvbmVudCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwdWJsaWMgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF96b25lOiBOZ1pvbmUsXHJcbiAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5LFxyXG4gICAgcHJpdmF0ZSBfcGxhdGZvcm06IEFYUGxhdGZvcm0sXHJcbiAgICBwcml2YXRlIF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG5cclxuICApIHtcclxuICAgIHN1cGVyKF9lbGVtZW50UmVmLCBfY2RyKTtcclxuICB9XHJcbiAgLy9cclxuICBwcml2YXRlIF90YXJnZXQ6IEhUTUxFbGVtZW50O1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCB0YXJnZXQoKTogSFRNTEVsZW1lbnQgfCBFbGVtZW50UmVmIHwgQVhCYXNlQ29tcG9uZW50IHtcclxuICAgIHJldHVybiB0aGlzLl90YXJnZXQ7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgdGFyZ2V0KHY6IEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZiB8IEFYQmFzZUNvbXBvbmVudCkge1xyXG4gICAgaWYgKHYgaW5zdGFuY2VvZiBIVE1MRWxlbWVudClcclxuICAgICAgdGhpcy5fdGFyZ2V0ID0gdjtcclxuICAgIGVsc2UgaWYgKHYgaW5zdGFuY2VvZiBFbGVtZW50UmVmKVxyXG4gICAgICB0aGlzLl90YXJnZXQgPSB2Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBlbHNlIGlmICh2IGluc3RhbmNlb2YgQVhCYXNlQ29tcG9uZW50KVxyXG4gICAgICB0aGlzLl90YXJnZXQgPSB2Ll9nZXRJbm5lckVsZW1lbnQoKTtcclxuICB9XHJcblxyXG5cclxuICBASW5wdXQoKVxyXG4gIHBvc2l0aW9uOiBBWENvbm5lY3RlZFBvc2l0aW9uIHwgQVhDb25uZWN0ZWRQb3NpdGlvbltdID0gW1xyXG4gICAge1xyXG4gICAgICBvcmlnaW5YOiAnc3RhcnQnLFxyXG4gICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcclxuICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIG9yaWdpblg6ICdzdGFydCcsXHJcbiAgICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgb3ZlcmxheVk6ICdib3R0b20nXHJcbiAgICB9XHJcbiAgXTtcclxuICAvL1xyXG4gIEBWaWV3Q2hpbGQoJ2Jhc2VUZW1wbGF0ZScpXHJcbiAgX2Jhc2VUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBfb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcclxuICBfdGVtcGxhdGVQb3J0YWw6IFRlbXBsYXRlUG9ydGFsO1xyXG5cclxuICBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuICAvL1xyXG4gIEBJbnB1dCgpXHJcbiAgb3BlblRyaWdnZXI6ICdtYW51YWwnIHwgJ2NsaWNrJyB8ICdtb3VzZW92ZXInIHwgJ3RvZ2dsZScgPSAndG9nZ2xlJztcclxuICAvL1xyXG4gIEBJbnB1dCgpXHJcbiAgY2xvc2VUcmlnZ2VyOiAnbWFudWFsJyB8ICdjbGlja291dCcgfCAnbW91c2VvdXQnID0gJ2NsaWNrb3V0JztcclxuICAvL1xyXG4gIEBJbnB1dCgpXHJcbiAgaGFzQmFja2Ryb3A6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBiYWNrZHJvcENsYXNzOiBzdHJpbmc7XHJcbiAgLy9cclxuICBwcml2YXRlIF9tb3VzZVBvczogQVhQb2ludCA9IHsgeDogMCwgeTogMCB9O1xyXG4gIHByaXZhdGUgX2lzU2Nyb2xsQXR0YWNoZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvL1xyXG4gIG9uT3BlbmVkOiBFdmVudEVtaXR0ZXI8QVhFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYRXZlbnQ+KCk7XHJcbiAgb25DbG9zZWQ6IEV2ZW50RW1pdHRlcjxBWEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhFdmVudD4oKTtcclxuXHJcbiAgX2VtaXRPbk9wZW5lZEV2ZW50KCkge1xyXG4gICAgdGhpcy5vbk9wZW5lZC5lbWl0KHtcclxuICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICBodG1sRWxlbWVudDogdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBfZW1pdE9uQ2xvc2VkRXZlbnQoKSB7XHJcbiAgICB0aGlzLm9uQ2xvc2VkLmVtaXQoe1xyXG4gICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgIGh0bWxFbGVtZW50OiB0aGlzLl9nZXRIb3N0RWxlbWVudCgpXHJcbiAgICB9KTtcclxuICB9XHJcbiAgLy9cclxuICBvblZpZXdJbml0KCkge1xyXG4gICAgaWYgKHRoaXMuX3RhcmdldCkge1xyXG4gICAgICBpZiAodGhpcy5vcGVuVHJpZ2dlciA9PT0gJ21vdXNlb3ZlcicpIHtcclxuICAgICAgICBjb25zdCBtb3VzZUVudGVyJCA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pih0aGlzLl90YXJnZXQsICdtb3VzZW92ZXInKTtcclxuICAgICAgICB0aGlzLl9hZGRTdWIobW91c2VFbnRlciQuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICAgICAgY29uc3QgcG9pbnQgPSB7IHg6IGUuY2xpZW50WCwgeTogZS5jbGllbnRZIH07XHJcbiAgICAgICAgICBpZiAoQVhEcmF3aW5nVXRpbC5pc0luRWxlbWVudEJvdW5kKHBvaW50LCB0aGlzLl90YXJnZXQpKVxyXG4gICAgICAgICAgICB0aGlzLm9wZW4oKTtcclxuICAgICAgICB9KSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuY2xvc2VUcmlnZ2VyID09PSAnbW91c2VvdXQnKSB7XHJcbiAgICAgICAgY29uc3QgbW91c2VNb3ZlJCA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pihkb2N1bWVudCwgJ21vdXNlbW92ZScpO1xyXG4gICAgICAgIHRoaXMuX2FkZFN1Yihtb3VzZU1vdmUkLnBpcGUodGhyb3R0bGVUaW1lKDUwKSkuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fbW91c2VQb3MueCA9IGUuY2xpZW50WDtcclxuICAgICAgICAgIHRoaXMuX21vdXNlUG9zLnkgPSBlLmNsaWVudFk7XHJcbiAgICAgICAgICBpZiAodGhpcy5pc09wZW4pIHtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKCFfLnNvbWUoW3RoaXMuX3RhcmdldCwgdGhpcy5fb3ZlcmxheVJlZi5vdmVybGF5RWxlbWVudF0sIGVsID0+IF8uaW5jbHVkZXMoZG9jdW1lbnQuZWxlbWVudHNGcm9tUG9pbnQodGhpcy5fbW91c2VQb3MueCwgdGhpcy5fbW91c2VQb3MueSksIGVsKSkpXHJcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICAgIH0sIDEwMClcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KSk7XHJcblxyXG4gICAgICB9XHJcbiAgICAgIC8vXHJcbiAgICAgIGlmICh0aGlzLm9wZW5UcmlnZ2VyID09PSAnY2xpY2snIHx8IHRoaXMub3BlblRyaWdnZXIgPT09ICd0b2dnbGUnKSB7XHJcbiAgICAgICAgY29uc3QgY2xpY2skID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuX3RhcmdldCwgJ2NsaWNrJyk7XHJcbiAgICAgICAgdGhpcy5fYWRkU3ViKGNsaWNrJC5zdWJzY3JpYmUoZSA9PiB7XHJcbiAgICAgICAgICB0aGlzLm9wZW5UcmlnZ2VyID09ICd0b2dnbGUnID8gdGhpcy50b2dnbGUoKSA6IHRoaXMub3BlbigpO1xyXG4gICAgICAgIH0pKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAvL1xyXG4gIG9uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX292ZXJsYXlSZWY/LmRldGFjaCgpO1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xyXG4gICAgdGhpcy5fc3Vicy5mb3JFYWNoKHMgPT4ge1xyXG4gICAgICBzPy51bnN1YnNjcmliZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcclxuICBfaGFuZGxlS2V5ZG93bkhhbmRsZXIoZTogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgaWYgKGUua2V5ID09PSAnRW50ZXInICYmIGUudHlwZSA9PT0gJ2tleWRvd24nKSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlKCk7XHJcbiAgICB9XHJcbiAgICBpZiAoZS5rZXkgPT09ICdFc2NhcGUnKSB7XHJcbiAgICAgIGlmICh0aGlzLmlzT3Blbikge1xyXG4gICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vXHJcbiAgdG9nZ2xlKCkge1xyXG4gICAgdGhpcy5pc09wZW4gPyB0aGlzLmNsb3NlKCkgOiB0aGlzLm9wZW4oKTtcclxuICB9XHJcbiAgLy9cclxuICBjbG9zZSgpIHtcclxuICAgIGlmICghdGhpcy5pc09wZW4pIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fb3ZlcmxheVJlZj8uZGV0YWNoKCk7XHJcbiAgICB0aGlzLl9lbWl0T25DbG9zZWRFdmVudCgpO1xyXG4gIH1cclxuICAvL1xyXG4gIG9wZW4oKSB7XHJcbiAgICBpZiAodGhpcy5pc09wZW4pIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fZW5zdXJlT3ZlcmxheUNyZWF0ZWQoKTtcclxuICAgIHRoaXMuX292ZXJsYXlSZWYuYXR0YWNoKHRoaXMuX3RlbXBsYXRlUG9ydGFsKTtcclxuICAgIHRoaXMuX2VtaXRPbk9wZW5lZEV2ZW50KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9lbnN1cmVPdmVybGF5Q3JlYXRlZCgpIHtcclxuICAgIGNvbnN0IHRhcmdldFJlZiA9IHRoaXMuX3RhcmdldDtcclxuICAgIGlmICghdGFyZ2V0UmVmKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgaWYgKCF0aGlzLl9vdmVybGF5UmVmKSB7XHJcbiAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKClcclxuICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0YXJnZXRSZWYpXHJcbiAgICAgICAgLndpdGhQb3NpdGlvbnMoQXJyYXkuaXNBcnJheSh0aGlzLnBvc2l0aW9uKSA/IHRoaXMucG9zaXRpb24gOiBbdGhpcy5wb3NpdGlvbl0pXHJcbiAgICAgICAgLndpdGhQdXNoKGZhbHNlKTtcclxuICAgICAgdGhpcy5fb3ZlcmxheVJlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKHtcclxuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5LFxyXG4gICAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLl9vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuY2xvc2UoKSxcclxuICAgICAgICBwYW5lbENsYXNzOiBbJ2F4LWFuaW1hdGUtZmFkZUluJywgJ2F4LWFuaW1hdGUtZmFzdGVyJ10sXHJcbiAgICAgICAgaGFzQmFja2Ryb3A6IHRoaXMuaGFzQmFja2Ryb3AsXHJcbiAgICAgICAgYmFja2Ryb3BDbGFzczogW3RoaXMuYmFja2Ryb3BDbGFzcyB8fCAnY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AnXVxyXG4gICAgICB9KTtcclxuICAgICAgaWYgKHRoaXMuY2xvc2VUcmlnZ2VyID09ICdjbGlja291dCcpIHtcclxuICAgICAgICB0aGlzLl9hZGRTdWIodGhpcy5fb3ZlcmxheVJlZi5fb3V0c2lkZVBvaW50ZXJFdmVudHMuc3Vic2NyaWJlKGMgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdGFyZ2V0ID0gYy50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgICBjb25zdCBjb21FbGVtID0gdGFyZ2V0UmVmO1xyXG4gICAgICAgICAgaWYgKCEoY29tRWxlbS5jb250YWlucyh0YXJnZXQpKSkge1xyXG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSkpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuX2FkZFN1Yih0aGlzLl9vdmVybGF5UmVmLmF0dGFjaG1lbnRzKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMuX2lzU2Nyb2xsQXR0YWNoZWQpIHtcclxuICAgICAgICAgIHRoaXMuX2FkZFN1Yih0aGlzLl9wbGF0Zm9ybS5zY3JvbGwuc3Vic2NyaWJlKGMgPT4ge1xyXG4gICAgICAgICAgICAvLyBpZiAoIShjLm5hdGl2ZUV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xvc2VzdCgnLmF4LW92ZXJsYXktcGFuZScpKVxyXG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICB0aGlzLl9pc1Njcm9sbEF0dGFjaGVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pKTtcclxuICAgIH1cclxuICAgIGlmICghdGhpcy5fdGVtcGxhdGVQb3J0YWwpIHtcclxuICAgICAgdGhpcy5fdGVtcGxhdGVQb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy5fYmFzZVRlbXBsYXRlLCB0aGlzLl92aWV3Q29udGFpbmVyUmVmKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCBpc09wZW4oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fb3ZlcmxheVJlZiA/IHRoaXMuX292ZXJsYXlSZWYuaGFzQXR0YWNoZWQoKSA6IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfYWRkU3ViKHN1YjogU3Vic2NyaXB0aW9uKSB7XHJcbiAgICB0aGlzLl9zdWJzLnB1c2goc3ViKTtcclxuICB9XHJcbn1cclxuIiwiPG5nLXRlbXBsYXRlICNiYXNlVGVtcGxhdGU+XHJcbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG48L25nLXRlbXBsYXRlPiJdfQ==
@@ -1,97 +0,0 @@
1
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, HostListener, EventEmitter, TemplateRef } from '@angular/core';
2
- import { AXBaseComponentMixin } from '../base';
3
- import { TAB_META_KEY } from '../page/base-page.class';
4
- import { ComponentPortal, TemplatePortal } from '@angular/cdk/portal';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../loading";
7
- import * as i2 from "@angular/cdk/a11y";
8
- import * as i3 from "@angular/cdk/drag-drop";
9
- import * as i4 from "@angular/common";
10
- import * as i5 from "@angular/cdk/portal";
11
- export class AXPopupComponent extends AXBaseComponentMixin {
12
- constructor(elementRef, cdr, _viewContainerRef, loadingService) {
13
- super(elementRef, cdr);
14
- this._viewContainerRef = _viewContainerRef;
15
- this.loadingService = loadingService;
16
- this.isLoading = true;
17
- this.onClosed = new EventEmitter();
18
- this.size = 'sm';
19
- this.data = {};
20
- this.showCloseButton = true;
21
- this.showHeader = true;
22
- }
23
- onViewInit() {
24
- this._loadingId = this.loadingService.show(this._getHostElement().querySelector('.ax-popup-body-container'));
25
- //
26
- if (typeof this.content === 'string') {
27
- // this.rendererService.findLoadedComponentByRoute(this.content, 20).then(route => {
28
- // setTimeout(() => {
29
- // this.loadComponent(route?.component);
30
- // }, 300);
31
- // });
32
- }
33
- else if (this.content instanceof TemplateRef) {
34
- this._selectedPortal = new TemplatePortal(this.content, this._viewContainerRef, { $implicit: this.data, ref: this });
35
- this._cdr.markForCheck();
36
- }
37
- else if (typeof this.content === 'function') {
38
- this._selectedPortal = new ComponentPortal(this.content);
39
- this._cdr.markForCheck();
40
- }
41
- }
42
- _handleAttched(ref) {
43
- ref = ref;
44
- if (ref.instance) {
45
- this[TAB_META_KEY].component = ref.instance;
46
- Object.assign(this[TAB_META_KEY].component, this.data);
47
- if (ref.instance.onClosed) {
48
- ref.instance.onClosed.subscribe((e) => {
49
- this.onClosed.emit(e);
50
- });
51
- }
52
- }
53
- if (ref.instance.footer) {
54
- this._footerPortal = new TemplatePortal(ref.instance.footer.template, this._viewContainerRef, { $implicit: this.data, ref: this });
55
- }
56
- this.loadingService.hide(this._loadingId);
57
- this.focus();
58
- this._cdr.markForCheck();
59
- }
60
- onKeydownHandler(event) {
61
- if (this.showCloseButton) {
62
- this.close();
63
- }
64
- }
65
- _handleCloseClick() {
66
- this.close();
67
- }
68
- ngOnDestroy() {
69
- this.loadingService.hide(this._loadingId);
70
- }
71
- focus() {
72
- setTimeout(() => this._getHostElement().focus());
73
- }
74
- close() {
75
- this.onClosed.emit({
76
- component: this[TAB_META_KEY].component,
77
- htmlElement: this._getHostElement(),
78
- });
79
- this._cdr.detectChanges();
80
- }
81
- onFullScreen() { }
82
- }
83
- AXPopupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXPopupComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.ViewContainerRef }, { token: i1.AXLoadingService }], target: i0.ɵɵFactoryTarget.Component });
84
- AXPopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: AXPopupComponent, selector: "ax-popup", host: { listeners: { "keydown.escape": "onKeydownHandler($event)" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"ax-popup-wrapper\" aria-modal=\"true\" cdkTrapFocus>\r\n <div class=\"ax-popup ax-{{size}}\" tabindex=\"0\" cdkDrag>\r\n <ng-container *ngIf=\"showHeader\">\r\n <header cdkDragHandle class=\"ax-cursor-move\">\r\n <div>\r\n <div class=\"ax-text-lg ax-font-medium\">\r\n <span>\r\n {{title}}\r\n </span>\r\n </div>\r\n </div>\r\n <div *ngIf=\"showCloseButton\">\r\n <i class=\"ax-ic ax-ic-close ax-text-gray ax-cursor-pointer\" (click)=\"_handleCloseClick()\"\r\n tabindex=\"1\"></i>\r\n </div>\r\n </header>\r\n </ng-container>\r\n <main>\r\n <ng-template [cdkPortalOutlet]=\"_selectedPortal\" (attached)=\"_handleAttched($event)\"></ng-template>\r\n </main>\r\n <footer *ngIf=\"_footerPortal\">\r\n <ng-template [cdkPortalOutlet]=\"_footerPortal\"></ng-template>\r\n </footer>\r\n </div>\r\n</div>", directives: [{ type: i2.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragDisabled", "cdkDragStartDelay", "cdkDragLockAxis", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragBoundary", "cdkDragRootElement", "cdkDragPreviewContainer", "cdkDragData", "cdkDragFreeDragPosition"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { type: i5.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXPopupComponent, decorators: [{
86
- type: Component,
87
- args: [{
88
- selector: 'ax-popup',
89
- templateUrl: './popup.component.html',
90
- changeDetection: ChangeDetectionStrategy.OnPush,
91
- encapsulation: ViewEncapsulation.None,
92
- }]
93
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.ViewContainerRef }, { type: i1.AXLoadingService }]; }, propDecorators: { onKeydownHandler: [{
94
- type: HostListener,
95
- args: ['keydown.escape', ['$event']]
96
- }] } });
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9wb3B1cC9wb3B1cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3BvcHVwL3BvcHVwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQXdGLFlBQVksRUFBZ0IsWUFBWSxFQUFFLFdBQVcsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDalAsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQy9DLE9BQU8sRUFBb0IsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJekUsT0FBTyxFQUE4QixlQUFlLEVBQVUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7QUFRMUcsTUFBTSxPQUFPLGdCQUFpQixTQUFRLG9CQUFvQjtJQXlCdEQsWUFDSSxVQUFzQixFQUN0QixHQUFzQixFQUNkLGlCQUFtQyxFQUNuQyxjQUFnQztRQUV4QyxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBSGYsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUNuQyxtQkFBYyxHQUFkLGNBQWMsQ0FBa0I7UUEzQjVDLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFLMUIsYUFBUSxHQUFtQyxJQUFJLFlBQVksRUFBb0IsQ0FBQztRQUVoRixTQUFJLEdBQWdDLElBQUksQ0FBQztRQUd6QyxTQUFJLEdBQVEsRUFBRSxDQUFDO1FBR2Ysb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFDaEMsZUFBVSxHQUFZLElBQUksQ0FBQztJQWdCM0IsQ0FBQztJQUVELFVBQVU7UUFDTixJQUFJLENBQUMsVUFBVSxH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Q0FBQyxTQUFTO1lBQ3ZDLFdBQVcsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFO1NBQ3RDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELFlBQVksS0FBSyxDQUFDOzs2R0F0R1QsZ0JBQWdCO2lHQUFoQixnQkFBZ0IsOElDZDdCLDZsQ0F3Qk07MkZEVk8sZ0JBQWdCO2tCQU41QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxVQUFVO29CQUNwQixXQUFXLEVBQUUsd0JBQXdCO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7aUJBQ3hDOytMQTZFRyxnQkFBZ0I7c0JBRGYsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBFbGVtZW50UmVmLCBDaGFuZ2VEZXRlY3RvclJlZiwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmLCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIEhvc3RMaXN0ZW5lciwgQ29tcG9uZW50UmVmLCBFdmVudEVtaXR0ZXIsIFRlbXBsYXRlUmVmLCBDb250ZW50Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhCYXNlQ29tcG9uZW50TWl4aW4gfSBmcm9tICcuLi9iYXNlJztcclxuaW1wb3J0IHsgQVhQYWdlQ2xvc2VFdmVudCwgVEFCX01FVEFfS0VZIH0gZnJvbSAnLi4vcGFnZS9iYXNlLXBhZ2UuY2xhc3MnO1xyXG5pbXBvcnQgeyBBWEJ1dHRvbkl0ZW0gfSBmcm9tICcuLi9idXR0b24nO1xyXG5pbXBvcnQgeyBBWExvYWRpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vbG9hZGluZyc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDZGtQb3J0YWxPdXRsZXRBdHRhY2hlZFJlZiwgQ29tcG9uZW50UG9ydGFsLCBQb3J0YWwsIFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXgtcG9wdXAnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3BvcHVwLmNvbXBvbmVudC5odG1sJyxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYUG9wdXBDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VDb21wb25lbnRNaXhpbiB7XHJcblxyXG4gICAgaXNMb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIHByaXZhdGUgX2xvYWRpbmdJZDogbnVtYmVyO1xyXG5cclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcblxyXG4gICAgb25DbG9zZWQ6IEV2ZW50RW1pdHRlcjxBWFBhZ2VDbG9zZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhQYWdlQ2xvc2VFdmVudD4oKTtcclxuXHJcbiAgICBzaXplOiAnc20nIHwgJ21kJyB8ICdsZycgfCAnZnVsbCcgPSAnc20nO1xyXG5cclxuXHJcbiAgICBkYXRhOiBhbnkgPSB7fTtcclxuXHJcblxyXG4gICAgc2hvd0Nsb3NlQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIHNob3dIZWFkZXI6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIGNvbnRlbnQ6IGFueTtcclxuXHJcblxyXG4gICAgX3NlbGVjdGVkUG9ydGFsOiBQb3J0YWw8YW55PjtcclxuICAgIF9mb290ZXJQb3J0YWw6IFBvcnRhbDxhbnk+O1xyXG4gICAgX2hlYWRlclBvcnRhbDogUG9ydGFsPGFueT47XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgICAgICBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgIHByaXZhdGUgX3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBsb2FkaW5nU2VydmljZTogQVhMb2FkaW5nU2VydmljZSxcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYsIGNkcik7XHJcbiAgICB9XHJcblxyXG4gICAgb25WaWV3SW5pdCgpIHtcclxuICAgICAgICB0aGlzLl9sb2FkaW5nSWQgPSB0aGlzLmxvYWRpbmdTZXJ2aWNlLnNob3codGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yKCcuYXgtcG9wdXAtYm9keS1jb250YWluZXInKSk7XHJcbiAgICAgICAgLy9cclxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29udGVudCA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgLy8gICB0aGlzLnJlbmRlcmVyU2VydmljZS5maW5kTG9hZGVkQ29tcG9uZW50QnlSb3V0ZSh0aGlzLmNvbnRlbnQsIDIwKS50aGVuKHJvdXRlID0+IHtcclxuICAgICAgICAgICAgLy8gICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAvLyAgICAgICB0aGlzLmxvYWRDb21wb25lbnQocm91dGU/LmNvbXBvbmVudCk7XHJcbiAgICAgICAgICAgIC8vICAgICB9LCAzMDApO1xyXG4gICAgICAgICAgICAvLyAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmICh0aGlzLmNvbnRlbnQgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZikge1xyXG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZFBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLmNvbnRlbnQsIHRoaXMuX3ZpZXdDb250YWluZXJSZWYsIHsgJGltcGxpY2l0OiB0aGlzLmRhdGEsIHJlZjogdGhpcyB9KTtcclxuICAgICAgICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAodHlwZW9mIHRoaXMuY29udGVudCA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZFBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwodGhpcy5jb250ZW50KTtcclxuICAgICAgICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBfaGFuZGxlQXR0Y2hlZChyZWY6IENka1BvcnRhbE91dGxldEF0dGFjaGVkUmVmKSB7XHJcbiAgICAgICAgcmVmID0gcmVmIGFzIENvbXBvbmVudFJlZjxhbnk+O1xyXG4gICAgICAgIGlmIChyZWYuaW5zdGFuY2UpIHtcclxuICAgICAgICAgICAgdGhpc1tUQUJfTUVUQV9LRVldLmNvbXBvbmVudCA9IHJlZi5pbnN0YW5jZTtcclxuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzW1RBQl9NRVRBX0tFWV0uY29tcG9uZW50LCB0aGlzLmRhdGEpO1xyXG4gICAgICAgICAgICBpZiAocmVmLmluc3RhbmNlLm9uQ2xvc2VkKSB7XHJcbiAgICAgICAgICAgICAgICByZWYuaW5zdGFuY2Uub25DbG9zZWQuc3Vic2NyaWJlKChlOiBBWFBhZ2VDbG9zZUV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkNsb3NlZC5lbWl0KGUpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHJlZi5pbnN0YW5jZS5mb290ZXIpIHtcclxuICAgICAgICAgICAgdGhpcy5fZm9vdGVyUG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKHJlZi5pbnN0YW5jZS5mb290ZXIudGVtcGxhdGUsIHRoaXMuX3ZpZXdDb250YWluZXJSZWYsIHsgJGltcGxpY2l0OiB0aGlzLmRhdGEsIHJlZjogdGhpcyB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nU2VydmljZS5oaWRlKHRoaXMuX2xvYWRpbmdJZCk7XHJcbiAgICAgICAgdGhpcy5mb2N1cygpO1xyXG4gICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lc2NhcGUnLCBbJyRldmVudCddKVxyXG4gICAgb25LZXlkb3duSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgICAgIGlmICh0aGlzLnNob3dDbG9zZUJ1dHRvbikge1xyXG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIF9oYW5kbGVDbG9zZUNsaWNrKCkge1xyXG4gICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLmxvYWRpbmdTZXJ2aWNlLmhpZGUodGhpcy5fbG9hZGluZ0lkKTtcclxuICAgIH1cclxuXHJcbiAgICBmb2N1cygpIHtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX2dldEhvc3RFbGVtZW50KCkuZm9jdXMoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgY2xvc2UoKSB7XHJcbiAgICAgICAgdGhpcy5vbkNsb3NlZC5lbWl0KHtcclxuICAgICAgICAgICAgY29tcG9uZW50OiB0aGlzW1RBQl9NRVRBX0tFWV0uY29tcG9uZW50LFxyXG4gICAgICAgICAgICBodG1sRWxlbWVudDogdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKSxcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uRnVsbFNjcmVlbigpIHsgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJheC1wb3B1cC13cmFwcGVyXCIgYXJpYS1tb2RhbD1cInRydWVcIiBjZGtUcmFwRm9jdXM+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXgtcG9wdXAgYXgte3tzaXplfX1cIiB0YWJpbmRleD1cIjBcIiBjZGtEcmFnPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93SGVhZGVyXCI+XHJcbiAgICAgICAgICAgIDxoZWFkZXIgY2RrRHJhZ0hhbmRsZSBjbGFzcz1cImF4LWN1cnNvci1tb3ZlXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC10ZXh0LWxnIGF4LWZvbnQtbWVkaXVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3t0aXRsZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dDbG9zZUJ1dHRvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiYXgtaWMgYXgtaWMtY2xvc2UgYXgtdGV4dC1ncmF5IGF4LWN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIl9oYW5kbGVDbG9zZUNsaWNrKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjFcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9oZWFkZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG1haW4+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cIl9zZWxlY3RlZFBvcnRhbFwiIChhdHRhY2hlZCk9XCJfaGFuZGxlQXR0Y2hlZCgkZXZlbnQpXCI+PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L21haW4+XHJcbiAgICAgICAgPGZvb3RlciAqbmdJZj1cIl9mb290ZXJQb3J0YWxcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwiX2Zvb3RlclBvcnRhbFwiPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9mb290ZXI+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19