@progress/kendo-vue-scheduler 3.5.0 → 3.5.1-dev.202208150613

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 (441) hide show
  1. package/README.md +2 -2
  2. package/dist/cdn/js/kendo-vue-scheduler.js +2 -16
  3. package/dist/cdn/js/kendo-vue-scheduler.js.LICENSE.txt +14 -0
  4. package/dist/es/Scheduler.js +9 -13
  5. package/dist/es/components/CurrentTimeMarker.js +3 -3
  6. package/dist/es/components/CurrentTimeMarkerArrow.js +2 -2
  7. package/dist/es/hooks/use-items-selection.js +9 -13
  8. package/dist/es/hooks/use-slots-selection.js +7 -11
  9. package/dist/es/hooks/useCellSync.js +1 -1
  10. package/dist/es/items/SchedulerItem.js +1 -1
  11. package/dist/es/items/SchedulerViewItem.js +1 -1
  12. package/dist/es/items/hooks/use-drag-item.js +7 -11
  13. package/dist/es/items/hooks/use-form-item.d.ts +5 -1
  14. package/dist/es/items/hooks/use-remove-item.d.ts +5 -1
  15. package/dist/es/items/hooks/use-resize-item.js +8 -12
  16. package/dist/es/models/DataItem.js +1 -0
  17. package/dist/es/models/DateRange.js +1 -0
  18. package/dist/es/models/EditableProp.js +1 -0
  19. package/dist/es/models/Fields.js +1 -0
  20. package/dist/es/models/Group.js +1 -0
  21. package/dist/es/models/Item.js +1 -0
  22. package/dist/es/models/NavigationAction.js +1 -0
  23. package/dist/es/models/Occurrence.js +1 -0
  24. package/dist/es/models/Omit.js +1 -0
  25. package/dist/es/models/Orientation.js +1 -0
  26. package/dist/es/models/Range.js +1 -0
  27. package/dist/es/models/Rect.js +1 -0
  28. package/dist/es/models/Resource.js +1 -0
  29. package/dist/es/models/SchedulerGroup.js +1 -0
  30. package/dist/es/models/SchedulerHandle.js +1 -0
  31. package/dist/es/models/SchedulerModelFields.js +1 -0
  32. package/dist/es/models/SchedulerResource.js +1 -0
  33. package/dist/es/models/SchedulerView.js +1 -0
  34. package/dist/es/models/Slot.js +1 -0
  35. package/dist/es/models/events.js +1 -0
  36. package/dist/es/package-metadata.js +1 -1
  37. package/dist/es/recurrence/RecurrenceRepeatOnWeekEditor.js +7 -11
  38. package/dist/es/recurrence/types/EndRule.js +1 -0
  39. package/dist/es/recurrence/types/Frequency.js +1 -0
  40. package/dist/es/recurrence/types/FrequencyEntity.js +1 -0
  41. package/dist/es/recurrence/types/MonthEntity.js +1 -0
  42. package/dist/es/recurrence/types/OffsetPosition.js +1 -0
  43. package/dist/es/recurrence/types/OffsetPositionEntity.js +1 -0
  44. package/dist/es/recurrence/types/RepeatOnRule.js +1 -0
  45. package/dist/es/recurrence/types/WeekDayEntity.js +1 -0
  46. package/dist/es/recurrence/types/WeekDayRule.js +1 -0
  47. package/dist/es/services/itemsService.js +1 -7
  48. package/dist/es/services/occurrenceService.js +10 -8
  49. package/dist/es/slots/SchedulerSlot.js +1 -1
  50. package/dist/es/utils/index.js +14 -12
  51. package/dist/es/views/agenda/AgendaView.js +2 -1
  52. package/dist/es/views/agenda/AgendaViewBody.js +2 -2
  53. package/dist/es/views/common/utils.js +14 -12
  54. package/dist/es/views/day/DayViewAllDaySlots.js +1 -1
  55. package/dist/es/views/day/DayViewMiddleRow.js +1 -1
  56. package/dist/es/views/day/DayViewVerticalRow.js +1 -1
  57. package/dist/es/views/day/DayViewVerticalSlotsRow.js +1 -1
  58. package/dist/es/views/day/MultiDayView.js +16 -20
  59. package/dist/es/views/month/MonthView.js +2 -2
  60. package/dist/es/views/time/MultiDayTimelineView.js +10 -14
  61. package/dist/es/views/time/TimelineViewBody.js +1 -1
  62. package/dist/esm/Scheduler.d.ts +341 -0
  63. package/dist/esm/Scheduler.js +656 -0
  64. package/dist/esm/additionalTypes.ts +21 -0
  65. package/dist/esm/components/BaseView.d.ts +51 -0
  66. package/dist/esm/components/BaseView.js +145 -0
  67. package/dist/esm/components/CurrentTimeMarker.d.ts +50 -0
  68. package/dist/esm/components/CurrentTimeMarker.js +168 -0
  69. package/dist/esm/components/CurrentTimeMarkerArrow.d.ts +47 -0
  70. package/dist/esm/components/CurrentTimeMarkerArrow.js +141 -0
  71. package/dist/esm/components/DateHeaderCell.d.ts +76 -0
  72. package/dist/esm/components/DateHeaderCell.js +67 -0
  73. package/dist/esm/components/SchedulerActionButtons.d.ts +48 -0
  74. package/dist/esm/components/SchedulerActionButtons.js +103 -0
  75. package/dist/esm/components/SchedulerForm.d.ts +73 -0
  76. package/dist/esm/components/SchedulerForm.js +234 -0
  77. package/dist/esm/components/SchedulerOccurrenceDialog.d.ts +76 -0
  78. package/dist/esm/components/SchedulerOccurrenceDialog.js +185 -0
  79. package/dist/esm/components/SchedulerRemoveDialog.d.ts +72 -0
  80. package/dist/esm/components/SchedulerRemoveDialog.js +166 -0
  81. package/dist/esm/components/ShowMoreItemsButton.d.ts +56 -0
  82. package/dist/esm/components/ShowMoreItemsButton.js +69 -0
  83. package/dist/esm/components/TimeHeaderCell.d.ts +76 -0
  84. package/dist/esm/components/TimeHeaderCell.js +65 -0
  85. package/dist/esm/components/footer/SchedulerFooter.d.ts +52 -0
  86. package/dist/esm/components/footer/SchedulerFooter.js +43 -0
  87. package/dist/esm/components/footer/bussiness-hours/BusinessHours.d.ts +50 -0
  88. package/dist/esm/components/footer/bussiness-hours/BusinessHours.js +96 -0
  89. package/dist/esm/components/header/SchedulerHeader.d.ts +49 -0
  90. package/dist/esm/components/header/SchedulerHeader.js +35 -0
  91. package/dist/esm/components/header/navigation/DatePickerToggleButton.d.ts +42 -0
  92. package/dist/esm/components/header/navigation/DatePickerToggleButton.js +102 -0
  93. package/dist/esm/components/header/navigation/NavigationDatePicker.d.ts +42 -0
  94. package/dist/esm/components/header/navigation/NavigationDatePicker.js +97 -0
  95. package/dist/esm/components/header/navigation/SchedulerNavigation.d.ts +49 -0
  96. package/dist/esm/components/header/navigation/SchedulerNavigation.js +354 -0
  97. package/dist/esm/components/header/view-selector/SchedulerViewSelector.d.ts +49 -0
  98. package/dist/esm/components/header/view-selector/SchedulerViewSelector.js +42 -0
  99. package/dist/esm/components/header/view-selector/ViewSelectorItem.d.ts +47 -0
  100. package/dist/esm/components/header/view-selector/ViewSelectorItem.js +79 -0
  101. package/dist/esm/components/header/view-selector/ViewSelectorList.d.ts +42 -0
  102. package/dist/esm/components/header/view-selector/ViewSelectorList.js +176 -0
  103. package/dist/esm/constants/index.d.ts +49 -0
  104. package/dist/esm/constants/index.js +55 -0
  105. package/dist/esm/context/SchedulerContext.d.ts +22 -0
  106. package/dist/esm/context/SchedulerContext.js +4 -0
  107. package/dist/esm/context/SchedulerEditItemContext.d.ts +16 -0
  108. package/dist/esm/context/SchedulerEditItemContext.js +4 -0
  109. package/dist/esm/context/SchedulerEditSlotContext.d.ts +11 -0
  110. package/dist/esm/context/SchedulerEditSlotContext.js +4 -0
  111. package/dist/esm/context/SchedulerEditTaskContext.d.ts +12 -0
  112. package/dist/esm/context/SchedulerEditTaskContext.js +4 -0
  113. package/dist/esm/context/SchedulerResourceIteratorContext.d.ts +43 -0
  114. package/dist/esm/context/SchedulerResourceIteratorContext.js +57 -0
  115. package/dist/esm/context/SchedulerViewContext.d.ts +18 -0
  116. package/dist/esm/context/SchedulerViewContext.js +4 -0
  117. package/dist/esm/context/index.d.ts +5 -0
  118. package/dist/esm/context/index.js +5 -0
  119. package/dist/esm/editors/FilterableComboBox.d.ts +42 -0
  120. package/dist/esm/editors/FilterableComboBox.js +94 -0
  121. package/dist/esm/editors/ResourceEditor.d.ts +53 -0
  122. package/dist/esm/editors/ResourceEditor.js +149 -0
  123. package/dist/esm/editors/SchedulerFormEditor.d.ts +262 -0
  124. package/dist/esm/editors/SchedulerFormEditor.js +1079 -0
  125. package/dist/esm/editors/ZonedDateTime.d.ts +51 -0
  126. package/dist/esm/editors/ZonedDateTime.js +117 -0
  127. package/dist/esm/editors/common.d.ts +12 -0
  128. package/dist/esm/editors/common.js +29 -0
  129. package/dist/esm/hooks/index.d.ts +9 -0
  130. package/dist/esm/hooks/index.js +9 -0
  131. package/dist/esm/hooks/use-items-focus.d.ts +23 -0
  132. package/dist/esm/hooks/use-items-focus.js +73 -0
  133. package/dist/esm/hooks/use-items-selection.d.ts +30 -0
  134. package/dist/esm/hooks/use-items-selection.js +109 -0
  135. package/dist/esm/hooks/use-slots-focus.d.ts +33 -0
  136. package/dist/esm/hooks/use-slots-focus.js +118 -0
  137. package/dist/esm/hooks/use-slots-selection.d.ts +23 -0
  138. package/dist/esm/hooks/use-slots-selection.js +60 -0
  139. package/dist/esm/hooks/useAsyncMouseEnterLeave.d.ts +10 -0
  140. package/dist/esm/hooks/useAsyncMouseEnterLeave.js +29 -0
  141. package/dist/esm/hooks/useCellSync.d.ts +9 -0
  142. package/dist/esm/hooks/useCellSync.js +51 -0
  143. package/dist/esm/hooks/useEditable.d.ts +3 -0
  144. package/dist/esm/hooks/useEditable.js +19 -0
  145. package/dist/esm/hooks/usePropOrState.d.ts +2 -0
  146. package/dist/esm/hooks/usePropOrState.js +8 -0
  147. package/dist/esm/hooks/useRowSync.d.ts +10 -0
  148. package/dist/esm/hooks/useRowSync.js +55 -0
  149. package/dist/esm/hooks/useSchedulerSlot.d.ts +6 -0
  150. package/dist/esm/hooks/useSchedulerSlot.js +7 -0
  151. package/dist/esm/hooks/useSlotExpand.d.ts +3 -0
  152. package/dist/esm/hooks/useSlotExpand.js +70 -0
  153. package/dist/esm/hooks/useWorkHours.d.ts +2 -0
  154. package/dist/esm/hooks/useWorkHours.js +4 -0
  155. package/dist/esm/items/SchedulerEditItem.d.ts +357 -0
  156. package/dist/esm/items/SchedulerEditItem.js +1127 -0
  157. package/dist/esm/items/SchedulerItem.d.ts +236 -0
  158. package/dist/esm/items/SchedulerItem.js +861 -0
  159. package/dist/esm/items/SchedulerItemContent.d.ts +47 -0
  160. package/dist/esm/items/SchedulerItemContent.js +37 -0
  161. package/dist/esm/items/SchedulerViewItem.d.ts +61 -0
  162. package/dist/esm/items/SchedulerViewItem.js +596 -0
  163. package/dist/esm/items/hooks/use-drag-item.d.ts +34 -0
  164. package/dist/esm/items/hooks/use-drag-item.js +255 -0
  165. package/dist/esm/items/hooks/use-form-item.d.ts +22 -0
  166. package/dist/esm/items/hooks/use-form-item.js +50 -0
  167. package/dist/esm/items/hooks/use-remove-item.d.ts +30 -0
  168. package/dist/esm/items/hooks/use-remove-item.js +48 -0
  169. package/dist/esm/items/hooks/use-resize-item.d.ts +39 -0
  170. package/dist/esm/items/hooks/use-resize-item.js +307 -0
  171. package/dist/esm/items/hooks/use-series.d.ts +25 -0
  172. package/dist/esm/items/hooks/use-series.js +44 -0
  173. package/dist/esm/items/hooks/use-show-occurrence-dialog.d.ts +29 -0
  174. package/dist/esm/items/hooks/use-show-occurrence-dialog.js +55 -0
  175. package/dist/esm/items/hooks/use-show-remove-item-dialog.d.ts +29 -0
  176. package/dist/esm/items/hooks/use-show-remove-item-dialog.js +54 -0
  177. package/dist/esm/main.d.ts +43 -0
  178. package/dist/esm/main.js +49 -0
  179. package/dist/esm/messages/index.d.ts +233 -0
  180. package/dist/esm/messages/index.js +234 -0
  181. package/dist/esm/models/DataItem.d.ts +8 -0
  182. package/dist/esm/models/DataItem.js +1 -0
  183. package/dist/esm/models/DateRange.d.ts +18 -0
  184. package/dist/esm/models/DateRange.js +1 -0
  185. package/dist/esm/models/EditableProp.d.ts +29 -0
  186. package/dist/esm/models/EditableProp.js +1 -0
  187. package/dist/esm/models/Fields.d.ts +17 -0
  188. package/dist/esm/models/Fields.js +1 -0
  189. package/dist/esm/models/Group.d.ts +8 -0
  190. package/dist/esm/models/Group.js +1 -0
  191. package/dist/esm/models/Item.d.ts +62 -0
  192. package/dist/esm/models/Item.js +1 -0
  193. package/dist/esm/models/NavigationAction.d.ts +17 -0
  194. package/dist/esm/models/NavigationAction.js +1 -0
  195. package/dist/esm/models/Occurrence.d.ts +52 -0
  196. package/dist/esm/models/Occurrence.js +1 -0
  197. package/dist/esm/models/Omit.d.ts +4 -0
  198. package/dist/esm/models/Omit.js +1 -0
  199. package/dist/esm/models/Orientation.d.ts +2 -0
  200. package/dist/esm/models/Orientation.js +1 -0
  201. package/dist/esm/models/Range.d.ts +10 -0
  202. package/dist/esm/models/Range.js +1 -0
  203. package/dist/esm/models/Rect.d.ts +15 -0
  204. package/dist/esm/models/Rect.js +1 -0
  205. package/dist/esm/models/Resource.d.ts +8 -0
  206. package/dist/esm/models/Resource.js +1 -0
  207. package/dist/esm/models/SchedulerGroup.d.ts +13 -0
  208. package/dist/esm/models/SchedulerGroup.js +1 -0
  209. package/dist/esm/models/SchedulerHandle.d.ts +6 -0
  210. package/dist/esm/models/SchedulerHandle.js +1 -0
  211. package/dist/esm/models/SchedulerModelFields.d.ts +62 -0
  212. package/dist/esm/models/SchedulerModelFields.js +1 -0
  213. package/dist/esm/models/SchedulerResource.d.ts +33 -0
  214. package/dist/esm/models/SchedulerResource.js +1 -0
  215. package/dist/esm/models/SchedulerView.d.ts +83 -0
  216. package/dist/esm/models/SchedulerView.js +1 -0
  217. package/dist/esm/models/Slot.d.ts +49 -0
  218. package/dist/esm/models/Slot.js +1 -0
  219. package/dist/esm/models/events.d.ts +81 -0
  220. package/dist/esm/models/events.js +1 -0
  221. package/dist/esm/models/index.d.ts +17 -0
  222. package/dist/esm/models/index.js +17 -0
  223. package/dist/esm/package-metadata.d.ts +5 -0
  224. package/dist/esm/package-metadata.js +11 -0
  225. package/dist/esm/package.json +3 -0
  226. package/dist/esm/recurrence/RecurrenceEditor.d.ts +54 -0
  227. package/dist/esm/recurrence/RecurrenceEditor.js +772 -0
  228. package/dist/esm/recurrence/RecurrenceFrequencyEditor.d.ts +48 -0
  229. package/dist/esm/recurrence/RecurrenceFrequencyEditor.js +101 -0
  230. package/dist/esm/recurrence/RecurrenceRepeatOnWeekEditor.d.ts +51 -0
  231. package/dist/esm/recurrence/RecurrenceRepeatOnWeekEditor.js +135 -0
  232. package/dist/esm/recurrence/common.d.ts +57 -0
  233. package/dist/esm/recurrence/common.js +212 -0
  234. package/dist/esm/recurrence/types/EndRule.d.ts +4 -0
  235. package/dist/esm/recurrence/types/EndRule.js +1 -0
  236. package/dist/esm/recurrence/types/Frequency.d.ts +4 -0
  237. package/dist/esm/recurrence/types/Frequency.js +1 -0
  238. package/dist/esm/recurrence/types/FrequencyEntity.d.ts +8 -0
  239. package/dist/esm/recurrence/types/FrequencyEntity.js +1 -0
  240. package/dist/esm/recurrence/types/MonthEntity.d.ts +7 -0
  241. package/dist/esm/recurrence/types/MonthEntity.js +1 -0
  242. package/dist/esm/recurrence/types/OffsetPosition.d.ts +4 -0
  243. package/dist/esm/recurrence/types/OffsetPosition.js +1 -0
  244. package/dist/esm/recurrence/types/OffsetPositionEntity.d.ts +7 -0
  245. package/dist/esm/recurrence/types/OffsetPositionEntity.js +1 -0
  246. package/dist/esm/recurrence/types/RepeatOnRule.d.ts +4 -0
  247. package/dist/esm/recurrence/types/RepeatOnRule.js +1 -0
  248. package/dist/esm/recurrence/types/WeekDayEntity.d.ts +7 -0
  249. package/dist/esm/recurrence/types/WeekDayEntity.js +1 -0
  250. package/dist/esm/recurrence/types/WeekDayRule.d.ts +8 -0
  251. package/dist/esm/recurrence/types/WeekDayRule.js +1 -0
  252. package/dist/esm/recurrence/utils/index.d.ts +1 -0
  253. package/dist/esm/recurrence/utils/index.js +0 -0
  254. package/dist/esm/reducers/editReducer.d.ts +33 -0
  255. package/dist/esm/reducers/editReducer.js +65 -0
  256. package/dist/esm/reducers/index.d.ts +1 -0
  257. package/dist/esm/reducers/index.js +1 -0
  258. package/dist/esm/services/index.d.ts +4 -0
  259. package/dist/esm/services/index.js +4 -0
  260. package/dist/esm/services/itemsService.d.ts +14 -0
  261. package/dist/esm/services/itemsService.js +76 -0
  262. package/dist/esm/services/occurrenceService.d.ts +7 -0
  263. package/dist/esm/services/occurrenceService.js +92 -0
  264. package/dist/esm/services/rangeService.d.ts +6 -0
  265. package/dist/esm/services/rangeService.js +23 -0
  266. package/dist/esm/services/slotsService.d.ts +8 -0
  267. package/dist/esm/services/slotsService.js +42 -0
  268. package/dist/esm/slots/SchedulerEditSlot.d.ts +80 -0
  269. package/dist/esm/slots/SchedulerEditSlot.js +375 -0
  270. package/dist/esm/slots/SchedulerSlot.d.ts +144 -0
  271. package/dist/esm/slots/SchedulerSlot.js +345 -0
  272. package/dist/esm/slots/SchedulerViewSlot.d.ts +73 -0
  273. package/dist/esm/slots/SchedulerViewSlot.js +220 -0
  274. package/dist/esm/tasks/SchedulerEditTask.d.ts +113 -0
  275. package/dist/esm/tasks/SchedulerEditTask.js +330 -0
  276. package/dist/esm/tasks/SchedulerTask.d.ts +82 -0
  277. package/dist/esm/tasks/SchedulerTask.js +223 -0
  278. package/dist/esm/tasks/SchedulerViewTask.d.ts +58 -0
  279. package/dist/esm/tasks/SchedulerViewTask.js +160 -0
  280. package/dist/esm/utils/index.d.ts +185 -0
  281. package/dist/esm/utils/index.js +591 -0
  282. package/dist/esm/views/agenda/AgendaView.d.ts +107 -0
  283. package/dist/esm/views/agenda/AgendaView.js +342 -0
  284. package/dist/esm/views/agenda/AgendaViewBody.d.ts +50 -0
  285. package/dist/esm/views/agenda/AgendaViewBody.js +225 -0
  286. package/dist/esm/views/agenda/AgendaViewHead.d.ts +46 -0
  287. package/dist/esm/views/agenda/AgendaViewHead.js +58 -0
  288. package/dist/esm/views/agenda/AgendaViewHeaderItem.d.ts +46 -0
  289. package/dist/esm/views/agenda/AgendaViewHeaderItem.js +49 -0
  290. package/dist/esm/views/common/HorizontalResourceIterator.d.ts +61 -0
  291. package/dist/esm/views/common/HorizontalResourceIterator.js +185 -0
  292. package/dist/esm/views/common/SchedulerDrag.d.ts +64 -0
  293. package/dist/esm/views/common/SchedulerDrag.js +147 -0
  294. package/dist/esm/views/common/SchedulerResize.d.ts +67 -0
  295. package/dist/esm/views/common/SchedulerResize.js +152 -0
  296. package/dist/esm/views/common/VerticalResourceIterator.d.ts +56 -0
  297. package/dist/esm/views/common/VerticalResourceIterator.js +382 -0
  298. package/dist/esm/views/common/utils.d.ts +34 -0
  299. package/dist/esm/views/common/utils.js +189 -0
  300. package/dist/esm/views/day/DayView.d.ts +43 -0
  301. package/dist/esm/views/day/DayView.js +193 -0
  302. package/dist/esm/views/day/DayViewAllDayRowContent.d.ts +41 -0
  303. package/dist/esm/views/day/DayViewAllDayRowContent.js +42 -0
  304. package/dist/esm/views/day/DayViewAllDaySlots.d.ts +48 -0
  305. package/dist/esm/views/day/DayViewAllDaySlots.js +111 -0
  306. package/dist/esm/views/day/DayViewGroupRowContent.d.ts +41 -0
  307. package/dist/esm/views/day/DayViewGroupRowContent.js +35 -0
  308. package/dist/esm/views/day/DayViewHead.d.ts +42 -0
  309. package/dist/esm/views/day/DayViewHead.js +64 -0
  310. package/dist/esm/views/day/DayViewMiddleRow.d.ts +53 -0
  311. package/dist/esm/views/day/DayViewMiddleRow.js +118 -0
  312. package/dist/esm/views/day/DayViewRowContent.d.ts +45 -0
  313. package/dist/esm/views/day/DayViewRowContent.js +53 -0
  314. package/dist/esm/views/day/DayViewVerticalRow.d.ts +44 -0
  315. package/dist/esm/views/day/DayViewVerticalRow.js +108 -0
  316. package/dist/esm/views/day/DayViewVerticalSlotsRow.d.ts +56 -0
  317. package/dist/esm/views/day/DayViewVerticalSlotsRow.js +157 -0
  318. package/dist/esm/views/day/MultiDayView.d.ts +181 -0
  319. package/dist/esm/views/day/MultiDayView.js +1461 -0
  320. package/dist/esm/views/month/MonthView.d.ts +102 -0
  321. package/dist/esm/views/month/MonthView.js +658 -0
  322. package/dist/esm/views/month/MonthViewBody.d.ts +48 -0
  323. package/dist/esm/views/month/MonthViewBody.js +143 -0
  324. package/dist/esm/views/month/MonthViewHead.d.ts +42 -0
  325. package/dist/esm/views/month/MonthViewHead.js +72 -0
  326. package/dist/esm/views/time/MultiDayTimelineView.d.ts +175 -0
  327. package/dist/esm/views/time/MultiDayTimelineView.js +859 -0
  328. package/dist/esm/views/time/TimelineView.d.ts +43 -0
  329. package/dist/esm/views/time/TimelineView.js +201 -0
  330. package/dist/esm/views/time/TimelineViewAllEventsRowContent.d.ts +40 -0
  331. package/dist/esm/views/time/TimelineViewAllEventsRowContent.js +44 -0
  332. package/dist/esm/views/time/TimelineViewBody.d.ts +49 -0
  333. package/dist/esm/views/time/TimelineViewBody.js +119 -0
  334. package/dist/esm/views/time/TimelineViewRowContent.d.ts +40 -0
  335. package/dist/esm/views/time/TimelineViewRowContent.js +31 -0
  336. package/dist/esm/views/week/WeekView.d.ts +114 -0
  337. package/dist/esm/views/week/WeekView.js +219 -0
  338. package/dist/esm/views/week/WorkWeekView.d.ts +40 -0
  339. package/dist/esm/views/week/WorkWeekView.js +208 -0
  340. package/dist/npm/Scheduler.js +52 -56
  341. package/dist/npm/components/BaseView.js +3 -3
  342. package/dist/npm/components/CurrentTimeMarker.js +10 -10
  343. package/dist/npm/components/CurrentTimeMarkerArrow.js +8 -8
  344. package/dist/npm/components/DateHeaderCell.js +1 -1
  345. package/dist/npm/components/SchedulerForm.js +2 -2
  346. package/dist/npm/components/SchedulerOccurrenceDialog.js +2 -2
  347. package/dist/npm/components/SchedulerRemoveDialog.js +2 -2
  348. package/dist/npm/components/TimeHeaderCell.js +1 -1
  349. package/dist/npm/components/footer/SchedulerFooter.js +1 -1
  350. package/dist/npm/components/footer/bussiness-hours/BusinessHours.js +2 -2
  351. package/dist/npm/components/header/SchedulerHeader.js +1 -1
  352. package/dist/npm/components/header/navigation/DatePickerToggleButton.js +1 -1
  353. package/dist/npm/components/header/navigation/NavigationDatePicker.js +2 -2
  354. package/dist/npm/components/header/navigation/SchedulerNavigation.js +2 -2
  355. package/dist/npm/components/header/view-selector/SchedulerViewSelector.js +1 -1
  356. package/dist/npm/components/header/view-selector/ViewSelectorItem.js +1 -1
  357. package/dist/npm/components/header/view-selector/ViewSelectorList.js +1 -1
  358. package/dist/npm/constants/index.js +1 -1
  359. package/dist/npm/context/SchedulerContext.js +4 -2
  360. package/dist/npm/context/SchedulerEditItemContext.js +4 -2
  361. package/dist/npm/context/SchedulerEditSlotContext.js +4 -2
  362. package/dist/npm/context/SchedulerEditTaskContext.js +4 -2
  363. package/dist/npm/context/SchedulerResourceIteratorContext.js +1 -1
  364. package/dist/npm/context/SchedulerViewContext.js +4 -2
  365. package/dist/npm/context/index.js +6 -2
  366. package/dist/npm/editors/FilterableComboBox.js +1 -1
  367. package/dist/npm/editors/ResourceEditor.js +1 -1
  368. package/dist/npm/editors/SchedulerFormEditor.js +3 -3
  369. package/dist/npm/editors/ZonedDateTime.js +1 -1
  370. package/dist/npm/editors/common.js +6 -4
  371. package/dist/npm/hooks/index.js +6 -2
  372. package/dist/npm/hooks/use-items-focus.js +7 -5
  373. package/dist/npm/hooks/use-items-selection.js +15 -17
  374. package/dist/npm/hooks/use-slots-focus.js +20 -14
  375. package/dist/npm/hooks/use-slots-selection.js +11 -13
  376. package/dist/npm/hooks/useAsyncMouseEnterLeave.js +4 -2
  377. package/dist/npm/hooks/useCellSync.js +7 -5
  378. package/dist/npm/hooks/useEditable.js +4 -2
  379. package/dist/npm/hooks/usePropOrState.js +4 -2
  380. package/dist/npm/hooks/useRowSync.js +6 -4
  381. package/dist/npm/hooks/useSchedulerSlot.js +4 -2
  382. package/dist/npm/hooks/useSlotExpand.js +8 -6
  383. package/dist/npm/hooks/useWorkHours.js +4 -2
  384. package/dist/npm/items/SchedulerEditItem.js +10 -10
  385. package/dist/npm/items/SchedulerItem.js +6 -6
  386. package/dist/npm/items/SchedulerItemContent.js +1 -1
  387. package/dist/npm/items/SchedulerViewItem.js +12 -12
  388. package/dist/npm/items/hooks/use-drag-item.js +32 -34
  389. package/dist/npm/items/hooks/use-form-item.d.ts +5 -1
  390. package/dist/npm/items/hooks/use-form-item.js +4 -2
  391. package/dist/npm/items/hooks/use-remove-item.d.ts +5 -1
  392. package/dist/npm/items/hooks/use-remove-item.js +4 -2
  393. package/dist/npm/items/hooks/use-resize-item.js +40 -42
  394. package/dist/npm/items/hooks/use-series.js +7 -4
  395. package/dist/npm/items/hooks/use-show-occurrence-dialog.js +7 -4
  396. package/dist/npm/items/hooks/use-show-remove-item-dialog.js +7 -4
  397. package/dist/npm/messages/index.js +2 -1
  398. package/dist/npm/models/index.js +6 -2
  399. package/dist/npm/package-metadata.js +1 -1
  400. package/dist/npm/recurrence/RecurrenceEditor.js +25 -25
  401. package/dist/npm/recurrence/RecurrenceRepeatOnWeekEditor.js +11 -15
  402. package/dist/npm/recurrence/common.js +50 -32
  403. package/dist/npm/reducers/editReducer.js +2 -1
  404. package/dist/npm/reducers/index.js +6 -2
  405. package/dist/npm/services/index.js +6 -2
  406. package/dist/npm/services/itemsService.js +14 -16
  407. package/dist/npm/services/occurrenceService.js +37 -34
  408. package/dist/npm/services/rangeService.js +2 -1
  409. package/dist/npm/services/slotsService.js +2 -1
  410. package/dist/npm/slots/SchedulerEditSlot.js +13 -13
  411. package/dist/npm/slots/SchedulerSlot.js +3 -3
  412. package/dist/npm/slots/SchedulerViewSlot.js +4 -4
  413. package/dist/npm/tasks/SchedulerEditTask.js +3 -3
  414. package/dist/npm/tasks/SchedulerTask.js +3 -3
  415. package/dist/npm/tasks/SchedulerViewTask.js +1 -1
  416. package/dist/npm/utils/index.js +142 -95
  417. package/dist/npm/views/agenda/AgendaView.js +20 -19
  418. package/dist/npm/views/agenda/AgendaViewBody.js +4 -4
  419. package/dist/npm/views/agenda/AgendaViewHead.js +1 -1
  420. package/dist/npm/views/agenda/AgendaViewHeaderItem.js +1 -1
  421. package/dist/npm/views/common/HorizontalResourceIterator.js +7 -6
  422. package/dist/npm/views/common/SchedulerDrag.js +3 -3
  423. package/dist/npm/views/common/SchedulerResize.js +3 -3
  424. package/dist/npm/views/common/VerticalResourceIterator.js +2 -2
  425. package/dist/npm/views/common/utils.js +34 -23
  426. package/dist/npm/views/day/DayView.js +1 -1
  427. package/dist/npm/views/day/DayViewAllDayRowContent.js +1 -1
  428. package/dist/npm/views/day/DayViewAllDaySlots.js +1 -1
  429. package/dist/npm/views/day/DayViewMiddleRow.js +4 -4
  430. package/dist/npm/views/day/DayViewRowContent.js +1 -1
  431. package/dist/npm/views/day/DayViewVerticalRow.js +1 -1
  432. package/dist/npm/views/day/DayViewVerticalSlotsRow.js +4 -4
  433. package/dist/npm/views/day/MultiDayView.js +40 -44
  434. package/dist/npm/views/month/MonthView.js +15 -15
  435. package/dist/npm/views/month/MonthViewBody.js +1 -1
  436. package/dist/npm/views/time/MultiDayTimelineView.js +29 -33
  437. package/dist/npm/views/time/TimelineViewAllEventsRowContent.js +1 -1
  438. package/dist/npm/views/time/TimelineViewBody.js +4 -4
  439. package/dist/npm/views/week/WeekView.js +6 -6
  440. package/dist/npm/views/week/WorkWeekView.js +5 -5
  441. package/package.json +18 -12
@@ -0,0 +1,51 @@
1
+ import { DefineComponent, RecordPropsDefinition, ComponentOptions, Vue2type } from '../additionalTypes';
2
+ declare type DefaultData<V> = object | ((this: V) => {});
3
+ declare type DefaultMethods<V> = {
4
+ [key: string]: (this: V, ...args: any[]) => any;
5
+ };
6
+ import { Range, SchedulerViewProps } from '../models';
7
+ /**
8
+ * @hidden
9
+ */
10
+ export interface BaseViewProps {
11
+ viewProps: SchedulerViewProps;
12
+ baseSlots: any[];
13
+ ranges: Range[];
14
+ id?: string;
15
+ }
16
+ /**
17
+ * @hidden
18
+ */
19
+ export interface BaseViewState {
20
+ }
21
+ /**
22
+ * @hidden
23
+ */
24
+ export interface BaseViewComputed {
25
+ [key: string]: any;
26
+ }
27
+ /**
28
+ * @hidden
29
+ */
30
+ export interface BaseViewMethods {
31
+ [key: string]: any;
32
+ }
33
+ /**
34
+ * @hidden
35
+ */
36
+ export interface BaseViewData {
37
+ }
38
+ /**
39
+ * @hidden
40
+ */
41
+ export interface BaseViewAll extends Vue2type, BaseViewMethods, BaseViewData, BaseViewComputed, BaseViewState {
42
+ }
43
+ /**
44
+ * @hidden
45
+ */
46
+ declare let BaseViewVue2: ComponentOptions<BaseViewAll, DefaultData<BaseViewData>, DefaultMethods<BaseViewAll>, BaseViewComputed, RecordPropsDefinition<BaseViewProps>>;
47
+ /**
48
+ * @hidden
49
+ */
50
+ declare const BaseView: DefineComponent<{}, any, BaseViewData, BaseViewComputed, BaseViewMethods, {}, {}, {}, string, {}, {}, {}>;
51
+ export { BaseView, BaseViewVue2 };
@@ -0,0 +1,145 @@
1
+ // @ts-ignore
2
+ import * as Vue from 'vue';
3
+ var allVue = Vue;
4
+ var gh = allVue.h;
5
+ var isV3 = allVue.version && allVue.version[0] === '3';
6
+ import { useCellSync, dispatchFocusedItems, dispatchFocusedSlots } from '../hooks'; // import { SchedulerItemHandle, SchedulerSlotHandle } from '../main.js';
7
+
8
+ import { ITEMS_SELECT_ACTION, dispatchSelectedItems } from '../hooks/use-items-selection.js';
9
+ import { dispatchSelectedSlots, SLOTS_SELECT_ACTION } from '../hooks/use-slots-selection.js';
10
+ import { getDefaultSlots } from '@progress/kendo-vue-common';
11
+ import { COLLECTION_ACTION } from '../utils.js';
12
+ /**
13
+ * @hidden
14
+ */
15
+
16
+ var BaseViewVue2 = {
17
+ name: 'KendoBaseView',
18
+ // @ts-ignore
19
+ setup: !isV3 ? undefined : function () {
20
+ var v3 = !!isV3;
21
+ return {
22
+ v3: v3
23
+ };
24
+ },
25
+ props: {
26
+ viewProps: Object,
27
+ baseSlots: Array,
28
+ ranges: Array,
29
+ id: String
30
+ },
31
+ provide: function provide() {
32
+ return {
33
+ bv: this.bv,
34
+ setItems: this.dispatchItems,
35
+ setSlots: this.dispatchSlots,
36
+ dispatchSelectedSlots: this.handleSchedulerSlotsSelectAction,
37
+ dispatchSelectedItems: this.handleSchedulerItemsSelectAction,
38
+ dispatchFocusedItems: this.setFocusedItems,
39
+ dispatchFocusedSlots: this.setFocusedSlots // setActiveViewName: this.handleActiveViewNameChange
40
+
41
+ };
42
+ },
43
+ data: function data() {
44
+ return {
45
+ bv: {
46
+ viewProps: this.viewProps,
47
+ ranges: this.ranges,
48
+ items: [],
49
+ slots: [],
50
+ focusedItems: [],
51
+ focusedSlots: [],
52
+ selectedItems: [],
53
+ selectedSlots: []
54
+ }
55
+ };
56
+ },
57
+ mounted: function mounted() {
58
+ this.syncCells();
59
+ },
60
+ updated: function updated() {
61
+ this.syncCells();
62
+ },
63
+ // @ts-ignore
64
+ render: function render(createElement) {
65
+ var h = gh || createElement;
66
+ var defaultSlot = getDefaultSlots(this);
67
+ return h("div", {
68
+ "class": 'k-scheduler-layout k-scheduler-layout-flex',
69
+ role: "presentation",
70
+ attrs: this.v3 ? undefined : {
71
+ role: "presentation"
72
+ }
73
+ }, [defaultSlot]);
74
+ },
75
+ methods: {
76
+ syncCells: function syncCells() {
77
+ useCellSync({
78
+ element: this.$el,
79
+ selector: '.k-group-cell',
80
+ attribute: 'data-depth-index',
81
+ explicitDepth: true
82
+ });
83
+ useCellSync({
84
+ element: this.$el,
85
+ selector: '.k-side-cell',
86
+ attribute: 'data-depth-index',
87
+ explicitDepth: false
88
+ });
89
+ },
90
+ handleSchedulerItemsSelectAction: function handleSchedulerItemsSelectAction(action, event) {
91
+ dispatchSelectedSlots.call(this, {
92
+ type: SLOTS_SELECT_ACTION.reset
93
+ });
94
+ dispatchSelectedItems.call(this, action, event);
95
+ },
96
+ handleSchedulerSlotsSelectAction: function handleSchedulerSlotsSelectAction(action, event) {
97
+ dispatchSelectedItems.call(this, {
98
+ type: ITEMS_SELECT_ACTION.reset
99
+ }, event);
100
+ dispatchSelectedSlots.call(this, action);
101
+ },
102
+ setFocusedItems: function setFocusedItems(action, event) {
103
+ dispatchFocusedItems.call(this, action, event);
104
+ },
105
+ setFocusedSlots: function setFocusedSlots(action, event) {
106
+ dispatchFocusedSlots.call(this, action, event);
107
+ },
108
+ dispatchItems: function dispatchItems(action) {
109
+ switch (action.type) {
110
+ case COLLECTION_ACTION.add:
111
+ this.bv.items.push(action.item);
112
+ break;
113
+
114
+ case COLLECTION_ACTION.remove:
115
+ var index = this.bv.items.indexOf(action.item);
116
+ this.bv.items.splice(index, 1);
117
+ break;
118
+
119
+ default:
120
+ break;
121
+ }
122
+ },
123
+ dispatchSlots: function dispatchSlots(action) {
124
+ switch (action.type) {
125
+ case COLLECTION_ACTION.add:
126
+ this.bv.slots.push(action.item);
127
+ break;
128
+
129
+ case COLLECTION_ACTION.remove:
130
+ var index = this.bv.slots.indexOf(action.item);
131
+ this.bv.slots.splice(index, 1);
132
+ break;
133
+
134
+ default:
135
+ break;
136
+ }
137
+ }
138
+ }
139
+ };
140
+ /**
141
+ * @hidden
142
+ */
143
+
144
+ var BaseView = BaseViewVue2;
145
+ export { BaseView, BaseViewVue2 };
@@ -0,0 +1,50 @@
1
+ import { DefineComponent, RecordPropsDefinition, ComponentOptions, Vue2type } from '../additionalTypes';
2
+ declare type DefaultData<V> = object | ((this: V) => {});
3
+ declare type DefaultMethods<V> = {
4
+ [key: string]: (this: V, ...args: any[]) => any;
5
+ };
6
+ declare type CurrentTimeMarkerProps = {
7
+ updateInterval?: number;
8
+ groupIndex?: number | null;
9
+ vertical?: boolean;
10
+ attachArrow?: HTMLElement;
11
+ };
12
+ /**
13
+ * @hidden
14
+ */
15
+ export interface CurrentTimeMarkerState {
16
+ interval: number | undefined;
17
+ arrowRef: HTMLDivElement | null;
18
+ line: HTMLDivElement | Element | null;
19
+ }
20
+ /**
21
+ * @hidden
22
+ */
23
+ export interface CurrentTimeMarkerComputed {
24
+ [key: string]: any;
25
+ }
26
+ /**
27
+ * @hidden
28
+ */
29
+ export interface CurrentTimeMarkerMethods {
30
+ [key: string]: any;
31
+ }
32
+ /**
33
+ * @hidden
34
+ */
35
+ export interface CurrentTimeMarkerData {
36
+ }
37
+ /**
38
+ * @hidden
39
+ */
40
+ export interface CurrentTimeMarkerAll extends Vue2type, CurrentTimeMarkerMethods, CurrentTimeMarkerData, CurrentTimeMarkerComputed, CurrentTimeMarkerState {
41
+ }
42
+ /**
43
+ * @hidden
44
+ */
45
+ declare let CurrentTimeMarkerVue2: ComponentOptions<CurrentTimeMarkerAll, DefaultData<CurrentTimeMarkerData>, DefaultMethods<CurrentTimeMarkerAll>, CurrentTimeMarkerComputed, RecordPropsDefinition<CurrentTimeMarkerProps>>;
46
+ /**
47
+ * @hidden
48
+ */
49
+ declare const CurrentTimeMarker: DefineComponent<CurrentTimeMarkerProps, any, CurrentTimeMarkerData, CurrentTimeMarkerComputed, CurrentTimeMarkerMethods, {}, {}, {}, string, CurrentTimeMarkerProps, CurrentTimeMarkerProps, {}>;
50
+ export { CurrentTimeMarker, CurrentTimeMarkerVue2 };
@@ -0,0 +1,168 @@
1
+ // @ts-ignore
2
+ import * as Vue from 'vue';
3
+ var allVue = Vue;
4
+ var gh = allVue.h;
5
+ var isV3 = allVue.version && allVue.version[0] === '3';
6
+ import { cloneDate } from '@progress/kendo-date-math'; // import { useSchedulerElementContext, useSchedulerPropsContext, useSchedulerViewSlotsContext } from '../context.js';
7
+
8
+ import { first, isInTimeRange, intersects } from '../utils.js';
9
+ import { getRect } from '../views/common/utils.js';
10
+
11
+ var combineWidths = function combineWidths(slots) {
12
+ var result = 0;
13
+ slots.forEach(function (slot) {
14
+ if (slot) {
15
+ var rect = getRect(slot.$el);
16
+ result += rect.width;
17
+ }
18
+ });
19
+ return result;
20
+ };
21
+
22
+ var combineHeights = function combineHeights(slots) {
23
+ var result = 0;
24
+ slots.forEach(function (slot) {
25
+ if (slot) {
26
+ var rect = getRect(slot.$el);
27
+ result += rect.height;
28
+ }
29
+ });
30
+ return result;
31
+ };
32
+
33
+ var setTime = function setTime(origin, candidate) {
34
+ var date = cloneDate(origin);
35
+ date.setHours(candidate.getHours(), candidate.getMinutes(), candidate.getSeconds(), candidate.getMilliseconds());
36
+ return date;
37
+ };
38
+ /**
39
+ * @hidden
40
+ */
41
+
42
+
43
+ var CurrentTimeMarkerVue2 = {
44
+ name: 'KendoCurrentTimeMarker',
45
+ props: {
46
+ updateInterval: {
47
+ type: Number,
48
+ default: 60000
49
+ },
50
+ groupIndex: Number,
51
+ vertical: Boolean,
52
+ attachArrow: Object
53
+ },
54
+ inject: {
55
+ ks: {
56
+ default: null
57
+ },
58
+ bv: {
59
+ default: null
60
+ }
61
+ },
62
+ created: function created() {
63
+ this.interval = undefined;
64
+ this.arrowRef = null;
65
+ this.observer = null;
66
+ this.line = null;
67
+ },
68
+ data: function data() {
69
+ return {
70
+ show: false
71
+ };
72
+ },
73
+ mounted: function mounted() {
74
+ this.line = this.$el;
75
+ var that = this;
76
+ this.$nextTick(function () {
77
+ that.position();
78
+ });
79
+
80
+ if (!this.ks.scheduler || !this.ks.scheduler.$el || !window) {
81
+ return;
82
+ }
83
+
84
+ clearInterval(this.interval);
85
+ this.interval = window.setInterval(this.position, this.updateInterval);
86
+ this.observer = new window.ResizeObserver(this.position);
87
+ this.observer.observe(this.ks.scheduler.$el);
88
+ },
89
+ destroyed: !!isV3 ? undefined : function () {
90
+ if (this.observer) {
91
+ this.observer.disconnect();
92
+ }
93
+ },
94
+ // @ts-ignore
95
+ unmounted: function unmounted() {
96
+ if (this.observer) {
97
+ this.observer.disconnect();
98
+ }
99
+ },
100
+ // @ts-ignore
101
+ setup: !isV3 ? undefined : function () {
102
+ var v3 = !!isV3;
103
+ return {
104
+ v3: v3
105
+ };
106
+ },
107
+ // @ts-ignore
108
+ render: function render(createElement) {
109
+ var _a;
110
+
111
+ var h = gh || createElement; // const dir = useDir(line, schedulerProps.rtl === true ? 'rtl' : undefined);
112
+
113
+ return h("div", {
114
+ "class": "k-current-time",
115
+ style: (_a = {
116
+ transform: this.$props.vertical ? 'translateX(-50%)' : 'translateY(-50%)'
117
+ }, _a[this.$props.vertical ? 'width' : 'height'] = '1px', _a.visibility = !this.show ? 'hidden' : undefined, _a)
118
+ });
119
+ },
120
+ methods: {
121
+ position: function position() {
122
+ var _this = this;
123
+
124
+ if (!this.bv.slots) {
125
+ return;
126
+ }
127
+
128
+ var sameTimeSlots = this.bv.slots.filter(function (s) {
129
+ return (_this.$props.groupIndex === undefined || _this.$props.groupIndex === null || s.group.index === _this.$props.groupIndex) && (_this.$props.vertical ? intersects(new Date(), new Date(), s.start, s.end, true) : isInTimeRange(new Date(), s.start, s.end)) && !s.isAllDay;
130
+ });
131
+
132
+ if (sameTimeSlots && sameTimeSlots.length && this.line) {
133
+ var firstSlot = first(sameTimeSlots);
134
+
135
+ if (!firstSlot) {
136
+ return;
137
+ }
138
+
139
+ var size = this.$props.vertical ? combineHeights(sameTimeSlots) : combineWidths(sameTimeSlots);
140
+ var rect = getRect(firstSlot.$el);
141
+ var arrowRect = getRect(this.arrowRef);
142
+ var pxPerMillisecond = (this.$props.vertical ? rect.width : rect.height) / (firstSlot.end.getTime() - firstSlot.start.getTime());
143
+ var offset = (Date.now() - setTime(new Date(), firstSlot.start).getTime()) * pxPerMillisecond;
144
+ var rtl = this.$props.dir === 'rtl';
145
+ var top_1 = this.$props.vertical ? rect.top : rect.top + offset - arrowRect.height / 2;
146
+ var horizontalDimension = rtl ? 'right' : 'left';
147
+ var horizontalMeasure = this.$props.vertical ? rect[horizontalDimension] + offset - arrowRect.width / 2 : rect[horizontalDimension]; // if (this.$props.vertical) {
148
+ // this.arrowRef.style[horizontalDimension] = `${horizontalMeasure}px`;
149
+ // } else {
150
+ // this.arrowRef.style.top = `${top}px`;
151
+ // }
152
+
153
+ this.line.style[horizontalDimension] = "".concat(horizontalMeasure, "px");
154
+ this.line.style.top = "".concat(top_1, "px");
155
+ this.line.style[this.$props.vertical ? 'height' : 'width'] = "".concat(size - 1, "px");
156
+ this.show = true;
157
+ } else {
158
+ this.show = false;
159
+ }
160
+ }
161
+ }
162
+ };
163
+ /**
164
+ * @hidden
165
+ */
166
+
167
+ var CurrentTimeMarker = CurrentTimeMarkerVue2;
168
+ export { CurrentTimeMarker, CurrentTimeMarkerVue2 };
@@ -0,0 +1,47 @@
1
+ import { DefineComponent, RecordPropsDefinition, ComponentOptions, Vue2type } from '../additionalTypes';
2
+ declare type DefaultData<V> = object | ((this: V) => {});
3
+ declare type DefaultMethods<V> = {
4
+ [key: string]: (this: V, ...args: any[]) => any;
5
+ };
6
+ declare type CurrentTimeMarkerArrowProps = {
7
+ updateInterval?: number;
8
+ groupIndex?: number | null;
9
+ vertical?: boolean;
10
+ attachArrow?: HTMLElement;
11
+ };
12
+ /**
13
+ * @hidden
14
+ */
15
+ export interface CurrentTimeMarkerArrowState {
16
+ interval: number | undefined;
17
+ arrowRef: HTMLElement | null;
18
+ }
19
+ /**
20
+ * @hidden
21
+ */
22
+ export interface CurrentTimeMarkerArrowComputed {
23
+ [key: string]: any;
24
+ }
25
+ /**
26
+ * @hidden
27
+ */
28
+ export interface CurrentTimeMarkerArrowMethods {
29
+ [key: string]: any;
30
+ }
31
+ /**
32
+ * @hidden
33
+ */
34
+ export interface CurrentTimeMarkerArrowData {
35
+ }
36
+ /**
37
+ * @hidden
38
+ */
39
+ export interface CurrentTimeMarkerArrowAll extends Vue2type, CurrentTimeMarkerArrowMethods, CurrentTimeMarkerArrowData, CurrentTimeMarkerArrowComputed, CurrentTimeMarkerArrowState {
40
+ }
41
+ /** @hidden */
42
+ declare let CurrentTimeMarkerArrowVue2: ComponentOptions<CurrentTimeMarkerArrowAll, DefaultData<CurrentTimeMarkerArrowData>, DefaultMethods<CurrentTimeMarkerArrowAll>, CurrentTimeMarkerArrowComputed, RecordPropsDefinition<CurrentTimeMarkerArrowProps>>;
43
+ /**
44
+ * @hidden
45
+ */
46
+ declare const CurrentTimeMarkerArrow: DefineComponent<CurrentTimeMarkerArrowProps, any, CurrentTimeMarkerArrowData, CurrentTimeMarkerArrowComputed, CurrentTimeMarkerArrowMethods, {}, {}, {}, string, CurrentTimeMarkerArrowProps, CurrentTimeMarkerArrowProps, {}>;
47
+ export { CurrentTimeMarkerArrow, CurrentTimeMarkerArrowVue2 };
@@ -0,0 +1,141 @@
1
+ // @ts-ignore
2
+ import * as Vue from 'vue';
3
+ var allVue = Vue;
4
+ var gh = allVue.h;
5
+ var isV3 = allVue.version && allVue.version[0] === '3';
6
+ import { cloneDate } from '@progress/kendo-date-math';
7
+ import { classNames } from '@progress/kendo-vue-common'; // import { useSchedulerElementContext, useSchedulerPropsContext, useSchedulerViewSlotsContext } from '../context.js';
8
+
9
+ import { first, isInTimeRange, intersects } from '../utils.js';
10
+ import { getRect } from '../views/common/utils.js';
11
+
12
+ var setTime = function setTime(origin, candidate) {
13
+ var date = cloneDate(origin);
14
+ date.setHours(candidate.getHours(), candidate.getMinutes(), candidate.getSeconds(), candidate.getMilliseconds());
15
+ return date;
16
+ };
17
+ /** @hidden */
18
+
19
+
20
+ var CurrentTimeMarkerArrowVue2 = {
21
+ name: 'KendoCurrentTimeMarkerArrow',
22
+ props: {
23
+ updateInterval: {
24
+ type: Number,
25
+ default: 60000
26
+ },
27
+ groupIndex: Number,
28
+ vertical: Boolean,
29
+ attachArrow: Object
30
+ },
31
+ inject: {
32
+ ks: {
33
+ default: null
34
+ },
35
+ bv: {
36
+ default: null
37
+ }
38
+ },
39
+ created: function created() {
40
+ this.interval = undefined;
41
+ this.arrowRef = null;
42
+ },
43
+ data: function data() {
44
+ return {
45
+ show: false
46
+ };
47
+ },
48
+ mounted: function mounted() {
49
+ this.arrowRef = this.$el;
50
+ this.position();
51
+
52
+ if (!this.ks.scheduler || !this.ks.scheduler.$el || !window) {
53
+ return;
54
+ }
55
+
56
+ clearInterval(this.interval);
57
+ this.interval = window.setInterval(this.position, this.updateInterval);
58
+ this.observer = new window.ResizeObserver(this.position);
59
+ this.observer.observe(this.ks.scheduler.$el);
60
+ },
61
+ destroyed: !!isV3 ? undefined : function () {
62
+ if (this.observer) {
63
+ this.observer.disconnect();
64
+ }
65
+ },
66
+ // @ts-ignore
67
+ unmounted: function unmounted() {
68
+ if (this.observer) {
69
+ this.observer.disconnect();
70
+ }
71
+ },
72
+ // @ts-ignore
73
+ setup: !isV3 ? undefined : function () {
74
+ var v3 = !!isV3;
75
+ return {
76
+ v3: v3
77
+ };
78
+ },
79
+ // @ts-ignore
80
+ render: function render(createElement) {
81
+ var h = gh || createElement; // const dir = useDir(line, schedulerProps.rtl === true ? 'rtl' : undefined);
82
+
83
+ return h("div", {
84
+ "class": classNames('k-current-time', {
85
+ 'k-current-time-arrow-right': !this.$props.vertical && this.$props.dir !== 'rtl',
86
+ 'k-current-time-arrow-left': !this.$props.vertical && this.$props.dir === 'rtl',
87
+ 'k-current-time-arrow-down': this.$props.vertical
88
+ }),
89
+ style: {
90
+ transform: this.$props.vertical ? this.$props.dir === 'rtl' ? 'translateX(50%)' : 'translateX(-50%)' : 'translateY(-50%)',
91
+ visibility: !this.show ? 'hidden' : undefined
92
+ }
93
+ });
94
+ },
95
+ methods: {
96
+ position: function position() {
97
+ var _this = this;
98
+
99
+ if (!this.bv.slots) {
100
+ return;
101
+ }
102
+
103
+ var sameTimeSlots = this.bv.slots.filter(function (s) {
104
+ return (_this.$props.groupIndex === undefined || _this.$props.groupIndex === null || s.group.index === _this.$props.groupIndex) && (_this.$props.vertical ? intersects(new Date(), new Date(), s.start, s.end, true) : isInTimeRange(new Date(), s.start, s.end)) && !s.isAllDay;
105
+ });
106
+
107
+ if (sameTimeSlots && sameTimeSlots.length && this.$el) {
108
+ var firstSlot = first(sameTimeSlots);
109
+
110
+ if (!firstSlot) {
111
+ return;
112
+ }
113
+
114
+ var rect = getRect(firstSlot.$el);
115
+ var arrowRect = getRect(this.arrowRef);
116
+ var pxPerMillisecond = (this.$props.vertical ? rect.width : rect.height) / (firstSlot.end.getTime() - firstSlot.start.getTime());
117
+ var offset = (Date.now() - setTime(new Date(), firstSlot.start).getTime()) * pxPerMillisecond;
118
+ var rtl = this.$props.dir === 'rtl';
119
+ var top_1 = this.$props.vertical ? rect.top : rect.top + offset - arrowRect.height / 2;
120
+ var horizontalDimension = rtl ? 'right' : 'left';
121
+ var horizontalMeasure = this.$props.vertical ? rect[horizontalDimension] + offset - arrowRect.width / 2 : rect[horizontalDimension];
122
+
123
+ if (this.$props.vertical) {
124
+ this.arrowRef.style[horizontalDimension] = "".concat(horizontalMeasure, "px");
125
+ } else {
126
+ this.arrowRef.style.top = "".concat(top_1, "px");
127
+ }
128
+
129
+ this.show = true;
130
+ } else {
131
+ this.show = false;
132
+ }
133
+ }
134
+ }
135
+ };
136
+ /**
137
+ * @hidden
138
+ */
139
+
140
+ var CurrentTimeMarkerArrow = CurrentTimeMarkerArrowVue2;
141
+ export { CurrentTimeMarkerArrow, CurrentTimeMarkerArrowVue2 };
@@ -0,0 +1,76 @@
1
+ import { DefineComponent, RecordPropsDefinition, ComponentOptions, Vue2type } from '../additionalTypes';
2
+ declare type DefaultData<V> = object | ((this: V) => {});
3
+ declare type DefaultMethods<V> = {
4
+ [key: string]: (this: V, ...args: any[]) => any;
5
+ };
6
+ import { DateFormatOptions } from '@progress/kendo-vue-intl';
7
+ /**
8
+ * Represents the properties of [DateHeaderCell]({% slug api_scheduler_dateheadercell %}) component.
9
+ */
10
+ export interface DateHeaderCellProps {
11
+ /** @hidden */
12
+ as?: any;
13
+ /**
14
+ * Represents the date format.
15
+ */
16
+ format?: string | DateFormatOptions;
17
+ /**
18
+ * Represents the current date.
19
+ */
20
+ date: Date;
21
+ /**
22
+ * Represents the start date.
23
+ */
24
+ start: Date;
25
+ /**
26
+ * Represents the end date.
27
+ */
28
+ end: Date;
29
+ }
30
+ /** @hidden */
31
+ export interface DateHeaderCellHandle {
32
+ /**
33
+ * The current element or `null` if there is no one.
34
+ */
35
+ element: HTMLElement | null;
36
+ /**
37
+ * The props values of the DateHeaderCell.
38
+ */
39
+ props: DateHeaderCellProps;
40
+ }
41
+ /**
42
+ * @hidden
43
+ */
44
+ export interface DateHeaderCellState {
45
+ }
46
+ /**
47
+ * @hidden
48
+ */
49
+ export interface DateHeaderCellComputed {
50
+ [key: string]: any;
51
+ }
52
+ /**
53
+ * @hidden
54
+ */
55
+ export interface DateHeaderCellMethods {
56
+ [key: string]: any;
57
+ }
58
+ /**
59
+ * @hidden
60
+ */
61
+ export interface DateHeaderCellData {
62
+ }
63
+ /**
64
+ * @hidden
65
+ */
66
+ export interface DateHeaderCellAll extends Vue2type, DateHeaderCellMethods, DateHeaderCellData, DateHeaderCellComputed, DateHeaderCellState {
67
+ }
68
+ /**
69
+ * @hidden
70
+ */
71
+ declare let DateHeaderCellVue2: ComponentOptions<DateHeaderCellAll, DefaultData<DateHeaderCellData>, DefaultMethods<DateHeaderCellAll>, DateHeaderCellComputed, RecordPropsDefinition<DateHeaderCellProps>>;
72
+ /**
73
+ * @hidden
74
+ */
75
+ declare const DateHeaderCell: DefineComponent<DateHeaderCellProps, any, DateHeaderCellData, DateHeaderCellComputed, DateHeaderCellMethods, {}, {}, {}, string, DateHeaderCellProps, DateHeaderCellProps, {}>;
76
+ export { DateHeaderCell, DateHeaderCellVue2 };