@acorex/components 6.5.70 → 6.5.90

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 (475) 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 +95 -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 +718 -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 +159 -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 +66 -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 +82 -0
  132. package/esm2022/lib/searchbox/searchbox.module.mjs +24 -0
  133. package/esm2022/lib/selectbox/selectbox.component.mjs +1025 -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 +158 -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 +1104 -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 +218 -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 +3987 -3087
  182. package/fesm2022/acorex-components.mjs.map +1 -0
  183. package/lib/accordion/accordion.component.d.ts +1 -1
  184. package/lib/base/base-page.class.d.ts +2 -2
  185. package/lib/base/element.class.d.ts +6 -6
  186. package/lib/button/button.component.d.ts +1 -1
  187. package/lib/calendar/calendar-box/calendar-box.component.d.ts +6 -6
  188. package/lib/calendar/scheduler/scheduler-views.property.d.ts +2 -2
  189. package/lib/calendar/scheduler/scheduler.class.d.ts +1 -1
  190. package/lib/calendar/scheduler/scheduler.component.d.ts +1 -1
  191. package/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.d.ts +1 -1
  192. package/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.d.ts +1 -1
  193. package/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.d.ts +1 -1
  194. package/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.d.ts +1 -1
  195. package/lib/calendar/scheduler/views/month/scheduler-month-view.component.d.ts +1 -1
  196. package/lib/calendar/scheduler/views/scheduler-view.component.d.ts +1 -1
  197. package/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.d.ts +1 -1
  198. package/lib/checkbox/checkbox.component.d.ts +1 -1
  199. package/lib/color-picker/color-box/color-box.component.d.ts +1 -1
  200. package/lib/color-picker/color-picker.component.d.ts +1 -1
  201. package/lib/context-menu/context-menu.component.d.ts +1 -1
  202. package/lib/context-menu/context-menu.directive.d.ts +3 -3
  203. package/lib/data-filter/columns/filter-column-date.component.d.ts +1 -1
  204. package/lib/data-filter/columns/filter-column-number.component.d.ts +1 -1
  205. package/lib/data-filter/columns/filter-column-selection.component.d.ts +1 -1
  206. package/lib/data-filter/columns/filter-column-string.component.d.ts +1 -1
  207. package/lib/data-filter/filter-panel/filter-panel.component.d.ts +1 -1
  208. package/lib/data-filter/filter.class.d.ts +1 -1
  209. package/lib/data-filter/toolbar/filter-toolbar.component.d.ts +1 -1
  210. package/lib/data-list/core/data-list.component.d.ts +1 -1
  211. package/lib/data-list/list/list.component.d.ts +1 -1
  212. package/lib/data-list/list/toolbar-list-view.component.d.ts +2 -2
  213. package/lib/data-source/datasource.component.d.ts +1 -1
  214. package/lib/date-picker/date-picker.component.d.ts +1 -1
  215. package/lib/date-picker/date-picker.module.d.ts +2 -2
  216. package/lib/dialog/dialog.component.d.ts +1 -1
  217. package/lib/drawer/content.component.d.ts +1 -1
  218. package/lib/drawer/drawer-container.component.d.ts +1 -1
  219. package/lib/drawer/drawer.component.d.ts +3 -3
  220. package/lib/dropdown/dropdown.component.d.ts +1 -1
  221. package/lib/fieldset/fieldset.component.d.ts +1 -1
  222. package/lib/form-group/form-group.component.d.ts +1 -1
  223. package/lib/label/label.component.d.ts +1 -1
  224. package/lib/loading/loading-indicator.component.d.ts +1 -1
  225. package/lib/loading/loading-panel.component.d.ts +1 -1
  226. package/lib/menu/menu-item.component.d.ts +1 -1
  227. package/lib/menu/menu.component.d.ts +1 -1
  228. package/lib/menu/menu2.component.d.ts +1 -1
  229. package/lib/number-box/number-box.component.d.ts +1 -1
  230. package/lib/page/content.component.d.ts +1 -1
  231. package/lib/page/footer.component.d.ts +1 -1
  232. package/lib/page/page.component.d.ts +1 -1
  233. package/lib/panel-box/panel-box.component.d.ts +1 -1
  234. package/lib/password-box/password-box.component.d.ts +1 -1
  235. package/lib/popover/popover.component.d.ts +1 -1
  236. package/lib/popup/popup.component.d.ts +1 -1
  237. package/lib/progress-bar/progress-bar.component.d.ts +1 -1
  238. package/lib/property-editor/editors/check-editor/check-editor.d.ts +1 -1
  239. package/lib/property-editor/editors/color-editor/color.editor.d.ts +1 -1
  240. package/lib/property-editor/editors/column-editor/column.editor.d.ts +1 -1
  241. package/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.d.ts +1 -1
  242. package/lib/property-editor/editors/date-editor/date.editor.d.ts +1 -1
  243. package/lib/property-editor/editors/number-editor/number.editor.d.ts +1 -1
  244. package/lib/property-editor/editors/range-editor/range.editor.d.ts +1 -1
  245. package/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.d.ts +1 -1
  246. package/lib/property-editor/editors/selectbox-editor/selectbox.editor.d.ts +1 -1
  247. package/lib/property-editor/editors/selection-editor/selection-editor.d.ts +1 -1
  248. package/lib/property-editor/editors/switch-editor/number.editor.d.ts +1 -1
  249. package/lib/property-editor/editors/text-editor/text.editor.d.ts +1 -1
  250. package/lib/property-editor/editors/textarea-editor/textarea.editor.d.ts +1 -1
  251. package/lib/property-editor/editors/time-editor/time.editor.d.ts +1 -1
  252. package/lib/property-editor/property-editor-renderer.directive.d.ts +1 -1
  253. package/lib/property-editor/property-editor.class.d.ts +3 -3
  254. package/lib/query-builder/query-builder-group.component.d.ts +1 -1
  255. package/lib/query-builder/query-builder-popup/query-builder-popup.component.d.ts +1 -1
  256. package/lib/query-builder/query-builder-rule.component.d.ts +3 -3
  257. package/lib/query-builder/query-builder.class.d.ts +4 -4
  258. package/lib/query-builder/query-builder.component.d.ts +1 -1
  259. package/lib/search-bar/search-bar.component.d.ts +1 -1
  260. package/lib/searchbox/searchbox.component.d.ts +1 -1
  261. package/lib/selectbox/selectbox.component.d.ts +1 -1
  262. package/lib/selectbox/selectbox2.component.d.ts +1 -1
  263. package/lib/selection-list/selection-list.component.d.ts +2 -2
  264. package/lib/switch/switch.component.d.ts +1 -1
  265. package/lib/tab-page/tab-page-Renderer.component.d.ts +1 -1
  266. package/lib/tab-page/tab-page-host.component.d.ts +1 -1
  267. package/lib/tab-strip/tab-strip.component.d.ts +1 -1
  268. package/lib/tab-view/dynamic-tabs.directive.d.ts +1 -1
  269. package/lib/tab-view/tab-view.component.d.ts +1 -1
  270. package/lib/tab-view/tab.component.d.ts +1 -1
  271. package/lib/textarea/textarea.component.d.ts +1 -1
  272. package/lib/textbox/textbox.component.d.ts +1 -1
  273. package/lib/textbox/textbox.module.d.ts +2 -2
  274. package/lib/time-picker/time-picker.component.d.ts +1 -1
  275. package/lib/time-picker/time-picker.module.d.ts +2 -2
  276. package/lib/toast/toast-message/toast-message.component.d.ts +1 -1
  277. package/lib/toast/toast-wrapper/toast-wrapper.component.d.ts +1 -1
  278. package/lib/toolbar/group-button/toolbar-group-button.component.d.ts +1 -1
  279. package/lib/toolbar/menu/toolbar-menu.component.d.ts +1 -1
  280. package/lib/toolbar/search/toolbar-search.component.d.ts +1 -1
  281. package/lib/toolbar/title/toolbar-title.component.d.ts +1 -1
  282. package/lib/toolbar/toolbar.component.d.ts +1 -1
  283. package/lib/tooltip/tooltip.directive.d.ts +1 -1
  284. package/lib/tree-side-menu/tree-side-menu.component.d.ts +1 -1
  285. package/lib/tree-view/tree-view.component.d.ts +1 -1
  286. package/lib/upload-file/upload-file.component.d.ts +1 -1
  287. package/lib/validation/validation-form.component.d.ts +1 -1
  288. package/lib/validation/validation-rule.widget.d.ts +1 -1
  289. package/lib/validation/validation.class.d.ts +1 -1
  290. package/lib/validation/validation.component.d.ts +1 -1
  291. package/package.json +15 -20
  292. package/acorex-components.d.ts +0 -5
  293. package/esm2020/acorex-components.mjs +0 -5
  294. package/esm2020/lib/accordion/accordion.component.mjs +0 -44
  295. package/esm2020/lib/accordion/accordion.module.mjs +0 -20
  296. package/esm2020/lib/base/base-page.class.mjs +0 -94
  297. package/esm2020/lib/base/components.class.mjs +0 -17
  298. package/esm2020/lib/base/element.class.mjs +0 -294
  299. package/esm2020/lib/base/events.class.mjs +0 -11
  300. package/esm2020/lib/button/button.component.mjs +0 -71
  301. package/esm2020/lib/button/button.module.mjs +0 -21
  302. package/esm2020/lib/calendar/calendar-box/calendar-box.component.mjs +0 -413
  303. package/esm2020/lib/calendar/calendar-box/calendar-box.module.mjs +0 -22
  304. package/esm2020/lib/calendar/scheduler/scheduler-views.property.mjs +0 -54
  305. package/esm2020/lib/calendar/scheduler/scheduler.class.mjs +0 -18
  306. package/esm2020/lib/calendar/scheduler/scheduler.component.mjs +0 -213
  307. package/esm2020/lib/calendar/scheduler/scheduler.module.mjs +0 -68
  308. package/esm2020/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.mjs +0 -132
  309. package/esm2020/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.mjs +0 -37
  310. package/esm2020/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.mjs +0 -47
  311. package/esm2020/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.mjs +0 -95
  312. package/esm2020/lib/calendar/scheduler/views/month/scheduler-month-view.component.mjs +0 -204
  313. package/esm2020/lib/calendar/scheduler/views/scheduler-view.component.mjs +0 -99
  314. package/esm2020/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.mjs +0 -77
  315. package/esm2020/lib/checkbox/checkbox.component.mjs +0 -98
  316. package/esm2020/lib/checkbox/checkbox.module.mjs +0 -20
  317. package/esm2020/lib/color-picker/color-box/color-box.component.mjs +0 -422
  318. package/esm2020/lib/color-picker/color-picker.component.mjs +0 -82
  319. package/esm2020/lib/color-picker/color-picker.module.mjs +0 -24
  320. package/esm2020/lib/context-menu/context-menu.component.mjs +0 -65
  321. package/esm2020/lib/context-menu/context-menu.directive.mjs +0 -135
  322. package/esm2020/lib/context-menu/context-menu.module.mjs +0 -20
  323. package/esm2020/lib/data-filter/columns/filter-column-date.component.mjs +0 -138
  324. package/esm2020/lib/data-filter/columns/filter-column-number.component.mjs +0 -117
  325. package/esm2020/lib/data-filter/columns/filter-column-selection.component.mjs +0 -74
  326. package/esm2020/lib/data-filter/columns/filter-column-string.component.mjs +0 -117
  327. package/esm2020/lib/data-filter/filter-panel/filter-panel.component.mjs +0 -258
  328. package/esm2020/lib/data-filter/filter.class.mjs +0 -44
  329. package/esm2020/lib/data-filter/filter.module.mjs +0 -90
  330. package/esm2020/lib/data-filter/toolbar/filter-toolbar.component.mjs +0 -166
  331. package/esm2020/lib/data-list/core/data-list.component.mjs +0 -40
  332. package/esm2020/lib/data-list/list/list.component.mjs +0 -124
  333. package/esm2020/lib/data-list/list/list.module.mjs +0 -22
  334. package/esm2020/lib/data-list/list/toolbar-list-view.component.mjs +0 -85
  335. package/esm2020/lib/data-source/datasource.component.mjs +0 -47
  336. package/esm2020/lib/data-source/datasource.module.mjs +0 -18
  337. package/esm2020/lib/data-source/read-param.mjs +0 -5
  338. package/esm2020/lib/date-picker/date-picker.component.mjs +0 -702
  339. package/esm2020/lib/date-picker/date-picker.module.mjs +0 -25
  340. package/esm2020/lib/dialog/dialog.component.mjs +0 -24
  341. package/esm2020/lib/dialog/dialog.module.mjs +0 -21
  342. package/esm2020/lib/dialog/dialog.service.mjs +0 -150
  343. package/esm2020/lib/drawer/content.component.mjs +0 -18
  344. package/esm2020/lib/drawer/drawer-container.component.mjs +0 -36
  345. package/esm2020/lib/drawer/drawer.component.mjs +0 -142
  346. package/esm2020/lib/drawer/drawer.module.mjs +0 -23
  347. package/esm2020/lib/dropdown/dropdown.component.mjs +0 -176
  348. package/esm2020/lib/dropdown/dropdown.module.mjs +0 -26
  349. package/esm2020/lib/fieldset/fieldset.component.mjs +0 -59
  350. package/esm2020/lib/fieldset/fieldset.module.mjs +0 -19
  351. package/esm2020/lib/form-group/form-group.component.mjs +0 -34
  352. package/esm2020/lib/form-group/form-group.module.mjs +0 -21
  353. package/esm2020/lib/label/label.component.mjs +0 -19
  354. package/esm2020/lib/label/label.module.mjs +0 -21
  355. package/esm2020/lib/loading/loading-indicator.component.mjs +0 -17
  356. package/esm2020/lib/loading/loading-panel.component.mjs +0 -44
  357. package/esm2020/lib/loading/loading.module.mjs +0 -21
  358. package/esm2020/lib/loading/loading.service.mjs +0 -45
  359. package/esm2020/lib/menu/menu-item.component.mjs +0 -47
  360. package/esm2020/lib/menu/menu.component.mjs +0 -86
  361. package/esm2020/lib/menu/menu.module.mjs +0 -22
  362. package/esm2020/lib/menu/menu2.component.mjs +0 -96
  363. package/esm2020/lib/number-box/number-box.component.mjs +0 -622
  364. package/esm2020/lib/number-box/number-box.module.mjs +0 -21
  365. package/esm2020/lib/page/content.component.mjs +0 -32
  366. package/esm2020/lib/page/footer.component.mjs +0 -19
  367. package/esm2020/lib/page/page.component.mjs +0 -53
  368. package/esm2020/lib/page/page.module.mjs +0 -22
  369. package/esm2020/lib/panel-box/panel-box.component.mjs +0 -88
  370. package/esm2020/lib/panel-box/panel-box.module.mjs +0 -19
  371. package/esm2020/lib/password-box/password-box.component.mjs +0 -31
  372. package/esm2020/lib/password-box/password-box.module.mjs +0 -23
  373. package/esm2020/lib/popover/custom-cdk-overlay.service.mjs +0 -48
  374. package/esm2020/lib/popover/overlay.service.mjs +0 -91
  375. package/esm2020/lib/popover/popover.component.mjs +0 -133
  376. package/esm2020/lib/popover/popover.module.mjs +0 -19
  377. package/esm2020/lib/popup/popup.component.mjs +0 -147
  378. package/esm2020/lib/popup/popup.module.mjs +0 -25
  379. package/esm2020/lib/popup/popup.service.mjs +0 -93
  380. package/esm2020/lib/progress-bar/progress-bar.component.mjs +0 -19
  381. package/esm2020/lib/progress-bar/progress-bar.module.mjs +0 -19
  382. package/esm2020/lib/property-editor/editors/check-editor/check-editor.mjs +0 -61
  383. package/esm2020/lib/property-editor/editors/check-editor/check.module.mjs +0 -22
  384. package/esm2020/lib/property-editor/editors/color-editor/color.editor.mjs +0 -38
  385. package/esm2020/lib/property-editor/editors/color-editor/color.module.mjs +0 -24
  386. package/esm2020/lib/property-editor/editors/column-editor/column.editor.mjs +0 -115
  387. package/esm2020/lib/property-editor/editors/column-editor/column.module.mjs +0 -32
  388. package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.mjs +0 -211
  389. package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.module.mjs +0 -78
  390. package/esm2020/lib/property-editor/editors/date-editor/date.editor.mjs +0 -51
  391. package/esm2020/lib/property-editor/editors/date-editor/date.module.mjs +0 -24
  392. package/esm2020/lib/property-editor/editors/number-editor/number.editor.mjs +0 -63
  393. package/esm2020/lib/property-editor/editors/number-editor/number.module.mjs +0 -24
  394. package/esm2020/lib/property-editor/editors/range-editor/range.editor.mjs +0 -140
  395. package/esm2020/lib/property-editor/editors/range-editor/range.module.mjs +0 -61
  396. package/esm2020/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.mjs +0 -72
  397. package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.editor.mjs +0 -71
  398. package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.module.mjs +0 -25
  399. package/esm2020/lib/property-editor/editors/selection-editor/selection-editor.mjs +0 -69
  400. package/esm2020/lib/property-editor/editors/selection-editor/selection.module.mjs +0 -22
  401. package/esm2020/lib/property-editor/editors/switch-editor/number.editor.mjs +0 -29
  402. package/esm2020/lib/property-editor/editors/switch-editor/number.module.mjs +0 -25
  403. package/esm2020/lib/property-editor/editors/text-editor/text.editor.mjs +0 -32
  404. package/esm2020/lib/property-editor/editors/text-editor/text.module.mjs +0 -24
  405. package/esm2020/lib/property-editor/editors/textarea-editor/textarea.editor.mjs +0 -32
  406. package/esm2020/lib/property-editor/editors/textarea-editor/textarea.module.mjs +0 -24
  407. package/esm2020/lib/property-editor/editors/time-editor/time.editor.mjs +0 -43
  408. package/esm2020/lib/property-editor/editors/time-editor/time.module.mjs +0 -24
  409. package/esm2020/lib/property-editor/property-editor-renderer.directive.mjs +0 -157
  410. package/esm2020/lib/property-editor/property-editor.class.mjs +0 -102
  411. package/esm2020/lib/property-editor/property-editor.module.mjs +0 -196
  412. package/esm2020/lib/query-builder/query-builder-group.component.mjs +0 -124
  413. package/esm2020/lib/query-builder/query-builder-popup/query-builder-popup.component.mjs +0 -172
  414. package/esm2020/lib/query-builder/query-builder-rule.component.mjs +0 -399
  415. package/esm2020/lib/query-builder/query-builder.class.mjs +0 -20
  416. package/esm2020/lib/query-builder/query-builder.component.mjs +0 -87
  417. package/esm2020/lib/query-builder/query-builder.module.mjs +0 -62
  418. package/esm2020/lib/query-builder/query-builder.service.mjs +0 -197
  419. package/esm2020/lib/search-bar/search-bar.component.mjs +0 -286
  420. package/esm2020/lib/search-bar/search-bar.module.mjs +0 -63
  421. package/esm2020/lib/searchbox/searchbox.component.mjs +0 -79
  422. package/esm2020/lib/searchbox/searchbox.module.mjs +0 -24
  423. package/esm2020/lib/selectbox/selectbox.component.mjs +0 -961
  424. package/esm2020/lib/selectbox/selectbox.module.mjs +0 -44
  425. package/esm2020/lib/selectbox/selectbox2.component.mjs +0 -574
  426. package/esm2020/lib/selection-list/selection-list.component.mjs +0 -108
  427. package/esm2020/lib/selection-list/selection-list.module.mjs +0 -21
  428. package/esm2020/lib/switch/switch.component.mjs +0 -51
  429. package/esm2020/lib/switch/switch.module.mjs +0 -20
  430. package/esm2020/lib/tab-page/tab-page-Renderer.component.mjs +0 -71
  431. package/esm2020/lib/tab-page/tab-page-host.component.mjs +0 -114
  432. package/esm2020/lib/tab-page/tab-page.module.mjs +0 -21
  433. package/esm2020/lib/tab-page/tab-page.service.mjs +0 -160
  434. package/esm2020/lib/tab-strip/tab-strip.component.mjs +0 -36
  435. package/esm2020/lib/tab-strip/tab-strip.module.mjs +0 -19
  436. package/esm2020/lib/tab-view/dynamic-tabs.directive.mjs +0 -24
  437. package/esm2020/lib/tab-view/tab-view.component.mjs +0 -105
  438. package/esm2020/lib/tab-view/tab-view.module.mjs +0 -21
  439. package/esm2020/lib/tab-view/tab.component.mjs +0 -30
  440. package/esm2020/lib/textarea/textarea.component.mjs +0 -26
  441. package/esm2020/lib/textarea/textarea.module.mjs +0 -21
  442. package/esm2020/lib/textbox/textbox.component.mjs +0 -39
  443. package/esm2020/lib/textbox/textbox.module.mjs +0 -24
  444. package/esm2020/lib/time-picker/time-picker.component.mjs +0 -943
  445. package/esm2020/lib/time-picker/time-picker.module.mjs +0 -22
  446. package/esm2020/lib/toast/toast-message/toast-message.component.mjs +0 -74
  447. package/esm2020/lib/toast/toast-wrapper/toast-wrapper.component.mjs +0 -13
  448. package/esm2020/lib/toast/toast.module.mjs +0 -21
  449. package/esm2020/lib/toast/toast.service.mjs +0 -44
  450. package/esm2020/lib/toolbar/group-button/toolbar-group-button.component.mjs +0 -78
  451. package/esm2020/lib/toolbar/menu/toolbar-menu.component.mjs +0 -57
  452. package/esm2020/lib/toolbar/search/toolbar-search.component.mjs +0 -54
  453. package/esm2020/lib/toolbar/title/toolbar-title.component.mjs +0 -47
  454. package/esm2020/lib/toolbar/toolbar-item.mjs +0 -6
  455. package/esm2020/lib/toolbar/toolbar.component.mjs +0 -13
  456. package/esm2020/lib/toolbar/toolbar.module.mjs +0 -40
  457. package/esm2020/lib/tooltip/tooltip.directive.mjs +0 -100
  458. package/esm2020/lib/tooltip/tooltip.module.mjs +0 -19
  459. package/esm2020/lib/tree-side-menu/tree-side-menu.component.mjs +0 -646
  460. package/esm2020/lib/tree-side-menu/tree-side-menu.module.mjs +0 -35
  461. package/esm2020/lib/tree-view/tree-view.component.mjs +0 -775
  462. package/esm2020/lib/tree-view/tree-view.module.mjs +0 -22
  463. package/esm2020/lib/upload-file/upload-file.component.mjs +0 -208
  464. package/esm2020/lib/upload-file/upload-file.events.mjs +0 -2
  465. package/esm2020/lib/upload-file/upload-file.module.mjs +0 -24
  466. package/esm2020/lib/validation/validation-form.component.mjs +0 -65
  467. package/esm2020/lib/validation/validation-rule.widget.mjs +0 -111
  468. package/esm2020/lib/validation/validation.class.mjs +0 -2
  469. package/esm2020/lib/validation/validation.component.mjs +0 -89
  470. package/esm2020/lib/validation/validation.module.mjs +0 -34
  471. package/esm2020/public-api.mjs +0 -158
  472. package/fesm2015/acorex-components.mjs +0 -16012
  473. package/fesm2015/acorex-components.mjs.map +0 -1
  474. package/fesm2020/acorex-components.mjs.map +0 -1
  475. /package/{public-api.d.ts → index.d.ts} +0 -0
@@ -0,0 +1,49 @@
1
+ import { Component, ElementRef, ChangeDetectorRef, ViewEncapsulation } from '@angular/core';
2
+ import { AXSchedulerBaseViewComponent } from '../scheduler-view.component';
3
+ import { AXDateTime, AXDateTimeRange } from '@acorex/core';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "@angular/cdk/drag-drop";
7
+ import * as i3 from "@acorex/core";
8
+ export class AXSchedulerAgendaViewComponent extends AXSchedulerBaseViewComponent {
9
+ elm;
10
+ cdr;
11
+ constructor(elm, cdr) {
12
+ super();
13
+ this.elm = elm;
14
+ this.cdr = cdr;
15
+ }
16
+ hideEmptyDays = true;
17
+ updateSize() {
18
+ }
19
+ navigate(date = new AXDateTime()) {
20
+ this.slots = [];
21
+ for (let i = 0; i < this.interval; i++) {
22
+ let d = date.addDay(i);
23
+ const range = new AXDateTimeRange(d, d);
24
+ const slot = {
25
+ range,
26
+ events: this.getEvents(range, 'day')
27
+ };
28
+ if (this.hideEmptyDays && slot.events.length === 0) {
29
+ continue;
30
+ }
31
+ this.slots.push(slot);
32
+ }
33
+ this.navigatorDate = date;
34
+ this.cdr.detectChanges();
35
+ }
36
+ next() {
37
+ this.navigate(this.navigatorDate.addDay(this.interval));
38
+ }
39
+ prev() {
40
+ this.navigate(this.navigatorDate.addDay(-this.interval));
41
+ }
42
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXSchedulerAgendaViewComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
43
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: AXSchedulerAgendaViewComponent, selector: "ng-component", providers: [{ provide: AXSchedulerBaseViewComponent, useExisting: AXSchedulerAgendaViewComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"view ax-scheduler-agenda-view\">\r\n <table class=\"body\" cdkDropListGroup>\r\n <tbody *ngIf=\"slots.length; else elseTemplate\">\r\n <tr *ngFor=\"let slot of slots\" cdkDropList [cdkDropListData]=\"slot\" [attr.data-uid]=\"slot.uid\"\r\n (cdkDropListDropped)=\"onDragDropOnDay($event)\">\r\n <td class=\"day-column\">\r\n <div class=\"day-num\">{{slot.range.startTime | dt:\"DD\"}}</div>\r\n <div class=\"day-name\">{{slot.range.startTime | dt:\"ddd\"}}</div>\r\n </td>\r\n <td class=\"day-border\">\r\n <ul *ngIf=\"slot.events.length\">\r\n <li *ngFor=\"let e of slot.events\" [style.border-color]=\"e.color\" cdkDrag [cdkDragData]=\"e\"\r\n [attr.data-uid]=\"e.uid\">\r\n <div class=\"event-title\">{{e.title}}</div>\r\n <div class=\"event-time\">{{e.range.startTime | dt:\"HH:mm\"}} - <span\r\n *ngIf=\"e.range.duration('days')!=0 then a else b\"></span></div>\r\n <ng-template #a>\r\n {{e.range.endTime | dt:\"HH:mm\"}}\r\n </ng-template>\r\n <ng-template #b>\r\n {{e.range.endTime | dt:\"YYYY-MM-DD HH:mm\"}}\r\n </ng-template>\r\n\r\n <div *cdkDragPreview [style.background-color]=\"e.color\" class=\"event-drag-preview\">\r\n {{e.title}}\r\n </div>\r\n </li>\r\n </ul>\r\n <div *ngIf=\"!slot.events.length\" class=\"event-empty\">No events</div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n <ng-template #elseTemplate>\r\n <tbody>\r\n <tr>\r\n <td colspan=\"2\">\r\n <div class=\"event-empty\">No events</div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </ng-template>\r\n </table>\r\n</div>", styles: [".ax-scheduler-agenda-view{height:100%;overflow-y:auto}.ax-scheduler-agenda-view table{border-top:1px solid var(--border-color)}.ax-scheduler-agenda-view .event-title{color:var(--gray-fore-color)}.ax-scheduler-agenda-view td{padding-top:5px;text-overflow:ellipsis;white-space:nowrap;vertical-align:top;border:none}.ax-scheduler-agenda-view td.day-border{border-bottom:1px solid var(--border-color);padding:5px;vertical-align:middle}.ax-scheduler-agenda-view .day-column{width:80px;text-align:center}.ax-scheduler-agenda-view .day-column .day-num{font-weight:600}.ax-scheduler-agenda-view .day-column .day-name{font-size:smaller}.ax-scheduler-agenda-view ul{list-style:none;padding:0;margin:0}.ax-scheduler-agenda-view ul li{border-left:4px solid var(--primary-color);margin-bottom:var(--sp-sm-size);padding:0 8px}.ax-scheduler-agenda-view ul li:hover{background-color:var(--primary-lighter-color);cursor:pointer}.ax-scheduler-agenda-view ul li .event-time,.ax-scheduler-agenda-view ul li .event-empty{color:var(--gray-fore-color);font-size:smaller}\n"], 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.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i2.CdkDragPreview, selector: "ng-template[cdkDragPreview]", inputs: ["data", "matchSize"] }, { kind: "pipe", type: i3.AXDateTimePipe, name: "dt" }], encapsulation: i0.ViewEncapsulation.None });
44
+ }
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXSchedulerAgendaViewComponent, decorators: [{
46
+ type: Component,
47
+ args: [{ encapsulation: ViewEncapsulation.None, providers: [{ provide: AXSchedulerBaseViewComponent, useExisting: AXSchedulerAgendaViewComponent }], template: "<div class=\"view ax-scheduler-agenda-view\">\r\n <table class=\"body\" cdkDropListGroup>\r\n <tbody *ngIf=\"slots.length; else elseTemplate\">\r\n <tr *ngFor=\"let slot of slots\" cdkDropList [cdkDropListData]=\"slot\" [attr.data-uid]=\"slot.uid\"\r\n (cdkDropListDropped)=\"onDragDropOnDay($event)\">\r\n <td class=\"day-column\">\r\n <div class=\"day-num\">{{slot.range.startTime | dt:\"DD\"}}</div>\r\n <div class=\"day-name\">{{slot.range.startTime | dt:\"ddd\"}}</div>\r\n </td>\r\n <td class=\"day-border\">\r\n <ul *ngIf=\"slot.events.length\">\r\n <li *ngFor=\"let e of slot.events\" [style.border-color]=\"e.color\" cdkDrag [cdkDragData]=\"e\"\r\n [attr.data-uid]=\"e.uid\">\r\n <div class=\"event-title\">{{e.title}}</div>\r\n <div class=\"event-time\">{{e.range.startTime | dt:\"HH:mm\"}} - <span\r\n *ngIf=\"e.range.duration('days')!=0 then a else b\"></span></div>\r\n <ng-template #a>\r\n {{e.range.endTime | dt:\"HH:mm\"}}\r\n </ng-template>\r\n <ng-template #b>\r\n {{e.range.endTime | dt:\"YYYY-MM-DD HH:mm\"}}\r\n </ng-template>\r\n\r\n <div *cdkDragPreview [style.background-color]=\"e.color\" class=\"event-drag-preview\">\r\n {{e.title}}\r\n </div>\r\n </li>\r\n </ul>\r\n <div *ngIf=\"!slot.events.length\" class=\"event-empty\">No events</div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n <ng-template #elseTemplate>\r\n <tbody>\r\n <tr>\r\n <td colspan=\"2\">\r\n <div class=\"event-empty\">No events</div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </ng-template>\r\n </table>\r\n</div>", styles: [".ax-scheduler-agenda-view{height:100%;overflow-y:auto}.ax-scheduler-agenda-view table{border-top:1px solid var(--border-color)}.ax-scheduler-agenda-view .event-title{color:var(--gray-fore-color)}.ax-scheduler-agenda-view td{padding-top:5px;text-overflow:ellipsis;white-space:nowrap;vertical-align:top;border:none}.ax-scheduler-agenda-view td.day-border{border-bottom:1px solid var(--border-color);padding:5px;vertical-align:middle}.ax-scheduler-agenda-view .day-column{width:80px;text-align:center}.ax-scheduler-agenda-view .day-column .day-num{font-weight:600}.ax-scheduler-agenda-view .day-column .day-name{font-size:smaller}.ax-scheduler-agenda-view ul{list-style:none;padding:0;margin:0}.ax-scheduler-agenda-view ul li{border-left:4px solid var(--primary-color);margin-bottom:var(--sp-sm-size);padding:0 8px}.ax-scheduler-agenda-view ul li:hover{background-color:var(--primary-lighter-color);cursor:pointer}.ax-scheduler-agenda-view ul li .event-time,.ax-scheduler-agenda-view ul li .event-empty{color:var(--gray-fore-color);font-size:smaller}\n"] }]
48
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGVyLWFnZW5kYS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NhbGVuZGFyL3NjaGVkdWxlci92aWV3cy9hZ2VuZGEvc2NoZWR1bGVyLWFnZW5kYS12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NhbGVuZGFyL3NjaGVkdWxlci92aWV3cy9hZ2VuZGEvc2NoZWR1bGVyLWFnZW5kYS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTNFLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7OztBQVEzRCxNQUFNLE9BQU8sOEJBQStCLFNBQVEsNEJBQTRCO0lBRWhFO0lBQ0E7SUFGWixZQUNZLEdBQStCLEVBQy9CLEdBQXNCO1FBRTlCLEtBQUssRUFBRSxDQUFDO1FBSEEsUUFBRyxHQUFILEdBQUcsQ0FBNEI7UUFDL0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7SUFHbEMsQ0FBQztJQUVELGFBQWEsR0FBWSxJQUFJLENBQUM7SUFFOUIsVUFBVTtJQUNWLENBQUM7SUFHRCxRQUFRLENBQUMsT0FBbUIsSUFBSSxVQUFVLEVBQUU7UUFDeEMsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDaEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDcEMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QixNQUFNLEtBQUssR0FBRyxJQUFJLGVBQWUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDeEMsTUFBTSxJQUFJLEdBQW9CO2dCQUMxQixLQUFLO2dCQUNMLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUM7YUFDdkMsQ0FBQTtZQUNELElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQ2hELFNBQVM7YUFDWjtZQUNELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3pCO1FBQ0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSTtRQUNBLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUNELElBQUk7UUFDQSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQzt1R0FyQ1EsOEJBQThCOzJGQUE5Qiw4QkFBOEIsdUNBRjVCLENBQUMsRUFBRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsV0FBVyxFQUFFLDhCQUE4QixFQUFFLENBQUMsaURDVHZHLGd0RUEwQ007OzJGRC9CTyw4QkFBOEI7a0JBTjFDLFNBQVM7b0NBR1MsaUJBQWlCLENBQUMsSUFBSSxhQUMxQixDQUFDLEVBQUUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLFdBQVcsZ0NBQWdDLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgQ2hhbmdlRGV0ZWN0b3JSZWYsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYU2NoZWR1bGVyQmFzZVZpZXdDb21wb25lbnQgfSBmcm9tICcuLi9zY2hlZHVsZXItdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBWFNjaGVkdWxlclNsb3QgfSBmcm9tICcuLi8uLi9zY2hlZHVsZXIuY2xhc3MnO1xyXG5pbXBvcnQgeyBBWERhdGVUaW1lLCBBWERhdGVUaW1lUmFuZ2UgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2NoZWR1bGVyLWFnZW5kYS12aWV3LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3NjaGVkdWxlci1hZ2VuZGEtdmlldy5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQVhTY2hlZHVsZXJCYXNlVmlld0NvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYU2NoZWR1bGVyQWdlbmRhVmlld0NvbXBvbmVudCB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhTY2hlZHVsZXJBZ2VuZGFWaWV3Q29tcG9uZW50IGV4dGVuZHMgQVhTY2hlZHVsZXJCYXNlVmlld0NvbXBvbmVudCB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGVsbTogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4sXHJcbiAgICAgICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgfVxyXG5cclxuICAgIGhpZGVFbXB0eURheXM6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIHVwZGF0ZVNpemUoKSB7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIG5hdmlnYXRlKGRhdGU6IEFYRGF0ZVRpbWUgPSBuZXcgQVhEYXRlVGltZSgpKSB7XHJcbiAgICAgICAgdGhpcy5zbG90cyA9IFtdO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5pbnRlcnZhbDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGxldCBkID0gZGF0ZS5hZGREYXkoaSk7XHJcbiAgICAgICAgICAgIGNvbnN0IHJhbmdlID0gbmV3IEFYRGF0ZVRpbWVSYW5nZShkLCBkKTtcclxuICAgICAgICAgICAgY29uc3Qgc2xvdDogQVhTY2hlZHVsZXJTbG90ID0ge1xyXG4gICAgICAgICAgICAgICAgcmFuZ2UsXHJcbiAgICAgICAgICAgICAgICBldmVudHM6IHRoaXMuZ2V0RXZlbnRzKHJhbmdlLCAnZGF5JylcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAodGhpcy5oaWRlRW1wdHlEYXlzICYmIHNsb3QuZXZlbnRzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5zbG90cy5wdXNoKHNsb3QpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm5hdmlnYXRvckRhdGUgPSBkYXRlO1xyXG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZXh0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubmF2aWdhdGUodGhpcy5uYXZpZ2F0b3JEYXRlLmFkZERheSh0aGlzLmludGVydmFsKSk7XHJcbiAgICB9XHJcbiAgICBwcmV2KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubmF2aWdhdGUodGhpcy5uYXZpZ2F0b3JEYXRlLmFkZERheSgtdGhpcy5pbnRlcnZhbCkpO1xyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ2aWV3IGF4LXNjaGVkdWxlci1hZ2VuZGEtdmlld1wiPlxyXG4gICAgPHRhYmxlIGNsYXNzPVwiYm9keVwiIGNka0Ryb3BMaXN0R3JvdXA+XHJcbiAgICAgICAgPHRib2R5ICpuZ0lmPVwic2xvdHMubGVuZ3RoOyBlbHNlIGVsc2VUZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IHNsb3Qgb2Ygc2xvdHNcIiBjZGtEcm9wTGlzdCBbY2RrRHJvcExpc3REYXRhXT1cInNsb3RcIiBbYXR0ci5kYXRhLXVpZF09XCJzbG90LnVpZFwiXHJcbiAgICAgICAgICAgICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cIm9uRHJhZ0Ryb3BPbkRheSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJkYXktY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRheS1udW1cIj57e3Nsb3QucmFuZ2Uuc3RhcnRUaW1lIHwgZHQ6XCJERFwifX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF5LW5hbWVcIj57e3Nsb3QucmFuZ2Uuc3RhcnRUaW1lIHwgZHQ6XCJkZGRcIn19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZGF5LWJvcmRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDx1bCAqbmdJZj1cInNsb3QuZXZlbnRzLmxlbmd0aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGUgb2Ygc2xvdC5ldmVudHNcIiBbc3R5bGUuYm9yZGVyLWNvbG9yXT1cImUuY29sb3JcIiBjZGtEcmFnIFtjZGtEcmFnRGF0YV09XCJlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtdWlkXT1cImUudWlkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnQtdGl0bGVcIj57e2UudGl0bGV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50LXRpbWVcIj57e2UucmFuZ2Uuc3RhcnRUaW1lIHwgZHQ6XCJISDptbVwifX0gLSA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImUucmFuZ2UuZHVyYXRpb24oJ2RheXMnKSE9MCB0aGVuIGEgZWxzZSBiXCI+PC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNhPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ZS5yYW5nZS5lbmRUaW1lIHwgZHQ6XCJISDptbVwifX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tlLnJhbmdlLmVuZFRpbWUgfCBkdDpcIllZWVktTU0tREQgSEg6bW1cIn19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKmNka0RyYWdQcmV2aWV3IFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImUuY29sb3JcIiBjbGFzcz1cImV2ZW50LWRyYWctcHJldmlld1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ZS50aXRsZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhc2xvdC5ldmVudHMubGVuZ3RoXCIgY2xhc3M9XCJldmVudC1lbXB0eVwiPk5vIGV2ZW50czwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZWxzZVRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49XCIyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudC1lbXB0eVwiPk5vIGV2ZW50czwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L3RhYmxlPlxyXG48L2Rpdj4iXX0=
@@ -0,0 +1,102 @@
1
+ import { Component, ElementRef, ChangeDetectorRef, ViewEncapsulation } from '@angular/core';
2
+ import { AXSchedulerBaseViewComponent } from '../scheduler-view.component';
3
+ import { AXDateTime, AXDateTimeRange } from '@acorex/core';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "@angular/cdk/drag-drop";
7
+ import * as i3 from "@acorex/core";
8
+ export class AXSchedulerDayTimeViewComponent extends AXSchedulerBaseViewComponent {
9
+ elm;
10
+ cdr;
11
+ constructor(elm, cdr) {
12
+ super();
13
+ this.elm = elm;
14
+ this.cdr = cdr;
15
+ }
16
+ times = [];
17
+ vScroll;
18
+ container;
19
+ view;
20
+ header;
21
+ body;
22
+ ngOnInit() {
23
+ }
24
+ ngAfterViewInit() {
25
+ this.vScroll = this.elm.nativeElement.querySelector('.v-scroll');
26
+ this.header = this.elm.nativeElement.querySelector('.header');
27
+ this.body = this.elm.nativeElement.querySelector('.body');
28
+ this.view = this.elm.nativeElement.querySelector('.view');
29
+ this.container = this.elm.nativeElement.closest('.view-container');
30
+ }
31
+ updateSize() {
32
+ const firstTr = this.body.querySelector('tr');
33
+ if (firstTr) {
34
+ let index = 0;
35
+ this.header.querySelectorAll('th').forEach(c => {
36
+ const td = firstTr.children.item(index++);
37
+ td.style.width = `${c.offsetWidth}px`;
38
+ });
39
+ this.vScroll.style.height = `calc(100% - ${this.header.clientHeight}px)`;
40
+ if (this.container) {
41
+ this.view.style.height = `${this.container.clientHeight}px`;
42
+ }
43
+ }
44
+ this.arrangeEvents();
45
+ }
46
+ navigate(date = new AXDateTime()) {
47
+ this.times = [];
48
+ this.slots = [];
49
+ for (let i = 0; i < this.interval; i++) {
50
+ const d = date.addDay(i);
51
+ const range = new AXDateTimeRange(d, d);
52
+ const slot = {
53
+ range,
54
+ events: this.getEvents(range, 'day')
55
+ };
56
+ this.slots.push(slot);
57
+ }
58
+ for (let i = 0; i < 24; i++) {
59
+ this.times.push({
60
+ display: ('0' + i).slice(-2) + ':00',
61
+ value: i
62
+ });
63
+ }
64
+ this.navigatorDate = date;
65
+ this.cdr.detectChanges();
66
+ }
67
+ next() {
68
+ this.navigate(this.navigatorDate.addDay(this.interval));
69
+ }
70
+ prev() {
71
+ this.navigate(this.navigatorDate.addDay(-this.interval));
72
+ }
73
+ arrangeEvents() {
74
+ const events = this.elm.nativeElement.querySelectorAll('.event');
75
+ if (events.length) {
76
+ const height = events[0].closest('td').offsetHeight;
77
+ events.forEach(e => {
78
+ const uid = e.attributes.getNamedItem('data-uid').value;
79
+ const event = this.events.find(c => c.uid === uid);
80
+ const dur = Math.ceil(Math.abs(event.range.duration('hours')));
81
+ let total = dur + 1;
82
+ if (event.range.startTime.hour + total > 23) {
83
+ total = 24 - event.range.startTime.hour;
84
+ }
85
+ e.style.height = (total * height) + 'px';
86
+ });
87
+ }
88
+ }
89
+ findEventIndex(event) {
90
+ const a = this.events.filter(c => c.range.startTime.equal(event.range.startTime, 'day')).sort((d1, d2) => {
91
+ return d1.range.startTime.compaireNew(d2.range.startTime);
92
+ });
93
+ return a.indexOf(event);
94
+ }
95
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXSchedulerDayTimeViewComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
96
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: AXSchedulerDayTimeViewComponent, selector: "ng-component", providers: [{ provide: AXSchedulerBaseViewComponent, useExisting: AXSchedulerDayTimeViewComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"view ax-scheduler-day-time-view\">\r\n <table class=\"header\">\r\n <thead>\r\n <th class=\"time-column\"></th>\r\n <th *ngFor=\"let d of slots\" class=\"header-cell\">\r\n <div [class.same-week-day]=\"d.range.startTime.equal(today)\">\r\n {{d.range.startTime | dt: 'ddd'}}<br>\r\n {{d.range.startTime | dt: 'DD'}}\r\n </div>\r\n </th>\r\n </thead>\r\n </table>\r\n <div class=\"v-scroll\">\r\n <table class=\"body\" cdkDropListGroup>\r\n <tbody>\r\n <tr *ngFor=\"let t of times\">\r\n <td>\r\n {{t.display}}\r\n </td>\r\n <td *ngFor=\"let d of slots\" class=\"slot-cell\" cdkDropList [cdkDropListData]=\"d\"\r\n (cdkDropListDropped)=\"onDragDropOnDay($event,t.value)\" [attr.data-uid]=\"d.uid\">\r\n <div class=\"event-wrapper\">\r\n <ng-container *ngFor=\"let e of d.events\">\r\n <div *ngIf=\"e.range.startTime.hour==t.value\" class=\"event\"\r\n role=\"button\" aria-readonly=\"false\" aria-selected=\"true\" aria-grabbed=\"false\"\r\n cdkDrag [cdkDragData]=\"e\" \r\n [attr.data-uid]=\"e.uid\" [style.background-color]=\"e.color\" [title]=\"e.title\">\r\n <div class=\"event-title\">{{e.title}}</div>\r\n <div>\r\n <span>{{e.range.startTime | dt: 'HH:mm'}}</span> -\r\n <span>{{e.range.endTime | dt: 'HH:mm'}}</span>\r\n </div>\r\n <div *cdkDragPreview [style.background-color]=\"e.color\" class=\"event-drag-preview\">\r\n {{e.title}}\r\n </div>\r\n <div class=\"event-drag-placeholder\" *cdkDragPlaceholder></div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n</div>", styles: [".ax-scheduler-day-time-view .event-wrapper{position:absolute;top:0;left:0;display:inline-flex;flex:auto;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;width:100%}.ax-scheduler-day-time-view .event-wrapper .event{display:block;position:relative;flex:1}\n"], 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.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i2.CdkDragPreview, selector: "ng-template[cdkDragPreview]", inputs: ["data", "matchSize"] }, { kind: "directive", type: i2.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }, { kind: "pipe", type: i3.AXDateTimePipe, name: "dt" }], encapsulation: i0.ViewEncapsulation.None });
97
+ }
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXSchedulerDayTimeViewComponent, decorators: [{
99
+ type: Component,
100
+ args: [{ encapsulation: ViewEncapsulation.None, providers: [{ provide: AXSchedulerBaseViewComponent, useExisting: AXSchedulerDayTimeViewComponent }], template: "<div class=\"view ax-scheduler-day-time-view\">\r\n <table class=\"header\">\r\n <thead>\r\n <th class=\"time-column\"></th>\r\n <th *ngFor=\"let d of slots\" class=\"header-cell\">\r\n <div [class.same-week-day]=\"d.range.startTime.equal(today)\">\r\n {{d.range.startTime | dt: 'ddd'}}<br>\r\n {{d.range.startTime | dt: 'DD'}}\r\n </div>\r\n </th>\r\n </thead>\r\n </table>\r\n <div class=\"v-scroll\">\r\n <table class=\"body\" cdkDropListGroup>\r\n <tbody>\r\n <tr *ngFor=\"let t of times\">\r\n <td>\r\n {{t.display}}\r\n </td>\r\n <td *ngFor=\"let d of slots\" class=\"slot-cell\" cdkDropList [cdkDropListData]=\"d\"\r\n (cdkDropListDropped)=\"onDragDropOnDay($event,t.value)\" [attr.data-uid]=\"d.uid\">\r\n <div class=\"event-wrapper\">\r\n <ng-container *ngFor=\"let e of d.events\">\r\n <div *ngIf=\"e.range.startTime.hour==t.value\" class=\"event\"\r\n role=\"button\" aria-readonly=\"false\" aria-selected=\"true\" aria-grabbed=\"false\"\r\n cdkDrag [cdkDragData]=\"e\" \r\n [attr.data-uid]=\"e.uid\" [style.background-color]=\"e.color\" [title]=\"e.title\">\r\n <div class=\"event-title\">{{e.title}}</div>\r\n <div>\r\n <span>{{e.range.startTime | dt: 'HH:mm'}}</span> -\r\n <span>{{e.range.endTime | dt: 'HH:mm'}}</span>\r\n </div>\r\n <div *cdkDragPreview [style.background-color]=\"e.color\" class=\"event-drag-preview\">\r\n {{e.title}}\r\n </div>\r\n <div class=\"event-drag-placeholder\" *cdkDragPlaceholder></div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n</div>", styles: [".ax-scheduler-day-time-view .event-wrapper{position:absolute;top:0;left:0;display:inline-flex;flex:auto;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;width:100%}.ax-scheduler-day-time-view .event-wrapper .event{display:block;position:relative;flex:1}\n"] }]
101
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; } });
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGVyLWRheXRpbWUtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9jYWxlbmRhci9zY2hlZHVsZXIvdmlld3MvZGF5dGltZS9zY2hlZHVsZXItZGF5dGltZS12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NhbGVuZGFyL3NjaGVkdWxlci92aWV3cy9kYXl0aW1lL3NjaGVkdWxlci1kYXl0aW1lLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7O0FBUTNELE1BQU0sT0FBTywrQkFBZ0MsU0FBUSw0QkFBNEI7SUFDekQ7SUFBeUM7SUFBN0QsWUFBb0IsR0FBK0IsRUFBVSxHQUFzQjtRQUFJLEtBQUssRUFBRSxDQUFDO1FBQTNFLFFBQUcsR0FBSCxHQUFHLENBQTRCO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7SUFBYSxDQUFDO0lBQ2pHLEtBQUssR0FBVSxFQUFFLENBQUM7SUFDVixPQUFPLENBQWM7SUFDckIsU0FBUyxDQUFjO0lBQ3ZCLElBQUksQ0FBYztJQUNsQixNQUFNLENBQWM7SUFDcEIsSUFBSSxDQUFjO0lBRTFCLFFBQVE7SUFDUixDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFjLFdBQVcsQ0FBQyxD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S0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDN0MsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBdUI7UUFDbEMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDN0IsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUN4RCxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtZQUNkLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUQsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQzt1R0ExRlEsK0JBQStCOzJGQUEvQiwrQkFBK0IsdUNBRjdCLENBQUMsRUFBRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsV0FBVyxFQUFFLCtCQUErQixFQUFFLENBQUMsaURDVHhHLGk1RUE0Q007OzJGRGpDTywrQkFBK0I7a0JBTjNDLFNBQVM7b0NBR1MsaUJBQWlCLENBQUMsSUFBSSxhQUMxQixDQUFDLEVBQUUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLFdBQVcsaUNBQWlDLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgQ2hhbmdlRGV0ZWN0b3JSZWYsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYU2NoZWR1bGVyQmFzZVZpZXdDb21wb25lbnQgfSBmcm9tICcuLi9zY2hlZHVsZXItdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBWFNjaGVkdWxlclNsb3QsIEFYU2NoZWR1bGVyRXZlbnQgfSBmcm9tICcuLi8uLi9zY2hlZHVsZXIuY2xhc3MnO1xyXG5pbXBvcnQgeyBBWERhdGVUaW1lLCBBWERhdGVUaW1lUmFuZ2UgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2NoZWR1bGVyLWRheXRpbWUtdmlldy5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9zY2hlZHVsZXItZGF5dGltZS12aWV3LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWFNjaGVkdWxlckJhc2VWaWV3Q29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhTY2hlZHVsZXJEYXlUaW1lVmlld0NvbXBvbmVudCB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhTY2hlZHVsZXJEYXlUaW1lVmlld0NvbXBvbmVudCBleHRlbmRzIEFYU2NoZWR1bGVyQmFzZVZpZXdDb21wb25lbnQge1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbG06IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+LCBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgc3VwZXIoKTsgfVxyXG4gICAgdGltZXM6IGFueVtdID0gW107XHJcbiAgICBwcml2YXRlIHZTY3JvbGw6IEhUTUxFbGVtZW50O1xyXG4gICAgcHJpdmF0ZSBjb250YWluZXI6IEhUTUxFbGVtZW50O1xyXG4gICAgcHJpdmF0ZSB2aWV3OiBIVE1MRWxlbWVudDtcclxuICAgIHByaXZhdGUgaGVhZGVyOiBIVE1MRWxlbWVudDtcclxuICAgIHByaXZhdGUgYm9keTogSFRNTEVsZW1lbnQ7XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudlNjcm9sbCA9IHRoaXMuZWxtLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oJy52LXNjcm9sbCcpO1xyXG4gICAgICAgIHRoaXMuaGVhZGVyID0gdGhpcy5lbG0ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PignLmhlYWRlcicpO1xyXG4gICAgICAgIHRoaXMuYm9keSA9IHRoaXMuZWxtLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oJy5ib2R5Jyk7XHJcbiAgICAgICAgdGhpcy52aWV3ID0gdGhpcy5lbG0ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PignLnZpZXcnKTtcclxuICAgICAgICB0aGlzLmNvbnRhaW5lciA9IHRoaXMuZWxtLm5hdGl2ZUVsZW1lbnQuY2xvc2VzdCgnLnZpZXctY29udGFpbmVyJykgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlU2l6ZSgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBmaXJzdFRyID0gdGhpcy5ib2R5LnF1ZXJ5U2VsZWN0b3IoJ3RyJyk7XHJcbiAgICAgICAgaWYgKGZpcnN0VHIpIHtcclxuICAgICAgICAgICAgbGV0IGluZGV4ID0gMDtcclxuICAgICAgICAgICAgdGhpcy5oZWFkZXIucXVlcnlTZWxlY3RvckFsbCgndGgnKS5mb3JFYWNoKGMgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdGQgPSBmaXJzdFRyLmNoaWxkcmVuLml0ZW0oaW5kZXgrKykgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgICAgICAgICB0ZC5zdHlsZS53aWR0aCA9IGAke2Mub2Zmc2V0V2lkdGh9cHhgO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy52U2Nyb2xsLnN0eWxlLmhlaWdodCA9IGBjYWxjKDEwMCUgLSAke3RoaXMuaGVhZGVyLmNsaWVudEhlaWdodH1weClgO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5jb250YWluZXIpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudmlldy5zdHlsZS5oZWlnaHQgPSBgJHt0aGlzLmNvbnRhaW5lci5jbGllbnRIZWlnaHR9cHhgO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuYXJyYW5nZUV2ZW50cygpO1xyXG4gICAgfVxyXG5cclxuICAgIG5hdmlnYXRlKGRhdGU6IEFYRGF0ZVRpbWUgPSBuZXcgQVhEYXRlVGltZSgpKSB7XHJcbiAgICAgICAgdGhpcy50aW1lcyA9IFtdO1xyXG4gICAgICAgIHRoaXMuc2xvdHMgPSBbXTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuaW50ZXJ2YWw7IGkrKykge1xyXG4gICAgICAgICAgICBjb25zdCBkID0gZGF0ZS5hZGREYXkoaSk7XHJcbiAgICAgICAgICAgIGNvbnN0IHJhbmdlID0gbmV3IEFYRGF0ZVRpbWVSYW5nZShkLCBkKTtcclxuICAgICAgICAgICAgY29uc3Qgc2xvdDogQVhTY2hlZHVsZXJTbG90ID0ge1xyXG4gICAgICAgICAgICAgICAgcmFuZ2UsXHJcbiAgICAgICAgICAgICAgICBldmVudHM6IHRoaXMuZ2V0RXZlbnRzKHJhbmdlLCAnZGF5JylcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgdGhpcy5zbG90cy5wdXNoKHNsb3QpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDI0OyBpKyspIHtcclxuICAgICAgICAgICAgdGhpcy50aW1lcy5wdXNoKHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6ICgnMCcgKyBpKS5zbGljZSgtMikgKyAnOjAwJyxcclxuICAgICAgICAgICAgICAgIHZhbHVlOiBpXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm5hdmlnYXRvckRhdGUgPSBkYXRlO1xyXG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZXh0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubmF2aWdhdGUodGhpcy5uYXZpZ2F0b3JEYXRlLmFkZERheSh0aGlzLmludGVydmFsKSk7XHJcbiAgICB9XHJcbiAgICBwcmV2KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubmF2aWdhdGUodGhpcy5uYXZpZ2F0b3JEYXRlLmFkZERheSgtdGhpcy5pbnRlcnZhbCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGFycmFuZ2VFdmVudHMoKSB7XHJcbiAgICAgICAgY29uc3QgZXZlbnRzID0gdGhpcy5lbG0ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsPEhUTUxFbGVtZW50PignLmV2ZW50Jyk7XHJcbiAgICAgICAgaWYgKGV2ZW50cy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgY29uc3QgaGVpZ2h0ID0gZXZlbnRzWzBdLmNsb3Nlc3QoJ3RkJykub2Zmc2V0SGVpZ2h0O1xyXG4gICAgICAgICAgICBldmVudHMuZm9yRWFjaChlID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHVpZCA9IGUuYXR0cmlidXRlcy5nZXROYW1lZEl0ZW0oJ2RhdGEtdWlkJykudmFsdWU7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBldmVudCA9IHRoaXMuZXZlbnRzLmZpbmQoYyA9PiBjLnVpZCA9PT0gdWlkKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGR1ciA9IE1hdGguY2VpbChNYXRoLmFicyhldmVudC5yYW5nZS5kdXJhdGlvbignaG91cnMnKSkpO1xyXG4gICAgICAgICAgICAgICAgbGV0IHRvdGFsID0gZHVyICsgMTtcclxuICAgICAgICAgICAgICAgIGlmIChldmVudC5yYW5nZS5zdGFydFRpbWUuaG91ciArIHRvdGFsID4gMjMpIHtcclxuICAgICAgICAgICAgICAgICAgICB0b3RhbCA9IDI0IC0gZXZlbnQucmFuZ2Uuc3RhcnRUaW1lLmhvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlLnN0eWxlLmhlaWdodCA9ICh0b3RhbCAqIGhlaWdodCkgKyAncHgnO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZmluZEV2ZW50SW5kZXgoZXZlbnQ6IEFYU2NoZWR1bGVyRXZlbnQpOiBudW1iZXIge1xyXG4gICAgICAgIGNvbnN0IGEgPSB0aGlzLmV2ZW50cy5maWx0ZXIoYyA9PlxyXG4gICAgICAgICAgICBjLnJhbmdlLnN0YXJ0VGltZS5lcXVhbChldmVudC5yYW5nZS5zdGFydFRpbWUsICdkYXknKVxyXG4gICAgICAgICkuc29ydCgoZDEsIGQyKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBkMS5yYW5nZS5zdGFydFRpbWUuY29tcGFpcmVOZXcoZDIucmFuZ2Uuc3RhcnRUaW1lKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGEuaW5kZXhPZihldmVudCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInZpZXcgYXgtc2NoZWR1bGVyLWRheS10aW1lLXZpZXdcIj5cclxuICAgIDx0YWJsZSBjbGFzcz1cImhlYWRlclwiPlxyXG4gICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgPHRoIGNsYXNzPVwidGltZS1jb2x1bW5cIj48L3RoPlxyXG4gICAgICAgICAgICA8dGggKm5nRm9yPVwibGV0IGQgb2Ygc2xvdHNcIiBjbGFzcz1cImhlYWRlci1jZWxsXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtjbGFzcy5zYW1lLXdlZWstZGF5XT1cImQucmFuZ2Uuc3RhcnRUaW1lLmVxdWFsKHRvZGF5KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7ZC5yYW5nZS5zdGFydFRpbWUgfCBkdDogJ2RkZCd9fTxicj5cclxuICAgICAgICAgICAgICAgICAgICB7e2QucmFuZ2Uuc3RhcnRUaW1lIHwgZHQ6ICdERCd9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgPC90aGVhZD5cclxuICAgIDwvdGFibGU+XHJcbiAgICA8ZGl2IGNsYXNzPVwidi1zY3JvbGxcIj5cclxuICAgICAgICA8dGFibGUgY2xhc3M9XCJib2R5XCIgY2RrRHJvcExpc3RHcm91cD5cclxuICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCB0IG9mIHRpbWVzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7e3QuZGlzcGxheX19XHJcbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8dGQgKm5nRm9yPVwibGV0IGQgb2Ygc2xvdHNcIiBjbGFzcz1cInNsb3QtY2VsbFwiIGNka0Ryb3BMaXN0IFtjZGtEcm9wTGlzdERhdGFdPVwiZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJvbkRyYWdEcm9wT25EYXkoJGV2ZW50LHQudmFsdWUpXCIgW2F0dHIuZGF0YS11aWRdPVwiZC51aWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGUgb2YgZC5ldmVudHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZS5yYW5nZS5zdGFydFRpbWUuaG91cj09dC52YWx1ZVwiIGNsYXNzPVwiZXZlbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCIgYXJpYS1yZWFkb25seT1cImZhbHNlXCIgYXJpYS1zZWxlY3RlZD1cInRydWVcIiBhcmlhLWdyYWJiZWQ9XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNka0RyYWcgW2Nka0RyYWdEYXRhXT1cImVcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS11aWRdPVwiZS51aWRcIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJlLmNvbG9yXCIgW3RpdGxlXT1cImUudGl0bGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50LXRpdGxlXCI+e3tlLnRpdGxlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7ZS5yYW5nZS5zdGFydFRpbWUgfCBkdDogJ0hIOm1tJ319PC9zcGFuPiAtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57e2UucmFuZ2UuZW5kVGltZSB8IGR0OiAnSEg6bW0nfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpjZGtEcmFnUHJldmlldyBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJlLmNvbG9yXCIgY2xhc3M9XCJldmVudC1kcmFnLXByZXZpZXdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ZS50aXRsZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnQtZHJhZy1wbGFjZWhvbGRlclwiICpjZGtEcmFnUGxhY2Vob2xkZXI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgPC90YWJsZT5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
@@ -0,0 +1,214 @@
1
+ import { Component, ElementRef, ChangeDetectorRef, ViewEncapsulation, HostListener, NgZone } from '@angular/core';
2
+ import { AXSchedulerBaseViewComponent } from '../scheduler-view.component';
3
+ import { AXSchedulerEventChangeArgs } from '../../scheduler.class';
4
+ import { AXDateTime, AXDateTimeRange } from '@acorex/core';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "@angular/cdk/drag-drop";
8
+ import * as i3 from "@acorex/core";
9
+ export class AXSchedulerMonthViewComponent extends AXSchedulerBaseViewComponent {
10
+ elm;
11
+ zone;
12
+ cdr;
13
+ constructor(elm, zone, cdr) {
14
+ super();
15
+ this.elm = elm;
16
+ this.zone = zone;
17
+ this.cdr = cdr;
18
+ }
19
+ onKeydownHandler(e) {
20
+ if (e.deltaY > 0) {
21
+ this.navigate(this.navigatorDate.addMonth(1));
22
+ }
23
+ else if (e.deltaY < 0) {
24
+ this.navigate(this.navigatorDate.addMonth(-1));
25
+ }
26
+ }
27
+ weekDays = [
28
+ {
29
+ index: 0, title: 'Sunday'
30
+ },
31
+ {
32
+ index: 1, title: 'Moday'
33
+ },
34
+ {
35
+ index: 2, title: 'Tuesday'
36
+ },
37
+ {
38
+ index: 3, title: 'Wednesday'
39
+ },
40
+ {
41
+ index: 4, title: 'Thursday'
42
+ },
43
+ {
44
+ index: 5, title: 'Friday'
45
+ },
46
+ {
47
+ index: 6, title: 'Saturday'
48
+ }
49
+ ];
50
+ startDayOfWeek = 'Moday';
51
+ container;
52
+ view;
53
+ header;
54
+ body;
55
+ ngAfterViewInit() {
56
+ this.header = this.elm.nativeElement.querySelector('.header');
57
+ this.body = this.elm.nativeElement.querySelector('.body');
58
+ this.view = this.elm.nativeElement.querySelector('.view');
59
+ this.container = this.elm.nativeElement.closest('.view-container');
60
+ }
61
+ updateSize() {
62
+ const firstTr = this.body.querySelector('tr');
63
+ if (firstTr) {
64
+ let index = 0;
65
+ this.header.querySelectorAll('th').forEach(c => {
66
+ const td = firstTr.children.item(index++);
67
+ td.style.width = `${c.offsetWidth}px`;
68
+ });
69
+ this.body.style.height = `calc(100% - ${this.header.clientHeight}px)`;
70
+ if (this.container) {
71
+ this.view.style.height = `${this.container.clientHeight}px`;
72
+ }
73
+ }
74
+ this.arrangeEvents();
75
+ }
76
+ matrixify(arr, rows, cols) {
77
+ const matrix = [];
78
+ if (rows * cols === arr.length) {
79
+ for (let i = 0; i < arr.length; i += cols) {
80
+ matrix.push(arr.slice(i, cols + i));
81
+ }
82
+ }
83
+ return matrix;
84
+ }
85
+ matrixSlots;
86
+ navigate(date = new AXDateTime()) {
87
+ const start = date.month.range.startTime.firstDayOfWeek;
88
+ const end = date.month.range.startTime.endDayOfWeek;
89
+ const dur = end.duration(start);
90
+ this.slots = [];
91
+ for (let i = 0; i < dur; i++) {
92
+ const d = start.addDay(i);
93
+ const range = new AXDateTimeRange(d, d);
94
+ this.slots.push({
95
+ range,
96
+ events: this.getEvents(range, 'day'),
97
+ uid: range.startTime.date.getTime().toString()
98
+ });
99
+ }
100
+ const dayInWeek = 7;
101
+ const rows = Math.floor(dur / dayInWeek);
102
+ this.matrixSlots = this.matrixify(this.slots, rows, dayInWeek);
103
+ this.navigatorDate = date;
104
+ this.cdr.detectChanges();
105
+ }
106
+ next() {
107
+ this.navigate(this.navigatorDate.addMonth(this.interval));
108
+ }
109
+ prev() {
110
+ this.navigate(this.navigatorDate.addMonth(-this.interval));
111
+ }
112
+ arrangeEvents() {
113
+ this.slots.forEach(slot => {
114
+ const slotTd = this.elm.nativeElement.querySelector(`[data-uid='` + slot.uid + `']`);
115
+ const viewMoreDiv = slotTd.querySelector('.view-more');
116
+ let viewMore = 0;
117
+ viewMoreDiv.style.display = 'none';
118
+ const width = slotTd.offsetWidth;
119
+ slot.events.forEach(event => {
120
+ const e = slotTd.querySelector(`[data-uid='` + event.uid + `']`);
121
+ if (e) {
122
+ const dur = Math.ceil(Math.abs(event.range.duration()));
123
+ e.style.visibility = 'unset';
124
+ e.style.width = (dur * width) + 'px';
125
+ e.style.top = ((this.findEventIndex(event)) * 25) + 'px';
126
+ if (e.getBoundingClientRect().bottom >= slotTd.getBoundingClientRect().bottom) {
127
+ viewMore++;
128
+ e.style.visibility = 'hidden';
129
+ viewMoreDiv.style.display = 'unset';
130
+ viewMoreDiv.innerHTML = `+${viewMore} more`;
131
+ }
132
+ }
133
+ });
134
+ });
135
+ }
136
+ findEventIndex(event) {
137
+ const a = this.events.filter(c => c.range.startTime.equal(event.range.startTime, 'days')).sort((d1, d2) => {
138
+ const v = d1.range.startTime.compaireNew(d2.range.startTime, 'YMDhm');
139
+ return v;
140
+ });
141
+ return a.indexOf(event);
142
+ }
143
+ dragEnterSlot;
144
+ dragPreview;
145
+ dragHour = null;
146
+ onDragStarted(event) {
147
+ this.zone.runOutsideAngular(() => {
148
+ this.dragEnterSlot = event.source.dropContainer.element.nativeElement;
149
+ this.elm.nativeElement.addEventListener('mousemove', this.drageMouseMove.bind(this));
150
+ });
151
+ }
152
+ onDragEntered(event) {
153
+ this.dragPreview = document.querySelector('.cdk-drag-preview');
154
+ this.dragEnterSlot = event.container.element.nativeElement;
155
+ }
156
+ onDragEnded(event) {
157
+ this.dragEnterSlot = null;
158
+ this.dragPreview = null;
159
+ this.zone.runOutsideAngular(() => {
160
+ this.elm.nativeElement.removeEventListener('mousemove', this.drageMouseMove.bind(this));
161
+ });
162
+ }
163
+ drageMouseMove(e) {
164
+ this.zone.runOutsideAngular(() => {
165
+ if (!this.dragPreview) {
166
+ this.dragPreview = document.querySelector('.cdk-drag-preview');
167
+ }
168
+ if (this.dragEnterSlot && this.dragPreview) {
169
+ const diff = this.dragPreview.getBoundingClientRect().top - this.dragEnterSlot.getBoundingClientRect().top;
170
+ const hour = Math.round((diff / this.dragEnterSlot.getBoundingClientRect().height) * 24);
171
+ this.dragPreview.querySelector('.ax-sch-str').innerHTML = `${hour > 0 ? hour : 0}:00`;
172
+ this.dragHour = hour;
173
+ }
174
+ });
175
+ }
176
+ onDragDropOnDay(e) {
177
+ const el = e.item.element.nativeElement;
178
+ if (e.previousContainer !== e.container) {
179
+ el.style.opacity = '0';
180
+ const r = new AXSchedulerEventChangeArgs();
181
+ r.event = e.item.data;
182
+ r.oldSlot = e.previousContainer.data;
183
+ r.newSlot = e.container.data;
184
+ //
185
+ r.onComplete.subscribe((er) => {
186
+ el.style.opacity = '1';
187
+ if (!er.canceled) {
188
+ const slotTime = er.newSlot.range.startTime.startOf();
189
+ const z = er.event.range.startTime.clone();
190
+ const durDay = slotTime.duration(z.startOf(), 'days');
191
+ er.event.range.startTime = er.event.range.startTime.add('day', durDay);
192
+ if (this.dragHour != null) {
193
+ er.event.range.startTime = er.event.range.startTime.set('hour', this.dragHour);
194
+ er.event.range.startTime = er.event.range.startTime.set('minute', 0);
195
+ }
196
+ er.event.range.endTime = er.event.range.endTime.add('day', durDay);
197
+ er.oldSlot.events = er.oldSlot.events.filter(c => c.uid !== er.event.uid);
198
+ er.newSlot.events.push(er.event);
199
+ }
200
+ });
201
+ this.onEventChanged.emit(r);
202
+ }
203
+ }
204
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXSchedulerMonthViewComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
205
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: AXSchedulerMonthViewComponent, selector: "ng-component", host: { listeners: { "wheel": "onKeydownHandler($event)" } }, providers: [{ provide: AXSchedulerBaseViewComponent, useExisting: AXSchedulerMonthViewComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"view ax-sheduler-month-view\">\r\n <table class=\"header\">\r\n <thead>\r\n <th *ngFor=\"let d of weekDays\" class=\"header-cell\">\r\n <span [class.same-week-day]=\"d.index==today.dayInWeek\"> {{d.title}}</span>\r\n </th>\r\n </thead>\r\n </table>\r\n <table class=\"body\" cdkDropListGroup>\r\n <tbody>\r\n <tr *ngFor=\"let r of matrixSlots\">\r\n <td *ngFor=\"let d of r\" class=\"cell-slot\" cdkDropList [cdkDropListData]=\"d\"\r\n (cdkDropListDropped)=\"onDragDropOnDay($event)\" \r\n [attr.data-uid]=\"d.uid\">\r\n <div class=\"day-num\" [class.first-day-month]=\"d.range.startTime.dayInMonth==1\"\r\n [class.today]=\"d.range.startTime.equal(today)\">\r\n <ng-container *ngIf=\"d.range.startTime.dayInMonth==1\">\r\n {{d.range.startTime | dt: 'MMM'}}\r\n </ng-container>\r\n {{d.range.startTime | dt: 'DD'}}\r\n </div>\r\n <div class=\"event-wrapper\">\r\n <ng-container *ngFor=\"let e of d.events\">\r\n <div class=\"event ax-scheduler-event\" cdkDrag [cdkDragData]=\"e\" [attr.data-uid]=\"e.uid\"\r\n [style.background-color]=\"e.color\"\r\n (cdkDragStarted)=\"onDragStarted($event)\"\r\n (cdkDragEnded)=\"onDragEnded($event)\"\r\n (cdkDragEntered)=\"onDragEntered($event)\">\r\n <span class=\"ax-sch-str\">{{e.range.startTime | dt: 'HH:mm'}}</span><span\r\n class=\"event-title\">{{e.title}}</span><span>{{e.range.endTime | dt: 'HH:mm'}}</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"view-more\"></div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n</div>", styles: [".ax-sheduler-month-view .day-num{position:absolute;left:5px;top:5px;font-size:smaller;padding:1px 5px;display:flex;border-radius:10%;align-items:center;justify-content:center}.ax-sheduler-month-view .day-num.first-day-month{color:var(--primary-color);font-weight:700}.ax-sheduler-month-view .day-num:hover{text-decoration:underline;cursor:pointer}.ax-sheduler-month-view .day-num.today{background-color:var(--primary-light-color);color:var(--danger-fore-color)}.ax-sheduler-month-view .view-more{position:absolute;bottom:0;font-size:x-small;right:0;padding:0 5px;width:100%;cursor:pointer;text-align:center;background-color:var(--gray-dark-color)}.ax-sheduler-month-view .view-more:hover{box-shadow:0 6px 10px #00000024,0 1px 18px #0000001f,0 3px 5px -1px #0003}.ax-sheduler-month-view .event-wrapper{position:absolute;top:30px;left:0}.ax-sheduler-month-view .event-wrapper .event{position:absolute}\n"], 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.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "pipe", type: i3.AXDateTimePipe, name: "dt" }], encapsulation: i0.ViewEncapsulation.None });
206
+ }
207
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXSchedulerMonthViewComponent, decorators: [{
208
+ type: Component,
209
+ args: [{ encapsulation: ViewEncapsulation.None, providers: [{ provide: AXSchedulerBaseViewComponent, useExisting: AXSchedulerMonthViewComponent }], template: "<div class=\"view ax-sheduler-month-view\">\r\n <table class=\"header\">\r\n <thead>\r\n <th *ngFor=\"let d of weekDays\" class=\"header-cell\">\r\n <span [class.same-week-day]=\"d.index==today.dayInWeek\"> {{d.title}}</span>\r\n </th>\r\n </thead>\r\n </table>\r\n <table class=\"body\" cdkDropListGroup>\r\n <tbody>\r\n <tr *ngFor=\"let r of matrixSlots\">\r\n <td *ngFor=\"let d of r\" class=\"cell-slot\" cdkDropList [cdkDropListData]=\"d\"\r\n (cdkDropListDropped)=\"onDragDropOnDay($event)\" \r\n [attr.data-uid]=\"d.uid\">\r\n <div class=\"day-num\" [class.first-day-month]=\"d.range.startTime.dayInMonth==1\"\r\n [class.today]=\"d.range.startTime.equal(today)\">\r\n <ng-container *ngIf=\"d.range.startTime.dayInMonth==1\">\r\n {{d.range.startTime | dt: 'MMM'}}\r\n </ng-container>\r\n {{d.range.startTime | dt: 'DD'}}\r\n </div>\r\n <div class=\"event-wrapper\">\r\n <ng-container *ngFor=\"let e of d.events\">\r\n <div class=\"event ax-scheduler-event\" cdkDrag [cdkDragData]=\"e\" [attr.data-uid]=\"e.uid\"\r\n [style.background-color]=\"e.color\"\r\n (cdkDragStarted)=\"onDragStarted($event)\"\r\n (cdkDragEnded)=\"onDragEnded($event)\"\r\n (cdkDragEntered)=\"onDragEntered($event)\">\r\n <span class=\"ax-sch-str\">{{e.range.startTime | dt: 'HH:mm'}}</span><span\r\n class=\"event-title\">{{e.title}}</span><span>{{e.range.endTime | dt: 'HH:mm'}}</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"view-more\"></div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n</div>", styles: [".ax-sheduler-month-view .day-num{position:absolute;left:5px;top:5px;font-size:smaller;padding:1px 5px;display:flex;border-radius:10%;align-items:center;justify-content:center}.ax-sheduler-month-view .day-num.first-day-month{color:var(--primary-color);font-weight:700}.ax-sheduler-month-view .day-num:hover{text-decoration:underline;cursor:pointer}.ax-sheduler-month-view .day-num.today{background-color:var(--primary-light-color);color:var(--danger-fore-color)}.ax-sheduler-month-view .view-more{position:absolute;bottom:0;font-size:x-small;right:0;padding:0 5px;width:100%;cursor:pointer;text-align:center;background-color:var(--gray-dark-color)}.ax-sheduler-month-view .view-more:hover{box-shadow:0 6px 10px #00000024,0 1px 18px #0000001f,0 3px 5px -1px #0003}.ax-sheduler-month-view .event-wrapper{position:absolute;top:30px;left:0}.ax-sheduler-month-view .event-wrapper .event{position:absolute}\n"] }]
210
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { onKeydownHandler: [{
211
+ type: HostListener,
212
+ args: ['wheel', ['$event']]
213
+ }] } });
214
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGVyLW1vbnRoLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvY2FsZW5kYXIvc2NoZWR1bGVyL3ZpZXdzL21vbnRoL3NjaGVkdWxlci1tb250aC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NhbGVuZGFyL3NjaGVkdWxlci92aWV3cy9tb250aC9zY2hlZHVsZXItbW9udGgtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xILE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNFLE9BQU8sRUFBb0IsMEJBQTBCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRixPQUFPLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7QUFRM0QsTUFBTSxPQUFPLDZCQUE4QixTQUFRLDRCQUE0QjtJQUkvRDtJQUNBO0lBQ0E7SUFIWixZQUNZLEdBQStCLEVBQy9CLElBQVksRUFDWixHQUFzQjtRQUM5QixLQUFLLEVBQUUsQ0FBQztRQUhBLFFBQUcsR0FBSCxHQUFHLENBQTRCO1FBQy9CLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUVsQyxDQUFDO0lBR0QsZ0JBQWdCLENBQUMsQ0FBTTtRQUNuQixJQUFJLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FB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YW5nZURldGVjdG9yUmVmLCBWaWV3RW5jYXBzdWxhdGlvbiwgSG9zdExpc3RlbmVyLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhTY2hlZHVsZXJCYXNlVmlld0NvbXBvbmVudCB9IGZyb20gJy4uL3NjaGVkdWxlci12aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYU2NoZWR1bGVyRXZlbnQsIEFYU2NoZWR1bGVyRXZlbnRDaGFuZ2VBcmdzIH0gZnJvbSAnLi4vLi4vc2NoZWR1bGVyLmNsYXNzJztcclxuaW1wb3J0IHsgQVhEYXRlVGltZSwgQVhEYXRlVGltZVJhbmdlIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjaGVkdWxlci1tb250aC12aWV3LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3NjaGVkdWxlci1tb250aC12aWV3LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWFNjaGVkdWxlckJhc2VWaWV3Q29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhTY2hlZHVsZXJNb250aFZpZXdDb21wb25lbnQgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFYU2NoZWR1bGVyTW9udGhWaWV3Q29tcG9uZW50IGV4dGVuZHMgQVhTY2hlZHVsZXJCYXNlVmlld0NvbXBvbmVudCB7XHJcblxyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgZWxtOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PixcclxuICAgICAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcclxuICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ3doZWVsJywgWyckZXZlbnQnXSlcclxuICAgIG9uS2V5ZG93bkhhbmRsZXIoZTogYW55KSB7XHJcbiAgICAgICAgaWYgKGUuZGVsdGFZID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLm5hdmlnYXRlKHRoaXMubmF2aWdhdG9yRGF0ZS5hZGRNb250aCgxKSlcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoZS5kZWx0YVkgPCAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGUodGhpcy5uYXZpZ2F0b3JEYXRlLmFkZE1vbnRoKC0xKSlcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgd2Vla0RheXM6IGFueVtdID0gW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgaW5kZXg6IDAsIHRpdGxlOiAnU3VuZGF5J1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBpbmRleDogMSwgdGl0bGU6ICdNb2RheSdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgaW5kZXg6IDIsIHRpdGxlOiAnVHVlc2RheSdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgaW5kZXg6IDMsIHRpdGxlOiAnV2VkbmVzZGF5J1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBpbmRleDogNCwgdGl0bGU6ICdUaHVyc2RheSdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgaW5kZXg6IDUsIHRpdGxlOiAnRnJpZGF5J1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBpbmRleDogNiwgdGl0bGU6ICdTYXR1cmRheSdcclxuICAgICAgICB9XTtcclxuICAgIHN0YXJ0RGF5T2ZXZWVrID0gJ01vZGF5JztcclxuXHJcblxyXG5cclxuICAgIHByaXZhdGUgY29udGFpbmVyOiBIVE1MRWxlbWVudDtcclxuICAgIHByaXZhdGUgdmlldzogSFRNTEVsZW1lbnQ7XHJcbiAgICBwcml2YXRlIGhlYWRlcjogSFRNTEVsZW1lbnQ7XHJcbiAgICBwcml2YXRlIGJvZHk6IEhUTUxFbGVtZW50O1xyXG5cclxuXHJcblxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmhlYWRlciA9IHRoaXMuZWxtLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oJy5oZWFkZXInKTtcclxuICAgICAgICB0aGlzLmJvZHkgPSB0aGlzLmVsbS5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KCcuYm9keScpO1xyXG4gICAgICAgIHRoaXMudmlldyA9IHRoaXMuZWxtLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oJy52aWV3Jyk7XHJcbiAgICAgICAgdGhpcy5jb250YWluZXIgPSB0aGlzLmVsbS5uYXRpdmVFbGVtZW50LmNsb3Nlc3QoJy52aWV3LWNvbnRhaW5lcicpIGFzIEhUTUxFbGVtZW50O1xyXG5cclxuICAgIH1cclxuXHJcblxyXG4gICAgdXBkYXRlU2l6ZSgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBmaXJzdFRyID0gdGhpcy5ib2R5LnF1ZXJ5U2VsZWN0b3IoJ3RyJyk7XHJcbiAgICAgICAgaWYgKGZpcnN0VHIpIHtcclxuICAgICAgICAgICAgbGV0IGluZGV4ID0gMDtcclxuICAgICAgICAgICAgdGhpcy5oZWFkZXIucXVlcnlTZWxlY3RvckFsbCgndGgnKS5mb3JFYWNoKGMgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdGQgPSBmaXJzdFRyLmNoaWxkcmVuLml0ZW0oaW5kZXgrKykgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgICAgICAgICB0ZC5zdHlsZS53aWR0aCA9IGAke2Mub2Zmc2V0V2lkdGh9cHhgO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy5ib2R5LnN0eWxlLmhlaWdodCA9IGBjYWxjKDEwMCUgLSAke3RoaXMuaGVhZGVyLmNsaWVudEhlaWdodH1weClgO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5jb250YWluZXIpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudmlldy5zdHlsZS5oZWlnaHQgPSBgJHt0aGlzLmNvbnRhaW5lci5jbGllbnRIZWlnaHR9cHhgO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuYXJyYW5nZUV2ZW50cygpO1xyXG4gICAgfVxyXG5cclxuICAgIG1hdHJpeGlmeShhcnIsIHJvd3MsIGNvbHMpIHtcclxuICAgICAgICBjb25zdCBtYXRyaXggPSBbXTtcclxuICAgICAgICBpZiAocm93cyAqIGNvbHMgPT09IGFyci5sZW5ndGgpIHtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpICs9IGNvbHMpIHtcclxuICAgICAgICAgICAgICAgIG1hdHJpeC5wdXNoKGFyci5zbGljZShpLCBjb2xzICsgaSkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBtYXRyaXg7XHJcbiAgICB9XHJcblxyXG4gICAgbWF0cml4U2xvdHM6IGFueTtcclxuXHJcbiAgICBuYXZpZ2F0ZShkYXRlOiBBWERhdGVUaW1lID0gbmV3IEFYRGF0ZVRpbWUoKSkge1xyXG5cclxuICAgICAgICBjb25zdCBzdGFydCA9IGRhdGUubW9udGgucmFuZ2Uuc3RhcnRUaW1lLmZpcnN0RGF5T2ZXZWVrO1xyXG4gICAgICAgIGNvbnN0IGVuZCA9IGRhdGUubW9udGgucmFuZ2Uuc3RhcnRUaW1lLmVuZERheU9mV2VlaztcclxuICAgICAgICBjb25zdCBkdXIgPSBlbmQuZHVyYXRpb24oc3RhcnQpO1xyXG4gICAgICAgIHRoaXMuc2xvdHMgPSBbXTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGR1cjsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGQgPSBzdGFydC5hZGREYXkoaSk7XHJcbiAgICAgICAgICAgIGNvbnN0IHJhbmdlOiBBWERhdGVUaW1lUmFuZ2UgPSBuZXcgQVhEYXRlVGltZVJhbmdlKGQsIGQpO1xyXG4gICAgICAgICAgICB0aGlzLnNsb3RzLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgcmFuZ2UsXHJcbiAgICAgICAgICAgICAgICBldmVudHM6IHRoaXMuZ2V0RXZlbnRzKHJhbmdlLCAnZGF5JyksXHJcbiAgICAgICAgICAgICAgICB1aWQ6IHJhbmdlLnN0YXJ0VGltZS5kYXRlLmdldFRpbWUoKS50b1N0cmluZygpXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBkYXlJbldlZWsgPSA3O1xyXG4gICAgICAgIGNvbnN0IHJvd3MgPSBNYXRoLmZsb29yKGR1ciAvIGRheUluV2Vlayk7XHJcbiAgICAgICAgdGhpcy5tYXRyaXhTbG90cyA9IHRoaXMubWF0cml4aWZ5KHRoaXMuc2xvdHMsIHJvd3MsIGRheUluV2Vlayk7XHJcbiAgICAgICAgdGhpcy5uYXZpZ2F0b3JEYXRlID0gZGF0ZTtcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIG5leHQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5uYXZpZ2F0ZSh0aGlzLm5hdmlnYXRvckRhdGUuYWRkTW9udGgodGhpcy5pbnRlcnZhbCkpO1xyXG4gICAgfVxyXG4gICAgcHJldigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm5hdmlnYXRlKHRoaXMubmF2aWdhdG9yRGF0ZS5hZGRNb250aCgtdGhpcy5pbnRlcnZhbCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGFycmFuZ2VFdmVudHMoKSB7XHJcbiAgICAgICAgdGhpcy5zbG90cy5mb3JFYWNoKHNsb3QgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBzbG90VGQgPSB0aGlzLmVsbS5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KGBbZGF0YS11aWQ9J2AgKyBzbG90LnVpZCArIGAnXWApO1xyXG4gICAgICAgICAgICBjb25zdCB2aWV3TW9yZURpdiA9IHNsb3RUZC5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PignLnZpZXctbW9yZScpO1xyXG4gICAgICAgICAgICBsZXQgdmlld01vcmUgPSAwO1xyXG4gICAgICAgICAgICB2aWV3TW9yZURpdi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xyXG4gICAgICAgICAgICBjb25zdCB3aWR0aCA9IHNsb3RUZC5vZmZzZXRXaWR0aDtcclxuICAgICAgICAgICAgc2xvdC5ldmVudHMuZm9yRWFjaChldmVudCA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBlID0gc2xvdFRkLnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KGBbZGF0YS11aWQ9J2AgKyBldmVudC51aWQgKyBgJ11gKTtcclxuICAgICAgICAgICAgICAgIGlmIChlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZHVyID0gTWF0aC5jZWlsKE1hdGguYWJzKGV2ZW50LnJhbmdlLmR1cmF0aW9uKCkpKTtcclxuICAgICAgICAgICAgICAgICAgICBlLnN0eWxlLnZpc2liaWxpdHkgPSAndW5zZXQnO1xyXG4gICAgICAgICAgICAgICAgICAgIGUuc3R5bGUud2lkdGggPSAoZHVyICogd2lkdGgpICsgJ3B4JztcclxuICAgICAgICAgICAgICAgICAgICBlLnN0eWxlLnRvcCA9ICgodGhpcy5maW5kRXZlbnRJbmRleChldmVudCkpICogMjUpICsgJ3B4JztcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5ib3R0b20gPj0gc2xvdFRkLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmJvdHRvbSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2aWV3TW9yZSsrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBlLnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmlld01vcmVEaXYuc3R5bGUuZGlzcGxheSA9ICd1bnNldCc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdNb3JlRGl2LmlubmVySFRNTCA9IGArJHt2aWV3TW9yZX0gbW9yZWA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBmaW5kRXZlbnRJbmRleChldmVudDogQVhTY2hlZHVsZXJFdmVudCk6IG51bWJlciB7XHJcbiAgICAgICAgY29uc3QgYSA9IHRoaXMuZXZlbnRzLmZpbHRlcihjID0+XHJcbiAgICAgICAgICAgIGMucmFuZ2Uuc3RhcnRUaW1lLmVxdWFsKGV2ZW50LnJhbmdlLnN0YXJ0VGltZSwgJ2RheXMnKVxyXG4gICAgICAgICkuc29ydCgoZDEsIGQyKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHYgPSBkMS5yYW5nZS5zdGFydFRpbWUuY29tcGFpcmVOZXcoZDIucmFuZ2Uuc3RhcnRUaW1lLCAnWU1EaG0nKTtcclxuICAgICAgICAgICAgcmV0dXJuIHY7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIGEuaW5kZXhPZihldmVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBkcmFnRW50ZXJTbG90OiBIVE1MRWxlbWVudDtcclxuICAgIHByaXZhdGUgZHJhZ1ByZXZpZXc6IEhUTUxFbGVtZW50O1xyXG4gICAgcHJpdmF0ZSBkcmFnSG91cjogbnVtYmVyID0gbnVsbDtcclxuICAgIG9uRHJhZ1N0YXJ0ZWQoZXZlbnQpIHtcclxuICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmRyYWdFbnRlclNsb3QgPSBldmVudC5zb3VyY2UuZHJvcENvbnRhaW5lci5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgICAgIHRoaXMuZWxtLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5kcmFnZU1vdXNlTW92ZS5iaW5kKHRoaXMpKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIG9uRHJhZ0VudGVyZWQoZXZlbnQpIHtcclxuICAgICAgICB0aGlzLmRyYWdQcmV2aWV3ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oJy5jZGstZHJhZy1wcmV2aWV3Jyk7XHJcbiAgICAgICAgdGhpcy5kcmFnRW50ZXJTbG90ID0gZXZlbnQuY29udGFpbmVyLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcclxuICAgIH1cclxuICAgIG9uRHJhZ0VuZGVkKGV2ZW50KSB7XHJcbiAgICAgICAgdGhpcy5kcmFnRW50ZXJTbG90ID0gbnVsbDtcclxuICAgICAgICB0aGlzLmRyYWdQcmV2aWV3ID0gbnVsbDtcclxuICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmVsbS5uYXRpdmVFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuZHJhZ2VNb3VzZU1vdmUuYmluZCh0aGlzKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBkcmFnZU1vdXNlTW92ZShlOiBNb3VzZUV2ZW50KSB7XHJcbiAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLmRyYWdQcmV2aWV3KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRyYWdQcmV2aWV3ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oJy5jZGstZHJhZy1wcmV2aWV3Jyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHRoaXMuZHJhZ0VudGVyU2xvdCAmJiB0aGlzLmRyYWdQcmV2aWV3KSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBkaWZmID0gdGhpcy5kcmFnUHJldmlldy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgLSB0aGlzLmRyYWdFbnRlclNsb3QuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgaG91ciA9IE1hdGgucm91bmQoKGRpZmYgLyB0aGlzLmRyYWdFbnRlclNsb3QuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0KSAqIDI0KTtcclxuICAgICAgICAgICAgICAgIHRoaXMuZHJhZ1ByZXZpZXcucXVlcnlTZWxlY3RvcignLmF4LXNjaC1zdHInKS5pbm5lckhUTUwgPSBgJHtob3VyID4gMCA/IGhvdXIgOiAwfTowMGA7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRyYWdIb3VyID0gaG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG9uRHJhZ0Ryb3BPbkRheShlKSB7XHJcbiAgICAgICAgY29uc3QgZWwgPSBlLml0ZW0uZWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAgIGlmIChlLnByZXZpb3VzQ29udGFpbmVyICE9PSBlLmNvbnRhaW5lcikge1xyXG4gICAgICAgICAgICBlbC5zdHlsZS5vcGFjaXR5ID0gJzAnO1xyXG4gICAgICAgICAgICBjb25zdCByOiBBWFNjaGVkdWxlckV2ZW50Q2hhbmdlQXJncyA9IG5ldyBBWFNjaGVkdWxlckV2ZW50Q2hhbmdlQXJncygpO1xyXG4gICAgICAgICAgICByLmV2ZW50ID0gZS5pdGVtLmRhdGE7XHJcbiAgICAgICAgICAgIHIub2xkU2xvdCA9IGUucHJldmlvdXNDb250YWluZXIuZGF0YTtcclxuICAgICAgICAgICAgci5uZXdTbG90ID0gZS5jb250YWluZXIuZGF0YTtcclxuICAgICAgICAgICAgLy9cclxuICAgICAgICAgICAgci5vbkNvbXBsZXRlLnN1YnNjcmliZSgoZXI6IEFYU2NoZWR1bGVyRXZlbnRDaGFuZ2VBcmdzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBlbC5zdHlsZS5vcGFjaXR5ID0gJzEnO1xyXG4gICAgICAgICAgICAgICAgaWYgKCFlci5jYW5jZWxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNsb3RUaW1lID0gZXIubmV3U2xvdC5yYW5nZS5zdGFydFRpbWUuc3RhcnRPZigpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHogPSBlci5ldmVudC5yYW5nZS5zdGFydFRpbWUuY2xvbmUoKTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBkdXJEYXkgPSBzbG90VGltZS5kdXJhdGlvbih6LnN0YXJ0T2YoKSwgJ2RheXMnKTtcclxuICAgICAgICAgICAgICAgICAgICBlci5ldmVudC5yYW5nZS5zdGFydFRpbWUgPSBlci5ldmVudC5yYW5nZS5zdGFydFRpbWUuYWRkKCdkYXknLCBkdXJEYXkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmRyYWdIb3VyICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZXIuZXZlbnQucmFuZ2Uuc3RhcnRUaW1lID0gZXIuZXZlbnQucmFuZ2Uuc3RhcnRUaW1lLnNldCgnaG91cicsIHRoaXMuZHJhZ0hvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBlci5ldmVudC5yYW5nZS5zdGFydFRpbWUgPSBlci5ldmVudC5yYW5nZS5zdGFydFRpbWUuc2V0KCdtaW51dGUnLCAwKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZXIuZXZlbnQucmFuZ2UuZW5kVGltZSA9IGVyLmV2ZW50LnJhbmdlLmVuZFRpbWUuYWRkKCdkYXknLCBkdXJEYXkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGVyLm9sZFNsb3QuZXZlbnRzID0gZXIub2xkU2xvdC5ldmVudHMuZmlsdGVyKGMgPT4gYy51aWQgIT09IGVyLmV2ZW50LnVpZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZXIubmV3U2xvdC5ldmVudHMucHVzaChlci5ldmVudCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB0aGlzLm9uRXZlbnRDaGFuZ2VkLmVtaXQocik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInZpZXcgYXgtc2hlZHVsZXItbW9udGgtdmlld1wiPlxyXG4gICAgPHRhYmxlIGNsYXNzPVwiaGVhZGVyXCI+XHJcbiAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICA8dGggKm5nRm9yPVwibGV0IGQgb2Ygd2Vla0RheXNcIiBjbGFzcz1cImhlYWRlci1jZWxsXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbY2xhc3Muc2FtZS13ZWVrLWRheV09XCJkLmluZGV4PT10b2RheS5kYXlJbldlZWtcIj4ge3tkLnRpdGxlfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgPC90aGVhZD5cclxuICAgIDwvdGFibGU+XHJcbiAgICA8dGFibGUgY2xhc3M9XCJib2R5XCIgY2RrRHJvcExpc3RHcm91cD5cclxuICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgciBvZiBtYXRyaXhTbG90c1wiPlxyXG4gICAgICAgICAgICAgICAgPHRkICpuZ0Zvcj1cImxldCBkIG9mIHJcIiBjbGFzcz1cImNlbGwtc2xvdFwiIGNka0Ryb3BMaXN0IFtjZGtEcm9wTGlzdERhdGFdPVwiZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJvbkRyYWdEcm9wT25EYXkoJGV2ZW50KVwiIFxyXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtdWlkXT1cImQudWlkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRheS1udW1cIiBbY2xhc3MuZmlyc3QtZGF5LW1vbnRoXT1cImQucmFuZ2Uuc3RhcnRUaW1lLmRheUluTW9udGg9PTFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MudG9kYXldPVwiZC5yYW5nZS5zdGFydFRpbWUuZXF1YWwodG9kYXkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkLnJhbmdlLnN0YXJ0VGltZS5kYXlJbk1vbnRoPT0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2QucmFuZ2Uuc3RhcnRUaW1lIHwgZHQ6ICdNTU0nfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ZC5yYW5nZS5zdGFydFRpbWUgfCBkdDogJ0REJ319XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZSBvZiBkLmV2ZW50c1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50IGF4LXNjaGVkdWxlci1ldmVudFwiIGNka0RyYWcgW2Nka0RyYWdEYXRhXT1cImVcIiBbYXR0ci5kYXRhLXVpZF09XCJlLnVpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiZS5jb2xvclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNka0RyYWdTdGFydGVkKT1cIm9uRHJhZ1N0YXJ0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNka0RyYWdFbmRlZCk9XCJvbkRyYWdFbmRlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2RrRHJhZ0VudGVyZWQpPVwib25EcmFnRW50ZXJlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC1zY2gtc3RyXCI+e3tlLnJhbmdlLnN0YXJ0VGltZSB8IGR0OiAnSEg6bW0nfX08L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldmVudC10aXRsZVwiPnt7ZS50aXRsZX19PC9zcGFuPjxzcGFuPnt7ZS5yYW5nZS5lbmRUaW1lIHwgZHQ6ICdISDptbSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmlldy1tb3JlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgIDwvdGJvZHk+XHJcbiAgICA8L3RhYmxlPlxyXG48L2Rpdj4iXX0=