@acorex/components 6.5.91 → 6.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (544) hide show
  1. package/README.md +7 -3
  2. package/esm2022/acorex-components.mjs +5 -0
  3. package/esm2022/index.mjs +158 -0
  4. package/esm2022/lib/accordion/accordion.component.mjs +45 -0
  5. package/esm2022/lib/accordion/accordion.module.mjs +20 -0
  6. package/esm2022/lib/base/base-page.class.mjs +97 -0
  7. package/esm2022/lib/base/components.class.mjs +17 -0
  8. package/esm2022/lib/base/element.class.mjs +301 -0
  9. package/esm2022/lib/base/events.class.mjs +17 -0
  10. package/esm2022/lib/button/button.component.mjs +74 -0
  11. package/esm2022/lib/button/button.module.mjs +21 -0
  12. package/esm2022/lib/calendar/calendar-box/calendar-box.component.mjs +426 -0
  13. package/esm2022/lib/calendar/calendar-box/calendar-box.module.mjs +22 -0
  14. package/esm2022/lib/calendar/scheduler/scheduler-views.property.mjs +59 -0
  15. package/esm2022/lib/calendar/scheduler/scheduler.class.mjs +16 -0
  16. package/esm2022/lib/calendar/scheduler/scheduler.component.mjs +226 -0
  17. package/esm2022/lib/calendar/scheduler/scheduler.module.mjs +68 -0
  18. package/esm2022/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.mjs +136 -0
  19. package/esm2022/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.mjs +37 -0
  20. package/esm2022/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.mjs +49 -0
  21. package/esm2022/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.mjs +102 -0
  22. package/esm2022/lib/calendar/scheduler/views/month/scheduler-month-view.component.mjs +214 -0
  23. package/esm2022/lib/calendar/scheduler/views/scheduler-view.component.mjs +99 -0
  24. package/esm2022/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.mjs +85 -0
  25. package/esm2022/lib/checkbox/checkbox.component.mjs +102 -0
  26. package/esm2022/lib/checkbox/checkbox.module.mjs +20 -0
  27. package/esm2022/lib/color-picker/color-box/color-box.component.mjs +423 -0
  28. package/esm2022/lib/color-picker/color-picker.component.mjs +89 -0
  29. package/esm2022/lib/color-picker/color-picker.module.mjs +24 -0
  30. package/esm2022/lib/context-menu/context-menu.component.mjs +68 -0
  31. package/esm2022/lib/context-menu/context-menu.directive.mjs +146 -0
  32. package/esm2022/lib/context-menu/context-menu.module.mjs +20 -0
  33. package/esm2022/lib/data-filter/columns/filter-column-date.component.mjs +140 -0
  34. package/esm2022/lib/data-filter/columns/filter-column-number.component.mjs +119 -0
  35. package/esm2022/lib/data-filter/columns/filter-column-selection.component.mjs +75 -0
  36. package/esm2022/lib/data-filter/columns/filter-column-string.component.mjs +119 -0
  37. package/esm2022/lib/data-filter/filter-panel/filter-panel.component.mjs +267 -0
  38. package/esm2022/lib/data-filter/filter.class.mjs +46 -0
  39. package/esm2022/lib/data-filter/filter.module.mjs +88 -0
  40. package/esm2022/lib/data-filter/toolbar/filter-toolbar.component.mjs +168 -0
  41. package/esm2022/lib/data-list/core/data-list.component.mjs +37 -0
  42. package/esm2022/lib/data-list/list/list.component.mjs +134 -0
  43. package/esm2022/lib/data-list/list/list.module.mjs +22 -0
  44. package/esm2022/lib/data-list/list/toolbar-list-view.component.mjs +84 -0
  45. package/esm2022/lib/data-source/datasource.component.mjs +47 -0
  46. package/esm2022/lib/data-source/datasource.module.mjs +18 -0
  47. package/esm2022/lib/data-source/read-param.mjs +7 -0
  48. package/esm2022/lib/date-picker/date-picker.component.mjs +1093 -0
  49. package/esm2022/lib/date-picker/date-picker.module.mjs +49 -0
  50. package/esm2022/lib/dialog/dialog.component.mjs +26 -0
  51. package/esm2022/lib/dialog/dialog.module.mjs +21 -0
  52. package/esm2022/lib/dialog/dialog.service.mjs +160 -0
  53. package/esm2022/lib/drawer/content.component.mjs +18 -0
  54. package/esm2022/lib/drawer/drawer-container.component.mjs +38 -0
  55. package/esm2022/lib/drawer/drawer.component.mjs +146 -0
  56. package/esm2022/lib/drawer/drawer.module.mjs +23 -0
  57. package/esm2022/lib/dropdown/dropdown.component.mjs +186 -0
  58. package/esm2022/lib/dropdown/dropdown.module.mjs +26 -0
  59. package/esm2022/lib/fieldset/fieldset.component.mjs +57 -0
  60. package/esm2022/lib/fieldset/fieldset.module.mjs +19 -0
  61. package/esm2022/lib/form-group/form-group.component.mjs +37 -0
  62. package/esm2022/lib/form-group/form-group.module.mjs +21 -0
  63. package/esm2022/lib/label/label.component.mjs +19 -0
  64. package/esm2022/lib/label/label.module.mjs +21 -0
  65. package/esm2022/lib/loading/loading-indicator.component.mjs +18 -0
  66. package/esm2022/lib/loading/loading-panel.component.mjs +45 -0
  67. package/esm2022/lib/loading/loading.module.mjs +21 -0
  68. package/esm2022/lib/loading/loading.service.mjs +47 -0
  69. package/esm2022/lib/menu/menu-item.component.mjs +50 -0
  70. package/esm2022/lib/menu/menu.component.mjs +98 -0
  71. package/esm2022/lib/menu/menu.module.mjs +22 -0
  72. package/esm2022/lib/menu/menu2.component.mjs +100 -0
  73. package/esm2022/lib/number-box/number-box.component.mjs +628 -0
  74. package/esm2022/lib/number-box/number-box.module.mjs +21 -0
  75. package/esm2022/lib/page/content.component.mjs +27 -0
  76. package/esm2022/lib/page/footer.component.mjs +19 -0
  77. package/esm2022/lib/page/page.component.mjs +57 -0
  78. package/esm2022/lib/page/page.module.mjs +22 -0
  79. package/esm2022/lib/panel-box/panel-box.component.mjs +87 -0
  80. package/esm2022/lib/panel-box/panel-box.module.mjs +19 -0
  81. package/esm2022/lib/password-box/password-box.component.mjs +32 -0
  82. package/esm2022/lib/password-box/password-box.module.mjs +23 -0
  83. package/esm2022/lib/popover/custom-cdk-overlay.service.mjs +50 -0
  84. package/esm2022/lib/popover/overlay.service.mjs +94 -0
  85. package/esm2022/lib/popover/popover.component.mjs +145 -0
  86. package/esm2022/lib/popover/popover.module.mjs +19 -0
  87. package/esm2022/lib/popup/popup.component.mjs +160 -0
  88. package/esm2022/lib/popup/popup.module.mjs +25 -0
  89. package/esm2022/lib/popup/popup.service.mjs +94 -0
  90. package/esm2022/lib/progress-bar/progress-bar.component.mjs +16 -0
  91. package/esm2022/lib/progress-bar/progress-bar.module.mjs +19 -0
  92. package/esm2022/lib/property-editor/editors/check-editor/check-editor.mjs +65 -0
  93. package/esm2022/lib/property-editor/editors/check-editor/check.module.mjs +22 -0
  94. package/esm2022/lib/property-editor/editors/color-editor/color.editor.mjs +41 -0
  95. package/esm2022/lib/property-editor/editors/color-editor/color.module.mjs +24 -0
  96. package/esm2022/lib/property-editor/editors/column-editor/column.editor.mjs +118 -0
  97. package/esm2022/lib/property-editor/editors/column-editor/column.module.mjs +32 -0
  98. package/esm2022/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.mjs +216 -0
  99. package/esm2022/lib/property-editor/editors/conditional-color-editor/conditional-color.module.mjs +76 -0
  100. package/esm2022/lib/property-editor/editors/date-editor/date.editor.mjs +87 -0
  101. package/esm2022/lib/property-editor/editors/date-editor/date.module.mjs +24 -0
  102. package/esm2022/lib/property-editor/editors/number-editor/number.editor.mjs +69 -0
  103. package/esm2022/lib/property-editor/editors/number-editor/number.module.mjs +24 -0
  104. package/esm2022/lib/property-editor/editors/range-editor/range.editor.mjs +145 -0
  105. package/esm2022/lib/property-editor/editors/range-editor/range.module.mjs +59 -0
  106. package/esm2022/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.mjs +76 -0
  107. package/esm2022/lib/property-editor/editors/selectbox-editor/selectbox.editor.mjs +75 -0
  108. package/esm2022/lib/property-editor/editors/selectbox-editor/selectbox.module.mjs +25 -0
  109. package/esm2022/lib/property-editor/editors/selection-editor/selection-editor.mjs +73 -0
  110. package/esm2022/lib/property-editor/editors/selection-editor/selection.module.mjs +22 -0
  111. package/esm2022/lib/property-editor/editors/switch-editor/number.editor.mjs +30 -0
  112. package/esm2022/lib/property-editor/editors/switch-editor/number.module.mjs +25 -0
  113. package/esm2022/lib/property-editor/editors/text-editor/text.editor.mjs +36 -0
  114. package/esm2022/lib/property-editor/editors/text-editor/text.module.mjs +24 -0
  115. package/esm2022/lib/property-editor/editors/textarea-editor/textarea.editor.mjs +35 -0
  116. package/esm2022/lib/property-editor/editors/textarea-editor/textarea.module.mjs +24 -0
  117. package/esm2022/lib/property-editor/editors/time-editor/time.editor.mjs +47 -0
  118. package/esm2022/lib/property-editor/editors/time-editor/time.module.mjs +24 -0
  119. package/esm2022/lib/property-editor/property-editor-renderer.directive.mjs +167 -0
  120. package/esm2022/lib/property-editor/property-editor.class.mjs +108 -0
  121. package/esm2022/lib/property-editor/property-editor.module.mjs +194 -0
  122. package/esm2022/lib/query-builder/query-builder-group.component.mjs +129 -0
  123. package/esm2022/lib/query-builder/query-builder-popup/query-builder-popup.component.mjs +177 -0
  124. package/esm2022/lib/query-builder/query-builder-rule.component.mjs +428 -0
  125. package/esm2022/lib/query-builder/query-builder.class.mjs +42 -0
  126. package/esm2022/lib/query-builder/query-builder.component.mjs +92 -0
  127. package/esm2022/lib/query-builder/query-builder.module.mjs +62 -0
  128. package/esm2022/lib/query-builder/query-builder.service.mjs +199 -0
  129. package/esm2022/lib/search-bar/search-bar.component.mjs +293 -0
  130. package/esm2022/lib/search-bar/search-bar.module.mjs +61 -0
  131. package/esm2022/lib/searchbox/searchbox.component.mjs +106 -0
  132. package/esm2022/lib/searchbox/searchbox.module.mjs +24 -0
  133. package/esm2022/lib/selectbox/selectbox.component.mjs +1134 -0
  134. package/esm2022/lib/selectbox/selectbox.module.mjs +44 -0
  135. package/esm2022/lib/selectbox/selectbox2.component.mjs +617 -0
  136. package/esm2022/lib/selection-list/selection-list.component.mjs +113 -0
  137. package/esm2022/lib/selection-list/selection-list.module.mjs +21 -0
  138. package/esm2022/lib/switch/switch.component.mjs +55 -0
  139. package/esm2022/lib/switch/switch.module.mjs +20 -0
  140. package/esm2022/lib/tab-page/tab-page-Renderer.component.mjs +75 -0
  141. package/esm2022/lib/tab-page/tab-page-host.component.mjs +124 -0
  142. package/esm2022/lib/tab-page/tab-page.module.mjs +21 -0
  143. package/esm2022/lib/tab-page/tab-page.service.mjs +159 -0
  144. package/esm2022/lib/tab-strip/tab-strip.component.mjs +38 -0
  145. package/esm2022/lib/tab-strip/tab-strip.module.mjs +19 -0
  146. package/esm2022/lib/tab-view/dynamic-tabs.directive.mjs +25 -0
  147. package/esm2022/lib/tab-view/tab-view.component.mjs +110 -0
  148. package/esm2022/lib/tab-view/tab-view.module.mjs +21 -0
  149. package/esm2022/lib/tab-view/tab.component.mjs +33 -0
  150. package/esm2022/lib/textarea/textarea.component.mjs +27 -0
  151. package/esm2022/lib/textarea/textarea.module.mjs +21 -0
  152. package/esm2022/lib/textbox/textbox.component.mjs +42 -0
  153. package/esm2022/lib/textbox/textbox.module.mjs +36 -0
  154. package/esm2022/lib/time-picker/time-picker.component.mjs +1107 -0
  155. package/esm2022/lib/time-picker/time-picker.module.mjs +34 -0
  156. package/esm2022/lib/toast/toast-message/toast-message.component.mjs +76 -0
  157. package/esm2022/lib/toast/toast-wrapper/toast-wrapper.component.mjs +13 -0
  158. package/esm2022/lib/toast/toast.module.mjs +21 -0
  159. package/esm2022/lib/toast/toast.service.mjs +45 -0
  160. package/esm2022/lib/toolbar/group-button/toolbar-group-button.component.mjs +77 -0
  161. package/esm2022/lib/toolbar/menu/toolbar-menu.component.mjs +62 -0
  162. package/esm2022/lib/toolbar/search/toolbar-search.component.mjs +56 -0
  163. package/esm2022/lib/toolbar/title/toolbar-title.component.mjs +37 -0
  164. package/esm2022/lib/toolbar/toolbar-item.mjs +4 -0
  165. package/esm2022/lib/toolbar/toolbar.component.mjs +13 -0
  166. package/esm2022/lib/toolbar/toolbar.module.mjs +40 -0
  167. package/esm2022/lib/tooltip/tooltip.directive.mjs +104 -0
  168. package/esm2022/lib/tooltip/tooltip.module.mjs +19 -0
  169. package/esm2022/lib/tree-side-menu/tree-side-menu.component.mjs +697 -0
  170. package/esm2022/lib/tree-side-menu/tree-side-menu.module.mjs +33 -0
  171. package/esm2022/lib/tree-view/tree-view.component.mjs +854 -0
  172. package/esm2022/lib/tree-view/tree-view.module.mjs +22 -0
  173. package/esm2022/lib/upload-file/upload-file.component.mjs +226 -0
  174. package/esm2022/lib/upload-file/upload-file.events.mjs +2 -0
  175. package/esm2022/lib/upload-file/upload-file.module.mjs +24 -0
  176. package/esm2022/lib/validation/validation-form.component.mjs +68 -0
  177. package/esm2022/lib/validation/validation-rule.widget.mjs +114 -0
  178. package/esm2022/lib/validation/validation.class.mjs +2 -0
  179. package/esm2022/lib/validation/validation.component.mjs +89 -0
  180. package/esm2022/lib/validation/validation.module.mjs +34 -0
  181. package/{fesm2020 → fesm2022}/acorex-components.mjs +17004 -15581
  182. package/fesm2022/acorex-components.mjs.map +1 -0
  183. package/{public-api.d.ts → index.d.ts} +155 -155
  184. package/lib/accordion/accordion.component.d.ts +13 -13
  185. package/lib/accordion/accordion.module.d.ts +9 -9
  186. package/lib/base/base-page.class.d.ts +46 -46
  187. package/lib/base/components.class.d.ts +10 -10
  188. package/lib/base/element.class.d.ts +106 -106
  189. package/lib/base/events.class.d.ts +18 -18
  190. package/lib/button/button.component.d.ts +21 -21
  191. package/lib/button/button.module.d.ts +8 -8
  192. package/lib/calendar/calendar-box/calendar-box.component.d.ts +81 -81
  193. package/lib/calendar/calendar-box/calendar-box.module.d.ts +11 -11
  194. package/lib/calendar/scheduler/scheduler-views.property.d.ts +19 -19
  195. package/lib/calendar/scheduler/scheduler.class.d.ts +36 -36
  196. package/lib/calendar/scheduler/scheduler.component.d.ts +39 -39
  197. package/lib/calendar/scheduler/scheduler.module.d.ts +21 -21
  198. package/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.d.ts +25 -25
  199. package/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.d.ts +14 -14
  200. package/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.d.ts +16 -16
  201. package/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.d.ts +26 -26
  202. package/lib/calendar/scheduler/views/month/scheduler-month-view.component.d.ts +37 -37
  203. package/lib/calendar/scheduler/views/scheduler-view.component.d.ts +28 -28
  204. package/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.d.ts +24 -24
  205. package/lib/checkbox/checkbox.component.d.ts +30 -30
  206. package/lib/checkbox/checkbox.module.d.ts +9 -9
  207. package/lib/color-picker/color-box/color-box.component.d.ts +25 -25
  208. package/lib/color-picker/color-picker.component.d.ts +30 -30
  209. package/lib/color-picker/color-picker.module.d.ts +13 -13
  210. package/lib/context-menu/context-menu.component.d.ts +22 -22
  211. package/lib/context-menu/context-menu.directive.d.ts +38 -38
  212. package/lib/context-menu/context-menu.module.d.ts +9 -9
  213. package/lib/data-filter/columns/filter-column-date.component.d.ts +22 -22
  214. package/lib/data-filter/columns/filter-column-number.component.d.ts +15 -15
  215. package/lib/data-filter/columns/filter-column-selection.component.d.ts +18 -18
  216. package/lib/data-filter/columns/filter-column-string.component.d.ts +15 -15
  217. package/lib/data-filter/filter-panel/filter-panel.component.d.ts +45 -45
  218. package/lib/data-filter/filter.class.d.ts +40 -40
  219. package/lib/data-filter/filter.module.d.ts +24 -24
  220. package/lib/data-filter/toolbar/filter-toolbar.component.d.ts +25 -25
  221. package/lib/data-list/core/data-list.component.d.ts +15 -15
  222. package/lib/data-list/list/list.component.d.ts +40 -40
  223. package/lib/data-list/list/list.module.d.ts +11 -11
  224. package/lib/data-list/list/toolbar-list-view.component.d.ts +17 -17
  225. package/lib/data-source/datasource.component.d.ts +16 -16
  226. package/lib/data-source/datasource.module.d.ts +7 -7
  227. package/lib/data-source/read-param.d.ts +40 -40
  228. package/lib/date-picker/date-picker.component.d.ts +81 -81
  229. package/lib/date-picker/date-picker.module.d.ts +14 -14
  230. package/lib/dialog/dialog.component.d.ts +14 -14
  231. package/lib/dialog/dialog.module.d.ts +10 -10
  232. package/lib/dialog/dialog.service.d.ts +36 -36
  233. package/lib/drawer/content.component.d.ts +7 -7
  234. package/lib/drawer/drawer-container.component.d.ts +10 -10
  235. package/lib/drawer/drawer.component.d.ts +34 -34
  236. package/lib/drawer/drawer.module.d.ts +10 -10
  237. package/lib/dropdown/dropdown.component.d.ts +38 -38
  238. package/lib/dropdown/dropdown.module.d.ts +13 -13
  239. package/lib/fieldset/fieldset.component.d.ts +11 -11
  240. package/lib/fieldset/fieldset.module.d.ts +8 -8
  241. package/lib/form-group/form-group.component.d.ts +14 -14
  242. package/lib/form-group/form-group.module.d.ts +8 -8
  243. package/lib/label/label.component.d.ts +9 -9
  244. package/lib/label/label.module.d.ts +8 -8
  245. package/lib/loading/loading-indicator.component.d.ts +9 -9
  246. package/lib/loading/loading-panel.component.d.ts +13 -13
  247. package/lib/loading/loading.module.d.ts +10 -10
  248. package/lib/loading/loading.service.d.ts +13 -13
  249. package/lib/menu/menu-item.component.d.ts +18 -18
  250. package/lib/menu/menu.component.d.ts +35 -35
  251. package/lib/menu/menu.module.d.ts +11 -11
  252. package/lib/menu/menu2.component.d.ts +21 -21
  253. package/lib/number-box/number-box.component.d.ts +52 -52
  254. package/lib/number-box/number-box.module.d.ts +10 -10
  255. package/lib/page/content.component.d.ts +8 -8
  256. package/lib/page/footer.component.d.ts +5 -5
  257. package/lib/page/page.component.d.ts +16 -16
  258. package/lib/page/page.module.d.ts +11 -11
  259. package/lib/panel-box/panel-box.component.d.ts +19 -19
  260. package/lib/panel-box/panel-box.module.d.ts +8 -8
  261. package/lib/password-box/password-box.component.d.ts +12 -12
  262. package/lib/password-box/password-box.module.d.ts +10 -10
  263. package/lib/popover/custom-cdk-overlay.service.d.ts +19 -19
  264. package/lib/popover/overlay.service.d.ts +32 -32
  265. package/lib/popover/popover.component.d.ts +35 -35
  266. package/lib/popover/popover.module.d.ts +8 -8
  267. package/lib/popup/popup.component.d.ts +40 -40
  268. package/lib/popup/popup.module.d.ts +13 -13
  269. package/lib/popup/popup.service.d.ts +22 -22
  270. package/lib/progress-bar/progress-bar.component.d.ts +7 -7
  271. package/lib/progress-bar/progress-bar.module.d.ts +8 -8
  272. package/lib/property-editor/editors/check-editor/check-editor.d.ts +19 -19
  273. package/lib/property-editor/editors/check-editor/check.module.d.ts +11 -11
  274. package/lib/property-editor/editors/color-editor/color.editor.d.ts +13 -13
  275. package/lib/property-editor/editors/color-editor/color.module.d.ts +12 -12
  276. package/lib/property-editor/editors/column-editor/column.editor.d.ts +34 -34
  277. package/lib/property-editor/editors/column-editor/column.module.d.ts +20 -20
  278. package/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.d.ts +44 -44
  279. package/lib/property-editor/editors/conditional-color-editor/conditional-color.module.d.ts +19 -19
  280. package/lib/property-editor/editors/date-editor/date.editor.d.ts +28 -28
  281. package/lib/property-editor/editors/date-editor/date.module.d.ts +12 -12
  282. package/lib/property-editor/editors/number-editor/number.editor.d.ts +21 -20
  283. package/lib/property-editor/editors/number-editor/number.module.d.ts +12 -12
  284. package/lib/property-editor/editors/range-editor/range.editor.d.ts +29 -29
  285. package/lib/property-editor/editors/range-editor/range.module.d.ts +18 -18
  286. package/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.d.ts +29 -29
  287. package/lib/property-editor/editors/selectbox-editor/selectbox.editor.d.ts +28 -28
  288. package/lib/property-editor/editors/selectbox-editor/selectbox.module.d.ts +14 -14
  289. package/lib/property-editor/editors/selection-editor/selection-editor.d.ts +25 -25
  290. package/lib/property-editor/editors/selection-editor/selection.module.d.ts +11 -11
  291. package/lib/property-editor/editors/switch-editor/number.editor.d.ts +11 -11
  292. package/lib/property-editor/editors/switch-editor/number.module.d.ts +13 -13
  293. package/lib/property-editor/editors/text-editor/text.editor.d.ts +18 -18
  294. package/lib/property-editor/editors/text-editor/text.module.d.ts +12 -12
  295. package/lib/property-editor/editors/textarea-editor/textarea.editor.d.ts +17 -17
  296. package/lib/property-editor/editors/textarea-editor/textarea.module.d.ts +12 -12
  297. package/lib/property-editor/editors/time-editor/time.editor.d.ts +17 -17
  298. package/lib/property-editor/editors/time-editor/time.module.d.ts +12 -12
  299. package/lib/property-editor/property-editor-renderer.directive.d.ts +31 -31
  300. package/lib/property-editor/property-editor.class.d.ts +93 -93
  301. package/lib/property-editor/property-editor.module.d.ts +21 -21
  302. package/lib/query-builder/query-builder-group.component.d.ts +33 -33
  303. package/lib/query-builder/query-builder-popup/query-builder-popup.component.d.ts +35 -35
  304. package/lib/query-builder/query-builder-rule.component.d.ts +45 -45
  305. package/lib/query-builder/query-builder.class.d.ts +45 -45
  306. package/lib/query-builder/query-builder.component.d.ts +29 -29
  307. package/lib/query-builder/query-builder.module.d.ts +23 -23
  308. package/lib/query-builder/query-builder.service.d.ts +18 -18
  309. package/lib/search-bar/search-bar.component.d.ts +62 -62
  310. package/lib/search-bar/search-bar.module.d.ts +18 -18
  311. package/lib/searchbox/searchbox.component.d.ts +23 -22
  312. package/lib/searchbox/searchbox.module.d.ts +13 -13
  313. package/lib/selectbox/selectbox.component.d.ts +149 -118
  314. package/lib/selectbox/selectbox.module.d.ts +15 -15
  315. package/lib/selectbox/selectbox2.component.d.ts +103 -103
  316. package/lib/selection-list/selection-list.component.d.ts +32 -32
  317. package/lib/selection-list/selection-list.module.d.ts +10 -10
  318. package/lib/switch/switch.component.d.ts +20 -20
  319. package/lib/switch/switch.module.d.ts +9 -9
  320. package/lib/tab-page/tab-page-Renderer.component.d.ts +16 -16
  321. package/lib/tab-page/tab-page-host.component.d.ts +24 -24
  322. package/lib/tab-page/tab-page.module.d.ts +10 -10
  323. package/lib/tab-page/tab-page.service.d.ts +30 -30
  324. package/lib/tab-strip/tab-strip.component.d.ts +28 -28
  325. package/lib/tab-strip/tab-strip.module.d.ts +8 -8
  326. package/lib/tab-view/dynamic-tabs.directive.d.ts +16 -16
  327. package/lib/tab-view/tab-view.component.d.ts +26 -26
  328. package/lib/tab-view/tab-view.module.d.ts +10 -10
  329. package/lib/tab-view/tab.component.d.ts +12 -12
  330. package/lib/textarea/textarea.component.d.ts +12 -12
  331. package/lib/textarea/textarea.module.d.ts +8 -8
  332. package/lib/textbox/textbox.component.d.ts +16 -16
  333. package/lib/textbox/textbox.module.d.ts +11 -11
  334. package/lib/time-picker/time-picker.component.d.ts +53 -52
  335. package/lib/time-picker/time-picker.module.d.ts +11 -11
  336. package/lib/toast/toast-message/toast-message.component.d.ts +18 -18
  337. package/lib/toast/toast-wrapper/toast-wrapper.component.d.ts +8 -8
  338. package/lib/toast/toast.module.d.ts +9 -9
  339. package/lib/toast/toast.service.d.ts +18 -18
  340. package/lib/toolbar/group-button/toolbar-group-button.component.d.ts +12 -12
  341. package/lib/toolbar/menu/toolbar-menu.component.d.ts +24 -24
  342. package/lib/toolbar/search/toolbar-search.component.d.ts +16 -16
  343. package/lib/toolbar/title/toolbar-title.component.d.ts +9 -9
  344. package/lib/toolbar/toolbar-item.d.ts +3 -3
  345. package/lib/toolbar/toolbar.component.d.ts +8 -8
  346. package/lib/toolbar/toolbar.module.d.ts +14 -14
  347. package/lib/tooltip/tooltip.directive.d.ts +21 -21
  348. package/lib/tooltip/tooltip.module.d.ts +8 -8
  349. package/lib/tree-side-menu/tree-side-menu.component.d.ts +111 -111
  350. package/lib/tree-side-menu/tree-side-menu.module.d.ts +11 -11
  351. package/lib/tree-view/tree-view.component.d.ts +121 -121
  352. package/lib/tree-view/tree-view.module.d.ts +11 -11
  353. package/lib/upload-file/upload-file.component.d.ts +42 -42
  354. package/lib/upload-file/upload-file.events.d.ts +10 -10
  355. package/lib/upload-file/upload-file.module.d.ts +13 -13
  356. package/lib/validation/validation-form.component.d.ts +19 -19
  357. package/lib/validation/validation-rule.widget.d.ts +23 -23
  358. package/lib/validation/validation.class.d.ts +16 -16
  359. package/lib/validation/validation.component.d.ts +25 -25
  360. package/lib/validation/validation.module.d.ts +11 -11
  361. package/package.json +15 -20
  362. package/acorex-components.d.ts +0 -5
  363. package/esm2020/acorex-components.mjs +0 -5
  364. package/esm2020/lib/accordion/accordion.component.mjs +0 -44
  365. package/esm2020/lib/accordion/accordion.module.mjs +0 -20
  366. package/esm2020/lib/base/base-page.class.mjs +0 -94
  367. package/esm2020/lib/base/components.class.mjs +0 -17
  368. package/esm2020/lib/base/element.class.mjs +0 -294
  369. package/esm2020/lib/base/events.class.mjs +0 -11
  370. package/esm2020/lib/button/button.component.mjs +0 -71
  371. package/esm2020/lib/button/button.module.mjs +0 -21
  372. package/esm2020/lib/calendar/calendar-box/calendar-box.component.mjs +0 -413
  373. package/esm2020/lib/calendar/calendar-box/calendar-box.module.mjs +0 -22
  374. package/esm2020/lib/calendar/scheduler/scheduler-views.property.mjs +0 -54
  375. package/esm2020/lib/calendar/scheduler/scheduler.class.mjs +0 -18
  376. package/esm2020/lib/calendar/scheduler/scheduler.component.mjs +0 -213
  377. package/esm2020/lib/calendar/scheduler/scheduler.module.mjs +0 -68
  378. package/esm2020/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.mjs +0 -132
  379. package/esm2020/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.mjs +0 -37
  380. package/esm2020/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.mjs +0 -47
  381. package/esm2020/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.mjs +0 -95
  382. package/esm2020/lib/calendar/scheduler/views/month/scheduler-month-view.component.mjs +0 -204
  383. package/esm2020/lib/calendar/scheduler/views/scheduler-view.component.mjs +0 -99
  384. package/esm2020/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.mjs +0 -77
  385. package/esm2020/lib/checkbox/checkbox.component.mjs +0 -98
  386. package/esm2020/lib/checkbox/checkbox.module.mjs +0 -20
  387. package/esm2020/lib/color-picker/color-box/color-box.component.mjs +0 -422
  388. package/esm2020/lib/color-picker/color-picker.component.mjs +0 -82
  389. package/esm2020/lib/color-picker/color-picker.module.mjs +0 -24
  390. package/esm2020/lib/context-menu/context-menu.component.mjs +0 -65
  391. package/esm2020/lib/context-menu/context-menu.directive.mjs +0 -135
  392. package/esm2020/lib/context-menu/context-menu.module.mjs +0 -20
  393. package/esm2020/lib/data-filter/columns/filter-column-date.component.mjs +0 -138
  394. package/esm2020/lib/data-filter/columns/filter-column-number.component.mjs +0 -117
  395. package/esm2020/lib/data-filter/columns/filter-column-selection.component.mjs +0 -74
  396. package/esm2020/lib/data-filter/columns/filter-column-string.component.mjs +0 -117
  397. package/esm2020/lib/data-filter/filter-panel/filter-panel.component.mjs +0 -258
  398. package/esm2020/lib/data-filter/filter.class.mjs +0 -44
  399. package/esm2020/lib/data-filter/filter.module.mjs +0 -90
  400. package/esm2020/lib/data-filter/toolbar/filter-toolbar.component.mjs +0 -166
  401. package/esm2020/lib/data-list/core/data-list.component.mjs +0 -40
  402. package/esm2020/lib/data-list/list/list.component.mjs +0 -124
  403. package/esm2020/lib/data-list/list/list.module.mjs +0 -22
  404. package/esm2020/lib/data-list/list/toolbar-list-view.component.mjs +0 -85
  405. package/esm2020/lib/data-source/datasource.component.mjs +0 -47
  406. package/esm2020/lib/data-source/datasource.module.mjs +0 -18
  407. package/esm2020/lib/data-source/read-param.mjs +0 -5
  408. package/esm2020/lib/date-picker/date-picker.component.mjs +0 -702
  409. package/esm2020/lib/date-picker/date-picker.module.mjs +0 -25
  410. package/esm2020/lib/dialog/dialog.component.mjs +0 -24
  411. package/esm2020/lib/dialog/dialog.module.mjs +0 -21
  412. package/esm2020/lib/dialog/dialog.service.mjs +0 -150
  413. package/esm2020/lib/drawer/content.component.mjs +0 -18
  414. package/esm2020/lib/drawer/drawer-container.component.mjs +0 -36
  415. package/esm2020/lib/drawer/drawer.component.mjs +0 -142
  416. package/esm2020/lib/drawer/drawer.module.mjs +0 -23
  417. package/esm2020/lib/dropdown/dropdown.component.mjs +0 -176
  418. package/esm2020/lib/dropdown/dropdown.module.mjs +0 -26
  419. package/esm2020/lib/fieldset/fieldset.component.mjs +0 -59
  420. package/esm2020/lib/fieldset/fieldset.module.mjs +0 -19
  421. package/esm2020/lib/form-group/form-group.component.mjs +0 -34
  422. package/esm2020/lib/form-group/form-group.module.mjs +0 -21
  423. package/esm2020/lib/label/label.component.mjs +0 -19
  424. package/esm2020/lib/label/label.module.mjs +0 -21
  425. package/esm2020/lib/loading/loading-indicator.component.mjs +0 -17
  426. package/esm2020/lib/loading/loading-panel.component.mjs +0 -44
  427. package/esm2020/lib/loading/loading.module.mjs +0 -21
  428. package/esm2020/lib/loading/loading.service.mjs +0 -45
  429. package/esm2020/lib/menu/menu-item.component.mjs +0 -47
  430. package/esm2020/lib/menu/menu.component.mjs +0 -86
  431. package/esm2020/lib/menu/menu.module.mjs +0 -22
  432. package/esm2020/lib/menu/menu2.component.mjs +0 -96
  433. package/esm2020/lib/number-box/number-box.component.mjs +0 -622
  434. package/esm2020/lib/number-box/number-box.module.mjs +0 -21
  435. package/esm2020/lib/page/content.component.mjs +0 -32
  436. package/esm2020/lib/page/footer.component.mjs +0 -19
  437. package/esm2020/lib/page/page.component.mjs +0 -53
  438. package/esm2020/lib/page/page.module.mjs +0 -22
  439. package/esm2020/lib/panel-box/panel-box.component.mjs +0 -88
  440. package/esm2020/lib/panel-box/panel-box.module.mjs +0 -19
  441. package/esm2020/lib/password-box/password-box.component.mjs +0 -31
  442. package/esm2020/lib/password-box/password-box.module.mjs +0 -23
  443. package/esm2020/lib/popover/custom-cdk-overlay.service.mjs +0 -48
  444. package/esm2020/lib/popover/overlay.service.mjs +0 -91
  445. package/esm2020/lib/popover/popover.component.mjs +0 -133
  446. package/esm2020/lib/popover/popover.module.mjs +0 -19
  447. package/esm2020/lib/popup/popup.component.mjs +0 -147
  448. package/esm2020/lib/popup/popup.module.mjs +0 -25
  449. package/esm2020/lib/popup/popup.service.mjs +0 -93
  450. package/esm2020/lib/progress-bar/progress-bar.component.mjs +0 -19
  451. package/esm2020/lib/progress-bar/progress-bar.module.mjs +0 -19
  452. package/esm2020/lib/property-editor/editors/check-editor/check-editor.mjs +0 -61
  453. package/esm2020/lib/property-editor/editors/check-editor/check.module.mjs +0 -22
  454. package/esm2020/lib/property-editor/editors/color-editor/color.editor.mjs +0 -38
  455. package/esm2020/lib/property-editor/editors/color-editor/color.module.mjs +0 -24
  456. package/esm2020/lib/property-editor/editors/column-editor/column.editor.mjs +0 -115
  457. package/esm2020/lib/property-editor/editors/column-editor/column.module.mjs +0 -32
  458. package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.mjs +0 -211
  459. package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.module.mjs +0 -78
  460. package/esm2020/lib/property-editor/editors/date-editor/date.editor.mjs +0 -51
  461. package/esm2020/lib/property-editor/editors/date-editor/date.module.mjs +0 -24
  462. package/esm2020/lib/property-editor/editors/number-editor/number.editor.mjs +0 -63
  463. package/esm2020/lib/property-editor/editors/number-editor/number.module.mjs +0 -24
  464. package/esm2020/lib/property-editor/editors/range-editor/range.editor.mjs +0 -140
  465. package/esm2020/lib/property-editor/editors/range-editor/range.module.mjs +0 -61
  466. package/esm2020/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.mjs +0 -72
  467. package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.editor.mjs +0 -71
  468. package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.module.mjs +0 -25
  469. package/esm2020/lib/property-editor/editors/selection-editor/selection-editor.mjs +0 -69
  470. package/esm2020/lib/property-editor/editors/selection-editor/selection.module.mjs +0 -22
  471. package/esm2020/lib/property-editor/editors/switch-editor/number.editor.mjs +0 -29
  472. package/esm2020/lib/property-editor/editors/switch-editor/number.module.mjs +0 -25
  473. package/esm2020/lib/property-editor/editors/text-editor/text.editor.mjs +0 -32
  474. package/esm2020/lib/property-editor/editors/text-editor/text.module.mjs +0 -24
  475. package/esm2020/lib/property-editor/editors/textarea-editor/textarea.editor.mjs +0 -32
  476. package/esm2020/lib/property-editor/editors/textarea-editor/textarea.module.mjs +0 -24
  477. package/esm2020/lib/property-editor/editors/time-editor/time.editor.mjs +0 -43
  478. package/esm2020/lib/property-editor/editors/time-editor/time.module.mjs +0 -24
  479. package/esm2020/lib/property-editor/property-editor-renderer.directive.mjs +0 -157
  480. package/esm2020/lib/property-editor/property-editor.class.mjs +0 -102
  481. package/esm2020/lib/property-editor/property-editor.module.mjs +0 -196
  482. package/esm2020/lib/query-builder/query-builder-group.component.mjs +0 -124
  483. package/esm2020/lib/query-builder/query-builder-popup/query-builder-popup.component.mjs +0 -172
  484. package/esm2020/lib/query-builder/query-builder-rule.component.mjs +0 -399
  485. package/esm2020/lib/query-builder/query-builder.class.mjs +0 -20
  486. package/esm2020/lib/query-builder/query-builder.component.mjs +0 -87
  487. package/esm2020/lib/query-builder/query-builder.module.mjs +0 -62
  488. package/esm2020/lib/query-builder/query-builder.service.mjs +0 -197
  489. package/esm2020/lib/search-bar/search-bar.component.mjs +0 -286
  490. package/esm2020/lib/search-bar/search-bar.module.mjs +0 -63
  491. package/esm2020/lib/searchbox/searchbox.component.mjs +0 -81
  492. package/esm2020/lib/searchbox/searchbox.module.mjs +0 -24
  493. package/esm2020/lib/selectbox/selectbox.component.mjs +0 -961
  494. package/esm2020/lib/selectbox/selectbox.module.mjs +0 -44
  495. package/esm2020/lib/selectbox/selectbox2.component.mjs +0 -574
  496. package/esm2020/lib/selection-list/selection-list.component.mjs +0 -108
  497. package/esm2020/lib/selection-list/selection-list.module.mjs +0 -21
  498. package/esm2020/lib/switch/switch.component.mjs +0 -51
  499. package/esm2020/lib/switch/switch.module.mjs +0 -20
  500. package/esm2020/lib/tab-page/tab-page-Renderer.component.mjs +0 -71
  501. package/esm2020/lib/tab-page/tab-page-host.component.mjs +0 -114
  502. package/esm2020/lib/tab-page/tab-page.module.mjs +0 -21
  503. package/esm2020/lib/tab-page/tab-page.service.mjs +0 -160
  504. package/esm2020/lib/tab-strip/tab-strip.component.mjs +0 -36
  505. package/esm2020/lib/tab-strip/tab-strip.module.mjs +0 -19
  506. package/esm2020/lib/tab-view/dynamic-tabs.directive.mjs +0 -24
  507. package/esm2020/lib/tab-view/tab-view.component.mjs +0 -105
  508. package/esm2020/lib/tab-view/tab-view.module.mjs +0 -21
  509. package/esm2020/lib/tab-view/tab.component.mjs +0 -30
  510. package/esm2020/lib/textarea/textarea.component.mjs +0 -26
  511. package/esm2020/lib/textarea/textarea.module.mjs +0 -21
  512. package/esm2020/lib/textbox/textbox.component.mjs +0 -39
  513. package/esm2020/lib/textbox/textbox.module.mjs +0 -24
  514. package/esm2020/lib/time-picker/time-picker.component.mjs +0 -943
  515. package/esm2020/lib/time-picker/time-picker.module.mjs +0 -22
  516. package/esm2020/lib/toast/toast-message/toast-message.component.mjs +0 -74
  517. package/esm2020/lib/toast/toast-wrapper/toast-wrapper.component.mjs +0 -13
  518. package/esm2020/lib/toast/toast.module.mjs +0 -21
  519. package/esm2020/lib/toast/toast.service.mjs +0 -44
  520. package/esm2020/lib/toolbar/group-button/toolbar-group-button.component.mjs +0 -78
  521. package/esm2020/lib/toolbar/menu/toolbar-menu.component.mjs +0 -57
  522. package/esm2020/lib/toolbar/search/toolbar-search.component.mjs +0 -54
  523. package/esm2020/lib/toolbar/title/toolbar-title.component.mjs +0 -47
  524. package/esm2020/lib/toolbar/toolbar-item.mjs +0 -6
  525. package/esm2020/lib/toolbar/toolbar.component.mjs +0 -13
  526. package/esm2020/lib/toolbar/toolbar.module.mjs +0 -40
  527. package/esm2020/lib/tooltip/tooltip.directive.mjs +0 -100
  528. package/esm2020/lib/tooltip/tooltip.module.mjs +0 -19
  529. package/esm2020/lib/tree-side-menu/tree-side-menu.component.mjs +0 -646
  530. package/esm2020/lib/tree-side-menu/tree-side-menu.module.mjs +0 -35
  531. package/esm2020/lib/tree-view/tree-view.component.mjs +0 -775
  532. package/esm2020/lib/tree-view/tree-view.module.mjs +0 -22
  533. package/esm2020/lib/upload-file/upload-file.component.mjs +0 -208
  534. package/esm2020/lib/upload-file/upload-file.events.mjs +0 -2
  535. package/esm2020/lib/upload-file/upload-file.module.mjs +0 -24
  536. package/esm2020/lib/validation/validation-form.component.mjs +0 -65
  537. package/esm2020/lib/validation/validation-rule.widget.mjs +0 -111
  538. package/esm2020/lib/validation/validation.class.mjs +0 -2
  539. package/esm2020/lib/validation/validation.component.mjs +0 -89
  540. package/esm2020/lib/validation/validation.module.mjs +0 -34
  541. package/esm2020/public-api.mjs +0 -158
  542. package/fesm2015/acorex-components.mjs +0 -16013
  543. package/fesm2015/acorex-components.mjs.map +0 -1
  544. package/fesm2020/acorex-components.mjs.map +0 -1
@@ -0,0 +1,68 @@
1
+ import { Component, Input, ElementRef, ViewChild, Output, EventEmitter } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class AXContextMenuComponent {
5
+ container;
6
+ size = 'md';
7
+ width;
8
+ items = [];
9
+ onItemClick = new EventEmitter();
10
+ onClosed = new EventEmitter();
11
+ contex;
12
+ show = false;
13
+ constructor(container) {
14
+ this.container = container;
15
+ }
16
+ ngAfterViewInit() {
17
+ }
18
+ close() {
19
+ this.show = false;
20
+ this.onClosed.emit({
21
+ component: this
22
+ });
23
+ }
24
+ open(_left, _top, _rtl = false) {
25
+ this.show = true;
26
+ setTimeout(() => {
27
+ const containRec = this.container.nativeElement.getBoundingClientRect();
28
+ let left = _rtl === false ? _left : _left - containRec.width;
29
+ let top = _top;
30
+ if (_rtl === false && _left + containRec.width > window.innerWidth) {
31
+ left = window.innerWidth - containRec.width;
32
+ }
33
+ else if (_rtl === true && _left - containRec.width < 0) {
34
+ left = 0;
35
+ }
36
+ if (top + containRec.height > window.innerHeight) {
37
+ top = _top - containRec.height;
38
+ }
39
+ this.container.nativeElement.style.left = left + 'px';
40
+ this.container.nativeElement.style.top = top + 'px';
41
+ }, 5);
42
+ }
43
+ handleClickItem(item) {
44
+ if (!item.disable || item.disable === undefined) {
45
+ this.onItemClick.emit(item);
46
+ }
47
+ }
48
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXContextMenuComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
49
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AXContextMenuComponent, selector: "ax-context-menu", inputs: { size: "size", width: "width", items: "items" }, outputs: { onItemClick: "onItemClick", onClosed: "onClosed" }, host: { classAttribute: "ax context-menu-container" }, viewQueries: [{ propertyName: "contex", first: true, predicate: ["contex"], descendants: true }], ngImport: i0, template: "<!-- <ul class=\"ax context-menu {{size}}\" [style.width.px]=\"width\">\n <ng-container *ngFor=\"let item of items\">\n <li class=\"context-menu-item\" [class.divider]=\"item.divider\" [class.disabled]=\"item.disable\">\n <div class=\"startIcon\">\n <i class=\"{{item.icon}}\"></i>\n <i class=\"{{item.startIcon}}\" *ngIf=\"!item.icon && item.startIcon\"></i>\n </div>\n <span>{{item.text}}</span>\n\n <div class=\"endIcon\">\n <i class=\"{{item.endIcon}}\" *ngIf=\"!item.icon && item.startIcon\"></i>\n <i class=\"far fa-angle-left ax-menu-item-drop-icon\"></i>\n </div>\n </li>\n </ng-container>\n\n</ul> -->\n\n<ul #contex class=\"ax context-menu {{size}}\" [style.width.px]=\"width\"\n [ngClass]=\"{'animate__animated animate__faster animate__fadeIn': show}\">\n <ng-container *ngTemplateOutlet=\"recursiveContextMenu; context:{ $implicit: items }\"></ng-container>\n</ul>\n\n<ng-template #recursiveContextMenu let-items>\n <li *ngFor=\"let item of items\" class=\"context-menu-item\" [class.divider]=\"item.divider\"\n [class.disabled]=\"item.disable\" (click)=\"handleClickItem(item)\">\n <div class=\"startIcon\">\n <i class=\"{{item.icon}}\"></i>\n <i class=\"{{item.startIcon}}\" *ngIf=\"!item.icon && item.startIcon\"></i>\n </div>\n <span>{{item.text}}</span>\n\n <div class=\"endIcon\">\n <i class=\"{{item.endIcon}}\" *ngIf=\"!item.icon && item.startIcon\"></i>\n <i class=\"far fa-angle-left ax-menu-item-drop-icon\" *ngIf=\"item.items?.length > 0\"></i>\n </div>\n <ul class=\"ax context-menu child\" *ngIf=\"item.items?.length > 0\">\n <ng-container *ngTemplateOutlet=\"recursiveContextMenu; context:{ $implicit: item.items }\">\n </ng-container>\n </ul>\n </li>\n</ng-template>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
50
+ }
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXContextMenuComponent, decorators: [{
52
+ type: Component,
53
+ args: [{ selector: 'ax-context-menu', host: { class: 'ax context-menu-container' }, template: "<!-- <ul class=\"ax context-menu {{size}}\" [style.width.px]=\"width\">\n <ng-container *ngFor=\"let item of items\">\n <li class=\"context-menu-item\" [class.divider]=\"item.divider\" [class.disabled]=\"item.disable\">\n <div class=\"startIcon\">\n <i class=\"{{item.icon}}\"></i>\n <i class=\"{{item.startIcon}}\" *ngIf=\"!item.icon && item.startIcon\"></i>\n </div>\n <span>{{item.text}}</span>\n\n <div class=\"endIcon\">\n <i class=\"{{item.endIcon}}\" *ngIf=\"!item.icon && item.startIcon\"></i>\n <i class=\"far fa-angle-left ax-menu-item-drop-icon\"></i>\n </div>\n </li>\n </ng-container>\n\n</ul> -->\n\n<ul #contex class=\"ax context-menu {{size}}\" [style.width.px]=\"width\"\n [ngClass]=\"{'animate__animated animate__faster animate__fadeIn': show}\">\n <ng-container *ngTemplateOutlet=\"recursiveContextMenu; context:{ $implicit: items }\"></ng-container>\n</ul>\n\n<ng-template #recursiveContextMenu let-items>\n <li *ngFor=\"let item of items\" class=\"context-menu-item\" [class.divider]=\"item.divider\"\n [class.disabled]=\"item.disable\" (click)=\"handleClickItem(item)\">\n <div class=\"startIcon\">\n <i class=\"{{item.icon}}\"></i>\n <i class=\"{{item.startIcon}}\" *ngIf=\"!item.icon && item.startIcon\"></i>\n </div>\n <span>{{item.text}}</span>\n\n <div class=\"endIcon\">\n <i class=\"{{item.endIcon}}\" *ngIf=\"!item.icon && item.startIcon\"></i>\n <i class=\"far fa-angle-left ax-menu-item-drop-icon\" *ngIf=\"item.items?.length > 0\"></i>\n </div>\n <ul class=\"ax context-menu child\" *ngIf=\"item.items?.length > 0\">\n <ng-container *ngTemplateOutlet=\"recursiveContextMenu; context:{ $implicit: item.items }\">\n </ng-container>\n </ul>\n </li>\n</ng-template>" }]
54
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { size: [{
55
+ type: Input
56
+ }], width: [{
57
+ type: Input
58
+ }], items: [{
59
+ type: Input
60
+ }], onItemClick: [{
61
+ type: Output
62
+ }], onClosed: [{
63
+ type: Output
64
+ }], contex: [{
65
+ type: ViewChild,
66
+ args: ['contex']
67
+ }] } });
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvY29udGV4dC1tZW51L2NvbnRleHQtbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQWdCLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFVNUcsTUFBTSxPQUFPLHNCQUFzQjtJQXVCYjtJQXJCcEIsSUFBSSxHQUFrQixJQUFJLENBQUM7SUFHM0IsS0FBSyxDQUFTO0lBR2QsS0FBSyxHQUFpQixFQUFFLENBQUM7SUFHekIsV0FBVyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBR3pELFFBQVEsR0FBOEIsSUFBSSxZQUFZLEVBQWUsQ0FBQztJQUd0RSxNQUFNLENBQStCO0lBSXJDLElBQUksR0FBWSxLQUFLLENBQUM7SUFFdEIsWUFBb0IsU0FBcUI7UUFBckIsY0FBUyxHQUFULFNBQVMsQ0FBWTtJQUN6QyxDQUFDO0lBRUQsZUFBZTtJQUNmLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDakIsU0FBUyxFQUFFLElBQUk7U0FDaEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUlELElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksR0FBRyxLQUFLO1FBQzVCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQ3hFLElBQUksSUFBSSxHQUFHLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7WUFDN0QsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDO1lBQ2YsSUFBSSxJQUFJLEtBQUssS0FBSyxJQUFJLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUU7Z0JBQ2xFLElBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7YUFDN0M7aUJBQU0sSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRTtnQkFDeEQsSUFBSSxHQUFHLENBQUMsQ0FBQzthQUNWO1lBQ0QsSUFBSSxHQUFHLEdBQUcsVUFBVSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFO2dCQUNoRCxHQUFHLEdBQUcsSUFBSSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7YUFDaEM7WUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7WUFDdEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO1FBRXRELENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUdSLENBQUM7SUFJRCxlQUFlLENBQUMsSUFBZ0I7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUU7WUFDL0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDN0I7SUFDSCxDQUFDO3dHQWxFVSxzQkFBc0I7NEZBQXRCLHNCQUFzQix5VUNWbkMsNjZEQXlDYzs7NEZEL0JELHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxpQkFBaUIsUUFFckIsRUFBRSxLQUFLLEVBQUUsMkJBQTJCLEVBQUU7aUdBSTVDLElBQUk7c0JBREgsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsTUFBTTtnQkFJUCxRQUFRO3NCQURQLE1BQU07Z0JBSVAsTUFBTTtzQkFETCxTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIFZpZXdDaGlsZCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYTWVudUl0ZW0gfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xuaW1wb3J0IHsgQVhFbGVtZW50U2l6ZSB9IGZyb20gJy4uL2Jhc2UvZWxlbWVudC5jbGFzcyc7XG5pbXBvcnQgeyBBWEJhc2VFdmVudCB9IGZyb20gJy4uL2Jhc2UvZXZlbnRzLmNsYXNzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtY29udGV4dC1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRleHQtbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIGhvc3Q6IHsgY2xhc3M6ICdheCBjb250ZXh0LW1lbnUtY29udGFpbmVyJyB9XG59KVxuZXhwb3J0IGNsYXNzIEFYQ29udGV4dE1lbnVDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBzaXplOiBBWEVsZW1lbnRTaXplID0gJ21kJztcblxuICBASW5wdXQoKVxuICB3aWR0aDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIGl0ZW1zOiBBWE1lbnVJdGVtW10gPSBbXTtcblxuICBAT3V0cHV0KClcbiAgb25JdGVtQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQE91dHB1dCgpXG4gIG9uQ2xvc2VkOiBFdmVudEVtaXR0ZXI8QVhCYXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWEJhc2VFdmVudD4oKTtcblxuICBAVmlld0NoaWxkKCdjb250ZXgnKVxuICBjb250ZXg6IEVsZW1lbnRSZWY8SFRNTFVMaXN0RWxlbWVudD47XG5cblxuXG4gIHNob3c6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbnRhaW5lcjogRWxlbWVudFJlZikge1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5zaG93ID0gZmFsc2U7XG4gICAgdGhpcy5vbkNsb3NlZC5lbWl0KHtcbiAgICAgIGNvbXBvbmVudDogdGhpc1xuICAgIH0pO1xuICB9XG5cblxuXG4gIG9wZW4oX2xlZnQsIF90b3AsIF9ydGwgPSBmYWxzZSkge1xuICAgIHRoaXMuc2hvdyA9IHRydWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBjb250YWluUmVjID0gdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGxldCBsZWZ0ID0gX3J0bCA9PT0gZmFsc2UgPyBfbGVmdCA6IF9sZWZ0IC0gY29udGFpblJlYy53aWR0aDtcbiAgICAgIGxldCB0b3AgPSBfdG9wO1xuICAgICAgaWYgKF9ydGwgPT09IGZhbHNlICYmIF9sZWZ0ICsgY29udGFpblJlYy53aWR0aCA+IHdpbmRvdy5pbm5lcldpZHRoKSB7XG4gICAgICAgIGxlZnQgPSB3aW5kb3cuaW5uZXJXaWR0aCAtIGNvbnRhaW5SZWMud2lkdGg7XG4gICAgICB9IGVsc2UgaWYgKF9ydGwgPT09IHRydWUgJiYgX2xlZnQgLSBjb250YWluUmVjLndpZHRoIDwgMCkge1xuICAgICAgICBsZWZ0ID0gMDtcbiAgICAgIH1cbiAgICAgIGlmICh0b3AgKyBjb250YWluUmVjLmhlaWdodCA+IHdpbmRvdy5pbm5lckhlaWdodCkge1xuICAgICAgICB0b3AgPSBfdG9wIC0gY29udGFpblJlYy5oZWlnaHQ7XG4gICAgICB9XG4gICAgICB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnN0eWxlLmxlZnQgPSBsZWZ0ICsgJ3B4JztcbiAgICAgIHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUudG9wID0gdG9wICsgJ3B4JztcblxuICAgIH0sIDUpO1xuXG5cbiAgfVxuXG5cblxuICBoYW5kbGVDbGlja0l0ZW0oaXRlbTogQVhNZW51SXRlbSkge1xuICAgIGlmICghaXRlbS5kaXNhYmxlIHx8IGl0ZW0uZGlzYWJsZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLm9uSXRlbUNsaWNrLmVtaXQoaXRlbSk7XG4gICAgfVxuICB9XG59XG4iLCI8IS0tIDx1bCBjbGFzcz1cImF4IGNvbnRleHQtbWVudSB7e3NpemV9fVwiIFtzdHlsZS53aWR0aC5weF09XCJ3aWR0aFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIj5cbiAgICAgICAgPGxpIGNsYXNzPVwiY29udGV4dC1tZW51LWl0ZW1cIiBbY2xhc3MuZGl2aWRlcl09XCJpdGVtLmRpdmlkZXJcIiBbY2xhc3MuZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhcnRJY29uXCI+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJ7e2l0ZW0uaWNvbn19XCI+PC9pPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwie3tpdGVtLnN0YXJ0SWNvbn19XCIgKm5nSWY9XCIhaXRlbS5pY29uICYmIGl0ZW0uc3RhcnRJY29uXCI+PC9pPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8c3Bhbj57e2l0ZW0udGV4dH19PC9zcGFuPlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW5kSWNvblwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwie3tpdGVtLmVuZEljb259fVwiICpuZ0lmPVwiIWl0ZW0uaWNvbiAmJiBpdGVtLnN0YXJ0SWNvblwiPjwvaT5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhciBmYS1hbmdsZS1sZWZ0IGF4LW1lbnUtaXRlbS1kcm9wLWljb25cIj48L2k+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9saT5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuPC91bD4gLS0+XG5cbjx1bCAjY29udGV4IGNsYXNzPVwiYXggY29udGV4dC1tZW51IHt7c2l6ZX19XCIgW3N0eWxlLndpZHRoLnB4XT1cIndpZHRoXCJcbiAgICBbbmdDbGFzc109XCJ7J2FuaW1hdGVfX2FuaW1hdGVkIGFuaW1hdGVfX2Zhc3RlciBhbmltYXRlX19mYWRlSW4nOiBzaG93fVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZWN1cnNpdmVDb250ZXh0TWVudTsgY29udGV4dDp7ICRpbXBsaWNpdDogaXRlbXMgfVwiPjwvbmctY29udGFpbmVyPlxuPC91bD5cblxuPG5nLXRlbXBsYXRlICNyZWN1cnNpdmVDb250ZXh0TWVudSBsZXQtaXRlbXM+XG4gICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCIgY2xhc3M9XCJjb250ZXh0LW1lbnUtaXRlbVwiIFtjbGFzcy5kaXZpZGVyXT1cIml0ZW0uZGl2aWRlclwiXG4gICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJpdGVtLmRpc2FibGVcIiAoY2xpY2spPVwiaGFuZGxlQ2xpY2tJdGVtKGl0ZW0pXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdGFydEljb25cIj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwie3tpdGVtLmljb259fVwiPjwvaT5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwie3tpdGVtLnN0YXJ0SWNvbn19XCIgKm5nSWY9XCIhaXRlbS5pY29uICYmIGl0ZW0uc3RhcnRJY29uXCI+PC9pPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNwYW4+e3tpdGVtLnRleHR9fTwvc3Bhbj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZW5kSWNvblwiPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJ7e2l0ZW0uZW5kSWNvbn19XCIgKm5nSWY9XCIhaXRlbS5pY29uICYmIGl0ZW0uc3RhcnRJY29uXCI+PC9pPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXIgZmEtYW5nbGUtbGVmdCBheC1tZW51LWl0ZW0tZHJvcC1pY29uXCIgKm5nSWY9XCJpdGVtLml0ZW1zPy5sZW5ndGggPiAwXCI+PC9pPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHVsIGNsYXNzPVwiYXggY29udGV4dC1tZW51IGNoaWxkXCIgKm5nSWY9XCJpdGVtLml0ZW1zPy5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVjdXJzaXZlQ29udGV4dE1lbnU7IGNvbnRleHQ6eyAkaW1wbGljaXQ6IGl0ZW0uaXRlbXMgfVwiPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvdWw+XG4gICAgPC9saT5cbjwvbmctdGVtcGxhdGU+Il19
@@ -0,0 +1,146 @@
1
+ import { Directive, ElementRef, HostListener, Input, Output, EventEmitter, ComponentFactoryResolver, Injector, ViewContainerRef } from '@angular/core';
2
+ import { AXBaseEvent } from '../base/events.class';
3
+ import { AXContextMenuComponent } from './context-menu.component';
4
+ import * as i0 from "@angular/core";
5
+ export class AXContextMenuItemClickEvent extends AXBaseEvent {
6
+ dataItem;
7
+ menuItem;
8
+ }
9
+ export class AXContextMenuDirective {
10
+ ref;
11
+ factoryResolver;
12
+ viewContainerRef;
13
+ injector;
14
+ contextMenu;
15
+ contextDataItem;
16
+ contextMenuItems;
17
+ onContextMenuItemClick = new EventEmitter();
18
+ rtl = false;
19
+ internalItems = [];
20
+ clickSubscribe;
21
+ closeSubscribe;
22
+ onContextMenu(e) {
23
+ this.getMenuItems().then(items => {
24
+ e.stopPropagation();
25
+ e.preventDefault();
26
+ this.createContextMenu();
27
+ this.contextMenu.items = items;
28
+ this.contextMenu.open(e.x, e.y, this.rtl);
29
+ });
30
+ }
31
+ constructor(ref, factoryResolver, viewContainerRef, injector) {
32
+ this.ref = ref;
33
+ this.factoryResolver = factoryResolver;
34
+ this.viewContainerRef = viewContainerRef;
35
+ this.injector = injector;
36
+ }
37
+ ngOnInit() {
38
+ if (this.rtl == null) {
39
+ this.rtl = window.getComputedStyle(this.ref.nativeElement, null).getPropertyValue('direction') === 'rtl';
40
+ }
41
+ }
42
+ createContextMenu() {
43
+ const wrapper = document.createElement('div');
44
+ wrapper.classList.add('ax-overlay-wrapper');
45
+ wrapper.addEventListener('click', this.wrapperClick.bind(this));
46
+ wrapper.addEventListener('contextmenu', this.wrapperRClick.bind(this));
47
+ //
48
+ document.body.appendChild(wrapper);
49
+ const factory = this.factoryResolver.resolveComponentFactory(AXContextMenuComponent);
50
+ const componentRef = this.viewContainerRef.createComponent(factory);
51
+ this.contextMenu = componentRef.instance;
52
+ wrapper.appendChild(componentRef.location.nativeElement);
53
+ //
54
+ this.clearComponentSubscriptions();
55
+ this.createComponentSubscriptions();
56
+ }
57
+ wrapperClick(e) {
58
+ this.remove();
59
+ }
60
+ wrapperRClick(e) {
61
+ if (document.elementsFromPoint(e.clientX, e.clientY).includes(this.ref.nativeElement)) {
62
+ e.stopPropagation();
63
+ e.preventDefault();
64
+ this.contextMenu.open(e.x, e.y, this.rtl);
65
+ }
66
+ else {
67
+ e.preventDefault();
68
+ this.remove();
69
+ }
70
+ }
71
+ clearComponentSubscriptions() {
72
+ if (this.clickSubscribe) {
73
+ this.clickSubscribe.unsubscribe();
74
+ this.clickSubscribe = undefined;
75
+ }
76
+ if (this.closeSubscribe) {
77
+ this.closeSubscribe.unsubscribe();
78
+ this.closeSubscribe = undefined;
79
+ }
80
+ }
81
+ createComponentSubscriptions() {
82
+ this.clickSubscribe = this.contextMenu.onItemClick.subscribe(c => {
83
+ this.remove();
84
+ this.onContextMenuItemClick.emit({
85
+ component: this,
86
+ dataItem: this.contextDataItem,
87
+ htmlElement: this.ref.nativeElement,
88
+ menuItem: c
89
+ });
90
+ });
91
+ this.closeSubscribe = this.contextMenu.onClosed.subscribe(c => {
92
+ this.clearComponentSubscriptions();
93
+ });
94
+ }
95
+ remove() {
96
+ this.viewContainerRef.clear();
97
+ this.clearComponentSubscriptions();
98
+ document.querySelector('.ax-overlay-wrapper')?.remove();
99
+ }
100
+ getMenuItems() {
101
+ return new Promise((resolve, reject) => {
102
+ if (typeof (this.contextMenuItems) === 'function') {
103
+ const val = this.contextMenuItems(this.contextDataItem);
104
+ if (val instanceof Promise) {
105
+ val.then(_data => {
106
+ resolve(_data);
107
+ });
108
+ }
109
+ else {
110
+ resolve(val);
111
+ }
112
+ }
113
+ else if (Array.isArray(this.contextMenuItems)) {
114
+ resolve(this.contextMenuItems);
115
+ }
116
+ else {
117
+ resolve([]);
118
+ }
119
+ });
120
+ }
121
+ ngOnDestroy() {
122
+ this.clearComponentSubscriptions();
123
+ }
124
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXContextMenuDirective, deps: [{ token: i0.ElementRef }, { token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
125
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: AXContextMenuDirective, selector: "[axContextMenu]", inputs: { contextMenu: "contextMenu", contextDataItem: "contextDataItem", contextMenuItems: "contextMenuItems", rtl: "rtl" }, outputs: { onContextMenuItemClick: "onContextMenuItemClick" }, host: { listeners: { "contextmenu": "onContextMenu($event)" } }, ngImport: i0 });
126
+ }
127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXContextMenuDirective, decorators: [{
128
+ type: Directive,
129
+ args: [{
130
+ selector: '[axContextMenu]'
131
+ }]
132
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ComponentFactoryResolver }, { type: i0.ViewContainerRef }, { type: i0.Injector }]; }, propDecorators: { contextMenu: [{
133
+ type: Input
134
+ }], contextDataItem: [{
135
+ type: Input
136
+ }], contextMenuItems: [{
137
+ type: Input
138
+ }], onContextMenuItemClick: [{
139
+ type: Output
140
+ }], rtl: [{
141
+ type: Input
142
+ }], onContextMenu: [{
143
+ type: HostListener,
144
+ args: ['contextmenu', ['$event']]
145
+ }] } });
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSx3QkFBd0IsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkosT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUtsRSxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsV0FBVztJQUMxRCxRQUFRLENBQU87SUFDZixRQUFRLENBQWE7Q0FDdEI7QUFLRCxNQUFNLE9BQU8sc0JBQXNCO0lBdUN2QjtJQUNBO0lBQ0E7SUFDQTtJQXhDVixXQUFXLENBQXlCO0lBR3BDLGVBQWUsQ0FBTTtJQUdyQixnQkFBZ0IsQ0FBc0U7SUFHdEYsc0JBQXNCLEdBQThDLElBQUksWUFBWSxFQUErQixDQUFDO0lBR3BILEdBQUcsR0FBWSxLQUFLLENBQUM7SUFFckIsYUFBYSxHQUFpQixFQUFFLENBQUM7SUFFekIsY0FBYyxDQUFlO0lBQzdCLGNBQWMsQ0FBZTtJQUdyQyxhQUFhLENBQUMsQ0FBYTtRQUN6QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQy9CLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNwQixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBRy9CLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFHNUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBSUQsWUFDVSxHQUFlLEVBQ2YsZUFBeUMsRUFDekMsZ0JBQWtDLEVBQ2xDLFFBQWtCO1FBSGxCLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFDZixvQkFBZSxHQUFmLGVBQWUsQ0FBMEI7UUFDekMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxhQUFRLEdBQVIsUUFBUSxDQUFVO0lBRTVCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksRUFBRTtZQUNwQixJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsS0FBSyxLQUFLLENBQUM7U0FDMUc7SUFDSCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzVDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNoRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdkUsRUFBRTtRQUNGLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25DLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsdUJBQXVCLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNyRixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxXQUFXLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQztRQUN6QyxPQUFPLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDekQsRUFBRTtRQUNGLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxZQUFZLENBQUMsQ0FBYTtRQUN4QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELGFBQWEsQ0FBQyxDQUFhO1FBQ3pCLElBQUksUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ3JGLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNwQixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7WUFFbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUMzQzthQUNJO1lBQ0gsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUNmO0lBQ0gsQ0FBQztJQUlPLDJCQUEyQjtRQUNqQyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQztTQUNqQztRQUNELElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDO1NBQ2pDO0lBQ0gsQ0FBQztJQUVPLDRCQUE0QjtRQUNsQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMvRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDO2dCQUMvQixTQUFTLEVBQUUsSUFBSTtnQkFDZixRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWU7Z0JBQzlCLFdBQVcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWE7Z0JBQ25DLFFBQVEsRUFBRSxDQUFDO2FBQ1osQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFRLENBQUM7UUFDVixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM1RCxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztRQUNyQyxDQUFDLENBQVEsQ0FBQztJQUNaLENBQUM7SUFFTyxNQUFNO1FBQ1osSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1FBQ25DLFFBQVEsQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUMxRCxDQUFDO0lBRU8sWUFBWTtRQUNsQixPQUFPLElBQUksT0FBTyxDQUFlLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ25ELElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLFVBQVUsRUFBRTtnQkFDakQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDeEQsSUFBSSxHQUFHLFlBQVksT0FBTyxFQUFFO29CQUMxQixHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO3dCQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDakIsQ0FBQyxDQUFDLENBQUM7aUJBQ0o7cUJBQU07b0JBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUNkO2FBQ0Y7aUJBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO2dCQUMvQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7YUFDaEM7aUJBQ0k7Z0JBQ0gsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ2I7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7SUFDckMsQ0FBQzt3R0E3SVUsc0JBQXNCOzRGQUF0QixzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBSGxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtpQkFDNUI7OExBR0MsV0FBVztzQkFEVixLQUFLO2dCQUlOLGVBQWU7c0JBRGQsS0FBSztnQkFJTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFJTixzQkFBc0I7c0JBRHJCLE1BQU07Z0JBSVAsR0FBRztzQkFERixLQUFLO2dCQVNOLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIEluamVjdG9yLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWE1lbnVJdGVtIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcbmltcG9ydCB7IEFYQmFzZUV2ZW50IH0gZnJvbSAnLi4vYmFzZS9ldmVudHMuY2xhc3MnO1xuaW1wb3J0IHsgQVhDb250ZXh0TWVudUNvbXBvbmVudCB9IGZyb20gJy4vY29udGV4dC1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IHR5cGUgQVhDb250ZXh0TWVudVByb21pc2VGdW5jdGlvbiA9IChpdGVtOiBhbnkpID0+IFByb21pc2U8QVhNZW51SXRlbVtdPjtcbmV4cG9ydCB0eXBlIEFYQ29udGV4dE1lbnVGdW5jdGlvbiA9IChpdGVtOiBhbnkpID0+IEFYTWVudUl0ZW1bXTtcbmV4cG9ydCBjbGFzcyBBWENvbnRleHRNZW51SXRlbUNsaWNrRXZlbnQgZXh0ZW5kcyBBWEJhc2VFdmVudCB7XG4gIGRhdGFJdGVtPzogYW55O1xuICBtZW51SXRlbTogQVhNZW51SXRlbTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F4Q29udGV4dE1lbnVdJ1xufSlcbmV4cG9ydCBjbGFzcyBBWENvbnRleHRNZW51RGlyZWN0aXZlIHtcbiAgQElucHV0KClcbiAgY29udGV4dE1lbnU6IEFYQ29udGV4dE1lbnVDb21wb25lbnQ7XG5cbiAgQElucHV0KClcbiAgY29udGV4dERhdGFJdGVtOiBhbnk7XG5cbiAgQElucHV0KClcbiAgY29udGV4dE1lbnVJdGVtczogQVhNZW51SXRlbVtdIHwgQVhDb250ZXh0TWVudVByb21pc2VGdW5jdGlvbiB8IEFYQ29udGV4dE1lbnVGdW5jdGlvbjtcblxuICBAT3V0cHV0KClcbiAgb25Db250ZXh0TWVudUl0ZW1DbGljazogRXZlbnRFbWl0dGVyPEFYQ29udGV4dE1lbnVJdGVtQ2xpY2tFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYQ29udGV4dE1lbnVJdGVtQ2xpY2tFdmVudD4oKTtcblxuICBASW5wdXQoKVxuICBydGw6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBpbnRlcm5hbEl0ZW1zOiBBWE1lbnVJdGVtW10gPSBbXTtcblxuICBwcml2YXRlIGNsaWNrU3Vic2NyaWJlOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgY2xvc2VTdWJzY3JpYmU6IFN1YnNjcmlwdGlvbjtcblxuICBASG9zdExpc3RlbmVyKCdjb250ZXh0bWVudScsIFsnJGV2ZW50J10pXG4gIG9uQ29udGV4dE1lbnUoZTogTW91c2VFdmVudCkge1xuICAgIHRoaXMuZ2V0TWVudUl0ZW1zKCkudGhlbihpdGVtcyA9PiB7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5jcmVhdGVDb250ZXh0TWVudSgpO1xuICAgICAgdGhpcy5jb250ZXh0TWVudS5pdGVtcyA9IGl0ZW1zO1xuXG5cbiAgICAgIHRoaXMuY29udGV4dE1lbnUub3BlbihlLngsIGUueSwgdGhpcy5ydGwpO1xuXG5cbiAgICB9KTtcbiAgfVxuXG5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvclxuICApIHtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJ0bCA9PSBudWxsKSB7XG4gICAgICB0aGlzLnJ0bCA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQsIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2RpcmVjdGlvbicpID09PSAncnRsJztcbiAgICB9XG4gIH1cblxuICBjcmVhdGVDb250ZXh0TWVudSgpOiB2b2lkIHtcbiAgICBjb25zdCB3cmFwcGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgd3JhcHBlci5jbGFzc0xpc3QuYWRkKCdheC1vdmVybGF5LXdyYXBwZXInKTtcbiAgICB3cmFwcGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy53cmFwcGVyQ2xpY2suYmluZCh0aGlzKSk7XG4gICAgd3JhcHBlci5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIHRoaXMud3JhcHBlclJDbGljay5iaW5kKHRoaXMpKTtcbiAgICAvL1xuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQod3JhcHBlcik7XG4gICAgY29uc3QgZmFjdG9yeSA9IHRoaXMuZmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KEFYQ29udGV4dE1lbnVDb21wb25lbnQpO1xuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSk7XG4gICAgdGhpcy5jb250ZXh0TWVudSA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICB3cmFwcGVyLmFwcGVuZENoaWxkKGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50KTtcbiAgICAvL1xuICAgIHRoaXMuY2xlYXJDb21wb25lbnRTdWJzY3JpcHRpb25zKCk7XG4gICAgdGhpcy5jcmVhdGVDb21wb25lbnRTdWJzY3JpcHRpb25zKCk7XG4gIH1cblxuICB3cmFwcGVyQ2xpY2soZTogTW91c2VFdmVudCkge1xuICAgIHRoaXMucmVtb3ZlKCk7XG4gIH1cblxuICB3cmFwcGVyUkNsaWNrKGU6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoZG9jdW1lbnQuZWxlbWVudHNGcm9tUG9pbnQoZS5jbGllbnRYLCBlLmNsaWVudFkpLmluY2x1ZGVzKHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQpKSB7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICB0aGlzLmNvbnRleHRNZW51Lm9wZW4oZS54LCBlLnksIHRoaXMucnRsKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnJlbW92ZSgpO1xuICAgIH1cbiAgfVxuXG5cblxuICBwcml2YXRlIGNsZWFyQ29tcG9uZW50U3Vic2NyaXB0aW9ucygpIHtcbiAgICBpZiAodGhpcy5jbGlja1N1YnNjcmliZSkge1xuICAgICAgdGhpcy5jbGlja1N1YnNjcmliZS51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy5jbGlja1N1YnNjcmliZSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgaWYgKHRoaXMuY2xvc2VTdWJzY3JpYmUpIHtcbiAgICAgIHRoaXMuY2xvc2VTdWJzY3JpYmUudW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMuY2xvc2VTdWJzY3JpYmUgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVDb21wb25lbnRTdWJzY3JpcHRpb25zKCkge1xuICAgIHRoaXMuY2xpY2tTdWJzY3JpYmUgPSB0aGlzLmNvbnRleHRNZW51Lm9uSXRlbUNsaWNrLnN1YnNjcmliZShjID0+IHtcbiAgICAgIHRoaXMucmVtb3ZlKCk7XG4gICAgICB0aGlzLm9uQ29udGV4dE1lbnVJdGVtQ2xpY2suZW1pdCh7XG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgICAgZGF0YUl0ZW06IHRoaXMuY29udGV4dERhdGFJdGVtLFxuICAgICAgICBodG1sRWxlbWVudDogdGhpcy5yZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgbWVudUl0ZW06IGNcbiAgICAgIH0pO1xuICAgIH0pIGFzIGFueTtcbiAgICB0aGlzLmNsb3NlU3Vic2NyaWJlID0gdGhpcy5jb250ZXh0TWVudS5vbkNsb3NlZC5zdWJzY3JpYmUoYyA9PiB7XG4gICAgICB0aGlzLmNsZWFyQ29tcG9uZW50U3Vic2NyaXB0aW9ucygpO1xuICAgIH0pIGFzIGFueTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlKCkge1xuICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuICAgIHRoaXMuY2xlYXJDb21wb25lbnRTdWJzY3JpcHRpb25zKCk7XG4gICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmF4LW92ZXJsYXktd3JhcHBlcicpPy5yZW1vdmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TWVudUl0ZW1zKCk6IFByb21pc2U8QVhNZW51SXRlbVtdPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPEFYTWVudUl0ZW1bXT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiAodGhpcy5jb250ZXh0TWVudUl0ZW1zKSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBjb25zdCB2YWwgPSB0aGlzLmNvbnRleHRNZW51SXRlbXModGhpcy5jb250ZXh0RGF0YUl0ZW0pO1xuICAgICAgICBpZiAodmFsIGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICAgIHZhbC50aGVuKF9kYXRhID0+IHtcbiAgICAgICAgICAgIHJlc29sdmUoX2RhdGEpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc29sdmUodmFsKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHRoaXMuY29udGV4dE1lbnVJdGVtcykpIHtcbiAgICAgICAgcmVzb2x2ZSh0aGlzLmNvbnRleHRNZW51SXRlbXMpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHJlc29sdmUoW10pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhckNvbXBvbmVudFN1YnNjcmlwdGlvbnMoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,20 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { AXContextMenuComponent } from './context-menu.component';
4
+ import { AXContextMenuDirective } from './context-menu.directive';
5
+ import * as i0 from "@angular/core";
6
+ export class AXContextMenuModule {
7
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXContextMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: AXContextMenuModule, declarations: [AXContextMenuComponent, AXContextMenuDirective], imports: [CommonModule], exports: [AXContextMenuComponent, AXContextMenuDirective] });
9
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXContextMenuModule, imports: [CommonModule] });
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXContextMenuModule, decorators: [{
12
+ type: NgModule,
13
+ args: [{
14
+ declarations: [AXContextMenuComponent, AXContextMenuDirective],
15
+ imports: [CommonModule],
16
+ exports: [AXContextMenuComponent, AXContextMenuDirective],
17
+ providers: [],
18
+ }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQVNsRSxNQUFNLE9BQU8sbUJBQW1CO3dHQUFuQixtQkFBbUI7eUdBQW5CLG1CQUFtQixpQkFMYixzQkFBc0IsRUFBRSxzQkFBc0IsYUFDbkQsWUFBWSxhQUNaLHNCQUFzQixFQUFFLHNCQUFzQjt5R0FHL0MsbUJBQW1CLFlBSmxCLFlBQVk7OzRGQUliLG1CQUFtQjtrQkFOL0IsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxzQkFBc0IsQ0FBQztvQkFDOUQsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxzQkFBc0IsQ0FBQztvQkFDekQsU0FBUyxFQUFFLEVBQUU7aUJBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQVhDb250ZXh0TWVudUNvbXBvbmVudCB9IGZyb20gJy4vY29udGV4dC1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWENvbnRleHRNZW51RGlyZWN0aXZlIH0gZnJvbSAnLi9jb250ZXh0LW1lbnUuZGlyZWN0aXZlJztcblxuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW0FYQ29udGV4dE1lbnVDb21wb25lbnQsIEFYQ29udGV4dE1lbnVEaXJlY3RpdmVdLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtBWENvbnRleHRNZW51Q29tcG9uZW50LCBBWENvbnRleHRNZW51RGlyZWN0aXZlXSxcbiAgICBwcm92aWRlcnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBBWENvbnRleHRNZW51TW9kdWxlIHtcblxufSJdfQ==
@@ -0,0 +1,140 @@
1
+ import { Component, ChangeDetectionStrategy, ChangeDetectorRef, ViewChild } from '@angular/core';
2
+ import { AXFilterColumnComponent } from '../filter.class';
3
+ import { AXDateTime } from '@acorex/core';
4
+ import { AXSelectionListComponent } from '../../selection-list/selection-list.component';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../date-picker/date-picker.component";
7
+ import * as i2 from "../../selection-list/selection-list.component";
8
+ export class AXFilterColumnDateComponent extends AXFilterColumnComponent {
9
+ cdr;
10
+ selection;
11
+ items = [
12
+ {
13
+ text: 'Today',
14
+ value: 'today'
15
+ },
16
+ {
17
+ text: 'This Week',
18
+ value: 'this-week'
19
+ },
20
+ {
21
+ text: 'This Month',
22
+ value: 'this-month'
23
+ },
24
+ {
25
+ text: 'This Year',
26
+ value: 'this-year'
27
+ },
28
+ {
29
+ text: 'Specific',
30
+ value: 'specific'
31
+ },
32
+ {
33
+ text: 'Range',
34
+ value: 'range'
35
+ }
36
+ ];
37
+ fromDate = new AXDateTime();
38
+ toDate = new AXDateTime();
39
+ selectedItem = null;
40
+ showCustom = false;
41
+ showSpecific = false;
42
+ constructor(cdr) {
43
+ super(cdr);
44
+ this.cdr = cdr;
45
+ }
46
+ ngAfterViewInit() {
47
+ this.selection.selectedItems = [this.items[0]];
48
+ }
49
+ dateChange(e) {
50
+ this.valueChange.emit();
51
+ }
52
+ onSelectedChanged(items) {
53
+ this.selectedItem = items[0];
54
+ this.showCustom = this.selectedItem && this.selectedItem.value == 'range';
55
+ this.showSpecific = this.selectedItem && this.selectedItem.value == 'specific';
56
+ this.cdr.detectChanges();
57
+ this.valueChange.emit();
58
+ }
59
+ get condition() {
60
+ let today = new AXDateTime();
61
+ switch (this.selectedItem.value) {
62
+ case 'today':
63
+ this.fromDate = this.toDate = today;
64
+ return {
65
+ condition: 'equal',
66
+ field: this.field,
67
+ dataType: 'date',
68
+ value: this.fromDate.toISOString()
69
+ };
70
+ case 'specific':
71
+ return {
72
+ condition: 'equal',
73
+ field: this.field,
74
+ dataType: 'date',
75
+ value: this.fromDate.toISOString()
76
+ };
77
+ case 'this-week':
78
+ this.toDate = today.endOf('week');
79
+ this.fromDate = today.startOf('week');
80
+ break;
81
+ case 'this-month':
82
+ this.toDate = today.endOf('month');
83
+ this.fromDate = today.startOf('month');
84
+ break;
85
+ case 'this-year':
86
+ this.toDate = today.endOf('year');
87
+ this.fromDate = today.startOf('year');
88
+ break;
89
+ }
90
+ return {
91
+ condition: 'between',
92
+ field: this.field,
93
+ dataType: 'date',
94
+ value: [this.fromDate.toISOString(), this.toDate.toISOString()]
95
+ };
96
+ }
97
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXFilterColumnDateComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
98
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AXFilterColumnDateComponent, selector: "ax-filter-column-date", providers: [
99
+ { provide: AXFilterColumnComponent, useExisting: AXFilterColumnDateComponent }
100
+ ], viewQueries: [{ propertyName: "selection", first: true, predicate: AXSelectionListComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
101
+ <div class="ax-filter-section">
102
+ <ax-selection-list [items]="items" mode="single" direction="vertical" (selectedItemsChange)="onSelectedChanged($event)">
103
+ </ax-selection-list>
104
+ </div>
105
+ <div class="ax-filter-section-value" [hidden]="!showCustom">
106
+ <ax-date-picker label="From" [(value)]="fromDate" (onValueChanged)="dateChange($event)"></ax-date-picker>
107
+ <ax-date-picker label="To" [(value)]="toDate" (onValueChanged)="dateChange($event)"></ax-date-picker>
108
+ </div>
109
+ <div class="ax-filter-section-value" [hidden]="!showSpecific">
110
+ <ax-date-picker label="Date" [(value)]="fromDate" (onValueChanged)="dateChange($event)"></ax-date-picker>
111
+ </div>
112
+ `, isInline: true, dependencies: [{ kind: "component", type: i1.AXDatePickerComponent, selector: "ax-date-picker", inputs: ["dayStyle", "dayMinMaxResoan", "validation", "placeholder", "min", "max", "readonly", "disabled", "allowClear", "textAlign", "showToday", "selectableHoliday", "dateType", "showTodayButton", "openByClick", "size", "type", "value"], outputs: ["typeChange", "onValueChanged", "valueChange"] }, { kind: "component", type: i2.AXSelectionListComponent, selector: "ax-selection-list", inputs: ["readonly", "value", "disabled", "size", "direction", "items", "mode", "textField", "valueField", "selectedItems", "selectedValues"], outputs: ["selectionChanged", "selectedItemsChange", "selectedValuesChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
113
+ }
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXFilterColumnDateComponent, decorators: [{
115
+ type: Component,
116
+ args: [{
117
+ selector: 'ax-filter-column-date',
118
+ template: `
119
+ <div class="ax-filter-section">
120
+ <ax-selection-list [items]="items" mode="single" direction="vertical" (selectedItemsChange)="onSelectedChanged($event)">
121
+ </ax-selection-list>
122
+ </div>
123
+ <div class="ax-filter-section-value" [hidden]="!showCustom">
124
+ <ax-date-picker label="From" [(value)]="fromDate" (onValueChanged)="dateChange($event)"></ax-date-picker>
125
+ <ax-date-picker label="To" [(value)]="toDate" (onValueChanged)="dateChange($event)"></ax-date-picker>
126
+ </div>
127
+ <div class="ax-filter-section-value" [hidden]="!showSpecific">
128
+ <ax-date-picker label="Date" [(value)]="fromDate" (onValueChanged)="dateChange($event)"></ax-date-picker>
129
+ </div>
130
+ `,
131
+ providers: [
132
+ { provide: AXFilterColumnComponent, useExisting: AXFilterColumnDateComponent }
133
+ ],
134
+ changeDetection: ChangeDetectionStrategy.OnPush
135
+ }]
136
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { selection: [{
137
+ type: ViewChild,
138
+ args: [AXSelectionListComponent, { static: true }]
139
+ }] } });
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWNvbHVtbi1kYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2RhdGEtZmlsdGVyL2NvbHVtbnMvZmlsdGVyLWNvbHVtbi1kYXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBd0IsTUFBTSxlQUFlLENBQUM7QUFDdkgsT0FBTyxFQUFxQix1QkFBdUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0NBQStDLENBQUM7Ozs7QUFzQnpGLE1BQU0sT0FBTywyQkFBNEIsU0FBUSx1QkFBdUI7SUFzQzlDO0lBckNpQyxTQUFTLENBQTJCO0lBRTNGLEtBQUssR0FBUTtRQUNUO1lBQ0ksSUFBSSxFQUFFLE9BQU87WUFDYixLQUFLLEVBQUUsT0FBTztTQUNqQjtRQUNEO1lBQ0ksSUFBSSxFQUFFLFdBQVc7WUFDakIsS0FBSyxFQUFFLFdBQVc7U0FDckI7UUFDRDtZQUNJLElBQUksRUFBRSxZQUFZO1lBQ2xCLEtBQUssRUFBRSxZQUFZO1NBQ3RCO1FBQ0Q7WUFDSSxJQUFJLEVBQUUsV0FBVztZQUNqQixLQUFLLEVBQUUsV0FBVztTQUNyQjtRQUNEO1lBQ0ksSUFBSSxFQUFFLFVBQVU7WUFDaEIsS0FBSyxFQUFFLFVBQVU7U0FDcEI7UUFDRDtZQUNJLElBQUksRUFBRSxPQUFPO1lBQ2IsS0FBSyxFQUFFLE9BQU87U0FDakI7S0FDSixDQUFDO0lBRUYsUUFBUSxHQUFlLElBQUksVUFBVSxFQUFFLENBQUM7SUFDeEMsTUFBTSxHQUFlLElBQUksVUFBVSxFQUFFLENBQUM7SUFFdEMsWUFBWSxHQUFRLElB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MkJBQTJCLGdEQUx6QjtZQUNQLEVBQUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFdBQVcsRUFBRSwyQkFBMkIsRUFBRTtTQUNqRixxRUFJVSx3QkFBd0IscUZBbkJ6Qjs7Ozs7Ozs7Ozs7O0tBWVQ7OzRGQU1RLDJCQUEyQjtrQkFwQnZDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7S0FZVDtvQkFDRCxTQUFTLEVBQUU7d0JBQ1AsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyw2QkFBNkIsRUFBRTtxQkFDakY7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEO3dHQUUwRCxTQUFTO3NCQUEvRCxTQUFTO3VCQUFDLHdCQUF3QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBWaWV3Q2hpbGQsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWEZpbHRlckNvbmRpdGlvbiwgQVhGaWx0ZXJDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuLi9maWx0ZXIuY2xhc3MnO1xuaW1wb3J0IHsgQVhEYXRlVGltZSB9IGZyb20gJ0BhY29yZXgvY29yZSc7XG5pbXBvcnQgeyBBWFNlbGVjdGlvbkxpc3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi9zZWxlY3Rpb24tbGlzdC9zZWxlY3Rpb24tbGlzdC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2F4LWZpbHRlci1jb2x1bW4tZGF0ZScsXG4gICAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiYXgtZmlsdGVyLXNlY3Rpb25cIj5cbiAgICA8YXgtc2VsZWN0aW9uLWxpc3QgW2l0ZW1zXT1cIml0ZW1zXCIgbW9kZT1cInNpbmdsZVwiIGRpcmVjdGlvbj1cInZlcnRpY2FsXCIgKHNlbGVjdGVkSXRlbXNDaGFuZ2UpPVwib25TZWxlY3RlZENoYW5nZWQoJGV2ZW50KVwiPlxuICAgIDwvYXgtc2VsZWN0aW9uLWxpc3Q+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImF4LWZpbHRlci1zZWN0aW9uLXZhbHVlXCIgW2hpZGRlbl09XCIhc2hvd0N1c3RvbVwiPlxuICAgICAgICA8YXgtZGF0ZS1waWNrZXIgbGFiZWw9XCJGcm9tXCIgWyh2YWx1ZSldPVwiZnJvbURhdGVcIiAob25WYWx1ZUNoYW5nZWQpPVwiZGF0ZUNoYW5nZSgkZXZlbnQpXCI+PC9heC1kYXRlLXBpY2tlcj5cbiAgICAgICAgPGF4LWRhdGUtcGlja2VyIGxhYmVsPVwiVG9cIiBbKHZhbHVlKV09XCJ0b0RhdGVcIiAob25WYWx1ZUNoYW5nZWQpPVwiZGF0ZUNoYW5nZSgkZXZlbnQpXCI+PC9heC1kYXRlLXBpY2tlcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtZmlsdGVyLXNlY3Rpb24tdmFsdWVcIiBbaGlkZGVuXT1cIiFzaG93U3BlY2lmaWNcIj5cbiAgICAgICAgPGF4LWRhdGUtcGlja2VyIGxhYmVsPVwiRGF0ZVwiIFsodmFsdWUpXT1cImZyb21EYXRlXCIgKG9uVmFsdWVDaGFuZ2VkKT1cImRhdGVDaGFuZ2UoJGV2ZW50KVwiPjwvYXgtZGF0ZS1waWNrZXI+ICAgICAgICAgICAgXG4gICAgPC9kaXY+XG4gICAgYCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBBWEZpbHRlckNvbHVtbkNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYRmlsdGVyQ29sdW1uRGF0ZUNvbXBvbmVudCB9XG4gICAgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBWEZpbHRlckNvbHVtbkRhdGVDb21wb25lbnQgZXh0ZW5kcyBBWEZpbHRlckNvbHVtbkNvbXBvbmVudCB7XG4gICAgQFZpZXdDaGlsZChBWFNlbGVjdGlvbkxpc3RDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIHNlbGVjdGlvbjogQVhTZWxlY3Rpb25MaXN0Q29tcG9uZW50O1xuXG4gICAgaXRlbXM6IGFueSA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAgdGV4dDogJ1RvZGF5JyxcbiAgICAgICAgICAgIHZhbHVlOiAndG9kYXknXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRleHQ6ICdUaGlzIFdlZWsnLFxuICAgICAgICAgICAgdmFsdWU6ICd0aGlzLXdlZWsnXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRleHQ6ICdUaGlzIE1vbnRoJyxcbiAgICAgICAgICAgIHZhbHVlOiAndGhpcy1tb250aCdcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgdGV4dDogJ1RoaXMgWWVhcicsXG4gICAgICAgICAgICB2YWx1ZTogJ3RoaXMteWVhcidcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgdGV4dDogJ1NwZWNpZmljJyxcbiAgICAgICAgICAgIHZhbHVlOiAnc3BlY2lmaWMnXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRleHQ6ICdSYW5nZScsXG4gICAgICAgICAgICB2YWx1ZTogJ3JhbmdlJ1xuICAgICAgICB9XG4gICAgXTtcblxuICAgIGZyb21EYXRlOiBBWERhdGVUaW1lID0gbmV3IEFYRGF0ZVRpbWUoKTtcbiAgICB0b0RhdGU6IEFYRGF0ZVRpbWUgPSBuZXcgQVhEYXRlVGltZSgpO1xuXG4gICAgc2VsZWN0ZWRJdGVtOiBhbnkgPSBudWxsO1xuXG4gICAgc2hvd0N1c3RvbTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHNob3dTcGVjaWZpYzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgc3VwZXIoY2RyKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uLnNlbGVjdGVkSXRlbXMgPSBbdGhpcy5pdGVtc1swXV07XG4gICAgfVxuICAgIGRhdGVDaGFuZ2UoZSkge1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoKTtcbiAgICB9XG4gICAgb25TZWxlY3RlZENoYW5nZWQoaXRlbXM6IGFueVtdKSB7XG5cbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSBpdGVtc1swXTtcbiAgICAgICAgdGhpcy5zaG93Q3VzdG9tID0gdGhpcy5zZWxlY3RlZEl0ZW0gJiYgdGhpcy5zZWxlY3RlZEl0ZW0udmFsdWUgPT0gJ3JhbmdlJztcbiAgICAgICAgdGhpcy5zaG93U3BlY2lmaWMgPSB0aGlzLnNlbGVjdGVkSXRlbSAmJiB0aGlzLnNlbGVjdGVkSXRlbS52YWx1ZSA9PSAnc3BlY2lmaWMnO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCgpO1xuICAgIH1cblxuICAgIGdldCBjb25kaXRpb24oKTogQVhGaWx0ZXJDb25kaXRpb24ge1xuICAgICAgICBsZXQgdG9kYXkgPSBuZXcgQVhEYXRlVGltZSgpO1xuICAgICAgICBzd2l0Y2ggKHRoaXMuc2VsZWN0ZWRJdGVtLnZhbHVlKSB7XG4gICAgICAgICAgICBjYXNlICd0b2RheSc6XG4gICAgICAgICAgICAgICAgdGhpcy5mcm9tRGF0ZSA9IHRoaXMudG9EYXRlID0gdG9kYXk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb246ICdlcXVhbCcsXG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiB0aGlzLmZpZWxkLFxuICAgICAgICAgICAgICAgICAgICBkYXRhVHlwZTogJ2RhdGUnLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5mcm9tRGF0ZS50b0lTT1N0cmluZygpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnc3BlY2lmaWMnOlxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbjogJ2VxdWFsJyxcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IHRoaXMuZmllbGQsXG4gICAgICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAnZGF0ZScsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLmZyb21EYXRlLnRvSVNPU3RyaW5nKClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICd0aGlzLXdlZWsnOlxuICAgICAgICAgICAgICAgIHRoaXMudG9EYXRlID0gdG9kYXkuZW5kT2YoJ3dlZWsnKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZyb21EYXRlID0gdG9kYXkuc3RhcnRPZignd2VlaycpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAndGhpcy1tb250aCc6XG4gICAgICAgICAgICAgICAgdGhpcy50b0RhdGUgPSB0b2RheS5lbmRPZignbW9udGgnKVxuICAgICAgICAgICAgICAgIHRoaXMuZnJvbURhdGUgPSB0b2RheS5zdGFydE9mKCdtb250aCcpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAndGhpcy15ZWFyJzpcbiAgICAgICAgICAgICAgICB0aGlzLnRvRGF0ZSA9IHRvZGF5LmVuZE9mKCd5ZWFyJylcbiAgICAgICAgICAgICAgICB0aGlzLmZyb21EYXRlID0gdG9kYXkuc3RhcnRPZigneWVhcicpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvbmRpdGlvbjogJ2JldHdlZW4nLFxuICAgICAgICAgICAgZmllbGQ6IHRoaXMuZmllbGQsXG4gICAgICAgICAgICBkYXRhVHlwZTogJ2RhdGUnLFxuICAgICAgICAgICAgdmFsdWU6IFt0aGlzLmZyb21EYXRlLnRvSVNPU3RyaW5nKCksIHRoaXMudG9EYXRlLnRvSVNPU3RyaW5nKCldXG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,119 @@
1
+ import { Component, ChangeDetectorRef } from '@angular/core';
2
+ import { AXFilterColumnComponent } from '../filter.class';
3
+ import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
4
+ import { Observable } from 'rxjs';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "@angular/forms";
8
+ import * as i3 from "../../textbox/textbox.component";
9
+ export class AXFilterColumnNumberComponent extends AXFilterColumnComponent {
10
+ cdr;
11
+ operator = 'equal';
12
+ operators = [
13
+ {
14
+ title: 'is',
15
+ value: 'equal'
16
+ },
17
+ {
18
+ title: `isn't`,
19
+ value: 'not-equal'
20
+ },
21
+ {
22
+ title: 'less than',
23
+ value: 'less-than'
24
+ },
25
+ {
26
+ title: 'less than or equal',
27
+ value: 'less-than-equal'
28
+ },
29
+ {
30
+ title: 'greater than',
31
+ value: 'greater-than'
32
+ },
33
+ {
34
+ title: 'greater than or equal',
35
+ value: 'greater-than-equal'
36
+ },
37
+ {
38
+ title: 'is empty',
39
+ value: 'is-empty'
40
+ },
41
+ {
42
+ title: `isn't empty`,
43
+ value: 'is-not-empty'
44
+ }
45
+ ];
46
+ constructor(cdr) {
47
+ super(cdr);
48
+ this.cdr = cdr;
49
+ }
50
+ searchChangeObserver;
51
+ onOperatorChange(e) {
52
+ this.valueChange.emit();
53
+ }
54
+ onTextChange(e) {
55
+ // TODO: Check this method work correctly
56
+ if (!this.searchChangeObserver) {
57
+ return new Observable(observer => {
58
+ this.searchChangeObserver = observer;
59
+ })
60
+ .pipe(debounceTime(500))
61
+ .pipe(distinctUntilChanged())
62
+ .subscribe(c => {
63
+ this.valueChange.emit();
64
+ });
65
+ }
66
+ this.searchChangeObserver.next(e);
67
+ }
68
+ get condition() {
69
+ return {
70
+ condition: this.operator,
71
+ field: this.field,
72
+ dataType: 'number',
73
+ value: this.value
74
+ };
75
+ }
76
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXFilterColumnNumberComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
77
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AXFilterColumnNumberComponent, selector: "ax-filter-column-number", providers: [
78
+ { provide: AXFilterColumnComponent, useExisting: AXFilterColumnNumberComponent }
79
+ ], usesInheritance: true, ngImport: i0, template: `
80
+ <div class="ax-filter-section">
81
+ <div>
82
+ <select (ngModelChange)="onOperatorChange($event)" class="form-control form-control-sm" [(ngModel)]="operator">
83
+ <option *ngFor="let o of operators" value="{{o.value}}">
84
+ {{o.title}}
85
+ </option>
86
+ </select>
87
+ </div>
88
+ <div>
89
+ <ax-text-box placeholder="Type here" (textChange)="onTextChange($event)" [(value)]="value" *ngIf="operator!='is-not-empty' && operator!='is-empty'">
90
+ </ax-text-box>
91
+ </div>
92
+ </div>
93
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.AXTextBoxComponent, selector: "ax-text-box", inputs: ["mask", "showMask", "type", "maxLength", "maskGuid", "maskPlaceholder", "maskKeepCharPositions"] }] });
94
+ }
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXFilterColumnNumberComponent, decorators: [{
96
+ type: Component,
97
+ args: [{
98
+ selector: 'ax-filter-column-number',
99
+ template: `
100
+ <div class="ax-filter-section">
101
+ <div>
102
+ <select (ngModelChange)="onOperatorChange($event)" class="form-control form-control-sm" [(ngModel)]="operator">
103
+ <option *ngFor="let o of operators" value="{{o.value}}">
104
+ {{o.title}}
105
+ </option>
106
+ </select>
107
+ </div>
108
+ <div>
109
+ <ax-text-box placeholder="Type here" (textChange)="onTextChange($event)" [(value)]="value" *ngIf="operator!='is-not-empty' && operator!='is-empty'">
110
+ </ax-text-box>
111
+ </div>
112
+ </div>
113
+ `,
114
+ providers: [
115
+ { provide: AXFilterColumnComponent, useExisting: AXFilterColumnNumberComponent }
116
+ ]
117
+ }]
118
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWNvbHVtbi1udW1iZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvZGF0YS1maWx0ZXIvY29sdW1ucy9maWx0ZXItY29sdW1uLW51bWJlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQXFCLHVCQUF1QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0UsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBd0JsQyxNQUFNLE9BQU8sNkJBQThCLFNBQVEsdUJBQXVCO0lBc0NoRDtJQXBDdEIsUUFBUSxHQUFXLE9BQU8sQ0FBQztJQUUzQixTQUFTLEdBQVU7UUFDZjtZQUNJLEtBQUssRUFBRSxJQUFJO1lBQ1gsS0FBSyxFQUFFLE9BQU87U0FDakI7UUFDRDtZQUNJLEtBQUssRUFBRSxPQUFPO1lBQ2QsS0FBSyxFQUFFLFdBQVc7U0FDckI7UUFDRDtZQUNJLEtBQUssRUFBRSxXQUFXO1lBQ2xCLEtBQUssRUFBRSxXQUFXO1NBQ3JCO1FBQ0Q7WUFDSSxLQUFLLEVBQUUsb0JBQW9CO1lBQzNCLEtBQUssRUFBRSxpQkFBaUI7U0FDM0I7UUFDRDtZQUNJLEtBQUssRUFBRSxjQUFjO1lBQ3JCLEtBQUssRUFBRSxjQUFjO1NBQ3hCO1FBQ0Q7WUFDSSxLQUFLLEVBQUUsdUJBQXVCO1lBQzlCLEtBQUssRUFBRSxvQkFBb0I7U0FDOUI7UUFDRDtZQUNJLEtBQUssRUFBRSxVQUFVO1lBQ2pCLEtBQUssRUFBRSxVQUFVO1NBQ3BCO1FBQ0Q7WUFDSSxLQUFLLEVBQUUsYUFBYTtZQUNwQixLQUFLLEVBQUUsY0FBYztTQUN4QjtLQUNKLENBQUM7SUFDRixZQUFzQixHQUFzQjtRQUN4QyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFETyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUU1QyxDQUFDO0lBQ08sb0JBQW9CLENBQU07SUFDbEMsZ0JBQWdCLENBQUMsQ0FBQztRQUVkLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFFNUIsQ0FBQztJQUNELFlBQVksQ0FBQyxDQUFDO1FBQ1YseUNBQXlDO1FBQ3pDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDNUIsT0FBTyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLG9CQUFvQixHQUFHLFFBQVEsQ0FBQztZQUN6QyxDQUFDLENBQUM7aUJBQ0csSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDdkIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7aUJBQzVCLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDWCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzVCLENBQUMsQ0FBQyxDQUFDO1NBQ1Y7UUFDRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDVCxPQUFPO1lBQ0gsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3hCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixRQUFRLEVBQUUsUUFBUTtZQUNsQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7U0FDcEIsQ0FBQztJQUNOLENBQUM7d0dBckVRLDZCQUE2Qjs0RkFBN0IsNkJBQTZCLGtEQUozQjtZQUNQLEVBQUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFdBQVcsRUFBRSw2QkFBNkIsRUFBRTtTQUNuRixpREFqQlM7Ozs7Ozs7Ozs7Ozs7O0tBY1Q7OzRGQUtRLDZCQUE2QjtrQkFyQnpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7OztLQWNUO29CQUNELFNBQVMsRUFBRTt3QkFDUCxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxXQUFXLCtCQUErQixFQUFFO3FCQUNuRjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYRmlsdGVyQ29uZGl0aW9uLCBBWEZpbHRlckNvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4uL2ZpbHRlci5jbGFzcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdheC1maWx0ZXItY29sdW1uLW51bWJlcicsXG4gICAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiYXgtZmlsdGVyLXNlY3Rpb25cIj5cbiAgICA8ZGl2PlxuICAgICAgICA8c2VsZWN0IChuZ01vZGVsQ2hhbmdlKT1cIm9uT3BlcmF0b3JDaGFuZ2UoJGV2ZW50KVwiIGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tY29udHJvbC1zbVwiICBbKG5nTW9kZWwpXT1cIm9wZXJhdG9yXCI+XG4gICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBvIG9mIG9wZXJhdG9yc1wiIHZhbHVlPVwie3tvLnZhbHVlfX1cIj5cbiAgICAgICAgICAgICAgICB7e28udGl0bGV9fVxuICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgIDwvc2VsZWN0PlxuICAgIDwvZGl2PlxuICAgIDxkaXY+XG4gICAgICAgIDxheC10ZXh0LWJveCBwbGFjZWhvbGRlcj1cIlR5cGUgaGVyZVwiICh0ZXh0Q2hhbmdlKT1cIm9uVGV4dENoYW5nZSgkZXZlbnQpXCIgWyh2YWx1ZSldPVwidmFsdWVcIiAqbmdJZj1cIm9wZXJhdG9yIT0naXMtbm90LWVtcHR5JyAmJiBvcGVyYXRvciE9J2lzLWVtcHR5J1wiPlxuICAgICAgICA8L2F4LXRleHQtYm94PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4gICAgYCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBBWEZpbHRlckNvbHVtbkNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYRmlsdGVyQ29sdW1uTnVtYmVyQ29tcG9uZW50IH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEFYRmlsdGVyQ29sdW1uTnVtYmVyQ29tcG9uZW50IGV4dGVuZHMgQVhGaWx0ZXJDb2x1bW5Db21wb25lbnQge1xuXG4gICAgb3BlcmF0b3I6IHN0cmluZyA9ICdlcXVhbCc7XG5cbiAgICBvcGVyYXRvcnM6IGFueVtdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICB0aXRsZTogJ2lzJyxcbiAgICAgICAgICAgIHZhbHVlOiAnZXF1YWwnXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRpdGxlOiBgaXNuJ3RgLFxuICAgICAgICAgICAgdmFsdWU6ICdub3QtZXF1YWwnXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRpdGxlOiAnbGVzcyB0aGFuJyxcbiAgICAgICAgICAgIHZhbHVlOiAnbGVzcy10aGFuJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICB0aXRsZTogJ2xlc3MgdGhhbiBvciBlcXVhbCcsXG4gICAgICAgICAgICB2YWx1ZTogJ2xlc3MtdGhhbi1lcXVhbCdcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgdGl0bGU6ICdncmVhdGVyIHRoYW4nLFxuICAgICAgICAgICAgdmFsdWU6ICdncmVhdGVyLXRoYW4nXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRpdGxlOiAnZ3JlYXRlciB0aGFuIG9yIGVxdWFsJyxcbiAgICAgICAgICAgIHZhbHVlOiAnZ3JlYXRlci10aGFuLWVxdWFsJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICB0aXRsZTogJ2lzIGVtcHR5JyxcbiAgICAgICAgICAgIHZhbHVlOiAnaXMtZW1wdHknXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRpdGxlOiBgaXNuJ3QgZW1wdHlgLFxuICAgICAgICAgICAgdmFsdWU6ICdpcy1ub3QtZW1wdHknXG4gICAgICAgIH1cbiAgICBdO1xuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHN1cGVyKGNkcik7XG4gICAgfVxuICAgIHByaXZhdGUgc2VhcmNoQ2hhbmdlT2JzZXJ2ZXI6IGFueTtcbiAgICBvbk9wZXJhdG9yQ2hhbmdlKGUpIHtcblxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoKTtcblxuICAgIH1cbiAgICBvblRleHRDaGFuZ2UoZSkge1xuICAgICAgICAvLyBUT0RPOiBDaGVjayB0aGlzIG1ldGhvZCB3b3JrIGNvcnJlY3RseVxuICAgICAgICBpZiAoIXRoaXMuc2VhcmNoQ2hhbmdlT2JzZXJ2ZXIpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlciA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWFyY2hDaGFuZ2VPYnNlcnZlciA9IG9ic2VydmVyO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoNTAwKSlcbiAgICAgICAgICAgICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoYyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCgpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2VhcmNoQ2hhbmdlT2JzZXJ2ZXIubmV4dChlKTtcbiAgICB9XG5cbiAgICBnZXQgY29uZGl0aW9uKCk6IEFYRmlsdGVyQ29uZGl0aW9uIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvbmRpdGlvbjogdGhpcy5vcGVyYXRvcixcbiAgICAgICAgICAgIGZpZWxkOiB0aGlzLmZpZWxkLFxuICAgICAgICAgICAgZGF0YVR5cGU6ICdudW1iZXInLFxuICAgICAgICAgICAgdmFsdWU6IHRoaXMudmFsdWVcbiAgICAgICAgfTtcbiAgICB9XG5cbn1cbiJdfQ==