@acorex/components 6.5.91 → 6.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (544) hide show
  1. package/README.md +7 -3
  2. package/esm2022/acorex-components.mjs +5 -0
  3. package/esm2022/index.mjs +158 -0
  4. package/esm2022/lib/accordion/accordion.component.mjs +45 -0
  5. package/esm2022/lib/accordion/accordion.module.mjs +20 -0
  6. package/esm2022/lib/base/base-page.class.mjs +97 -0
  7. package/esm2022/lib/base/components.class.mjs +17 -0
  8. package/esm2022/lib/base/element.class.mjs +301 -0
  9. package/esm2022/lib/base/events.class.mjs +17 -0
  10. package/esm2022/lib/button/button.component.mjs +74 -0
  11. package/esm2022/lib/button/button.module.mjs +21 -0
  12. package/esm2022/lib/calendar/calendar-box/calendar-box.component.mjs +426 -0
  13. package/esm2022/lib/calendar/calendar-box/calendar-box.module.mjs +22 -0
  14. package/esm2022/lib/calendar/scheduler/scheduler-views.property.mjs +59 -0
  15. package/esm2022/lib/calendar/scheduler/scheduler.class.mjs +16 -0
  16. package/esm2022/lib/calendar/scheduler/scheduler.component.mjs +226 -0
  17. package/esm2022/lib/calendar/scheduler/scheduler.module.mjs +68 -0
  18. package/esm2022/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.mjs +136 -0
  19. package/esm2022/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.mjs +37 -0
  20. package/esm2022/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.mjs +49 -0
  21. package/esm2022/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.mjs +102 -0
  22. package/esm2022/lib/calendar/scheduler/views/month/scheduler-month-view.component.mjs +214 -0
  23. package/esm2022/lib/calendar/scheduler/views/scheduler-view.component.mjs +99 -0
  24. package/esm2022/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.mjs +85 -0
  25. package/esm2022/lib/checkbox/checkbox.component.mjs +102 -0
  26. package/esm2022/lib/checkbox/checkbox.module.mjs +20 -0
  27. package/esm2022/lib/color-picker/color-box/color-box.component.mjs +423 -0
  28. package/esm2022/lib/color-picker/color-picker.component.mjs +89 -0
  29. package/esm2022/lib/color-picker/color-picker.module.mjs +24 -0
  30. package/esm2022/lib/context-menu/context-menu.component.mjs +68 -0
  31. package/esm2022/lib/context-menu/context-menu.directive.mjs +146 -0
  32. package/esm2022/lib/context-menu/context-menu.module.mjs +20 -0
  33. package/esm2022/lib/data-filter/columns/filter-column-date.component.mjs +140 -0
  34. package/esm2022/lib/data-filter/columns/filter-column-number.component.mjs +119 -0
  35. package/esm2022/lib/data-filter/columns/filter-column-selection.component.mjs +75 -0
  36. package/esm2022/lib/data-filter/columns/filter-column-string.component.mjs +119 -0
  37. package/esm2022/lib/data-filter/filter-panel/filter-panel.component.mjs +267 -0
  38. package/esm2022/lib/data-filter/filter.class.mjs +46 -0
  39. package/esm2022/lib/data-filter/filter.module.mjs +88 -0
  40. package/esm2022/lib/data-filter/toolbar/filter-toolbar.component.mjs +168 -0
  41. package/esm2022/lib/data-list/core/data-list.component.mjs +37 -0
  42. package/esm2022/lib/data-list/list/list.component.mjs +134 -0
  43. package/esm2022/lib/data-list/list/list.module.mjs +22 -0
  44. package/esm2022/lib/data-list/list/toolbar-list-view.component.mjs +84 -0
  45. package/esm2022/lib/data-source/datasource.component.mjs +47 -0
  46. package/esm2022/lib/data-source/datasource.module.mjs +18 -0
  47. package/esm2022/lib/data-source/read-param.mjs +7 -0
  48. package/esm2022/lib/date-picker/date-picker.component.mjs +1093 -0
  49. package/esm2022/lib/date-picker/date-picker.module.mjs +49 -0
  50. package/esm2022/lib/dialog/dialog.component.mjs +26 -0
  51. package/esm2022/lib/dialog/dialog.module.mjs +21 -0
  52. package/esm2022/lib/dialog/dialog.service.mjs +160 -0
  53. package/esm2022/lib/drawer/content.component.mjs +18 -0
  54. package/esm2022/lib/drawer/drawer-container.component.mjs +38 -0
  55. package/esm2022/lib/drawer/drawer.component.mjs +146 -0
  56. package/esm2022/lib/drawer/drawer.module.mjs +23 -0
  57. package/esm2022/lib/dropdown/dropdown.component.mjs +186 -0
  58. package/esm2022/lib/dropdown/dropdown.module.mjs +26 -0
  59. package/esm2022/lib/fieldset/fieldset.component.mjs +57 -0
  60. package/esm2022/lib/fieldset/fieldset.module.mjs +19 -0
  61. package/esm2022/lib/form-group/form-group.component.mjs +37 -0
  62. package/esm2022/lib/form-group/form-group.module.mjs +21 -0
  63. package/esm2022/lib/label/label.component.mjs +19 -0
  64. package/esm2022/lib/label/label.module.mjs +21 -0
  65. package/esm2022/lib/loading/loading-indicator.component.mjs +18 -0
  66. package/esm2022/lib/loading/loading-panel.component.mjs +45 -0
  67. package/esm2022/lib/loading/loading.module.mjs +21 -0
  68. package/esm2022/lib/loading/loading.service.mjs +47 -0
  69. package/esm2022/lib/menu/menu-item.component.mjs +50 -0
  70. package/esm2022/lib/menu/menu.component.mjs +98 -0
  71. package/esm2022/lib/menu/menu.module.mjs +22 -0
  72. package/esm2022/lib/menu/menu2.component.mjs +100 -0
  73. package/esm2022/lib/number-box/number-box.component.mjs +628 -0
  74. package/esm2022/lib/number-box/number-box.module.mjs +21 -0
  75. package/esm2022/lib/page/content.component.mjs +27 -0
  76. package/esm2022/lib/page/footer.component.mjs +19 -0
  77. package/esm2022/lib/page/page.component.mjs +57 -0
  78. package/esm2022/lib/page/page.module.mjs +22 -0
  79. package/esm2022/lib/panel-box/panel-box.component.mjs +87 -0
  80. package/esm2022/lib/panel-box/panel-box.module.mjs +19 -0
  81. package/esm2022/lib/password-box/password-box.component.mjs +32 -0
  82. package/esm2022/lib/password-box/password-box.module.mjs +23 -0
  83. package/esm2022/lib/popover/custom-cdk-overlay.service.mjs +50 -0
  84. package/esm2022/lib/popover/overlay.service.mjs +94 -0
  85. package/esm2022/lib/popover/popover.component.mjs +145 -0
  86. package/esm2022/lib/popover/popover.module.mjs +19 -0
  87. package/esm2022/lib/popup/popup.component.mjs +160 -0
  88. package/esm2022/lib/popup/popup.module.mjs +25 -0
  89. package/esm2022/lib/popup/popup.service.mjs +94 -0
  90. package/esm2022/lib/progress-bar/progress-bar.component.mjs +16 -0
  91. package/esm2022/lib/progress-bar/progress-bar.module.mjs +19 -0
  92. package/esm2022/lib/property-editor/editors/check-editor/check-editor.mjs +65 -0
  93. package/esm2022/lib/property-editor/editors/check-editor/check.module.mjs +22 -0
  94. package/esm2022/lib/property-editor/editors/color-editor/color.editor.mjs +41 -0
  95. package/esm2022/lib/property-editor/editors/color-editor/color.module.mjs +24 -0
  96. package/esm2022/lib/property-editor/editors/column-editor/column.editor.mjs +118 -0
  97. package/esm2022/lib/property-editor/editors/column-editor/column.module.mjs +32 -0
  98. package/esm2022/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.mjs +216 -0
  99. package/esm2022/lib/property-editor/editors/conditional-color-editor/conditional-color.module.mjs +76 -0
  100. package/esm2022/lib/property-editor/editors/date-editor/date.editor.mjs +87 -0
  101. package/esm2022/lib/property-editor/editors/date-editor/date.module.mjs +24 -0
  102. package/esm2022/lib/property-editor/editors/number-editor/number.editor.mjs +69 -0
  103. package/esm2022/lib/property-editor/editors/number-editor/number.module.mjs +24 -0
  104. package/esm2022/lib/property-editor/editors/range-editor/range.editor.mjs +145 -0
  105. package/esm2022/lib/property-editor/editors/range-editor/range.module.mjs +59 -0
  106. package/esm2022/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.mjs +76 -0
  107. package/esm2022/lib/property-editor/editors/selectbox-editor/selectbox.editor.mjs +75 -0
  108. package/esm2022/lib/property-editor/editors/selectbox-editor/selectbox.module.mjs +25 -0
  109. package/esm2022/lib/property-editor/editors/selection-editor/selection-editor.mjs +73 -0
  110. package/esm2022/lib/property-editor/editors/selection-editor/selection.module.mjs +22 -0
  111. package/esm2022/lib/property-editor/editors/switch-editor/number.editor.mjs +30 -0
  112. package/esm2022/lib/property-editor/editors/switch-editor/number.module.mjs +25 -0
  113. package/esm2022/lib/property-editor/editors/text-editor/text.editor.mjs +36 -0
  114. package/esm2022/lib/property-editor/editors/text-editor/text.module.mjs +24 -0
  115. package/esm2022/lib/property-editor/editors/textarea-editor/textarea.editor.mjs +35 -0
  116. package/esm2022/lib/property-editor/editors/textarea-editor/textarea.module.mjs +24 -0
  117. package/esm2022/lib/property-editor/editors/time-editor/time.editor.mjs +47 -0
  118. package/esm2022/lib/property-editor/editors/time-editor/time.module.mjs +24 -0
  119. package/esm2022/lib/property-editor/property-editor-renderer.directive.mjs +167 -0
  120. package/esm2022/lib/property-editor/property-editor.class.mjs +108 -0
  121. package/esm2022/lib/property-editor/property-editor.module.mjs +194 -0
  122. package/esm2022/lib/query-builder/query-builder-group.component.mjs +129 -0
  123. package/esm2022/lib/query-builder/query-builder-popup/query-builder-popup.component.mjs +177 -0
  124. package/esm2022/lib/query-builder/query-builder-rule.component.mjs +428 -0
  125. package/esm2022/lib/query-builder/query-builder.class.mjs +42 -0
  126. package/esm2022/lib/query-builder/query-builder.component.mjs +92 -0
  127. package/esm2022/lib/query-builder/query-builder.module.mjs +62 -0
  128. package/esm2022/lib/query-builder/query-builder.service.mjs +199 -0
  129. package/esm2022/lib/search-bar/search-bar.component.mjs +293 -0
  130. package/esm2022/lib/search-bar/search-bar.module.mjs +61 -0
  131. package/esm2022/lib/searchbox/searchbox.component.mjs +106 -0
  132. package/esm2022/lib/searchbox/searchbox.module.mjs +24 -0
  133. package/esm2022/lib/selectbox/selectbox.component.mjs +1134 -0
  134. package/esm2022/lib/selectbox/selectbox.module.mjs +44 -0
  135. package/esm2022/lib/selectbox/selectbox2.component.mjs +617 -0
  136. package/esm2022/lib/selection-list/selection-list.component.mjs +113 -0
  137. package/esm2022/lib/selection-list/selection-list.module.mjs +21 -0
  138. package/esm2022/lib/switch/switch.component.mjs +55 -0
  139. package/esm2022/lib/switch/switch.module.mjs +20 -0
  140. package/esm2022/lib/tab-page/tab-page-Renderer.component.mjs +75 -0
  141. package/esm2022/lib/tab-page/tab-page-host.component.mjs +124 -0
  142. package/esm2022/lib/tab-page/tab-page.module.mjs +21 -0
  143. package/esm2022/lib/tab-page/tab-page.service.mjs +159 -0
  144. package/esm2022/lib/tab-strip/tab-strip.component.mjs +38 -0
  145. package/esm2022/lib/tab-strip/tab-strip.module.mjs +19 -0
  146. package/esm2022/lib/tab-view/dynamic-tabs.directive.mjs +25 -0
  147. package/esm2022/lib/tab-view/tab-view.component.mjs +110 -0
  148. package/esm2022/lib/tab-view/tab-view.module.mjs +21 -0
  149. package/esm2022/lib/tab-view/tab.component.mjs +33 -0
  150. package/esm2022/lib/textarea/textarea.component.mjs +27 -0
  151. package/esm2022/lib/textarea/textarea.module.mjs +21 -0
  152. package/esm2022/lib/textbox/textbox.component.mjs +42 -0
  153. package/esm2022/lib/textbox/textbox.module.mjs +36 -0
  154. package/esm2022/lib/time-picker/time-picker.component.mjs +1107 -0
  155. package/esm2022/lib/time-picker/time-picker.module.mjs +34 -0
  156. package/esm2022/lib/toast/toast-message/toast-message.component.mjs +76 -0
  157. package/esm2022/lib/toast/toast-wrapper/toast-wrapper.component.mjs +13 -0
  158. package/esm2022/lib/toast/toast.module.mjs +21 -0
  159. package/esm2022/lib/toast/toast.service.mjs +45 -0
  160. package/esm2022/lib/toolbar/group-button/toolbar-group-button.component.mjs +77 -0
  161. package/esm2022/lib/toolbar/menu/toolbar-menu.component.mjs +62 -0
  162. package/esm2022/lib/toolbar/search/toolbar-search.component.mjs +56 -0
  163. package/esm2022/lib/toolbar/title/toolbar-title.component.mjs +37 -0
  164. package/esm2022/lib/toolbar/toolbar-item.mjs +4 -0
  165. package/esm2022/lib/toolbar/toolbar.component.mjs +13 -0
  166. package/esm2022/lib/toolbar/toolbar.module.mjs +40 -0
  167. package/esm2022/lib/tooltip/tooltip.directive.mjs +104 -0
  168. package/esm2022/lib/tooltip/tooltip.module.mjs +19 -0
  169. package/esm2022/lib/tree-side-menu/tree-side-menu.component.mjs +697 -0
  170. package/esm2022/lib/tree-side-menu/tree-side-menu.module.mjs +33 -0
  171. package/esm2022/lib/tree-view/tree-view.component.mjs +854 -0
  172. package/esm2022/lib/tree-view/tree-view.module.mjs +22 -0
  173. package/esm2022/lib/upload-file/upload-file.component.mjs +226 -0
  174. package/esm2022/lib/upload-file/upload-file.events.mjs +2 -0
  175. package/esm2022/lib/upload-file/upload-file.module.mjs +24 -0
  176. package/esm2022/lib/validation/validation-form.component.mjs +68 -0
  177. package/esm2022/lib/validation/validation-rule.widget.mjs +114 -0
  178. package/esm2022/lib/validation/validation.class.mjs +2 -0
  179. package/esm2022/lib/validation/validation.component.mjs +89 -0
  180. package/esm2022/lib/validation/validation.module.mjs +34 -0
  181. package/{fesm2020 → fesm2022}/acorex-components.mjs +17004 -15581
  182. package/fesm2022/acorex-components.mjs.map +1 -0
  183. package/{public-api.d.ts → index.d.ts} +155 -155
  184. package/lib/accordion/accordion.component.d.ts +13 -13
  185. package/lib/accordion/accordion.module.d.ts +9 -9
  186. package/lib/base/base-page.class.d.ts +46 -46
  187. package/lib/base/components.class.d.ts +10 -10
  188. package/lib/base/element.class.d.ts +106 -106
  189. package/lib/base/events.class.d.ts +18 -18
  190. package/lib/button/button.component.d.ts +21 -21
  191. package/lib/button/button.module.d.ts +8 -8
  192. package/lib/calendar/calendar-box/calendar-box.component.d.ts +81 -81
  193. package/lib/calendar/calendar-box/calendar-box.module.d.ts +11 -11
  194. package/lib/calendar/scheduler/scheduler-views.property.d.ts +19 -19
  195. package/lib/calendar/scheduler/scheduler.class.d.ts +36 -36
  196. package/lib/calendar/scheduler/scheduler.component.d.ts +39 -39
  197. package/lib/calendar/scheduler/scheduler.module.d.ts +21 -21
  198. package/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.d.ts +25 -25
  199. package/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.d.ts +14 -14
  200. package/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.d.ts +16 -16
  201. package/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.d.ts +26 -26
  202. package/lib/calendar/scheduler/views/month/scheduler-month-view.component.d.ts +37 -37
  203. package/lib/calendar/scheduler/views/scheduler-view.component.d.ts +28 -28
  204. package/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.d.ts +24 -24
  205. package/lib/checkbox/checkbox.component.d.ts +30 -30
  206. package/lib/checkbox/checkbox.module.d.ts +9 -9
  207. package/lib/color-picker/color-box/color-box.component.d.ts +25 -25
  208. package/lib/color-picker/color-picker.component.d.ts +30 -30
  209. package/lib/color-picker/color-picker.module.d.ts +13 -13
  210. package/lib/context-menu/context-menu.component.d.ts +22 -22
  211. package/lib/context-menu/context-menu.directive.d.ts +38 -38
  212. package/lib/context-menu/context-menu.module.d.ts +9 -9
  213. package/lib/data-filter/columns/filter-column-date.component.d.ts +22 -22
  214. package/lib/data-filter/columns/filter-column-number.component.d.ts +15 -15
  215. package/lib/data-filter/columns/filter-column-selection.component.d.ts +18 -18
  216. package/lib/data-filter/columns/filter-column-string.component.d.ts +15 -15
  217. package/lib/data-filter/filter-panel/filter-panel.component.d.ts +45 -45
  218. package/lib/data-filter/filter.class.d.ts +40 -40
  219. package/lib/data-filter/filter.module.d.ts +24 -24
  220. package/lib/data-filter/toolbar/filter-toolbar.component.d.ts +25 -25
  221. package/lib/data-list/core/data-list.component.d.ts +15 -15
  222. package/lib/data-list/list/list.component.d.ts +40 -40
  223. package/lib/data-list/list/list.module.d.ts +11 -11
  224. package/lib/data-list/list/toolbar-list-view.component.d.ts +17 -17
  225. package/lib/data-source/datasource.component.d.ts +16 -16
  226. package/lib/data-source/datasource.module.d.ts +7 -7
  227. package/lib/data-source/read-param.d.ts +40 -40
  228. package/lib/date-picker/date-picker.component.d.ts +81 -81
  229. package/lib/date-picker/date-picker.module.d.ts +14 -14
  230. package/lib/dialog/dialog.component.d.ts +14 -14
  231. package/lib/dialog/dialog.module.d.ts +10 -10
  232. package/lib/dialog/dialog.service.d.ts +36 -36
  233. package/lib/drawer/content.component.d.ts +7 -7
  234. package/lib/drawer/drawer-container.component.d.ts +10 -10
  235. package/lib/drawer/drawer.component.d.ts +34 -34
  236. package/lib/drawer/drawer.module.d.ts +10 -10
  237. package/lib/dropdown/dropdown.component.d.ts +38 -38
  238. package/lib/dropdown/dropdown.module.d.ts +13 -13
  239. package/lib/fieldset/fieldset.component.d.ts +11 -11
  240. package/lib/fieldset/fieldset.module.d.ts +8 -8
  241. package/lib/form-group/form-group.component.d.ts +14 -14
  242. package/lib/form-group/form-group.module.d.ts +8 -8
  243. package/lib/label/label.component.d.ts +9 -9
  244. package/lib/label/label.module.d.ts +8 -8
  245. package/lib/loading/loading-indicator.component.d.ts +9 -9
  246. package/lib/loading/loading-panel.component.d.ts +13 -13
  247. package/lib/loading/loading.module.d.ts +10 -10
  248. package/lib/loading/loading.service.d.ts +13 -13
  249. package/lib/menu/menu-item.component.d.ts +18 -18
  250. package/lib/menu/menu.component.d.ts +35 -35
  251. package/lib/menu/menu.module.d.ts +11 -11
  252. package/lib/menu/menu2.component.d.ts +21 -21
  253. package/lib/number-box/number-box.component.d.ts +52 -52
  254. package/lib/number-box/number-box.module.d.ts +10 -10
  255. package/lib/page/content.component.d.ts +8 -8
  256. package/lib/page/footer.component.d.ts +5 -5
  257. package/lib/page/page.component.d.ts +16 -16
  258. package/lib/page/page.module.d.ts +11 -11
  259. package/lib/panel-box/panel-box.component.d.ts +19 -19
  260. package/lib/panel-box/panel-box.module.d.ts +8 -8
  261. package/lib/password-box/password-box.component.d.ts +12 -12
  262. package/lib/password-box/password-box.module.d.ts +10 -10
  263. package/lib/popover/custom-cdk-overlay.service.d.ts +19 -19
  264. package/lib/popover/overlay.service.d.ts +32 -32
  265. package/lib/popover/popover.component.d.ts +35 -35
  266. package/lib/popover/popover.module.d.ts +8 -8
  267. package/lib/popup/popup.component.d.ts +40 -40
  268. package/lib/popup/popup.module.d.ts +13 -13
  269. package/lib/popup/popup.service.d.ts +22 -22
  270. package/lib/progress-bar/progress-bar.component.d.ts +7 -7
  271. package/lib/progress-bar/progress-bar.module.d.ts +8 -8
  272. package/lib/property-editor/editors/check-editor/check-editor.d.ts +19 -19
  273. package/lib/property-editor/editors/check-editor/check.module.d.ts +11 -11
  274. package/lib/property-editor/editors/color-editor/color.editor.d.ts +13 -13
  275. package/lib/property-editor/editors/color-editor/color.module.d.ts +12 -12
  276. package/lib/property-editor/editors/column-editor/column.editor.d.ts +34 -34
  277. package/lib/property-editor/editors/column-editor/column.module.d.ts +20 -20
  278. package/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.d.ts +44 -44
  279. package/lib/property-editor/editors/conditional-color-editor/conditional-color.module.d.ts +19 -19
  280. package/lib/property-editor/editors/date-editor/date.editor.d.ts +28 -28
  281. package/lib/property-editor/editors/date-editor/date.module.d.ts +12 -12
  282. package/lib/property-editor/editors/number-editor/number.editor.d.ts +21 -20
  283. package/lib/property-editor/editors/number-editor/number.module.d.ts +12 -12
  284. package/lib/property-editor/editors/range-editor/range.editor.d.ts +29 -29
  285. package/lib/property-editor/editors/range-editor/range.module.d.ts +18 -18
  286. package/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.d.ts +29 -29
  287. package/lib/property-editor/editors/selectbox-editor/selectbox.editor.d.ts +28 -28
  288. package/lib/property-editor/editors/selectbox-editor/selectbox.module.d.ts +14 -14
  289. package/lib/property-editor/editors/selection-editor/selection-editor.d.ts +25 -25
  290. package/lib/property-editor/editors/selection-editor/selection.module.d.ts +11 -11
  291. package/lib/property-editor/editors/switch-editor/number.editor.d.ts +11 -11
  292. package/lib/property-editor/editors/switch-editor/number.module.d.ts +13 -13
  293. package/lib/property-editor/editors/text-editor/text.editor.d.ts +18 -18
  294. package/lib/property-editor/editors/text-editor/text.module.d.ts +12 -12
  295. package/lib/property-editor/editors/textarea-editor/textarea.editor.d.ts +17 -17
  296. package/lib/property-editor/editors/textarea-editor/textarea.module.d.ts +12 -12
  297. package/lib/property-editor/editors/time-editor/time.editor.d.ts +17 -17
  298. package/lib/property-editor/editors/time-editor/time.module.d.ts +12 -12
  299. package/lib/property-editor/property-editor-renderer.directive.d.ts +31 -31
  300. package/lib/property-editor/property-editor.class.d.ts +93 -93
  301. package/lib/property-editor/property-editor.module.d.ts +21 -21
  302. package/lib/query-builder/query-builder-group.component.d.ts +33 -33
  303. package/lib/query-builder/query-builder-popup/query-builder-popup.component.d.ts +35 -35
  304. package/lib/query-builder/query-builder-rule.component.d.ts +45 -45
  305. package/lib/query-builder/query-builder.class.d.ts +45 -45
  306. package/lib/query-builder/query-builder.component.d.ts +29 -29
  307. package/lib/query-builder/query-builder.module.d.ts +23 -23
  308. package/lib/query-builder/query-builder.service.d.ts +18 -18
  309. package/lib/search-bar/search-bar.component.d.ts +62 -62
  310. package/lib/search-bar/search-bar.module.d.ts +18 -18
  311. package/lib/searchbox/searchbox.component.d.ts +23 -22
  312. package/lib/searchbox/searchbox.module.d.ts +13 -13
  313. package/lib/selectbox/selectbox.component.d.ts +149 -118
  314. package/lib/selectbox/selectbox.module.d.ts +15 -15
  315. package/lib/selectbox/selectbox2.component.d.ts +103 -103
  316. package/lib/selection-list/selection-list.component.d.ts +32 -32
  317. package/lib/selection-list/selection-list.module.d.ts +10 -10
  318. package/lib/switch/switch.component.d.ts +20 -20
  319. package/lib/switch/switch.module.d.ts +9 -9
  320. package/lib/tab-page/tab-page-Renderer.component.d.ts +16 -16
  321. package/lib/tab-page/tab-page-host.component.d.ts +24 -24
  322. package/lib/tab-page/tab-page.module.d.ts +10 -10
  323. package/lib/tab-page/tab-page.service.d.ts +30 -30
  324. package/lib/tab-strip/tab-strip.component.d.ts +28 -28
  325. package/lib/tab-strip/tab-strip.module.d.ts +8 -8
  326. package/lib/tab-view/dynamic-tabs.directive.d.ts +16 -16
  327. package/lib/tab-view/tab-view.component.d.ts +26 -26
  328. package/lib/tab-view/tab-view.module.d.ts +10 -10
  329. package/lib/tab-view/tab.component.d.ts +12 -12
  330. package/lib/textarea/textarea.component.d.ts +12 -12
  331. package/lib/textarea/textarea.module.d.ts +8 -8
  332. package/lib/textbox/textbox.component.d.ts +16 -16
  333. package/lib/textbox/textbox.module.d.ts +11 -11
  334. package/lib/time-picker/time-picker.component.d.ts +53 -52
  335. package/lib/time-picker/time-picker.module.d.ts +11 -11
  336. package/lib/toast/toast-message/toast-message.component.d.ts +18 -18
  337. package/lib/toast/toast-wrapper/toast-wrapper.component.d.ts +8 -8
  338. package/lib/toast/toast.module.d.ts +9 -9
  339. package/lib/toast/toast.service.d.ts +18 -18
  340. package/lib/toolbar/group-button/toolbar-group-button.component.d.ts +12 -12
  341. package/lib/toolbar/menu/toolbar-menu.component.d.ts +24 -24
  342. package/lib/toolbar/search/toolbar-search.component.d.ts +16 -16
  343. package/lib/toolbar/title/toolbar-title.component.d.ts +9 -9
  344. package/lib/toolbar/toolbar-item.d.ts +3 -3
  345. package/lib/toolbar/toolbar.component.d.ts +8 -8
  346. package/lib/toolbar/toolbar.module.d.ts +14 -14
  347. package/lib/tooltip/tooltip.directive.d.ts +21 -21
  348. package/lib/tooltip/tooltip.module.d.ts +8 -8
  349. package/lib/tree-side-menu/tree-side-menu.component.d.ts +111 -111
  350. package/lib/tree-side-menu/tree-side-menu.module.d.ts +11 -11
  351. package/lib/tree-view/tree-view.component.d.ts +121 -121
  352. package/lib/tree-view/tree-view.module.d.ts +11 -11
  353. package/lib/upload-file/upload-file.component.d.ts +42 -42
  354. package/lib/upload-file/upload-file.events.d.ts +10 -10
  355. package/lib/upload-file/upload-file.module.d.ts +13 -13
  356. package/lib/validation/validation-form.component.d.ts +19 -19
  357. package/lib/validation/validation-rule.widget.d.ts +23 -23
  358. package/lib/validation/validation.class.d.ts +16 -16
  359. package/lib/validation/validation.component.d.ts +25 -25
  360. package/lib/validation/validation.module.d.ts +11 -11
  361. package/package.json +15 -20
  362. package/acorex-components.d.ts +0 -5
  363. package/esm2020/acorex-components.mjs +0 -5
  364. package/esm2020/lib/accordion/accordion.component.mjs +0 -44
  365. package/esm2020/lib/accordion/accordion.module.mjs +0 -20
  366. package/esm2020/lib/base/base-page.class.mjs +0 -94
  367. package/esm2020/lib/base/components.class.mjs +0 -17
  368. package/esm2020/lib/base/element.class.mjs +0 -294
  369. package/esm2020/lib/base/events.class.mjs +0 -11
  370. package/esm2020/lib/button/button.component.mjs +0 -71
  371. package/esm2020/lib/button/button.module.mjs +0 -21
  372. package/esm2020/lib/calendar/calendar-box/calendar-box.component.mjs +0 -413
  373. package/esm2020/lib/calendar/calendar-box/calendar-box.module.mjs +0 -22
  374. package/esm2020/lib/calendar/scheduler/scheduler-views.property.mjs +0 -54
  375. package/esm2020/lib/calendar/scheduler/scheduler.class.mjs +0 -18
  376. package/esm2020/lib/calendar/scheduler/scheduler.component.mjs +0 -213
  377. package/esm2020/lib/calendar/scheduler/scheduler.module.mjs +0 -68
  378. package/esm2020/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.mjs +0 -132
  379. package/esm2020/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.mjs +0 -37
  380. package/esm2020/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.mjs +0 -47
  381. package/esm2020/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.mjs +0 -95
  382. package/esm2020/lib/calendar/scheduler/views/month/scheduler-month-view.component.mjs +0 -204
  383. package/esm2020/lib/calendar/scheduler/views/scheduler-view.component.mjs +0 -99
  384. package/esm2020/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.mjs +0 -77
  385. package/esm2020/lib/checkbox/checkbox.component.mjs +0 -98
  386. package/esm2020/lib/checkbox/checkbox.module.mjs +0 -20
  387. package/esm2020/lib/color-picker/color-box/color-box.component.mjs +0 -422
  388. package/esm2020/lib/color-picker/color-picker.component.mjs +0 -82
  389. package/esm2020/lib/color-picker/color-picker.module.mjs +0 -24
  390. package/esm2020/lib/context-menu/context-menu.component.mjs +0 -65
  391. package/esm2020/lib/context-menu/context-menu.directive.mjs +0 -135
  392. package/esm2020/lib/context-menu/context-menu.module.mjs +0 -20
  393. package/esm2020/lib/data-filter/columns/filter-column-date.component.mjs +0 -138
  394. package/esm2020/lib/data-filter/columns/filter-column-number.component.mjs +0 -117
  395. package/esm2020/lib/data-filter/columns/filter-column-selection.component.mjs +0 -74
  396. package/esm2020/lib/data-filter/columns/filter-column-string.component.mjs +0 -117
  397. package/esm2020/lib/data-filter/filter-panel/filter-panel.component.mjs +0 -258
  398. package/esm2020/lib/data-filter/filter.class.mjs +0 -44
  399. package/esm2020/lib/data-filter/filter.module.mjs +0 -90
  400. package/esm2020/lib/data-filter/toolbar/filter-toolbar.component.mjs +0 -166
  401. package/esm2020/lib/data-list/core/data-list.component.mjs +0 -40
  402. package/esm2020/lib/data-list/list/list.component.mjs +0 -124
  403. package/esm2020/lib/data-list/list/list.module.mjs +0 -22
  404. package/esm2020/lib/data-list/list/toolbar-list-view.component.mjs +0 -85
  405. package/esm2020/lib/data-source/datasource.component.mjs +0 -47
  406. package/esm2020/lib/data-source/datasource.module.mjs +0 -18
  407. package/esm2020/lib/data-source/read-param.mjs +0 -5
  408. package/esm2020/lib/date-picker/date-picker.component.mjs +0 -702
  409. package/esm2020/lib/date-picker/date-picker.module.mjs +0 -25
  410. package/esm2020/lib/dialog/dialog.component.mjs +0 -24
  411. package/esm2020/lib/dialog/dialog.module.mjs +0 -21
  412. package/esm2020/lib/dialog/dialog.service.mjs +0 -150
  413. package/esm2020/lib/drawer/content.component.mjs +0 -18
  414. package/esm2020/lib/drawer/drawer-container.component.mjs +0 -36
  415. package/esm2020/lib/drawer/drawer.component.mjs +0 -142
  416. package/esm2020/lib/drawer/drawer.module.mjs +0 -23
  417. package/esm2020/lib/dropdown/dropdown.component.mjs +0 -176
  418. package/esm2020/lib/dropdown/dropdown.module.mjs +0 -26
  419. package/esm2020/lib/fieldset/fieldset.component.mjs +0 -59
  420. package/esm2020/lib/fieldset/fieldset.module.mjs +0 -19
  421. package/esm2020/lib/form-group/form-group.component.mjs +0 -34
  422. package/esm2020/lib/form-group/form-group.module.mjs +0 -21
  423. package/esm2020/lib/label/label.component.mjs +0 -19
  424. package/esm2020/lib/label/label.module.mjs +0 -21
  425. package/esm2020/lib/loading/loading-indicator.component.mjs +0 -17
  426. package/esm2020/lib/loading/loading-panel.component.mjs +0 -44
  427. package/esm2020/lib/loading/loading.module.mjs +0 -21
  428. package/esm2020/lib/loading/loading.service.mjs +0 -45
  429. package/esm2020/lib/menu/menu-item.component.mjs +0 -47
  430. package/esm2020/lib/menu/menu.component.mjs +0 -86
  431. package/esm2020/lib/menu/menu.module.mjs +0 -22
  432. package/esm2020/lib/menu/menu2.component.mjs +0 -96
  433. package/esm2020/lib/number-box/number-box.component.mjs +0 -622
  434. package/esm2020/lib/number-box/number-box.module.mjs +0 -21
  435. package/esm2020/lib/page/content.component.mjs +0 -32
  436. package/esm2020/lib/page/footer.component.mjs +0 -19
  437. package/esm2020/lib/page/page.component.mjs +0 -53
  438. package/esm2020/lib/page/page.module.mjs +0 -22
  439. package/esm2020/lib/panel-box/panel-box.component.mjs +0 -88
  440. package/esm2020/lib/panel-box/panel-box.module.mjs +0 -19
  441. package/esm2020/lib/password-box/password-box.component.mjs +0 -31
  442. package/esm2020/lib/password-box/password-box.module.mjs +0 -23
  443. package/esm2020/lib/popover/custom-cdk-overlay.service.mjs +0 -48
  444. package/esm2020/lib/popover/overlay.service.mjs +0 -91
  445. package/esm2020/lib/popover/popover.component.mjs +0 -133
  446. package/esm2020/lib/popover/popover.module.mjs +0 -19
  447. package/esm2020/lib/popup/popup.component.mjs +0 -147
  448. package/esm2020/lib/popup/popup.module.mjs +0 -25
  449. package/esm2020/lib/popup/popup.service.mjs +0 -93
  450. package/esm2020/lib/progress-bar/progress-bar.component.mjs +0 -19
  451. package/esm2020/lib/progress-bar/progress-bar.module.mjs +0 -19
  452. package/esm2020/lib/property-editor/editors/check-editor/check-editor.mjs +0 -61
  453. package/esm2020/lib/property-editor/editors/check-editor/check.module.mjs +0 -22
  454. package/esm2020/lib/property-editor/editors/color-editor/color.editor.mjs +0 -38
  455. package/esm2020/lib/property-editor/editors/color-editor/color.module.mjs +0 -24
  456. package/esm2020/lib/property-editor/editors/column-editor/column.editor.mjs +0 -115
  457. package/esm2020/lib/property-editor/editors/column-editor/column.module.mjs +0 -32
  458. package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.mjs +0 -211
  459. package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.module.mjs +0 -78
  460. package/esm2020/lib/property-editor/editors/date-editor/date.editor.mjs +0 -51
  461. package/esm2020/lib/property-editor/editors/date-editor/date.module.mjs +0 -24
  462. package/esm2020/lib/property-editor/editors/number-editor/number.editor.mjs +0 -63
  463. package/esm2020/lib/property-editor/editors/number-editor/number.module.mjs +0 -24
  464. package/esm2020/lib/property-editor/editors/range-editor/range.editor.mjs +0 -140
  465. package/esm2020/lib/property-editor/editors/range-editor/range.module.mjs +0 -61
  466. package/esm2020/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.mjs +0 -72
  467. package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.editor.mjs +0 -71
  468. package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.module.mjs +0 -25
  469. package/esm2020/lib/property-editor/editors/selection-editor/selection-editor.mjs +0 -69
  470. package/esm2020/lib/property-editor/editors/selection-editor/selection.module.mjs +0 -22
  471. package/esm2020/lib/property-editor/editors/switch-editor/number.editor.mjs +0 -29
  472. package/esm2020/lib/property-editor/editors/switch-editor/number.module.mjs +0 -25
  473. package/esm2020/lib/property-editor/editors/text-editor/text.editor.mjs +0 -32
  474. package/esm2020/lib/property-editor/editors/text-editor/text.module.mjs +0 -24
  475. package/esm2020/lib/property-editor/editors/textarea-editor/textarea.editor.mjs +0 -32
  476. package/esm2020/lib/property-editor/editors/textarea-editor/textarea.module.mjs +0 -24
  477. package/esm2020/lib/property-editor/editors/time-editor/time.editor.mjs +0 -43
  478. package/esm2020/lib/property-editor/editors/time-editor/time.module.mjs +0 -24
  479. package/esm2020/lib/property-editor/property-editor-renderer.directive.mjs +0 -157
  480. package/esm2020/lib/property-editor/property-editor.class.mjs +0 -102
  481. package/esm2020/lib/property-editor/property-editor.module.mjs +0 -196
  482. package/esm2020/lib/query-builder/query-builder-group.component.mjs +0 -124
  483. package/esm2020/lib/query-builder/query-builder-popup/query-builder-popup.component.mjs +0 -172
  484. package/esm2020/lib/query-builder/query-builder-rule.component.mjs +0 -399
  485. package/esm2020/lib/query-builder/query-builder.class.mjs +0 -20
  486. package/esm2020/lib/query-builder/query-builder.component.mjs +0 -87
  487. package/esm2020/lib/query-builder/query-builder.module.mjs +0 -62
  488. package/esm2020/lib/query-builder/query-builder.service.mjs +0 -197
  489. package/esm2020/lib/search-bar/search-bar.component.mjs +0 -286
  490. package/esm2020/lib/search-bar/search-bar.module.mjs +0 -63
  491. package/esm2020/lib/searchbox/searchbox.component.mjs +0 -81
  492. package/esm2020/lib/searchbox/searchbox.module.mjs +0 -24
  493. package/esm2020/lib/selectbox/selectbox.component.mjs +0 -961
  494. package/esm2020/lib/selectbox/selectbox.module.mjs +0 -44
  495. package/esm2020/lib/selectbox/selectbox2.component.mjs +0 -574
  496. package/esm2020/lib/selection-list/selection-list.component.mjs +0 -108
  497. package/esm2020/lib/selection-list/selection-list.module.mjs +0 -21
  498. package/esm2020/lib/switch/switch.component.mjs +0 -51
  499. package/esm2020/lib/switch/switch.module.mjs +0 -20
  500. package/esm2020/lib/tab-page/tab-page-Renderer.component.mjs +0 -71
  501. package/esm2020/lib/tab-page/tab-page-host.component.mjs +0 -114
  502. package/esm2020/lib/tab-page/tab-page.module.mjs +0 -21
  503. package/esm2020/lib/tab-page/tab-page.service.mjs +0 -160
  504. package/esm2020/lib/tab-strip/tab-strip.component.mjs +0 -36
  505. package/esm2020/lib/tab-strip/tab-strip.module.mjs +0 -19
  506. package/esm2020/lib/tab-view/dynamic-tabs.directive.mjs +0 -24
  507. package/esm2020/lib/tab-view/tab-view.component.mjs +0 -105
  508. package/esm2020/lib/tab-view/tab-view.module.mjs +0 -21
  509. package/esm2020/lib/tab-view/tab.component.mjs +0 -30
  510. package/esm2020/lib/textarea/textarea.component.mjs +0 -26
  511. package/esm2020/lib/textarea/textarea.module.mjs +0 -21
  512. package/esm2020/lib/textbox/textbox.component.mjs +0 -39
  513. package/esm2020/lib/textbox/textbox.module.mjs +0 -24
  514. package/esm2020/lib/time-picker/time-picker.component.mjs +0 -943
  515. package/esm2020/lib/time-picker/time-picker.module.mjs +0 -22
  516. package/esm2020/lib/toast/toast-message/toast-message.component.mjs +0 -74
  517. package/esm2020/lib/toast/toast-wrapper/toast-wrapper.component.mjs +0 -13
  518. package/esm2020/lib/toast/toast.module.mjs +0 -21
  519. package/esm2020/lib/toast/toast.service.mjs +0 -44
  520. package/esm2020/lib/toolbar/group-button/toolbar-group-button.component.mjs +0 -78
  521. package/esm2020/lib/toolbar/menu/toolbar-menu.component.mjs +0 -57
  522. package/esm2020/lib/toolbar/search/toolbar-search.component.mjs +0 -54
  523. package/esm2020/lib/toolbar/title/toolbar-title.component.mjs +0 -47
  524. package/esm2020/lib/toolbar/toolbar-item.mjs +0 -6
  525. package/esm2020/lib/toolbar/toolbar.component.mjs +0 -13
  526. package/esm2020/lib/toolbar/toolbar.module.mjs +0 -40
  527. package/esm2020/lib/tooltip/tooltip.directive.mjs +0 -100
  528. package/esm2020/lib/tooltip/tooltip.module.mjs +0 -19
  529. package/esm2020/lib/tree-side-menu/tree-side-menu.component.mjs +0 -646
  530. package/esm2020/lib/tree-side-menu/tree-side-menu.module.mjs +0 -35
  531. package/esm2020/lib/tree-view/tree-view.component.mjs +0 -775
  532. package/esm2020/lib/tree-view/tree-view.module.mjs +0 -22
  533. package/esm2020/lib/upload-file/upload-file.component.mjs +0 -208
  534. package/esm2020/lib/upload-file/upload-file.events.mjs +0 -2
  535. package/esm2020/lib/upload-file/upload-file.module.mjs +0 -24
  536. package/esm2020/lib/validation/validation-form.component.mjs +0 -65
  537. package/esm2020/lib/validation/validation-rule.widget.mjs +0 -111
  538. package/esm2020/lib/validation/validation.class.mjs +0 -2
  539. package/esm2020/lib/validation/validation.component.mjs +0 -89
  540. package/esm2020/lib/validation/validation.module.mjs +0 -34
  541. package/esm2020/public-api.mjs +0 -158
  542. package/fesm2015/acorex-components.mjs +0 -16013
  543. package/fesm2015/acorex-components.mjs.map +0 -1
  544. package/fesm2020/acorex-components.mjs.map +0 -1
@@ -1,47 +0,0 @@
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/cdk/drag-drop";
6
- import * as i2 from "@angular/common";
7
- import * as i3 from "@acorex/core";
8
- export class AXSchedulerAgendaViewComponent extends AXSchedulerBaseViewComponent {
9
- constructor(elm, cdr) {
10
- super();
11
- this.elm = elm;
12
- this.cdr = cdr;
13
- this.hideEmptyDays = true;
14
- }
15
- updateSize() {
16
- }
17
- navigate(date = new AXDateTime()) {
18
- this.slots = [];
19
- for (let i = 0; i < this.interval; i++) {
20
- let d = date.addDay(i);
21
- const range = new AXDateTimeRange(d, d);
22
- const slot = {
23
- range,
24
- events: this.getEvents(range, 'day')
25
- };
26
- if (this.hideEmptyDays && slot.events.length === 0) {
27
- continue;
28
- }
29
- this.slots.push(slot);
30
- }
31
- this.navigatorDate = date;
32
- this.cdr.detectChanges();
33
- }
34
- next() {
35
- this.navigate(this.navigatorDate.addDay(this.interval));
36
- }
37
- prev() {
38
- this.navigate(this.navigatorDate.addDay(-this.interval));
39
- }
40
- }
41
- AXSchedulerAgendaViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSchedulerAgendaViewComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
42
- AXSchedulerAgendaViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", 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"], directives: [{ type: i1.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.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"] }, { type: i1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { type: i1.CdkDragPreview, selector: "ng-template[cdkDragPreview]", inputs: ["data", "matchSize"] }], pipes: { "dt": i3.AXDateTimePipe }, encapsulation: i0.ViewEncapsulation.None });
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSchedulerAgendaViewComponent, decorators: [{
44
- type: Component,
45
- 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"] }]
46
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGVyLWFnZW5kYS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvY2FsZW5kYXIvc2NoZWR1bGVyL3ZpZXdzL2FnZW5kYS9zY2hlZHVsZXItYWdlbmRhLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9jYWxlbmRhci9zY2hlZHVsZXIvdmlld3MvYWdlbmRhL3NjaGVkdWxlci1hZ2VuZGEtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRSxPQUFPLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7QUFRM0QsTUFBTSxPQUFPLDhCQUErQixTQUFRLDRCQUE0QjtJQUM1RSxZQUNZLEdBQStCLEVBQy9CLEdBQXNCO1FBRTlCLEtBQUssRUFBRSxDQUFDO1FBSEEsUUFBRyxHQUFILEdBQUcsQ0FBNEI7UUFDL0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFLbEMsa0JBQWEsR0FBWSxJQUFJLENBQUM7SUFGOUIsQ0FBQztJQUlELFVBQVU7SUFDVixDQUFDO0lBR0QsUUFBUSxDQUFDLE9BQW1CLElBQUksVUFBVSxFQUFFO1FBQ3hDLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkIsTUFBTSxLQUFLLEdBQUcsSUFBSSxlQUFlLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3hDLE1BQU0sSUFBSSxHQUFvQjtnQkFDMUIsS0FBSztnQkFDTCxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDO2FBQ3ZDLENBQUE7WUFDRCxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUNoRCxTQUFTO2FBQ1o7WUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN6QjtRQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUk7UUFDQSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFDRCxJQUFJO1FBQ0EsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7OzRIQXJDUSw4QkFBOEI7Z0hBQTlCLDhCQUE4Qix1Q0FGNUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxXQUFXLEVBQUUsOEJBQThCLEVBQUUsQ0FBQyxpRENUdkcsZ3RFQTBDTTs0RkQvQk8sOEJBQThCO2tCQU4xQyxTQUFTO29DQUdTLGlCQUFpQixDQUFDLElBQUksYUFDMUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxXQUFXLGdDQUFnQyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIENoYW5nZURldGVjdG9yUmVmLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWFNjaGVkdWxlckJhc2VWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vc2NoZWR1bGVyLXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhTY2hlZHVsZXJTbG90IH0gZnJvbSAnLi4vLi4vc2NoZWR1bGVyLmNsYXNzJztcclxuaW1wb3J0IHsgQVhEYXRlVGltZSwgQVhEYXRlVGltZVJhbmdlIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjaGVkdWxlci1hZ2VuZGEtdmlldy5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9zY2hlZHVsZXItYWdlbmRhLXZpZXcuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEFYU2NoZWR1bGVyQmFzZVZpZXdDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFNjaGVkdWxlckFnZW5kYVZpZXdDb21wb25lbnQgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFYU2NoZWR1bGVyQWdlbmRhVmlld0NvbXBvbmVudCBleHRlbmRzIEFYU2NoZWR1bGVyQmFzZVZpZXdDb21wb25lbnQge1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBlbG06IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+LFxyXG4gICAgICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBoaWRlRW1wdHlEYXlzOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICB1cGRhdGVTaXplKCkge1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBuYXZpZ2F0ZShkYXRlOiBBWERhdGVUaW1lID0gbmV3IEFYRGF0ZVRpbWUoKSkge1xyXG4gICAgICAgIHRoaXMuc2xvdHMgPSBbXTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuaW50ZXJ2YWw7IGkrKykge1xyXG4gICAgICAgICAgICBsZXQgZCA9IGRhdGUuYWRkRGF5KGkpO1xyXG4gICAgICAgICAgICBjb25zdCByYW5nZSA9IG5ldyBBWERhdGVUaW1lUmFuZ2UoZCwgZCk7XHJcbiAgICAgICAgICAgIGNvbnN0IHNsb3Q6IEFYU2NoZWR1bGVyU2xvdCA9IHtcclxuICAgICAgICAgICAgICAgIHJhbmdlLFxyXG4gICAgICAgICAgICAgICAgZXZlbnRzOiB0aGlzLmdldEV2ZW50cyhyYW5nZSwgJ2RheScpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHRoaXMuaGlkZUVtcHR5RGF5cyAmJiBzbG90LmV2ZW50cy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuc2xvdHMucHVzaChzbG90KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5uYXZpZ2F0b3JEYXRlID0gZGF0ZTtcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmV4dCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm5hdmlnYXRlKHRoaXMubmF2aWdhdG9yRGF0ZS5hZGREYXkodGhpcy5pbnRlcnZhbCkpO1xyXG4gICAgfVxyXG4gICAgcHJldigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm5hdmlnYXRlKHRoaXMubmF2aWdhdG9yRGF0ZS5hZGREYXkoLXRoaXMuaW50ZXJ2YWwpKTtcclxuICAgIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwidmlldyBheC1zY2hlZHVsZXItYWdlbmRhLXZpZXdcIj5cclxuICAgIDx0YWJsZSBjbGFzcz1cImJvZHlcIiBjZGtEcm9wTGlzdEdyb3VwPlxyXG4gICAgICAgIDx0Ym9keSAqbmdJZj1cInNsb3RzLmxlbmd0aDsgZWxzZSBlbHNlVGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBzbG90IG9mIHNsb3RzXCIgY2RrRHJvcExpc3QgW2Nka0Ryb3BMaXN0RGF0YV09XCJzbG90XCIgW2F0dHIuZGF0YS11aWRdPVwic2xvdC51aWRcIlxyXG4gICAgICAgICAgICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJvbkRyYWdEcm9wT25EYXkoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZGF5LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXktbnVtXCI+e3tzbG90LnJhbmdlLnN0YXJ0VGltZSB8IGR0OlwiRERcIn19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRheS1uYW1lXCI+e3tzbG90LnJhbmdlLnN0YXJ0VGltZSB8IGR0OlwiZGRkXCJ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImRheS1ib3JkZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dWwgKm5nSWY9XCJzbG90LmV2ZW50cy5sZW5ndGhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBlIG9mIHNsb3QuZXZlbnRzXCIgW3N0eWxlLmJvcmRlci1jb2xvcl09XCJlLmNvbG9yXCIgY2RrRHJhZyBbY2RrRHJhZ0RhdGFdPVwiZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXVpZF09XCJlLnVpZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50LXRpdGxlXCI+e3tlLnRpdGxlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudC10aW1lXCI+e3tlLnJhbmdlLnN0YXJ0VGltZSB8IGR0OlwiSEg6bW1cIn19IC0gPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJlLnJhbmdlLmR1cmF0aW9uKCdkYXlzJykhPTAgdGhlbiBhIGVsc2UgYlwiPjwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2UucmFuZ2UuZW5kVGltZSB8IGR0OlwiSEg6bW1cIn19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ZS5yYW5nZS5lbmRUaW1lIHwgZHQ6XCJZWVlZLU1NLUREIEhIOm1tXCJ9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpjZGtEcmFnUHJldmlldyBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJlLmNvbG9yXCIgY2xhc3M9XCJldmVudC1kcmFnLXByZXZpZXdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2UudGl0bGV9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIXNsb3QuZXZlbnRzLmxlbmd0aFwiIGNsYXNzPVwiZXZlbnQtZW1wdHlcIj5ObyBldmVudHM8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgPC90Ym9keT5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI2Vsc2VUZW1wbGF0ZT5cclxuICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPVwiMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnQtZW1wdHlcIj5ObyBldmVudHM8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC90YWJsZT5cclxuPC9kaXY+Il19
@@ -1,95 +0,0 @@
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
- constructor(elm, cdr) {
10
- super();
11
- this.elm = elm;
12
- this.cdr = cdr;
13
- this.times = [];
14
- }
15
- ngOnInit() {
16
- }
17
- ngAfterViewInit() {
18
- this.vScroll = this.elm.nativeElement.querySelector('.v-scroll');
19
- this.header = this.elm.nativeElement.querySelector('.header');
20
- this.body = this.elm.nativeElement.querySelector('.body');
21
- this.view = this.elm.nativeElement.querySelector('.view');
22
- this.container = this.elm.nativeElement.closest('.view-container');
23
- }
24
- updateSize() {
25
- const firstTr = this.body.querySelector('tr');
26
- if (firstTr) {
27
- let index = 0;
28
- this.header.querySelectorAll('th').forEach(c => {
29
- const td = firstTr.children.item(index++);
30
- td.style.width = `${c.offsetWidth}px`;
31
- });
32
- this.vScroll.style.height = `calc(100% - ${this.header.clientHeight}px)`;
33
- if (this.container) {
34
- this.view.style.height = `${this.container.clientHeight}px`;
35
- }
36
- }
37
- this.arrangeEvents();
38
- }
39
- navigate(date = new AXDateTime()) {
40
- this.times = [];
41
- this.slots = [];
42
- for (let i = 0; i < this.interval; i++) {
43
- const d = date.addDay(i);
44
- const range = new AXDateTimeRange(d, d);
45
- const slot = {
46
- range,
47
- events: this.getEvents(range, 'day')
48
- };
49
- this.slots.push(slot);
50
- }
51
- for (let i = 0; i < 24; i++) {
52
- this.times.push({
53
- display: ('0' + i).slice(-2) + ':00',
54
- value: i
55
- });
56
- }
57
- this.navigatorDate = date;
58
- this.cdr.detectChanges();
59
- }
60
- next() {
61
- this.navigate(this.navigatorDate.addDay(this.interval));
62
- }
63
- prev() {
64
- this.navigate(this.navigatorDate.addDay(-this.interval));
65
- }
66
- arrangeEvents() {
67
- const events = this.elm.nativeElement.querySelectorAll('.event');
68
- if (events.length) {
69
- const height = events[0].closest('td').offsetHeight;
70
- events.forEach(e => {
71
- const uid = e.attributes.getNamedItem('data-uid').value;
72
- const event = this.events.find(c => c.uid === uid);
73
- const dur = Math.ceil(Math.abs(event.range.duration('hours')));
74
- let total = dur + 1;
75
- if (event.range.startTime.hour + total > 23) {
76
- total = 24 - event.range.startTime.hour;
77
- }
78
- e.style.height = (total * height) + 'px';
79
- });
80
- }
81
- }
82
- findEventIndex(event) {
83
- const a = this.events.filter(c => c.range.startTime.equal(event.range.startTime, 'day')).sort((d1, d2) => {
84
- return d1.range.startTime.compaireNew(d2.range.startTime);
85
- });
86
- return a.indexOf(event);
87
- }
88
- }
89
- AXSchedulerDayTimeViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSchedulerDayTimeViewComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
90
- AXSchedulerDayTimeViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", 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"], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { 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"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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"] }, { type: i2.CdkDragPreview, selector: "ng-template[cdkDragPreview]", inputs: ["data", "matchSize"] }, { type: i2.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }], pipes: { "dt": i3.AXDateTimePipe }, encapsulation: i0.ViewEncapsulation.None });
91
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSchedulerDayTimeViewComponent, decorators: [{
92
- type: Component,
93
- 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"] }]
94
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; } });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGVyLWRheXRpbWUtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2NhbGVuZGFyL3NjaGVkdWxlci92aWV3cy9kYXl0aW1lL3NjaGVkdWxlci1kYXl0aW1lLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9jYWxlbmRhci9zY2hlZHVsZXIvdmlld3MvZGF5dGltZS9zY2hlZHVsZXItZGF5dGltZS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTNFLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7OztBQVEzRCxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsNEJBQTRCO0lBQzdFLFlBQW9CLEdBQStCLEVBQVUsR0FBc0I7UUFBSSxLQUFLLEVBQUUsQ0FBQztRQUEzRSxRQUFHLEdBQUgsR0FBRyxDQUE0QjtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ25GLFVBQUssR0FBVSxFQUFFLENBQUM7SUFEOEUsQ0FBQztJQVFqRyxRQUFRO0lBQ1IsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBYyxXQUFXLENBQUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FB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QUMsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQXVCO1FBQ2xDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQzdCLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FDeEQsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7WUFDZCxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlELENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7OzZIQTFGUSwrQkFBK0I7aUhBQS9CLCtCQUErQix1Q0FGN0IsQ0FBQyxFQUFFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxXQUFXLEVBQUUsK0JBQStCLEVBQUUsQ0FBQyxpRENUeEcsaTVFQTRDTTs0RkRqQ08sK0JBQStCO2tCQU4zQyxTQUFTO29DQUdTLGlCQUFpQixDQUFDLElBQUksYUFDMUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxXQUFXLGlDQUFpQyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIENoYW5nZURldGVjdG9yUmVmLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWFNjaGVkdWxlckJhc2VWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vc2NoZWR1bGVyLXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhTY2hlZHVsZXJTbG90LCBBWFNjaGVkdWxlckV2ZW50IH0gZnJvbSAnLi4vLi4vc2NoZWR1bGVyLmNsYXNzJztcclxuaW1wb3J0IHsgQVhEYXRlVGltZSwgQVhEYXRlVGltZVJhbmdlIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjaGVkdWxlci1kYXl0aW1lLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vc2NoZWR1bGVyLWRheXRpbWUtdmlldy5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQVhTY2hlZHVsZXJCYXNlVmlld0NvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYU2NoZWR1bGVyRGF5VGltZVZpZXdDb21wb25lbnQgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFYU2NoZWR1bGVyRGF5VGltZVZpZXdDb21wb25lbnQgZXh0ZW5kcyBBWFNjaGVkdWxlckJhc2VWaWV3Q29tcG9uZW50IHtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxtOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PiwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7IHN1cGVyKCk7IH1cclxuICAgIHRpbWVzOiBhbnlbXSA9IFtdO1xyXG4gICAgcHJpdmF0ZSB2U2Nyb2xsOiBIVE1MRWxlbWVudDtcclxuICAgIHByaXZhdGUgY29udGFpbmVyOiBIVE1MRWxlbWVudDtcclxuICAgIHByaXZhdGUgdmlldzogSFRNTEVsZW1lbnQ7XHJcbiAgICBwcml2YXRlIGhlYWRlcjogSFRNTEVsZW1lbnQ7XHJcbiAgICBwcml2YXRlIGJvZHk6IEhUTUxFbGVtZW50O1xyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnZTY3JvbGwgPSB0aGlzLmVsbS5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KCcudi1zY3JvbGwnKTtcclxuICAgICAgICB0aGlzLmhlYWRlciA9IHRoaXMuZWxtLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oJy5oZWFkZXInKTtcclxuICAgICAgICB0aGlzLmJvZHkgPSB0aGlzLmVsbS5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KCcuYm9keScpO1xyXG4gICAgICAgIHRoaXMudmlldyA9IHRoaXMuZWxtLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oJy52aWV3Jyk7XHJcbiAgICAgICAgdGhpcy5jb250YWluZXIgPSB0aGlzLmVsbS5uYXRpdmVFbGVtZW50LmNsb3Nlc3QoJy52aWV3LWNvbnRhaW5lcicpIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZVNpemUoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZmlyc3RUciA9IHRoaXMuYm9keS5xdWVyeVNlbGVjdG9yKCd0cicpO1xyXG4gICAgICAgIGlmIChmaXJzdFRyKSB7XHJcbiAgICAgICAgICAgIGxldCBpbmRleCA9IDA7XHJcbiAgICAgICAgICAgIHRoaXMuaGVhZGVyLnF1ZXJ5U2VsZWN0b3JBbGwoJ3RoJykuZm9yRWFjaChjID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHRkID0gZmlyc3RUci5jaGlsZHJlbi5pdGVtKGluZGV4KyspIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAgICAgICAgICAgdGQuc3R5bGUud2lkdGggPSBgJHtjLm9mZnNldFdpZHRofXB4YDtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMudlNjcm9sbC5zdHlsZS5oZWlnaHQgPSBgY2FsYygxMDAlIC0gJHt0aGlzLmhlYWRlci5jbGllbnRIZWlnaHR9cHgpYDtcclxuICAgICAgICAgICAgaWYgKHRoaXMuY29udGFpbmVyKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZpZXcuc3R5bGUuaGVpZ2h0ID0gYCR7dGhpcy5jb250YWluZXIuY2xpZW50SGVpZ2h0fXB4YDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmFycmFuZ2VFdmVudHMoKTtcclxuICAgIH1cclxuXHJcbiAgICBuYXZpZ2F0ZShkYXRlOiBBWERhdGVUaW1lID0gbmV3IEFYRGF0ZVRpbWUoKSkge1xyXG4gICAgICAgIHRoaXMudGltZXMgPSBbXTtcclxuICAgICAgICB0aGlzLnNsb3RzID0gW107XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmludGVydmFsOyBpKyspIHtcclxuICAgICAgICAgICAgY29uc3QgZCA9IGRhdGUuYWRkRGF5KGkpO1xyXG4gICAgICAgICAgICBjb25zdCByYW5nZSA9IG5ldyBBWERhdGVUaW1lUmFuZ2UoZCwgZCk7XHJcbiAgICAgICAgICAgIGNvbnN0IHNsb3Q6IEFYU2NoZWR1bGVyU2xvdCA9IHtcclxuICAgICAgICAgICAgICAgIHJhbmdlLFxyXG4gICAgICAgICAgICAgICAgZXZlbnRzOiB0aGlzLmdldEV2ZW50cyhyYW5nZSwgJ2RheScpXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRoaXMuc2xvdHMucHVzaChzbG90KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAyNDsgaSsrKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGltZXMucHVzaCh7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAoJzAnICsgaSkuc2xpY2UoLTIpICsgJzowMCcsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogaVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5uYXZpZ2F0b3JEYXRlID0gZGF0ZTtcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmV4dCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm5hdmlnYXRlKHRoaXMubmF2aWdhdG9yRGF0ZS5hZGREYXkodGhpcy5pbnRlcnZhbCkpO1xyXG4gICAgfVxyXG4gICAgcHJldigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm5hdmlnYXRlKHRoaXMubmF2aWdhdG9yRGF0ZS5hZGREYXkoLXRoaXMuaW50ZXJ2YWwpKTtcclxuICAgIH1cclxuXHJcbiAgICBhcnJhbmdlRXZlbnRzKCkge1xyXG4gICAgICAgIGNvbnN0IGV2ZW50cyA9IHRoaXMuZWxtLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbDxIVE1MRWxlbWVudD4oJy5ldmVudCcpO1xyXG4gICAgICAgIGlmIChldmVudHMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGhlaWdodCA9IGV2ZW50c1swXS5jbG9zZXN0KCd0ZCcpLm9mZnNldEhlaWdodDtcclxuICAgICAgICAgICAgZXZlbnRzLmZvckVhY2goZSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB1aWQgPSBlLmF0dHJpYnV0ZXMuZ2V0TmFtZWRJdGVtKCdkYXRhLXVpZCcpLnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZXZlbnQgPSB0aGlzLmV2ZW50cy5maW5kKGMgPT4gYy51aWQgPT09IHVpZCk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBkdXIgPSBNYXRoLmNlaWwoTWF0aC5hYnMoZXZlbnQucmFuZ2UuZHVyYXRpb24oJ2hvdXJzJykpKTtcclxuICAgICAgICAgICAgICAgIGxldCB0b3RhbCA9IGR1ciArIDE7XHJcbiAgICAgICAgICAgICAgICBpZiAoZXZlbnQucmFuZ2Uuc3RhcnRUaW1lLmhvdXIgKyB0b3RhbCA+IDIzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG90YWwgPSAyNCAtIGV2ZW50LnJhbmdlLnN0YXJ0VGltZS5ob3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZS5zdHlsZS5oZWlnaHQgPSAodG90YWwgKiBoZWlnaHQpICsgJ3B4JztcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGZpbmRFdmVudEluZGV4KGV2ZW50OiBBWFNjaGVkdWxlckV2ZW50KTogbnVtYmVyIHtcclxuICAgICAgICBjb25zdCBhID0gdGhpcy5ldmVudHMuZmlsdGVyKGMgPT5cclxuICAgICAgICAgICAgYy5yYW5nZS5zdGFydFRpbWUuZXF1YWwoZXZlbnQucmFuZ2Uuc3RhcnRUaW1lLCAnZGF5JylcclxuICAgICAgICApLnNvcnQoKGQxLCBkMikgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gZDEucmFuZ2Uuc3RhcnRUaW1lLmNvbXBhaXJlTmV3KGQyLnJhbmdlLnN0YXJ0VGltZSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiBhLmluZGV4T2YoZXZlbnQpO1xyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ2aWV3IGF4LXNjaGVkdWxlci1kYXktdGltZS12aWV3XCI+XHJcbiAgICA8dGFibGUgY2xhc3M9XCJoZWFkZXJcIj5cclxuICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgIDx0aCBjbGFzcz1cInRpbWUtY29sdW1uXCI+PC90aD5cclxuICAgICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBkIG9mIHNsb3RzXCIgY2xhc3M9XCJoZWFkZXItY2VsbFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbY2xhc3Muc2FtZS13ZWVrLWRheV09XCJkLnJhbmdlLnN0YXJ0VGltZS5lcXVhbCh0b2RheSlcIj5cclxuICAgICAgICAgICAgICAgICAgICB7e2QucmFuZ2Uuc3RhcnRUaW1lIHwgZHQ6ICdkZGQnfX08YnI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tkLnJhbmdlLnN0YXJ0VGltZSB8IGR0OiAnREQnfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgIDwvdGhlYWQ+XHJcbiAgICA8L3RhYmxlPlxyXG4gICAgPGRpdiBjbGFzcz1cInYtc2Nyb2xsXCI+XHJcbiAgICAgICAgPHRhYmxlIGNsYXNzPVwiYm9keVwiIGNka0Ryb3BMaXN0R3JvdXA+XHJcbiAgICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgdCBvZiB0aW1lc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3t0LmRpc3BsYXl9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0Zvcj1cImxldCBkIG9mIHNsb3RzXCIgY2xhc3M9XCJzbG90LWNlbGxcIiBjZGtEcm9wTGlzdCBbY2RrRHJvcExpc3REYXRhXT1cImRcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwib25EcmFnRHJvcE9uRGF5KCRldmVudCx0LnZhbHVlKVwiIFthdHRyLmRhdGEtdWlkXT1cImQudWlkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBlIG9mIGQuZXZlbnRzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImUucmFuZ2Uuc3RhcnRUaW1lLmhvdXI9PXQudmFsdWVcIiBjbGFzcz1cImV2ZW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiIGFyaWEtcmVhZG9ubHk9XCJmYWxzZVwiIGFyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCIgYXJpYS1ncmFiYmVkPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZGtEcmFnIFtjZGtEcmFnRGF0YV09XCJlXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtdWlkXT1cImUudWlkXCIgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiZS5jb2xvclwiIFt0aXRsZV09XCJlLnRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudC10aXRsZVwiPnt7ZS50aXRsZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57e2UucmFuZ2Uuc3RhcnRUaW1lIHwgZHQ6ICdISDptbSd9fTwvc3Bhbj4gLVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3tlLnJhbmdlLmVuZFRpbWUgfCBkdDogJ0hIOm1tJ319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqY2RrRHJhZ1ByZXZpZXcgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiZS5jb2xvclwiIGNsYXNzPVwiZXZlbnQtZHJhZy1wcmV2aWV3XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2UudGl0bGV9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50LWRyYWctcGxhY2Vob2xkZXJcIiAqY2RrRHJhZ1BsYWNlaG9sZGVyPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgIDwvdGFibGU+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
@@ -1,204 +0,0 @@
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
- constructor(elm, zone, cdr) {
11
- super();
12
- this.elm = elm;
13
- this.zone = zone;
14
- this.cdr = cdr;
15
- this.weekDays = [
16
- {
17
- index: 0, title: 'Sunday'
18
- },
19
- {
20
- index: 1, title: 'Moday'
21
- },
22
- {
23
- index: 2, title: 'Tuesday'
24
- },
25
- {
26
- index: 3, title: 'Wednesday'
27
- },
28
- {
29
- index: 4, title: 'Thursday'
30
- },
31
- {
32
- index: 5, title: 'Friday'
33
- },
34
- {
35
- index: 6, title: 'Saturday'
36
- }
37
- ];
38
- this.startDayOfWeek = 'Moday';
39
- this.dragHour = null;
40
- }
41
- onKeydownHandler(e) {
42
- if (e.deltaY > 0) {
43
- this.navigate(this.navigatorDate.addMonth(1));
44
- }
45
- else if (e.deltaY < 0) {
46
- this.navigate(this.navigatorDate.addMonth(-1));
47
- }
48
- }
49
- ngAfterViewInit() {
50
- this.header = this.elm.nativeElement.querySelector('.header');
51
- this.body = this.elm.nativeElement.querySelector('.body');
52
- this.view = this.elm.nativeElement.querySelector('.view');
53
- this.container = this.elm.nativeElement.closest('.view-container');
54
- }
55
- updateSize() {
56
- const firstTr = this.body.querySelector('tr');
57
- if (firstTr) {
58
- let index = 0;
59
- this.header.querySelectorAll('th').forEach(c => {
60
- const td = firstTr.children.item(index++);
61
- td.style.width = `${c.offsetWidth}px`;
62
- });
63
- this.body.style.height = `calc(100% - ${this.header.clientHeight}px)`;
64
- if (this.container) {
65
- this.view.style.height = `${this.container.clientHeight}px`;
66
- }
67
- }
68
- this.arrangeEvents();
69
- }
70
- matrixify(arr, rows, cols) {
71
- const matrix = [];
72
- if (rows * cols === arr.length) {
73
- for (let i = 0; i < arr.length; i += cols) {
74
- matrix.push(arr.slice(i, cols + i));
75
- }
76
- }
77
- return matrix;
78
- }
79
- navigate(date = new AXDateTime()) {
80
- const start = date.month.range.startTime.firstDayOfWeek;
81
- const end = date.month.range.startTime.endDayOfWeek;
82
- const dur = end.duration(start);
83
- this.slots = [];
84
- for (let i = 0; i < dur; i++) {
85
- const d = start.addDay(i);
86
- const range = new AXDateTimeRange(d, d);
87
- this.slots.push({
88
- range,
89
- events: this.getEvents(range, 'day'),
90
- uid: range.startTime.date.getTime().toString()
91
- });
92
- }
93
- const dayInWeek = 7;
94
- const rows = Math.floor(dur / dayInWeek);
95
- this.matrixSlots = this.matrixify(this.slots, rows, dayInWeek);
96
- this.navigatorDate = date;
97
- this.cdr.detectChanges();
98
- }
99
- next() {
100
- this.navigate(this.navigatorDate.addMonth(this.interval));
101
- }
102
- prev() {
103
- this.navigate(this.navigatorDate.addMonth(-this.interval));
104
- }
105
- arrangeEvents() {
106
- this.slots.forEach(slot => {
107
- const slotTd = this.elm.nativeElement.querySelector(`[data-uid='` + slot.uid + `']`);
108
- const viewMoreDiv = slotTd.querySelector('.view-more');
109
- let viewMore = 0;
110
- viewMoreDiv.style.display = 'none';
111
- const width = slotTd.offsetWidth;
112
- slot.events.forEach(event => {
113
- const e = slotTd.querySelector(`[data-uid='` + event.uid + `']`);
114
- if (e) {
115
- const dur = Math.ceil(Math.abs(event.range.duration()));
116
- e.style.visibility = 'unset';
117
- e.style.width = (dur * width) + 'px';
118
- e.style.top = ((this.findEventIndex(event)) * 25) + 'px';
119
- if (e.getBoundingClientRect().bottom >= slotTd.getBoundingClientRect().bottom) {
120
- viewMore++;
121
- e.style.visibility = 'hidden';
122
- viewMoreDiv.style.display = 'unset';
123
- viewMoreDiv.innerHTML = `+${viewMore} more`;
124
- }
125
- }
126
- });
127
- });
128
- }
129
- findEventIndex(event) {
130
- const a = this.events.filter(c => c.range.startTime.equal(event.range.startTime, 'days')).sort((d1, d2) => {
131
- const v = d1.range.startTime.compaireNew(d2.range.startTime, 'YMDhm');
132
- return v;
133
- });
134
- return a.indexOf(event);
135
- }
136
- onDragStarted(event) {
137
- this.zone.runOutsideAngular(() => {
138
- this.dragEnterSlot = event.source.dropContainer.element.nativeElement;
139
- this.elm.nativeElement.addEventListener('mousemove', this.drageMouseMove.bind(this));
140
- });
141
- }
142
- onDragEntered(event) {
143
- this.dragPreview = document.querySelector('.cdk-drag-preview');
144
- this.dragEnterSlot = event.container.element.nativeElement;
145
- }
146
- onDragEnded(event) {
147
- this.dragEnterSlot = null;
148
- this.dragPreview = null;
149
- this.zone.runOutsideAngular(() => {
150
- this.elm.nativeElement.removeEventListener('mousemove', this.drageMouseMove.bind(this));
151
- });
152
- }
153
- drageMouseMove(e) {
154
- this.zone.runOutsideAngular(() => {
155
- if (!this.dragPreview) {
156
- this.dragPreview = document.querySelector('.cdk-drag-preview');
157
- }
158
- if (this.dragEnterSlot && this.dragPreview) {
159
- const diff = this.dragPreview.getBoundingClientRect().top - this.dragEnterSlot.getBoundingClientRect().top;
160
- const hour = Math.round((diff / this.dragEnterSlot.getBoundingClientRect().height) * 24);
161
- this.dragPreview.querySelector('.ax-sch-str').innerHTML = `${hour > 0 ? hour : 0}:00`;
162
- this.dragHour = hour;
163
- }
164
- });
165
- }
166
- onDragDropOnDay(e) {
167
- const el = e.item.element.nativeElement;
168
- if (e.previousContainer !== e.container) {
169
- el.style.opacity = '0';
170
- const r = new AXSchedulerEventChangeArgs();
171
- r.event = e.item.data;
172
- r.oldSlot = e.previousContainer.data;
173
- r.newSlot = e.container.data;
174
- //
175
- r.onComplete.subscribe((er) => {
176
- el.style.opacity = '1';
177
- if (!er.canceled) {
178
- const slotTime = er.newSlot.range.startTime.startOf();
179
- const z = er.event.range.startTime.clone();
180
- const durDay = slotTime.duration(z.startOf(), 'days');
181
- er.event.range.startTime = er.event.range.startTime.add('day', durDay);
182
- if (this.dragHour != null) {
183
- er.event.range.startTime = er.event.range.startTime.set('hour', this.dragHour);
184
- er.event.range.startTime = er.event.range.startTime.set('minute', 0);
185
- }
186
- er.event.range.endTime = er.event.range.endTime.add('day', durDay);
187
- er.oldSlot.events = er.oldSlot.events.filter(c => c.uid !== er.event.uid);
188
- er.newSlot.events.push(er.event);
189
- }
190
- });
191
- this.onEventChanged.emit(r);
192
- }
193
- }
194
- }
195
- AXSchedulerMonthViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSchedulerMonthViewComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
196
- AXSchedulerMonthViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", 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"], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { 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"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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"] }], pipes: { "dt": i3.AXDateTimePipe }, encapsulation: i0.ViewEncapsulation.None });
197
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSchedulerMonthViewComponent, decorators: [{
198
- type: Component,
199
- 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"] }]
200
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { onKeydownHandler: [{
201
- type: HostListener,
202
- args: ['wheel', ['$event']]
203
- }] } });
204
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGVyLW1vbnRoLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9jYWxlbmRhci9zY2hlZHVsZXIvdmlld3MvbW9udGgvc2NoZWR1bGVyLW1vbnRoLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9jYWxlbmRhci9zY2hlZHVsZXIvdmlld3MvbW9udGgvc2NoZWR1bGVyLW1vbnRoLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRSxPQUFPLEVBQW9CLDBCQUEwQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckYsT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7O0FBUTNELE1BQU0sT0FBTyw2QkFBOEIsU0FBUSw0QkFBNEI7SUFHM0UsWUFDWSxHQUErQixFQUMvQixJQUFZLEVBQ1osR0FBc0I7UUFDOUIsS0FBSyxFQUFFLENBQUM7UUFIQSxRQUFHLEdBQUgsR0FBRyxDQUE0QjtRQUMvQixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFjbEMsYUFBUSxHQUFVO1lBQ2Q7Z0JBQ0ksS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUTthQUM1QjtZQUNEO2dCQUNJLEtBQUssRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU87YUFDM0I7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RyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztxQkFDeEU7b0JBQ0QsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO29CQUNuRSxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQzFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ3BDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMvQjtJQUVMLENBQUM7OzJIQTNOUSw2QkFBNkI7K0dBQTdCLDZCQUE2QixxR0FGM0IsQ0FBQyxFQUFFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxXQUFXLEVBQUUsNkJBQTZCLEVBQUUsQ0FBQyxpRENUdEcsNm5FQXNDTTs0RkQzQk8sNkJBQTZCO2tCQU56QyxTQUFTO29DQUdTLGlCQUFpQixDQUFDLElBQUksYUFDMUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxXQUFXLCtCQUErQixFQUFFLENBQUM7c0pBYWxHLGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgQ2hhbmdlRGV0ZWN0b3JSZWYsIFZpZXdFbmNhcHN1bGF0aW9uLCBIb3N0TGlzdGVuZXIsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWFNjaGVkdWxlckJhc2VWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vc2NoZWR1bGVyLXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhTY2hlZHVsZXJFdmVudCwgQVhTY2hlZHVsZXJFdmVudENoYW5nZUFyZ3MgfSBmcm9tICcuLi8uLi9zY2hlZHVsZXIuY2xhc3MnO1xyXG5pbXBvcnQgeyBBWERhdGVUaW1lLCBBWERhdGVUaW1lUmFuZ2UgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2NoZWR1bGVyLW1vbnRoLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vc2NoZWR1bGVyLW1vbnRoLXZpZXcuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEFYU2NoZWR1bGVyQmFzZVZpZXdDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFNjaGVkdWxlck1vbnRoVmlld0NvbXBvbmVudCB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhTY2hlZHVsZXJNb250aFZpZXdDb21wb25lbnQgZXh0ZW5kcyBBWFNjaGVkdWxlckJhc2VWaWV3Q29tcG9uZW50IHtcclxuXHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBlbG06IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+LFxyXG4gICAgICAgIHByaXZhdGUgem9uZTogTmdab25lLFxyXG4gICAgICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignd2hlZWwnLCBbJyRldmVudCddKVxyXG4gICAgb25LZXlkb3duSGFuZGxlcihlOiBhbnkpIHtcclxuICAgICAgICBpZiAoZS5kZWx0YVkgPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGUodGhpcy5uYXZpZ2F0b3JEYXRlLmFkZE1vbnRoKDEpKVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChlLmRlbHRhWSA8IDApIHtcclxuICAgICAgICAgICAgdGhpcy5uYXZpZ2F0ZSh0aGlzLm5hdmlnYXRvckRhdGUuYWRkTW9udGgoLTEpKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB3ZWVrRGF5czogYW55W10gPSBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBpbmRleDogMCwgdGl0bGU6ICdTdW5kYXknXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIGluZGV4OiAxLCB0aXRsZTogJ01vZGF5J1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBpbmRleDogMiwgdGl0bGU6ICdUdWVzZGF5J1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBpbmRleDogMywgdGl0bGU6ICdXZWRuZXNkYXknXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIGluZGV4OiA0LCB0aXRsZTogJ1RodXJzZGF5J1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBpbmRleDogNSwgdGl0bGU6ICdGcmlkYXknXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIGluZGV4OiA2LCB0aXRsZTogJ1NhdHVyZGF5J1xyXG4gICAgICAgIH1dO1xyXG4gICAgc3RhcnREYXlPZldlZWsgPSAnTW9kYXknO1xyXG5cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBjb250YWluZXI6IEhUTUxFbGVtZW50O1xyXG4gICAgcHJpdmF0ZSB2aWV3OiBIVE1MRWxlbWVudDtcclxuICAgIHByaXZhdGUgaGVhZGVyOiBIVE1MRWxlbWVudDtcclxuICAgIHByaXZhdGUgYm9keTogSFRNTEVsZW1lbnQ7XHJcblxyXG5cclxuXHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaGVhZGVyID0gdGhpcy5lbG0ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PignLmhlYWRlcicpO1xyXG4gICAgICAgIHRoaXMuYm9keSA9IHRoaXMuZWxtLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oJy5ib2R5Jyk7XHJcbiAgICAgICAgdGhpcy52aWV3ID0gdGhpcy5lbG0ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PignLnZpZXcnKTtcclxuICAgICAgICB0aGlzLmNvbnRhaW5lciA9IHRoaXMuZWxtLm5hdGl2ZUVsZW1lbnQuY2xvc2VzdCgnLnZpZXctY29udGFpbmVyJykgYXMgSFRNTEVsZW1lbnQ7XHJcblxyXG4gICAgfVxyXG5cclxuXHJcbiAgICB1cGRhdGVTaXplKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGZpcnN0VHIgPSB0aGlzLmJvZHkucXVlcnlTZWxlY3RvcigndHInKTtcclxuICAgICAgICBpZiAoZmlyc3RUcikge1xyXG4gICAgICAgICAgICBsZXQgaW5kZXggPSAwO1xyXG4gICAgICAgICAgICB0aGlzLmhlYWRlci5xdWVyeVNlbGVjdG9yQWxsKCd0aCcpLmZvckVhY2goYyA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB0ZCA9IGZpcnN0VHIuY2hpbGRyZW4uaXRlbShpbmRleCsrKSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICAgICAgICAgIHRkLnN0eWxlLndpZHRoID0gYCR7Yy5vZmZzZXRXaWR0aH1weGA7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB0aGlzLmJvZHkuc3R5bGUuaGVpZ2h0ID0gYGNhbGMoMTAwJSAtICR7dGhpcy5oZWFkZXIuY2xpZW50SGVpZ2h0fXB4KWA7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbnRhaW5lcikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy52aWV3LnN0eWxlLmhlaWdodCA9IGAke3RoaXMuY29udGFpbmVyLmNsaWVudEhlaWdodH1weGA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5hcnJhbmdlRXZlbnRzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbWF0cml4aWZ5KGFyciwgcm93cywgY29scykge1xyXG4gICAgICAgIGNvbnN0IG1hdHJpeCA9IFtdO1xyXG4gICAgICAgIGlmIChyb3dzICogY29scyA9PT0gYXJyLmxlbmd0aCkge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFyci5sZW5ndGg7IGkgKz0gY29scykge1xyXG4gICAgICAgICAgICAgICAgbWF0cml4LnB1c2goYXJyLnNsaWNlKGksIGNvbHMgKyBpKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG1hdHJpeDtcclxuICAgIH1cclxuXHJcbiAgICBtYXRyaXhTbG90czogYW55O1xyXG5cclxuICAgIG5hdmlnYXRlKGRhdGU6IEFYRGF0ZVRpbWUgPSBuZXcgQVhEYXRlVGltZSgpKSB7XHJcblxyXG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gZGF0ZS5tb250aC5yYW5nZS5zdGFydFRpbWUuZmlyc3REYXlPZldlZWs7XHJcbiAgICAgICAgY29uc3QgZW5kID0gZGF0ZS5tb250aC5yYW5nZS5zdGFydFRpbWUuZW5kRGF5T2ZXZWVrO1xyXG4gICAgICAgIGNvbnN0IGR1ciA9IGVuZC5kdXJhdGlvbihzdGFydCk7XHJcbiAgICAgICAgdGhpcy5zbG90cyA9IFtdO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZHVyOyBpKyspIHtcclxuICAgICAgICAgICAgY29uc3QgZCA9IHN0YXJ0LmFkZERheShpKTtcclxuICAgICAgICAgICAgY29uc3QgcmFuZ2U6IEFYRGF0ZVRpbWVSYW5nZSA9IG5ldyBBWERhdGVUaW1lUmFuZ2UoZCwgZCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2xvdHMucHVzaCh7XHJcbiAgICAgICAgICAgICAgICByYW5nZSxcclxuICAgICAgICAgICAgICAgIGV2ZW50czogdGhpcy5nZXRFdmVudHMocmFuZ2UsICdkYXknKSxcclxuICAgICAgICAgICAgICAgIHVpZDogcmFuZ2Uuc3RhcnRUaW1lLmRhdGUuZ2V0VGltZSgpLnRvU3RyaW5nKClcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGRheUluV2VlayA9IDc7XHJcbiAgICAgICAgY29uc3Qgcm93cyA9IE1hdGguZmxvb3IoZHVyIC8gZGF5SW5XZWVrKTtcclxuICAgICAgICB0aGlzLm1hdHJpeFNsb3RzID0gdGhpcy5tYXRyaXhpZnkodGhpcy5zbG90cywgcm93cywgZGF5SW5XZWVrKTtcclxuICAgICAgICB0aGlzLm5hdmlnYXRvckRhdGUgPSBkYXRlO1xyXG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgbmV4dCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm5hdmlnYXRlKHRoaXMubmF2aWdhdG9yRGF0ZS5hZGRNb250aCh0aGlzLmludGVydmFsKSk7XHJcbiAgICB9XHJcbiAgICBwcmV2KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubmF2aWdhdGUodGhpcy5uYXZpZ2F0b3JEYXRlLmFkZE1vbnRoKC10aGlzLmludGVydmFsKSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXJyYW5nZUV2ZW50cygpIHtcclxuICAgICAgICB0aGlzLnNsb3RzLmZvckVhY2goc2xvdCA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNsb3RUZCA9IHRoaXMuZWxtLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oYFtkYXRhLXVpZD0nYCArIHNsb3QudWlkICsgYCddYCk7XHJcbiAgICAgICAgICAgIGNvbnN0IHZpZXdNb3JlRGl2ID0gc2xvdFRkLnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KCcudmlldy1tb3JlJyk7XHJcbiAgICAgICAgICAgIGxldCB2aWV3TW9yZSA9IDA7XHJcbiAgICAgICAgICAgIHZpZXdNb3JlRGl2LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XHJcbiAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gc2xvdFRkLm9mZnNldFdpZHRoO1xyXG4gICAgICAgICAgICBzbG90LmV2ZW50cy5mb3JFYWNoKGV2ZW50ID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGUgPSBzbG90VGQucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oYFtkYXRhLXVpZD0nYCArIGV2ZW50LnVpZCArIGAnXWApO1xyXG4gICAgICAgICAgICAgICAgaWYgKGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBkdXIgPSBNYXRoLmNlaWwoTWF0aC5hYnMoZXZlbnQucmFuZ2UuZHVyYXRpb24oKSkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGUuc3R5bGUudmlzaWJpbGl0eSA9ICd1bnNldCc7XHJcbiAgICAgICAgICAgICAgICAgICAgZS5zdHlsZS53aWR0aCA9IChkdXIgKiB3aWR0aCkgKyAncHgnO1xyXG4gICAgICAgICAgICAgICAgICAgIGUuc3R5bGUudG9wID0gKCh0aGlzLmZpbmRFdmVudEluZGV4KGV2ZW50KSkgKiAyNSkgKyAncHgnO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmJvdHRvbSA+PSBzbG90VGQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuYm90dG9tKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdNb3JlKys7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGUuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2aWV3TW9yZURpdi5zdHlsZS5kaXNwbGF5ID0gJ3Vuc2V0JztcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmlld01vcmVEaXYuaW5uZXJIVE1MID0gYCske3ZpZXdNb3JlfSBtb3JlYDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGZpbmRFdmVudEluZGV4KGV2ZW50OiBBWFNjaGVkdWxlckV2ZW50KTogbnVtYmVyIHtcclxuICAgICAgICBjb25zdCBhID0gdGhpcy5ldmVudHMuZmlsdGVyKGMgPT5cclxuICAgICAgICAgICAgYy5yYW5nZS5zdGFydFRpbWUuZXF1YWwoZXZlbnQucmFuZ2Uuc3RhcnRUaW1lLCAnZGF5cycpXHJcbiAgICAgICAgKS5zb3J0KChkMSwgZDIpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgdiA9IGQxLnJhbmdlLnN0YXJ0VGltZS5jb21wYWlyZU5ldyhkMi5yYW5nZS5zdGFydFRpbWUsICdZTURobScpO1xyXG4gICAgICAgICAgICByZXR1cm4gdjtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gYS5pbmRleE9mKGV2ZW50KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGRyYWdFbnRlclNsb3Q6IEhUTUxFbGVtZW50O1xyXG4gICAgcHJpdmF0ZSBkcmFnUHJldmlldzogSFRNTEVsZW1lbnQ7XHJcbiAgICBwcml2YXRlIGRyYWdIb3VyOiBudW1iZXIgPSBudWxsO1xyXG4gICAgb25EcmFnU3RhcnRlZChldmVudCkge1xyXG4gICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZHJhZ0VudGVyU2xvdCA9IGV2ZW50LnNvdXJjZS5kcm9wQ29udGFpbmVyLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcclxuICAgICAgICAgICAgdGhpcy5lbG0ubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCB0aGlzLmRyYWdlTW91c2VNb3ZlLmJpbmQodGhpcykpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgb25EcmFnRW50ZXJlZChldmVudCkge1xyXG4gICAgICAgIHRoaXMuZHJhZ1ByZXZpZXcgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PignLmNkay1kcmFnLXByZXZpZXcnKTtcclxuICAgICAgICB0aGlzLmRyYWdFbnRlclNsb3QgPSBldmVudC5jb250YWluZXIuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xyXG4gICAgfVxyXG4gICAgb25EcmFnRW5kZWQoZXZlbnQpIHtcclxuICAgICAgICB0aGlzLmRyYWdFbnRlclNsb3QgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuZHJhZ1ByZXZpZXcgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZWxtLm5hdGl2ZUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5kcmFnZU1vdXNlTW92ZS5iaW5kKHRoaXMpKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGRyYWdlTW91c2VNb3ZlKGU6IE1vdXNlRXZlbnQpIHtcclxuICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMuZHJhZ1ByZXZpZXcpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZHJhZ1ByZXZpZXcgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PignLmNkay1kcmFnLXByZXZpZXcnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAodGhpcy5kcmFnRW50ZXJTbG90ICYmIHRoaXMuZHJhZ1ByZXZpZXcpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGRpZmYgPSB0aGlzLmRyYWdQcmV2aWV3LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCAtIHRoaXMuZHJhZ0VudGVyU2xvdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3A7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBob3VyID0gTWF0aC5yb3VuZCgoZGlmZiAvIHRoaXMuZHJhZ0VudGVyU2xvdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQpICogMjQpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kcmFnUHJldmlldy5xdWVyeVNlbGVjdG9yKCcuYXgtc2NoLXN0cicpLmlubmVySFRNTCA9IGAke2hvdXIgPiAwID8gaG91ciA6IDB9OjAwYDtcclxuICAgICAgICAgICAgICAgIHRoaXMuZHJhZ0hvdXIgPSBob3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25EcmFnRHJvcE9uRGF5KGUpIHtcclxuICAgICAgICBjb25zdCBlbCA9IGUuaXRlbS5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgaWYgKGUucHJldmlvdXNDb250YWluZXIgIT09IGUuY29udGFpbmVyKSB7XHJcbiAgICAgICAgICAgIGVsLnN0eWxlLm9wYWNpdHkgPSAnMCc7XHJcbiAgICAgICAgICAgIGNvbnN0IHI6IEFYU2NoZWR1bGVyRXZlbnRDaGFuZ2VBcmdzID0gbmV3IEFYU2NoZWR1bGVyRXZlbnRDaGFuZ2VBcmdzKCk7XHJcbiAgICAgICAgICAgIHIuZXZlbnQgPSBlLml0ZW0uZGF0YTtcclxuICAgICAgICAgICAgci5vbGRTbG90ID0gZS5wcmV2aW91c0NvbnRhaW5lci5kYXRhO1xyXG4gICAgICAgICAgICByLm5ld1Nsb3QgPSBlLmNvbnRhaW5lci5kYXRhO1xyXG4gICAgICAgICAgICAvL1xyXG4gICAgICAgICAgICByLm9uQ29tcGxldGUuc3Vic2NyaWJlKChlcjogQVhTY2hlZHVsZXJFdmVudENoYW5nZUFyZ3MpID0+IHtcclxuICAgICAgICAgICAgICAgIGVsLnN0eWxlLm9wYWNpdHkgPSAnMSc7XHJcbiAgICAgICAgICAgICAgICBpZiAoIWVyLmNhbmNlbGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2xvdFRpbWUgPSBlci5uZXdTbG90LnJhbmdlLnN0YXJ0VGltZS5zdGFydE9mKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeiA9IGVyLmV2ZW50LnJhbmdlLnN0YXJ0VGltZS5jbG9uZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGR1ckRheSA9IHNsb3RUaW1lLmR1cmF0aW9uKHouc3RhcnRPZigpLCAnZGF5cycpO1xyXG4gICAgICAgICAgICAgICAgICAgIGVyLmV2ZW50LnJhbmdlLnN0YXJ0VGltZSA9IGVyLmV2ZW50LnJhbmdlLnN0YXJ0VGltZS5hZGQoJ2RheScsIGR1ckRheSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZHJhZ0hvdXIgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBlci5ldmVudC5yYW5nZS5zdGFydFRpbWUgPSBlci5ldmVudC5yYW5nZS5zdGFydFRpbWUuc2V0KCdob3VyJywgdGhpcy5kcmFnSG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVyLmV2ZW50LnJhbmdlLnN0YXJ0VGltZSA9IGVyLmV2ZW50LnJhbmdlLnN0YXJ0VGltZS5zZXQoJ21pbnV0ZScsIDApO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBlci5ldmVudC5yYW5nZS5lbmRUaW1lID0gZXIuZXZlbnQucmFuZ2UuZW5kVGltZS5hZGQoJ2RheScsIGR1ckRheSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZXIub2xkU2xvdC5ldmVudHMgPSBlci5vbGRTbG90LmV2ZW50cy5maWx0ZXIoYyA9PiBjLnVpZCAhPT0gZXIuZXZlbnQudWlkKTtcclxuICAgICAgICAgICAgICAgICAgICBlci5uZXdTbG90LmV2ZW50cy5wdXNoKGVyLmV2ZW50KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMub25FdmVudENoYW5nZWQuZW1pdChyKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwidmlldyBheC1zaGVkdWxlci1tb250aC12aWV3XCI+XHJcbiAgICA8dGFibGUgY2xhc3M9XCJoZWFkZXJcIj5cclxuICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgIDx0aCAqbmdGb3I9XCJsZXQgZCBvZiB3ZWVrRGF5c1wiIGNsYXNzPVwiaGVhZGVyLWNlbGxcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIFtjbGFzcy5zYW1lLXdlZWstZGF5XT1cImQuaW5kZXg9PXRvZGF5LmRheUluV2Vla1wiPiB7e2QudGl0bGV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC90aD5cclxuICAgICAgICA8L3RoZWFkPlxyXG4gICAgPC90YWJsZT5cclxuICAgIDx0YWJsZSBjbGFzcz1cImJvZHlcIiBjZGtEcm9wTGlzdEdyb3VwPlxyXG4gICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCByIG9mIG1hdHJpeFNsb3RzXCI+XHJcbiAgICAgICAgICAgICAgICA8dGQgKm5nRm9yPVwibGV0IGQgb2YgclwiIGNsYXNzPVwiY2VsbC1zbG90XCIgY2RrRHJvcExpc3QgW2Nka0Ryb3BMaXN0RGF0YV09XCJkXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cIm9uRHJhZ0Ryb3BPbkRheSgkZXZlbnQpXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS11aWRdPVwiZC51aWRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF5LW51bVwiIFtjbGFzcy5maXJzdC1kYXktbW9udGhdPVwiZC5yYW5nZS5zdGFydFRpbWUuZGF5SW5Nb250aD09MVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy50b2RheV09XCJkLnJhbmdlLnN0YXJ0VGltZS5lcXVhbCh0b2RheSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImQucmFuZ2Uuc3RhcnRUaW1lLmRheUluTW9udGg9PTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ZC5yYW5nZS5zdGFydFRpbWUgfCBkdDogJ01NTSd9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3tkLnJhbmdlLnN0YXJ0VGltZSB8IGR0OiAnREQnfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBlIG9mIGQuZXZlbnRzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnQgYXgtc2NoZWR1bGVyLWV2ZW50XCIgY2RrRHJhZyBbY2RrRHJhZ0RhdGFdPVwiZVwiIFthdHRyLmRhdGEtdWlkXT1cImUudWlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJlLmNvbG9yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2RrRHJhZ1N0YXJ0ZWQpPVwib25EcmFnU3RhcnRlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2RrRHJhZ0VuZGVkKT1cIm9uRHJhZ0VuZGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjZGtEcmFnRW50ZXJlZCk9XCJvbkRyYWdFbnRlcmVkKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF4LXNjaC1zdHJcIj57e2UucmFuZ2Uuc3RhcnRUaW1lIHwgZHQ6ICdISDptbSd9fTwvc3Bhbj48c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV2ZW50LXRpdGxlXCI+e3tlLnRpdGxlfX08L3NwYW4+PHNwYW4+e3tlLnJhbmdlLmVuZFRpbWUgfCBkdDogJ0hIOm1tJ319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2aWV3LW1vcmVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgPC90Ym9keT5cclxuICAgIDwvdGFibGU+XHJcbjwvZGl2PiJdfQ==
@@ -1,99 +0,0 @@
1
- import { EventEmitter } from '@angular/core';
2
- import { AXDateTime, AXDateTimeRange } from '@acorex/core';
3
- import { Output, Directive } from '@angular/core';
4
- import { AXSchedulerEventChangeArgs } from '../scheduler.class';
5
- import * as i0 from "@angular/core";
6
- export class AXSchedulerBaseViewComponent {
7
- constructor() {
8
- this.timeSlot = 1;
9
- this.interval = 1;
10
- this.today = new AXDateTime();
11
- this.onNavigatorDateChanged = new EventEmitter();
12
- this.events = [];
13
- this.slots = [];
14
- this.onEventChanged = new EventEmitter(true);
15
- }
16
- get dateRange() {
17
- if (this.slots && this.slots.length) {
18
- return new AXDateTimeRange(this.slots[0].range.startTime, this.slots[this.slots.length - 1].range.startTime);
19
- }
20
- else {
21
- return null;
22
- }
23
- }
24
- get navigatorDate() {
25
- return this._navigatorDate;
26
- }
27
- set navigatorDate(v) {
28
- this._navigatorDate = v;
29
- this.onNavigatorDateChanged.emit(v);
30
- }
31
- getEvents(range, unit) {
32
- return this.events.filter(c => c.range.startTime.equal(range.startTime, unit));
33
- }
34
- ngAfterViewChecked() {
35
- this.updateSize();
36
- }
37
- ngOnDestroy() {
38
- if (this.onEventChanged) {
39
- this.onEventChanged.unsubscribe();
40
- }
41
- if (this.onNavigatorDateChanged) {
42
- this.onEventChanged.unsubscribe();
43
- }
44
- if (this.slots) {
45
- this.slots = null;
46
- }
47
- if (this.events) {
48
- this.events = null;
49
- }
50
- }
51
- onDragDropOnDay(e, time) {
52
- const el = e.item.element.nativeElement;
53
- if (e.previousContainer !== e.container) {
54
- el.style.opacity = '0';
55
- const r = new AXSchedulerEventChangeArgs();
56
- r.event = e.item.data;
57
- r.oldSlot = e.previousContainer.data;
58
- r.newSlot = e.container.data;
59
- //
60
- r.onComplete.subscribe((er) => {
61
- el.style.opacity = '1';
62
- if (!er.canceled) {
63
- const slotTime = er.newSlot.range.startTime.startOf();
64
- const z = er.event.range.startTime.clone();
65
- const durDay = slotTime.duration(z.startOf(), 'days');
66
- const durTime = slotTime.duration(z, 'hours');
67
- const eventRange = er.event.range;
68
- //
69
- // if (time && slotTime.add('hour', time).hour + eventRange.duration('hours') > 24) {
70
- // return;
71
- // }
72
- if (time) {
73
- return;
74
- }
75
- er.event.range.startTime = er.event.range.startTime.add('day', durDay);
76
- er.event.range.endTime = er.event.range.endTime.add('day', durDay);
77
- er.oldSlot.events = er.oldSlot.events.filter(c => c.uid !== er.event.uid);
78
- if (time) {
79
- er.event.range.startTime = er.event.range.startTime.set('hour', time);
80
- let durTime = er.event.range.startTime.duration(z, 'hours') % 24;
81
- er.event.range.endTime = er.event.range.endTime.add('hour', durTime);
82
- }
83
- er.newSlot.events.push(er.event);
84
- }
85
- });
86
- this.onEventChanged.emit(r);
87
- }
88
- }
89
- }
90
- AXSchedulerBaseViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSchedulerBaseViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
91
- AXSchedulerBaseViewComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: AXSchedulerBaseViewComponent, outputs: { onNavigatorDateChanged: "onNavigatorDateChanged", onEventChanged: "onEventChanged" }, ngImport: i0 });
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSchedulerBaseViewComponent, decorators: [{
93
- type: Directive
94
- }], propDecorators: { onNavigatorDateChanged: [{
95
- type: Output
96
- }], onEventChanged: [{
97
- type: Output
98
- }] } });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGVyLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9jYWxlbmRhci9zY2hlZHVsZXIvdmlld3Mvc2NoZWR1bGVyLXZpZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBUyxZQUFZLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQVksTUFBTSxjQUFjLENBQUM7QUFDckUsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFtQiwwQkFBMEIsRUFBeUMsTUFBTSxvQkFBb0IsQ0FBQzs7QUFPeEgsTUFBTSxPQUFnQiw0QkFBNEI7SUFEbEQ7UUFJSSxhQUFRLEdBQVcsQ0FBQyxDQUFDO1FBRXJCLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFvQnJCLFVBQUssR0FBZSxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBS3JDLDJCQUFzQixHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO1FBV2xGLFdBQU0sR0FBdUIsRUFBRSxDQUFDO1FBRWhDLFVBQUssR0FBc0IsRUFBRSxDQUFDO1FBVzlCLG1CQUFjLEdBQTZDLElBQUksWUFBWSxDQUE2QixJQUFJLENBQUMsQ0FBQztLQTJEakg7SUFsR0csSUFBSSxTQUFTO1FBQ1QsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ2pDLE9BQU8sSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ2hIO2FBQ0k7WUFDRCxPQUFPLElBQUksQ0FBQztTQUNmO0lBQ0wsQ0FBQztJQVdELElBQVcsYUFBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDL0IsQ0FBQztJQUNELElBQVcsYUFBYSxDQUFDLENBQWE7UUFDbEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBTUQsU0FBUyxDQUFDLEtBQXNCLEVBQUUsSUFBYztRQUM1QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNsRixDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFNRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDckM7UUFDRCxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtZQUM3QixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3JDO1FBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1osSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7U0FDckI7UUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDYixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztTQUN0QjtJQUNMLENBQUM7SUFHRCxlQUFlLENBQUMsQ0FBQyxFQUFFLElBQWE7UUFDNUIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBNEIsQ0FBQztRQUN2RCxJQUFJLENBQUMsQ0FBQyxpQkFBaUIsS0FBSyxDQUFDLENBQUMsU0FBUyxFQUFFO1lBQ3JDLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztZQUN2QixNQUFNLENBQUMsR0FBK0IsSUFBSSwwQkFBMEIsRUFBRSxDQUFDO1lBQ3ZFLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDdEIsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDN0IsRUFBRTtZQUNGLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBOEIsRUFBRSxFQUFFO2dCQUN0RCxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFO29CQUNkLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDdEQsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUMzQyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztvQkFDdEQsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7b0JBQzlDLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO29CQUNsQyxFQUFFO29CQUNGLHFGQUFxRjtvQkFDckYsY0FBYztvQkFDZCxJQUFJO29CQUNKLElBQUksSUFBSSxFQUFFO3dCQUNOLE9BQU87cUJBQ1Y7b0JBQ0QsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO29CQUN2RSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7b0JBQ25FLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDMUUsSUFBSSxJQUFJLEVBQUU7d0JBQ04sRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO3dCQUN0RSxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7d0JBQ2pFLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztxQkFDeEU7b0JBQ0QsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFFcEM7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQy9CO0lBQ0wsQ0FBQzs7MEhBL0dpQiw0QkFBNEI7OEdBQTVCLDRCQUE0Qjs0RkFBNUIsNEJBQTRCO2tCQURqRCxTQUFTOzhCQStCTixzQkFBc0I7c0JBRHJCLE1BQU07Z0JBeUJQLGNBQWM7c0JBRGIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0LCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWERhdGVUaW1lLCBBWERhdGVUaW1lUmFuZ2UsIFRpbWVVbml0IH0gZnJvbSAnQGFjb3JleC9jb3JlJztcclxuaW1wb3J0IHsgT3V0cHV0LCBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhTY2hlZHVsZXJTbG90LCBBWFNjaGVkdWxlckV2ZW50Q2hhbmdlQXJncywgQVhTY2hlZHVsZXJFdmVudCwgQVhTY2hlZHVsZXJWaWV3VHlwZSB9IGZyb20gJy4uL3NjaGVkdWxlci5jbGFzcyc7XHJcblxyXG5cclxuXHJcblxyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWFNjaGVkdWxlckJhc2VWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHJcbiAgICB0eXBlOiBBWFNjaGVkdWxlclZpZXdUeXBlO1xyXG4gICAgdGltZVNsb3Q6IG51bWJlciA9IDE7XHJcblxyXG4gICAgaW50ZXJ2YWw6IG51bWJlciA9IDE7XHJcblxyXG4gICAgYWJzdHJhY3QgdXBkYXRlU2l6ZSgpOiB2b2lkO1xyXG5cclxuICAgIGFic3RyYWN0IG5leHQoKTogdm9pZDtcclxuXHJcbiAgICBhYnN0cmFjdCBwcmV2KCk6IHZvaWQ7XHJcblxyXG4gICAgYWJzdHJhY3QgbmF2aWdhdGUoZGF0ZTogQVhEYXRlVGltZSk6IHZvaWQ7XHJcblxyXG4gICAgZ2V0IGRhdGVSYW5nZSgpOiBBWERhdGVUaW1lUmFuZ2Uge1xyXG4gICAgICAgIGlmICh0aGlzLnNsb3RzICYmIHRoaXMuc2xvdHMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgQVhEYXRlVGltZVJhbmdlKHRoaXMuc2xvdHNbMF0ucmFuZ2Uuc3RhcnRUaW1lLCB0aGlzLnNsb3RzW3RoaXMuc2xvdHMubGVuZ3RoIC0gMV0ucmFuZ2Uuc3RhcnRUaW1lKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgdG9kYXk6IEFYRGF0ZVRpbWUgPSBuZXcgQVhEYXRlVGltZSgpO1xyXG5cclxuXHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBvbk5hdmlnYXRvckRhdGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8QVhEYXRlVGltZT4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYRGF0ZVRpbWU+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfbmF2aWdhdG9yRGF0ZTogQVhEYXRlVGltZTtcclxuICAgIHB1YmxpYyBnZXQgbmF2aWdhdG9yRGF0ZSgpOiBBWERhdGVUaW1lIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbmF2aWdhdG9yRGF0ZTtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgbmF2aWdhdG9yRGF0ZSh2OiBBWERhdGVUaW1lKSB7XHJcbiAgICAgICAgdGhpcy5fbmF2aWdhdG9yRGF0ZSA9IHY7XHJcbiAgICAgICAgdGhpcy5vbk5hdmlnYXRvckRhdGVDaGFuZ2VkLmVtaXQodik7XHJcbiAgICB9XHJcblxyXG4gICAgZXZlbnRzOiBBWFNjaGVkdWxlckV2ZW50W10gPSBbXTtcclxuXHJcbiAgICBzbG90czogQVhTY2hlZHVsZXJTbG90W10gPSBbXTtcclxuXHJcbiAgICBnZXRFdmVudHMocmFuZ2U6IEFYRGF0ZVRpbWVSYW5nZSwgdW5pdDogVGltZVVuaXQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5ldmVudHMuZmlsdGVyKGMgPT4gYy5yYW5nZS5zdGFydFRpbWUuZXF1YWwocmFuZ2Uuc3RhcnRUaW1lLCB1bml0KSlcclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVTaXplKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBvbkV2ZW50Q2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYU2NoZWR1bGVyRXZlbnRDaGFuZ2VBcmdzPiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhTY2hlZHVsZXJFdmVudENoYW5nZUFyZ3M+KHRydWUpO1xyXG5cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5vbkV2ZW50Q2hhbmdlZCkge1xyXG4gICAgICAgICAgICB0aGlzLm9uRXZlbnRDaGFuZ2VkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLm9uTmF2aWdhdG9yRGF0ZUNoYW5nZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5vbkV2ZW50Q2hhbmdlZC51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5zbG90cykge1xyXG4gICAgICAgICAgICB0aGlzLnNsb3RzID0gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuZXZlbnRzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZXZlbnRzID0gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIG9uRHJhZ0Ryb3BPbkRheShlLCB0aW1lPzogbnVtYmVyKSB7XHJcbiAgICAgICAgY29uc3QgZWwgPSBlLml0ZW0uZWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAgIGlmIChlLnByZXZpb3VzQ29udGFpbmVyICE9PSBlLmNvbnRhaW5lcikge1xyXG4gICAgICAgICAgICBlbC5zdHlsZS5vcGFjaXR5ID0gJzAnO1xyXG4gICAgICAgICAgICBjb25zdCByOiBBWFNjaGVkdWxlckV2ZW50Q2hhbmdlQXJncyA9IG5ldyBBWFNjaGVkdWxlckV2ZW50Q2hhbmdlQXJncygpO1xyXG4gICAgICAgICAgICByLmV2ZW50ID0gZS5pdGVtLmRhdGE7XHJcbiAgICAgICAgICAgIHIub2xkU2xvdCA9IGUucHJldmlvdXNDb250YWluZXIuZGF0YTtcclxuICAgICAgICAgICAgci5uZXdTbG90ID0gZS5jb250YWluZXIuZGF0YTtcclxuICAgICAgICAgICAgLy9cclxuICAgICAgICAgICAgci5vbkNvbXBsZXRlLnN1YnNjcmliZSgoZXI6IEFYU2NoZWR1bGVyRXZlbnRDaGFuZ2VBcmdzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBlbC5zdHlsZS5vcGFjaXR5ID0gJzEnO1xyXG4gICAgICAgICAgICAgICAgaWYgKCFlci5jYW5jZWxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNsb3RUaW1lID0gZXIubmV3U2xvdC5yYW5nZS5zdGFydFRpbWUuc3RhcnRPZigpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHogPSBlci5ldmVudC5yYW5nZS5zdGFydFRpbWUuY2xvbmUoKTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBkdXJEYXkgPSBzbG90VGltZS5kdXJhdGlvbih6LnN0YXJ0T2YoKSwgJ2RheXMnKTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBkdXJUaW1lID0gc2xvdFRpbWUuZHVyYXRpb24oeiwgJ2hvdXJzJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXZlbnRSYW5nZSA9IGVyLmV2ZW50LnJhbmdlO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gaWYgKHRpbWUgJiYgc2xvdFRpbWUuYWRkKCdob3VyJywgdGltZSkuaG91ciArIGV2ZW50UmFuZ2UuZHVyYXRpb24oJ2hvdXJzJykgPiAyNCkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aW1lKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZXIuZXZlbnQucmFuZ2Uuc3RhcnRUaW1lID0gZXIuZXZlbnQucmFuZ2Uuc3RhcnRUaW1lLmFkZCgnZGF5JywgZHVyRGF5KTtcclxuICAgICAgICAgICAgICAgICAgICBlci5ldmVudC5yYW5nZS5lbmRUaW1lID0gZXIuZXZlbnQucmFuZ2UuZW5kVGltZS5hZGQoJ2RheScsIGR1ckRheSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZXIub2xkU2xvdC5ldmVudHMgPSBlci5vbGRTbG90LmV2ZW50cy5maWx0ZXIoYyA9PiBjLnVpZCAhPT0gZXIuZXZlbnQudWlkKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGltZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBlci5ldmVudC5yYW5nZS5zdGFydFRpbWUgPSBlci5ldmVudC5yYW5nZS5zdGFydFRpbWUuc2V0KCdob3VyJywgdGltZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBkdXJUaW1lID0gZXIuZXZlbnQucmFuZ2Uuc3RhcnRUaW1lLmR1cmF0aW9uKHosICdob3VycycpICUgMjQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVyLmV2ZW50LnJhbmdlLmVuZFRpbWUgPSBlci5ldmVudC5yYW5nZS5lbmRUaW1lLmFkZCgnaG91cicsIGR1clRpbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBlci5uZXdTbG90LmV2ZW50cy5wdXNoKGVyLmV2ZW50KTtcclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB0aGlzLm9uRXZlbnRDaGFuZ2VkLmVtaXQocik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufSJdfQ==