@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,591 @@
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
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
13
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
14
+ if (ar || !(i in from)) {
15
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
16
+ ar[i] = from[i];
17
+ }
18
+ }
19
+ return to.concat(ar || Array.prototype.slice.call(from));
20
+ };
21
+ import { getDate } from '@progress/kendo-date-math';
22
+ import { toGroupResources, toFlatGroupResources } from '../views/common/utils.js';
23
+ import { getter, setter, clone, cloneDate } from '@progress/kendo-vue-common';
24
+ import {
25
+ // OCCURRENCE_ID,
26
+ DEFAULT_ID } from '../constants.js';
27
+ import { orderBy } from '@progress/kendo-data-query';
28
+ /** @hidden */
29
+ export var COLLECTION_ACTION;
30
+ (function (COLLECTION_ACTION) {
31
+ COLLECTION_ACTION[COLLECTION_ACTION["add"] = 0] = "add";
32
+ COLLECTION_ACTION[COLLECTION_ACTION["remove"] = 1] = "remove";
33
+ })(COLLECTION_ACTION || (COLLECTION_ACTION = {}));
34
+ /** @hidden */
35
+ export var first = function (arr) { return arr[0]; };
36
+ /** @hidden */
37
+ export var last = function (arr) { return arr[arr.length - 1]; };
38
+ /** @hidden */
39
+ export var isMultiDay = function (item) {
40
+ var result = (item.end.getTime() - item.start.getTime()) > new Date(0).setHours(24);
41
+ return result;
42
+ };
43
+ /** @hidden */
44
+ export var isGroupped = function (resources) {
45
+ var set = new Set();
46
+ resources.forEach(function (resource) {
47
+ set.add(resource.field);
48
+ });
49
+ return set.size === resources.length;
50
+ };
51
+ /**
52
+ * @hidden
53
+ */
54
+ export function formatEventTime(intl, start, end, isAllDay) {
55
+ var startTimeFormat = { skeleton: 'yMMMMEEEEdhm' };
56
+ var startDateFormat = { skeleton: 'yMMMMEEEEd' };
57
+ var endFormat = 't';
58
+ return isAllDay ?
59
+ "".concat(intl.formatDate(start, startDateFormat)) :
60
+ "".concat(intl.formatDate(start, startTimeFormat), "\u2013").concat(intl.formatDate(end, endFormat));
61
+ }
62
+ /**
63
+ * @hidden
64
+ * TODO Move to date-math
65
+ */
66
+ export var addUTCDays = function (date, offset) {
67
+ var newDate = new Date(date.getTime());
68
+ newDate.setUTCDate(newDate.getUTCDate() + offset);
69
+ return newDate;
70
+ };
71
+ /** @hidden */
72
+ export function dateWithTime(target, time) {
73
+ return new Date(target.getFullYear(), target.getMonth(), target.getDate(), time.getHours(), time.getMinutes());
74
+ }
75
+ /**
76
+ * @hidden
77
+ */
78
+ export var getToday = function () { return getDate(new Date()); };
79
+ /** @hidden */
80
+ export var slotDive = function (x, y, maxDepth, level) {
81
+ if (level === void 0) { level = 0; }
82
+ if (level === maxDepth) {
83
+ return null;
84
+ }
85
+ var result = null;
86
+ var element = document.elementFromPoint(x, y);
87
+ if (!element) {
88
+ return result;
89
+ }
90
+ var isSlot = element.getAttribute('data-slot') === 'true';
91
+ if (isSlot) {
92
+ return element;
93
+ }
94
+ else {
95
+ var oldPointerEvents = element.style.pointerEvents;
96
+ element.style.pointerEvents = 'none';
97
+ result = slotDive(x, y, maxDepth, level + 1);
98
+ element.style.pointerEvents = oldPointerEvents;
99
+ }
100
+ return result;
101
+ };
102
+ /**
103
+ * @hidden
104
+ */
105
+ export var getField = function (obj, field) { return getter(field)(obj); };
106
+ /**
107
+ * @hidden
108
+ */
109
+ export var setField = function (obj, field, value) {
110
+ if (!field) {
111
+ return;
112
+ }
113
+ return setter(field)(obj, value);
114
+ };
115
+ /**
116
+ * @hidden
117
+ */
118
+ export function assignField(target, source, field) {
119
+ setField(target, field, getField(source, field));
120
+ }
121
+ /**
122
+ * @hidden
123
+ */
124
+ export function assignFields(target, source) {
125
+ var fields = [];
126
+ for (var _i = 2; _i < arguments.length; _i++) {
127
+ fields[_i - 2] = arguments[_i];
128
+ }
129
+ for (var idx = 0; idx < fields.length; idx++) {
130
+ assignField(target, source, fields[idx]);
131
+ }
132
+ }
133
+ /**
134
+ * @hidden
135
+ */
136
+ export var isPresent = function (value) { return value !== null && value !== undefined; };
137
+ /**
138
+ * @hidden
139
+ */
140
+ export var isRecurringMaster = function (event) { return event.recurrenceRule && !isPresent(event.recurrenceId); };
141
+ // TODO: move to date-math
142
+ /** @hidden */
143
+ export function toUTCDate(localDate) {
144
+ return new Date(Date.UTC(localDate.getFullYear(), localDate.getMonth(), localDate.getDate()));
145
+ }
146
+ // TODO: move to date-math
147
+ /** @hidden */
148
+ export function getUTCDate(utcDate) {
149
+ return new Date(Date.UTC(utcDate.getUTCFullYear(), utcDate.getUTCMonth(), utcDate.getUTCDate()));
150
+ }
151
+ // TODO: move to date-math
152
+ /** @hidden */
153
+ export function toUTCDateTime(localDate) {
154
+ return new Date(Date.UTC(localDate.getFullYear(), localDate.getMonth(), localDate.getDate(), localDate.getHours(), localDate.getMinutes(), localDate.getSeconds(), localDate.getMilliseconds()));
155
+ }
156
+ /** @hidden */
157
+ export function toInvariantTime(date) {
158
+ var staticDate = new Date(1980, 1, 1, 0, 0, 0);
159
+ if (date) {
160
+ staticDate.setHours(date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds());
161
+ }
162
+ return staticDate;
163
+ }
164
+ /** @hidden */
165
+ export function isRecurringException(event) {
166
+ return event && isPresent(event.recurrenceId) && !event.recurrenceRule;
167
+ }
168
+ /**
169
+ * @hidden
170
+ */
171
+ export var isRecurring = function (event, fields) {
172
+ var recurrenceId = getter(fields.recurrenceId || 'recurrenceId')(event);
173
+ var recurrenceRule = getter(fields.recurrenceRule || 'recurrenceRule')(event);
174
+ return !!(recurrenceRule || recurrenceId);
175
+ };
176
+ /**
177
+ * @hidden
178
+ */
179
+ export var groupResources = function (group, resources) {
180
+ var result = [];
181
+ if (group && group.resources && group.resources.length) {
182
+ var groups_1 = group.resources;
183
+ var _loop_1 = function (idx) {
184
+ var resource = resources.find(function (r) { return r.name === groups_1[idx]; });
185
+ result.push(resource);
186
+ };
187
+ for (var idx = 0; idx < groups_1.length; idx++) {
188
+ _loop_1(idx);
189
+ }
190
+ }
191
+ return result;
192
+ };
193
+ /**
194
+ * @hidden
195
+ */
196
+ export var findMaster = function (event, fields, data) {
197
+ var headId = isMaster(event, fields) ? getField(event, fields.id) : getField(event, fields.recurrenceId);
198
+ return data.find(function (currentEvent) { return getField(currentEvent, fields.id) === headId; });
199
+ };
200
+ /**
201
+ * @hidden
202
+ */
203
+ export var isMaster = function (event, fields) {
204
+ var id = getField(event, fields.id);
205
+ var recurrenceId = getField(event, fields.recurrenceId);
206
+ var recurrenceRule = getField(event, fields.recurrenceRule);
207
+ return !!(id && recurrenceRule && (recurrenceId === undefined || recurrenceId === null));
208
+ };
209
+ /**
210
+ * @hidden
211
+ */
212
+ export var buildException = function (event, fields, data) {
213
+ var headEvent = findMaster(event, fields, data);
214
+ var copy = clone(event);
215
+ assignField(copy, headEvent, fields.id);
216
+ if (fields.id !== undefined) {
217
+ setField(copy, fields.id, DEFAULT_ID);
218
+ }
219
+ if (fields.recurrenceRule !== undefined) {
220
+ setField(copy, fields.recurrenceRule, undefined);
221
+ }
222
+ if (fields.recurrenceId !== undefined) {
223
+ setField(copy, fields.recurrenceId, getField(headEvent, fields.id));
224
+ }
225
+ return copy;
226
+ };
227
+ /**
228
+ * @hidden
229
+ */
230
+ export var isException = function (event, fields) {
231
+ return isPresent(getField(event, fields.recurrenceId)) && !getField(event, fields.recurrenceRule);
232
+ };
233
+ var maxDate = function (x, y) { return Math.max(x.getTime(), y.getTime()); };
234
+ var minDate = function (x, y) { return Math.min(x.getTime(), y.getTime()); };
235
+ /** @hidden */
236
+ export var intersects = function (startTime, endTime, periodStart, periodEnd, inclusive) {
237
+ if (inclusive === void 0) { inclusive = false; }
238
+ return inclusive
239
+ ? maxDate(endTime, periodEnd) - minDate(startTime, periodStart) <=
240
+ (endTime.getTime() - startTime.getTime()) + (periodEnd.getTime() - periodStart.getTime())
241
+ : maxDate(endTime, periodEnd) - minDate(startTime, periodStart) <
242
+ (endTime.getTime() - startTime.getTime()) + (periodEnd.getTime() - periodStart.getTime());
243
+ };
244
+ /** @hidden */
245
+ export var roundAllDayEnd = function (_a) {
246
+ var start = _a.start, end = _a.end;
247
+ var startDate = start.stripTime();
248
+ var endDate = end.stripTime();
249
+ return endDate.getTime() !== end.getTime() ||
250
+ startDate.getTime() === endDate.getTime() ? endDate.addDays(1) : endDate;
251
+ };
252
+ /**
253
+ * @hidden
254
+ */
255
+ export var defaultModelFields = {
256
+ id: 'id',
257
+ start: 'start',
258
+ startTimezone: 'startTimezone',
259
+ originalStart: 'originalStart',
260
+ end: 'end',
261
+ endTimezone: 'endTimezone',
262
+ isAllDay: 'isAllDay',
263
+ title: 'title',
264
+ description: 'description',
265
+ recurrenceRule: 'recurrenceRule',
266
+ recurrenceId: 'recurrenceId',
267
+ recurrenceExceptions: 'recurrenceExceptions'
268
+ };
269
+ /** @hidden */
270
+ export var getModelFields = function (modelFields) {
271
+ return { fields: __assign(__assign({}, defaultModelFields), modelFields) };
272
+ };
273
+ /** @hidden */
274
+ export var isInTimeRange = function (date, min, max) {
275
+ return ((min.getHours() < date.getHours()) ||
276
+ (min.getHours() === date.getHours() && min.getMinutes() <= date.getMinutes()))
277
+ && ((date.getHours() < max.getHours()) ||
278
+ (max.getHours() === date.getHours() && date.getMinutes() < max.getMinutes()));
279
+ };
280
+ // /** @hidden */
281
+ // export const generateGroups = (
282
+ // groupIndex: string | null,
283
+ // nextGroupIndex: string | null,
284
+ // groups: any[],
285
+ // group: SchedulerGroup | undefined,
286
+ // resources: SchedulerResource[] = []
287
+ // ) => {
288
+ // if (!groupIndex || !nextGroupIndex) { return []; }
289
+ // const groupedResources = toGroupResources(group, resources);
290
+ // const flat = toFlatGroupResources(groupedResources);
291
+ // return groups.map(g => g.index === Number(groupIndex)
292
+ // ? { index: Number((nextGroupIndex)), resources: flat[Number(nextGroupIndex)] }
293
+ // : g);
294
+ // };
295
+ /** @hidden */
296
+ export var toSchedulerGroups = function (group, resources) {
297
+ var groupedResources = toGroupResources(group, resources);
298
+ var flat = toFlatGroupResources(groupedResources);
299
+ if (flat.length === 1) {
300
+ return [{
301
+ index: 0,
302
+ // resources: []
303
+ resources: (resources || [])
304
+ .reduce(function (all, res) { return __spreadArray(__spreadArray([], all, true), res.data
305
+ .map(function (item) { return (__assign(__assign({}, item), { field: res.field, valueField: res.valueField, colorField: res.colorField, multiple: res.multiple })); }), true); }, [])
306
+ }];
307
+ }
308
+ else {
309
+ return flat.map(function (res, index) { return ({
310
+ index: index,
311
+ resources: res
312
+ }); });
313
+ }
314
+ };
315
+ /** @hidden */
316
+ export var toSchedulerResources = function (resources) {
317
+ return (resources || []).reduce(function (all, res) { return __spreadArray(__spreadArray([], all, true), res.data.map(function (item) { return (__assign(__assign({}, item), { field: res.field, valueField: res.valueField, colorField: res.colorField, multiple: res.multiple })); }), true); }, []);
318
+ };
319
+ /** @hidden */
320
+ export var generateResourceFields = function (groups, defaultFields) {
321
+ if (!groups || !groups.length) {
322
+ return defaultFields;
323
+ }
324
+ var result = {};
325
+ groups.forEach(function (group) {
326
+ group.resources.forEach(function (resource) {
327
+ if (result[resource.field] === undefined) {
328
+ result[resource.field] = resource[resource.valueField];
329
+ }
330
+ });
331
+ });
332
+ return result;
333
+ };
334
+ /**
335
+ * @hidden
336
+ *
337
+ * TODO: Move to @progress/kendo-common
338
+ */
339
+ export var isBlank = function (value) { return value === null || value === undefined; };
340
+ /**
341
+ * @hidden
342
+ *
343
+ * TODO: Move to @progress/kendo-common
344
+ */
345
+ export var isNullOrEmptyString = function (value) {
346
+ return isBlank(value) || (value.trim && value.trim().length === 0);
347
+ };
348
+ /**
349
+ * @hidden
350
+ */
351
+ export var setTime = function (origin, candidate) {
352
+ var date = cloneDate(origin);
353
+ if (date) {
354
+ date.setHours(candidate.getHours(), candidate.getMinutes(), candidate.getSeconds(), candidate.getMilliseconds());
355
+ }
356
+ return date;
357
+ };
358
+ function getDataIdx(value, resource) {
359
+ var data = resource.data;
360
+ for (var dataIdx = 0; dataIdx < data.length; dataIdx++) {
361
+ if (getField(data[dataIdx], resource.valueField) === value) {
362
+ return dataIdx;
363
+ }
364
+ }
365
+ return 0;
366
+ }
367
+ /** @hidden */
368
+ export var extractGroups = function (dataItem, fields, group, resources) {
369
+ var groupedResources = toGroupResources(group, resources);
370
+ var flat = toFlatGroupResources(groupedResources);
371
+ var flatGroupsReducer = function (acc, items, index) {
372
+ var match = true;
373
+ items.forEach(function (item) {
374
+ var expected = item[item.valueField];
375
+ var actual = dataItem[fields[item.field] || item.field];
376
+ if (Array.isArray(actual)) {
377
+ match = match && actual.indexOf(expected) >= 0;
378
+ }
379
+ else {
380
+ match = match && actual === expected;
381
+ }
382
+ });
383
+ if (match) {
384
+ return __spreadArray(__spreadArray([], acc, true), [{ index: index, resources: items }], false);
385
+ }
386
+ else {
387
+ return acc;
388
+ }
389
+ };
390
+ return flat.reduce(flatGroupsReducer, []);
391
+ };
392
+ var findLeafResource = function (level) {
393
+ if (level === void 0) { level = 0; }
394
+ return findLeafResource(level + 1);
395
+ };
396
+ /** @hidden */
397
+ export var extractResourceFields = function (dataItem, fields, resources) {
398
+ var result = {};
399
+ if (!resources || !resources.length) {
400
+ return result;
401
+ }
402
+ resources.forEach(function (resource) {
403
+ var match = resource.data.find(function (item) { return item.value === dataItem[fields[resource.field] || resource.field]; });
404
+ if (match) {
405
+ result[resource.field] = match.value;
406
+ }
407
+ });
408
+ return result;
409
+ };
410
+ /** @hidden */
411
+ export var extractResources = function (dataItem, fields, resources) {
412
+ if (resources === void 0) { resources = []; }
413
+ var resourceIndex = 0;
414
+ var itemResources = [];
415
+ for (var resourceIdx = 0; resourceIdx < resources.length; resourceIdx++) {
416
+ var resource = resources[resourceIdx];
417
+ var values = getField(dataItem, fields[resource.field] || resource.field);
418
+ if (!Array.isArray(values)) {
419
+ values = [values];
420
+ }
421
+ for (var valueIndex = 0; valueIndex < values.length; valueIndex++) {
422
+ if (values[valueIndex] !== undefined) {
423
+ var dataIdx = getDataIdx(values[valueIndex], resource);
424
+ var data = resource.data[dataIdx];
425
+ var itemResource = {
426
+ text: getField(data, resource.textField),
427
+ color: getField(data, resource.colorField),
428
+ value: getField(data, resource.valueField)
429
+ };
430
+ itemResources.push(__assign(__assign({}, itemResource), { index: resourceIndex }));
431
+ }
432
+ resourceIndex++;
433
+ }
434
+ }
435
+ return itemResources;
436
+ };
437
+ // Change from JSON.stringify to recursive compare! use clone
438
+ /** @hidden */
439
+ export var shallowCompare = function (x, y) { return JSON.stringify(x) === JSON.stringify(y); };
440
+ /** @hidden */
441
+ export var findMissing = function (orderNumbers) {
442
+ var result = 0;
443
+ var numbers = orderNumbers.slice();
444
+ // Array.find is also O(n)
445
+ numbers.sort(function (a, b) { return a - b; }).forEach(function (_, index) {
446
+ if (numbers[index] === index) {
447
+ result = index + 1;
448
+ }
449
+ });
450
+ return result;
451
+ };
452
+ /** @hidden */
453
+ export var calculateOrder = function (current, items, slots, ignoreIsAllDay) {
454
+ if (ignoreIsAllDay === void 0) { ignoreIsAllDay = false; }
455
+ var result;
456
+ slots.forEach(function (slot) {
457
+ var orderNumbers = [];
458
+ var sorted = items.sort(function (a, b) { return a.$props.start.getTime() - b.$props.start.getTime(); });
459
+ sorted.forEach(function (item) {
460
+ var fit = (ignoreIsAllDay || (item.$props.isAllDay === slot.$props.isAllDay))
461
+ && item.$props.range.index === slot.$props.range.index
462
+ && item.$props.group.index === slot.$props.group.index
463
+ && intersects(item.$props.start, item.$props.end, slot.$props.start, slot.$props.end);
464
+ if (fit) {
465
+ var order = findMissing(orderNumbers);
466
+ if (item === current && result === undefined) {
467
+ result = order;
468
+ }
469
+ orderNumbers.splice(order, 0, order);
470
+ }
471
+ });
472
+ });
473
+ return result;
474
+ };
475
+ // TODO: REVISIT
476
+ /** @hidden */
477
+ export var mapSlotsToItems = function (items, slots, ignoreIsAllDay) {
478
+ if (ignoreIsAllDay === void 0) { ignoreIsAllDay = false; }
479
+ // Clear
480
+ slots.forEach(function (slot) { return slot.items.splice(0, slot.items.length); });
481
+ // Populate
482
+ slots.forEach(function (slot) {
483
+ var orderNumbers = [];
484
+ items.forEach(function (item) {
485
+ var fit = (ignoreIsAllDay || (item.isAllDay === slot.isAllDay))
486
+ && item.range.index === slot.range.index
487
+ && item.group.index === slot.group.index
488
+ && intersects(item.start, item.end, slot.start, slot.end);
489
+ if (fit) {
490
+ var order = findMissing(orderNumbers);
491
+ if (item.order === null || item.order === undefined || item.order < order) {
492
+ item.order = order;
493
+ }
494
+ orderNumbers.splice(item.order, 0, item.order);
495
+ slot.items.push(item);
496
+ }
497
+ });
498
+ });
499
+ };
500
+ // TODO: REVISIT
501
+ /** @hidden */
502
+ export var mapItemsToSlots = function (items, slots, ignoreIsAllDay) {
503
+ if (ignoreIsAllDay === void 0) { ignoreIsAllDay = false; }
504
+ // Clear
505
+ items.forEach(function (item) { return item.slots.splice(0, item.slots.length); });
506
+ // Populate
507
+ items.forEach(function (item) {
508
+ slots.forEach(function (slot) {
509
+ var fit = (ignoreIsAllDay || (item.isAllDay === slot.isAllDay))
510
+ && item.range.index === slot.range.index
511
+ && item.group.index === slot.group.index
512
+ && intersects(item.start, item.end, slot.start, slot.end);
513
+ if (fit) {
514
+ item.slots.push(slot);
515
+ }
516
+ });
517
+ });
518
+ };
519
+ /** @hidden */
520
+ export var noop = function () {
521
+ var _args = [];
522
+ for (var _i = 0; _i < arguments.length; _i++) {
523
+ _args[_i] = arguments[_i];
524
+ }
525
+ };
526
+ /** @hidden */
527
+ export var findFirstItem = function (current) {
528
+ var next = current.props.items.find(function (i) { return i.order === 0; }) || current.props.items[0];
529
+ return next;
530
+ };
531
+ /** @hidden */
532
+ export var compareItems = function (f, s, ignoreIsAllDay) { return Boolean(f.uid === s.uid
533
+ && ((f.occurrenceId === undefined) ||
534
+ f.occurrenceId === s.occurrenceId)
535
+ && (f.group.index === s.group.index)
536
+ && (f.range.index === s.range.index)
537
+ && (ignoreIsAllDay || f.isAllDay === s.isAllDay)); };
538
+ /** @hidden */
539
+ export var getSortedSlots = function (all, ignoreIsAllDay) {
540
+ var filtered = all.filter(function (i) { return i.element !== null; });
541
+ var sorted = orderBy(filtered, [
542
+ { field: 'group.index', dir: 'asc' },
543
+ { field: 'range.index', dir: 'asc' },
544
+ (ignoreIsAllDay ? { field: '' } : { field: 'isAllDay', dir: 'desc' }),
545
+ { field: 'start', dir: 'asc' }
546
+ ]);
547
+ return sorted;
548
+ };
549
+ /** @hidden */
550
+ export var compareSlots = function (f, s) { return Boolean(f.start.getTime() === s.start.getTime()
551
+ && f.end.getTime() === s.end.getTime()
552
+ && f.index === s.index
553
+ && f.group.index === s.group.index
554
+ && f.range.index === s.range.index
555
+ && f.isAllDay === s.isAllDay); };
556
+ /** @hidden */
557
+ export var getCurrentItemIndex = function (ref, all, ignoreIsAllDay) {
558
+ if (ignoreIsAllDay === void 0) { ignoreIsAllDay = false; }
559
+ var current = ref;
560
+ var sorted = getSortedSlots(all, ignoreIsAllDay);
561
+ var currentIndex = sorted
562
+ .findIndex(function (i) { return compareItems(i, current, ignoreIsAllDay); });
563
+ return {
564
+ currentIndex: currentIndex,
565
+ sorted: sorted
566
+ };
567
+ };
568
+ /** @hidden */
569
+ export var findCurrentItem = function (ref, all, ignoreIsAllDay) {
570
+ if (ignoreIsAllDay === void 0) { ignoreIsAllDay = false; }
571
+ if (!ref || !all) {
572
+ return null;
573
+ }
574
+ var _a = getCurrentItemIndex(ref, all, ignoreIsAllDay) || {}, currentIndex = _a.currentIndex, sorted = _a.sorted;
575
+ var next = sorted[currentIndex];
576
+ return next;
577
+ };
578
+ /** @hidden */
579
+ export var findNextItem = function (ref, all, ignoreIsAllDay, backwards) {
580
+ if (ignoreIsAllDay === void 0) { ignoreIsAllDay = false; }
581
+ if (backwards === void 0) { backwards = false; }
582
+ var _a = getCurrentItemIndex(ref, all, ignoreIsAllDay), currentIndex = _a.currentIndex, sorted = _a.sorted;
583
+ var next = sorted[currentIndex + (backwards ? -1 : 1)];
584
+ return next;
585
+ };
586
+ /**
587
+ * @hidden
588
+ */
589
+ export var orderSort = function (a, b) {
590
+ return (a.order || 0) - (b.order || 0);
591
+ };
@@ -0,0 +1,107 @@
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 { SchedulerViewProps, EditableProp } from '../../models';
7
+ /**
8
+ * Represents the properties of the Kendo UI for Vue [AgendaView]({% slug api_scheduler_scheduleragendaview %}) Component.
9
+ */
10
+ export interface AgendaViewProps extends SchedulerViewProps {
11
+ /**
12
+ * The number of steps (in days) to change, when using the back and forwards buttons in the toolbar navigation.
13
+ * The default value is 7 days.
14
+ */
15
+ step?: number;
16
+ /**
17
+ * Specifies the number of days that the view will render.
18
+ * Defaults to `7`.
19
+ */
20
+ numberOfDays?: number;
21
+ /**
22
+ * The long-date format for displaying the
23
+ * selected date in the Scheduler toolbar.
24
+ * Defaults to `{0:D} - {1:D}`
25
+ * ([more information](https://www.github.com/telerik/kendo-intl/blob/develop/docs/date-formatting/index.md))
26
+ */
27
+ selectedDateFormat?: string;
28
+ /**
29
+ * The short-date format for displaying the
30
+ * selected date in the Scheduler toolbar.
31
+ * Defaults to `{0:d} - {1-d}`
32
+ * ([more information](https://www.github.com/telerik/kendo-intl/blob/develop/docs/date-formatting/index.md))
33
+ */
34
+ selectedShortDateFormat?: string;
35
+ /**
36
+ * Sets a custom `id` to the wrapping element of the `AgendaView`.
37
+ */
38
+ id?: string;
39
+ /**
40
+ * Sets a custom `style` property to the wrapping element of the `AgendaView`.
41
+ */
42
+ style?: any;
43
+ /**
44
+ * Overrides the general `editable` prop of the Scheduler for the specified view only.
45
+ */
46
+ editable?: EditableProp | boolean;
47
+ /**
48
+ * Overrides the `task` prop of the Scheduler for the specified view only.
49
+ */
50
+ task?: any;
51
+ /**
52
+ * Overrides the `viewTask` prop of the Scheduler for the specified view only.
53
+ */
54
+ viewTask?: any;
55
+ /**
56
+ * Overrides the `editTask` prop of the Scheduler for the specified view only.
57
+ */
58
+ editTask?: any;
59
+ /**
60
+ * Overrides the `slot` prop of the Scheduler for the specified view only.
61
+ */
62
+ slot?: any;
63
+ /**
64
+ * Overrides the `viewSlot` prop of the Scheduler for the specified view only.
65
+ */
66
+ viewSlot?: any;
67
+ /**
68
+ * Overrides the `editSlot` prop of the Scheduler for the specified view only.
69
+ */
70
+ editSlot?: any;
71
+ }
72
+ /**
73
+ * @hidden
74
+ */
75
+ export interface AgendaViewState {
76
+ }
77
+ /**
78
+ * @hidden
79
+ */
80
+ export interface AgendaViewComputed {
81
+ [key: string]: any;
82
+ }
83
+ /**
84
+ * @hidden
85
+ */
86
+ export interface AgendaViewMethods {
87
+ [key: string]: any;
88
+ }
89
+ /**
90
+ * @hidden
91
+ */
92
+ export interface AgendaViewData {
93
+ }
94
+ /**
95
+ * @hidden
96
+ */
97
+ export interface AgendaViewAll extends Vue2type, AgendaViewMethods, AgendaViewData, AgendaViewComputed, AgendaViewState {
98
+ }
99
+ /**
100
+ * @hidden
101
+ */
102
+ declare let AgendaViewVue2: ComponentOptions<AgendaViewAll, DefaultData<AgendaViewData>, DefaultMethods<AgendaViewAll>, AgendaViewComputed, RecordPropsDefinition<AgendaViewProps>>;
103
+ /**
104
+ * @hidden
105
+ */
106
+ declare const AgendaView: DefineComponent<AgendaViewProps, any, AgendaViewData, AgendaViewComputed, AgendaViewMethods, {}, {}, {}, string, AgendaViewProps, AgendaViewProps, {}>;
107
+ export { AgendaView, AgendaViewVue2 };