@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,8 @@
1
+ /**
2
+ * @hidden
3
+ *
4
+ */
5
+ export interface WeekDayRule {
6
+ day: number;
7
+ offset: number;
8
+ }
@@ -0,0 +1 @@
1
+ export {};
File without changes
@@ -0,0 +1,33 @@
1
+ import { DataItem } from '../models';
2
+ /** @hidden */
3
+ export interface SchedulerEditState {
4
+ dataItem?: DataItem;
5
+ editDialog: boolean;
6
+ occurrenceDialog: boolean;
7
+ drop?: boolean;
8
+ removeDialog: boolean;
9
+ removeOccurrenceDialog: boolean;
10
+ }
11
+ /** @hidden */
12
+ export declare const EDIT_INITIAL_STATE: SchedulerEditState;
13
+ /** @hidden */
14
+ export interface SchedulerEditAction {
15
+ type: EDIT_ACTIONS;
16
+ payload?: DataItem;
17
+ original?: DataItem;
18
+ finishCallback?: (event: any) => void;
19
+ }
20
+ /** @hidden */
21
+ export declare enum EDIT_ACTIONS {
22
+ CREATE = 0,
23
+ EDIT = 1,
24
+ EDIT_OCCURRENCE = 2,
25
+ EDIT_CONFIRM = 3,
26
+ EDIT_DROP_OCCURRENCE = 4,
27
+ REMOVE = 5,
28
+ REMOVE_OCCURRENCE = 6,
29
+ REMOVE_CONFIRM = 7,
30
+ RESET = 8
31
+ }
32
+ /** @hidden */
33
+ export declare const editReducer: (state: SchedulerEditState, action: SchedulerEditAction) => SchedulerEditState;
@@ -0,0 +1,65 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ /** @hidden */
13
+ export var EDIT_INITIAL_STATE = {
14
+ dataItem: undefined,
15
+ drop: false,
16
+ editDialog: false,
17
+ occurrenceDialog: false,
18
+ removeDialog: false,
19
+ removeOccurrenceDialog: false
20
+ };
21
+ /** @hidden */
22
+ export var EDIT_ACTIONS;
23
+ (function (EDIT_ACTIONS) {
24
+ EDIT_ACTIONS[EDIT_ACTIONS["CREATE"] = 0] = "CREATE";
25
+ EDIT_ACTIONS[EDIT_ACTIONS["EDIT"] = 1] = "EDIT";
26
+ EDIT_ACTIONS[EDIT_ACTIONS["EDIT_OCCURRENCE"] = 2] = "EDIT_OCCURRENCE";
27
+ EDIT_ACTIONS[EDIT_ACTIONS["EDIT_CONFIRM"] = 3] = "EDIT_CONFIRM";
28
+ EDIT_ACTIONS[EDIT_ACTIONS["EDIT_DROP_OCCURRENCE"] = 4] = "EDIT_DROP_OCCURRENCE";
29
+ EDIT_ACTIONS[EDIT_ACTIONS["REMOVE"] = 5] = "REMOVE";
30
+ EDIT_ACTIONS[EDIT_ACTIONS["REMOVE_OCCURRENCE"] = 6] = "REMOVE_OCCURRENCE";
31
+ EDIT_ACTIONS[EDIT_ACTIONS["REMOVE_CONFIRM"] = 7] = "REMOVE_CONFIRM";
32
+ EDIT_ACTIONS[EDIT_ACTIONS["RESET"] = 8] = "RESET";
33
+ })(EDIT_ACTIONS || (EDIT_ACTIONS = {}));
34
+ /** @hidden */
35
+ export var editReducer = function (state, action) {
36
+ var newState;
37
+ switch (action.type) {
38
+ case EDIT_ACTIONS.CREATE:
39
+ newState = __assign(__assign({}, state), { dataItem: action.payload, editDialog: true });
40
+ break;
41
+ case EDIT_ACTIONS.EDIT:
42
+ newState = __assign(__assign({}, state), { dataItem: action.payload, editDialog: true, occurrenceDialog: false });
43
+ break;
44
+ case EDIT_ACTIONS.EDIT_OCCURRENCE:
45
+ newState = __assign(__assign({}, state), { dataItem: action.payload, occurrenceDialog: true });
46
+ break;
47
+ case EDIT_ACTIONS.EDIT_DROP_OCCURRENCE:
48
+ newState = __assign(__assign({}, state), { dataItem: action.original, drop: action.payload, occurrenceDialog: true });
49
+ break;
50
+ case EDIT_ACTIONS.REMOVE:
51
+ newState = __assign(__assign({}, state), { dataItem: action.payload, removeDialog: true });
52
+ break;
53
+ case EDIT_ACTIONS.REMOVE_OCCURRENCE:
54
+ newState = __assign(__assign({}, state), { dataItem: action.payload, removeOccurrenceDialog: true });
55
+ break;
56
+ case EDIT_ACTIONS.EDIT_CONFIRM:
57
+ case EDIT_ACTIONS.REMOVE_CONFIRM:
58
+ case EDIT_ACTIONS.RESET:
59
+ newState = __assign({}, EDIT_INITIAL_STATE);
60
+ break;
61
+ default:
62
+ newState = __assign({}, EDIT_INITIAL_STATE);
63
+ }
64
+ return newState;
65
+ };
@@ -0,0 +1 @@
1
+ export * from './editReducer';
@@ -0,0 +1 @@
1
+ export * from './editReducer.js';
@@ -0,0 +1,4 @@
1
+ export * from './itemsService';
2
+ export * from './slotsService';
3
+ export * from './occurrenceService';
4
+ export * from './rangeService';
@@ -0,0 +1,4 @@
1
+ export * from './itemsService.js';
2
+ export * from './slotsService.js';
3
+ export * from './occurrenceService.js';
4
+ export * from './rangeService.js';
@@ -0,0 +1,14 @@
1
+ import { Occurrence, Group, Range, Item, Slot } from '../models';
2
+ /** @hidden */
3
+ export declare const toItems: (occurrences: Occurrence[], { timezone }: {
4
+ timezone: any;
5
+ }, { groups, ranges }: {
6
+ groups: Group[];
7
+ ranges: Range[];
8
+ }) => Item[];
9
+ /** @hidden */
10
+ export declare const inGroup: (occurrence: Occurrence, group: Group) => boolean;
11
+ /** @hidden */
12
+ export declare const inSlot: (occurrence: Occurrence, slot: Slot) => boolean;
13
+ /** @hidden */
14
+ export declare const inRange: (occurrence: Occurrence, range: Range) => boolean;
@@ -0,0 +1,76 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { intersects } from '../utils.js';
13
+ import { orderBy } from '@progress/kendo-data-query';
14
+ import { ZonedDate } from '@progress/kendo-date-math';
15
+ /** @hidden */
16
+ export var toItems = function (occurrences, _a, _b) {
17
+ var timezone = _a.timezone;
18
+ var groups = _b.groups, ranges = _b.ranges;
19
+ var result = [];
20
+ var sorted = orderBy(occurrences, [
21
+ { field: 'start', dir: 'asc' },
22
+ { field: 'end', dir: 'desc' },
23
+ { field: 'isAllDay', dir: 'desc' }
24
+ ]);
25
+ sorted.forEach(function (occurrence) {
26
+ groups.forEach(function (g) {
27
+ var group = groups.length === 1
28
+ ? personalizedGroup(occurrence, g)
29
+ : g;
30
+ if (inGroup(occurrence, group)) {
31
+ ranges.forEach(function (range) {
32
+ if (inRange(occurrence, range)) {
33
+ var itemRef = {};
34
+ var refTo = {};
35
+ var head = range.end < occurrence.end;
36
+ var tail = occurrence.start < range.start;
37
+ var zonedStart = ZonedDate.fromLocalDate(occurrence.start, timezone);
38
+ var zonedEnd = ZonedDate.fromLocalDate(occurrence.end, timezone);
39
+ var item = __assign(__assign({}, occurrence), { refTo: refTo, itemRef: itemRef, head: head, tail: tail, order: null, zonedStart: zonedStart, zonedEnd: zonedEnd, group: group, range: range, slots: [], isRecurring: Boolean(occurrence.recurrenceRule), isException: Boolean(!occurrence.recurrenceRule
40
+ && occurrence.recurrenceId !== null && occurrence.recurrenceId !== undefined), isAllDay: Boolean(occurrence.isAllDay) });
41
+ result.push(item);
42
+ }
43
+ });
44
+ }
45
+ });
46
+ });
47
+ return result;
48
+ };
49
+ var personalizedGroup = function (occurrence, group) {
50
+ return {
51
+ index: 0,
52
+ resources: group.resources.filter(function (resource) { return inResource(occurrence, resource); })
53
+ };
54
+ };
55
+ var inResource = function (occurrence, resource) {
56
+ return resource.multiple
57
+ ? (occurrence.dataItem[resource.field] || []).some(function (val) { return resource[resource.valueField] === val; })
58
+ : occurrence.dataItem[resource.field] === resource[resource.valueField];
59
+ };
60
+ /** @hidden */
61
+ export var inGroup = function (occurrence, group) {
62
+ return !group.resources.some(function (res) { return res.multiple
63
+ ? !occurrence.dataItem[res.field].some(function (val) { return res[res.valueField] === val; })
64
+ : occurrence.dataItem[res.field] !== res[res.valueField]; });
65
+ };
66
+ /** @hidden */
67
+ export var inSlot = function (occurrence, slot) {
68
+ return intersects(slot.start, slot.end, occurrence.start, occurrence.end);
69
+ };
70
+ /** @hidden */
71
+ export var inRange = function (occurrence, range) {
72
+ return intersects(range.start, range.end, occurrence.start, occurrence.end)
73
+ && (range.isAllDay === undefined
74
+ || occurrence.isAllDay === undefined
75
+ || (occurrence.isAllDay === range.isAllDay));
76
+ };
@@ -0,0 +1,7 @@
1
+ import { DataItem, Occurrence } from '../models';
2
+ /** @hidden */
3
+ export declare const toOccurrences: (data: DataItem[], { dateRange, fields, timezone }: {
4
+ dateRange: any;
5
+ fields: any;
6
+ timezone: any;
7
+ }) => Occurrence[];
@@ -0,0 +1,92 @@
1
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
2
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
3
+ if (ar || !(i in from)) {
4
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
5
+ ar[i] = from[i];
6
+ }
7
+ }
8
+ return to.concat(ar || Array.prototype.slice.call(from));
9
+ };
10
+ import { getter, clone } from '@progress/kendo-vue-common';
11
+ import { parseRule, expand } from '@progress/kendo-recurrence';
12
+ import { ZonedDate } from '@progress/kendo-date-math';
13
+ import { setField, isMaster } from '../utils.js';
14
+ /** @hidden */
15
+ export var toOccurrences = function (data, _a) {
16
+ var dateRange = _a.dateRange, fields = _a.fields, timezone = _a.timezone;
17
+ var result = data
18
+ .map(readItem(fields))
19
+ .reduce(occurrenceReducer(dateRange, timezone, fields), [])
20
+ .filter(function (occurrence) { return !isMaster(occurrence.dataItem, fields); });
21
+ return result;
22
+ };
23
+ var readItem = function (fields) { return function (dataItem) {
24
+ var result = {
25
+ uid: getter(fields.id || 'id')(dataItem),
26
+ start: getter(fields.start || 'start')(dataItem),
27
+ startTimezone: getter(fields.startTimezone || 'startTimezone')(dataItem),
28
+ originalStart: getter(fields.originalStart || 'originalStart')(dataItem),
29
+ end: getter(fields.end || 'end')(dataItem),
30
+ endTimezone: getter(fields.endTimezone || 'endTimezone')(dataItem),
31
+ isAllDay: getter(fields.isAllDay || 'isAllDay')(dataItem),
32
+ title: getter(fields.title || 'title')(dataItem),
33
+ description: getter(fields.description || 'description')(dataItem),
34
+ occurrenceId: getter('occurrenceId')(dataItem),
35
+ recurrenceRule: getter(fields.recurrenceRule || 'recurrenceRule')(dataItem),
36
+ recurrenceExceptions: getter(fields.recurrenceExceptions || 'recurrenceExceptions')(dataItem),
37
+ recurrenceId: getter(fields.recurrenceId || 'recurrenceId')(dataItem),
38
+ dataItem: clone(dataItem)
39
+ };
40
+ return result;
41
+ }; };
42
+ var occurrenceReducer = function (dateRange, timezone, fields) { return function (acc, current) {
43
+ return __spreadArray(__spreadArray([], acc, true), ((Boolean(current.recurrenceRule)
44
+ && Boolean(current.recurrenceId === null || current.recurrenceId === undefined)
45
+ && isMaster(current.dataItem, fields))
46
+ ? __spreadArray([], occurrences(current, { dateRange: dateRange, timezone: timezone, fields: fields }), true) : [current]), true);
47
+ }; };
48
+ var occurrences = function (item, _a) {
49
+ var dateRange = _a.dateRange, timezone = _a.timezone, fields = _a.fields;
50
+ var rrule = item.recurrenceRule;
51
+ var rule = parseRule({ recurrenceRule: rrule });
52
+ // changed as for display purposes timezone of the scheduler is the correct one
53
+ if (!rule.start) {
54
+ rule.start = ZonedDate.fromLocalDate(item.start, timezone);
55
+ }
56
+ if (!rule.end) {
57
+ rule.end = ZonedDate.fromLocalDate(item.end, timezone);
58
+ }
59
+ var exceptionRule = item.recurrenceExceptions;
60
+ if (exceptionRule) {
61
+ rule.exceptionDates = exceptionRule
62
+ .map(function (exDate) {
63
+ return ZonedDate.fromLocalDate(exDate, timezone);
64
+ });
65
+ }
66
+ var utcRangeStart = dateRange.zonedStart;
67
+ var utcRangeEnd = dateRange.zonedEnd;
68
+ var series = expand(rule, {
69
+ rangeStart: ZonedDate.fromUTCDate(utcRangeStart, timezone),
70
+ rangeEnd: ZonedDate.fromUTCDate(utcRangeEnd, timezone)
71
+ });
72
+ if (!series.events.length) {
73
+ return [];
74
+ }
75
+ var expanded = series.events.map(function (occurrence, idx) {
76
+ var occurrenceItem = clone(item);
77
+ var occurrenceDataItem = clone(item.dataItem);
78
+ occurrenceItem.recurrenceId = occurrenceItem.uid;
79
+ setField(occurrenceDataItem, fields.recurrenceId, item.uid);
80
+ occurrenceItem.originalStart = occurrence.start.toLocalDate();
81
+ setField(occurrenceDataItem, fields.originalStart, occurrence.start.toLocalDate());
82
+ occurrenceItem.start = occurrence.start.toLocalDate();
83
+ setField(occurrenceDataItem, fields.start, occurrence.start.toLocalDate());
84
+ occurrenceItem.end = occurrence.end.toLocalDate();
85
+ setField(occurrenceDataItem, fields.end, occurrence.end.toLocalDate());
86
+ occurrenceItem.occurrenceId = String(idx);
87
+ setField(occurrenceDataItem, 'occurrenceId', String(idx));
88
+ occurrenceItem.dataItem = occurrenceDataItem;
89
+ return occurrenceItem;
90
+ });
91
+ return expanded;
92
+ };
@@ -0,0 +1,6 @@
1
+ import { Range, DateRange } from '../models';
2
+ /** @hidden */
3
+ export declare const toRanges: (dateRange: DateRange, { step, timezone }: {
4
+ step: any;
5
+ timezone: any;
6
+ }) => Range[];
@@ -0,0 +1,23 @@
1
+ import { ZonedDate } from '@progress/kendo-date-math';
2
+ /** @hidden */
3
+ export var toRanges = function (dateRange, _a) {
4
+ var step = _a.step, timezone = _a.timezone;
5
+ var ranges = [];
6
+ var zonedRangeStart = ZonedDate.fromLocalDate(dateRange.start, timezone);
7
+ var zonedRangeEnd = ZonedDate.fromLocalDate(dateRange.end, timezone);
8
+ for (var current = zonedRangeStart.clone(), index = 0; current.getTime() < zonedRangeEnd.getTime(); index++, current = current.addTime(step)) {
9
+ var zonedStart = current.clone();
10
+ var zonedEnd = zonedStart.clone().addTime(step);
11
+ var start = new Date(zonedStart.getTime());
12
+ var end = new Date(zonedEnd.getTime());
13
+ var range = {
14
+ index: index,
15
+ end: end,
16
+ start: start,
17
+ zonedStart: zonedStart,
18
+ zonedEnd: zonedEnd
19
+ };
20
+ ranges.push(range);
21
+ }
22
+ return ranges;
23
+ };
@@ -0,0 +1,8 @@
1
+ import { Group, Range, Slot, DateRange } from '../models';
2
+ /** @hidden */
3
+ export declare const toSlots: (_dateRange: DateRange, { step }: {
4
+ step: any;
5
+ }, { groups, ranges }: {
6
+ groups: Group[];
7
+ ranges: Range[];
8
+ }) => Slot[];
@@ -0,0 +1,42 @@
1
+ import { MS_PER_DAY } from '@progress/kendo-date-math';
2
+ import { MS_PER_MINUTE } from '../constants.js';
3
+ /** @hidden */
4
+ export var toSlots = function (_dateRange, _a, _b) {
5
+ var step = _a.step;
6
+ var groups = _b.groups, ranges = _b.ranges;
7
+ var slots = [];
8
+ groups.forEach(function (group) {
9
+ ranges.forEach(function (range) {
10
+ var viewStart = range.zonedStart;
11
+ var viewEnd = range.zonedEnd;
12
+ var offset = (viewEnd.timezoneOffset - viewStart.timezoneOffset);
13
+ for (var current = viewStart.clone(), index = 0, deficiency = offset < 0 ? offset * MS_PER_MINUTE * -1 : 0; current.getTime() < viewEnd.getTime(); index++, current = current.addTime(step)) {
14
+ var refTo = {};
15
+ var zonedStart = current.clone();
16
+ var zonedEnd = current.addTime(step);
17
+ var difference = (zonedEnd.timezoneOffset - zonedStart.timezoneOffset) * MS_PER_MINUTE;
18
+ var canFill = step < Math.abs(difference);
19
+ if (deficiency && canFill) {
20
+ deficiency -= step;
21
+ current = current.addTime(-step);
22
+ }
23
+ var start = new Date(zonedStart.getTime());
24
+ var end = new Date(zonedEnd.getTime());
25
+ var slot = {
26
+ refTo: refTo,
27
+ index: index,
28
+ end: end,
29
+ start: start,
30
+ zonedStart: zonedStart,
31
+ zonedEnd: zonedEnd,
32
+ range: range,
33
+ group: group,
34
+ items: [],
35
+ isAllDay: MS_PER_DAY <= step
36
+ };
37
+ slots.push(slot);
38
+ }
39
+ });
40
+ });
41
+ return slots;
42
+ };
@@ -0,0 +1,80 @@
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 { DataItem } from '../models';
7
+ import { DataAction } from '../Scheduler';
8
+ import { SchedulerSlotHandle } from './SchedulerSlot';
9
+ import { SchedulerViewSlotProps } from './SchedulerViewSlot';
10
+ /**
11
+ * Represents the props of the Kendo UI for Vue [SchedulerEditSlot]({% slug api_scheduler_schedulereditslot %}) component.
12
+ */
13
+ export interface SchedulerEditSlotProps extends SchedulerViewSlotProps {
14
+ /**
15
+ * Overrides the default component responsible for view-specific functionality.
16
+ *
17
+ * The default Component is: [SchedulerViewSlot]({% slug api_scheduler_schedulerviewslotprops %}).
18
+ */
19
+ viewSlot?: any;
20
+ /**
21
+ * Overrides the default component responsible for visualizing the `formItem`.
22
+ *
23
+ * The default Component is: [SchedulerForm]({% slug api_scheduler_schedulerform %}).
24
+ */
25
+ form?: any;
26
+ /**
27
+ * Setting this property will force the `formItem` to be in controlled state, allowing further customization.
28
+ */
29
+ formItem?: DataItem | null;
30
+ /**
31
+ * Called every time the `formItem` changes.
32
+ */
33
+ onFormItemChange?: (event: any) => void;
34
+ /**
35
+ * Called when new item has been created in the slot.
36
+ */
37
+ onDataaction?: (action: DataAction, event: any) => void;
38
+ }
39
+ /** @hidden */
40
+ export interface SchedulerEditSlotHandle {
41
+ props: SchedulerEditSlotProps;
42
+ }
43
+ /**
44
+ * @hidden
45
+ */
46
+ export interface SchedulerEditSlotState {
47
+ slot: SchedulerSlotHandle | null;
48
+ editableSlot: SchedulerEditSlotHandle | null;
49
+ }
50
+ /**
51
+ * @hidden
52
+ */
53
+ export interface SchedulerEditSlotComputed {
54
+ [key: string]: any;
55
+ }
56
+ /**
57
+ * @hidden
58
+ */
59
+ export interface SchedulerEditSlotMethods {
60
+ [key: string]: any;
61
+ }
62
+ /**
63
+ * @hidden
64
+ */
65
+ export interface SchedulerEditSlotData {
66
+ }
67
+ /**
68
+ * @hidden
69
+ */
70
+ export interface SchedulerEditSlotAll extends Vue2type, SchedulerEditSlotMethods, SchedulerEditSlotData, SchedulerEditSlotComputed, SchedulerEditSlotState {
71
+ }
72
+ /**
73
+ * @hidden
74
+ */
75
+ declare let SchedulerEditSlotVue2: ComponentOptions<SchedulerEditSlotAll, DefaultData<SchedulerEditSlotData>, DefaultMethods<SchedulerEditSlotAll>, SchedulerEditSlotComputed, RecordPropsDefinition<SchedulerEditSlotProps>>;
76
+ /**
77
+ * @hidden
78
+ */
79
+ declare const SchedulerEditSlot: DefineComponent<SchedulerEditSlotProps, any, SchedulerEditSlotData, SchedulerEditSlotComputed, SchedulerEditSlotMethods, {}, {}, {}, string, SchedulerEditSlotProps, SchedulerEditSlotProps, {}>;
80
+ export { SchedulerEditSlot, SchedulerEditSlotVue2 };