@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,48 @@
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 { ButtonGroupProps } from '@progress/kendo-vue-buttons';
7
+ /** @hidden */
8
+ export interface RecurrenceFrequencyEditorProps extends ButtonGroupProps {
9
+ value: string;
10
+ dataItems: any[];
11
+ onChange?: (value: string) => void;
12
+ }
13
+ /**
14
+ * @hidden
15
+ */
16
+ export interface RecurrenceFrequencyEditorState {
17
+ }
18
+ /**
19
+ * @hidden
20
+ */
21
+ export interface RecurrenceFrequencyEditorComputed {
22
+ [key: string]: any;
23
+ }
24
+ /**
25
+ * @hidden
26
+ */
27
+ export interface RecurrenceFrequencyEditorMethods {
28
+ [key: string]: any;
29
+ }
30
+ /**
31
+ * @hidden
32
+ */
33
+ export interface RecurrenceFrequencyEditorData {
34
+ }
35
+ /**
36
+ * @hidden
37
+ */
38
+ export interface RecurrenceFrequencyEditorAll extends Vue2type, RecurrenceFrequencyEditorMethods, RecurrenceFrequencyEditorData, RecurrenceFrequencyEditorComputed, RecurrenceFrequencyEditorState {
39
+ }
40
+ /**
41
+ * @hidden
42
+ */
43
+ declare let RecurrenceFrequencyEditorVue2: ComponentOptions<RecurrenceFrequencyEditorAll, DefaultData<RecurrenceFrequencyEditorData>, DefaultMethods<RecurrenceFrequencyEditorAll>, RecurrenceFrequencyEditorComputed, RecordPropsDefinition<RecurrenceFrequencyEditorProps>>;
44
+ /**
45
+ * @hidden
46
+ */
47
+ declare const RecurrenceFrequencyEditor: DefineComponent<RecurrenceFrequencyEditorProps, any, RecurrenceFrequencyEditorData, RecurrenceFrequencyEditorComputed, RecurrenceFrequencyEditorMethods, {}, {}, {}, string, RecurrenceFrequencyEditorProps, RecurrenceFrequencyEditorProps, {}>;
48
+ export { RecurrenceFrequencyEditor, RecurrenceFrequencyEditorVue2 };
@@ -0,0 +1,101 @@
1
+ // @ts-ignore
2
+ import * as Vue from 'vue';
3
+ var allVue = Vue;
4
+ var gh = allVue.h;
5
+ var isV3 = allVue.version && allVue.version[0] === '3';
6
+ var inject = allVue.inject;
7
+ import { ButtonGroup, Button } from '@progress/kendo-vue-buttons';
8
+ /**
9
+ * @hidden
10
+ */
11
+
12
+ var RecurrenceFrequencyEditorVue2 = {
13
+ name: 'KendoRecurrenceFrequencyEditor',
14
+ // @ts-ignore
15
+ emits: {
16
+ change: null
17
+ },
18
+ props: {
19
+ value: String,
20
+ dataItems: Array
21
+ },
22
+ // @ts-ignore
23
+ setup: !isV3 ? undefined : function () {
24
+ var v3 = !!isV3;
25
+ return {
26
+ v3: v3
27
+ };
28
+ },
29
+ // @ts-ignore
30
+ render: function render(createElement) {
31
+ var _this = this;
32
+
33
+ var h = gh || createElement;
34
+ var _a = this.$props,
35
+ value = _a.value,
36
+ dataItems = _a.dataItems;
37
+ return (// @ts-ignore function children
38
+ h(ButtonGroup, {
39
+ width: '100%',
40
+ attrs: this.v3 ? undefined : {
41
+ width: '100%'
42
+ }
43
+ }, this.v3 ? function () {
44
+ return [dataItems.map(function (item) {
45
+ return (// @ts-ignore function children
46
+ h(Button, {
47
+ type: "button",
48
+ attrs: this.v3 ? undefined : {
49
+ type: "button",
50
+ selected: item.value === value,
51
+ "data-value": item.value,
52
+ togglable: true
53
+ },
54
+ key: item.value,
55
+ selected: item.value === value,
56
+ onClick: this.handleClick,
57
+ on: this.v3 ? undefined : {
58
+ "click": this.handleClick
59
+ },
60
+ "data-value": item.value,
61
+ togglable: true
62
+ }, this.v3 ? function () {
63
+ return [item.text];
64
+ } : [item.text])
65
+ );
66
+ }, _this)];
67
+ } : [dataItems.map(function (item) {
68
+ return h(Button, {
69
+ type: "button",
70
+ attrs: this.v3 ? undefined : {
71
+ type: "button",
72
+ selected: item.value === value,
73
+ "data-value": item.value,
74
+ togglable: true
75
+ },
76
+ key: item.value,
77
+ selected: item.value === value,
78
+ onClick: this.handleClick,
79
+ on: this.v3 ? undefined : {
80
+ "click": this.handleClick
81
+ },
82
+ "data-value": item.value,
83
+ togglable: true
84
+ }, this.v3 ? function () {
85
+ return [item.text];
86
+ } : [item.text]);
87
+ }, _this)])
88
+ );
89
+ },
90
+ methods: {
91
+ handleClick: function handleClick(event) {
92
+ this.$emit('change', event.currentTarget.dataset.value);
93
+ }
94
+ }
95
+ };
96
+ /**
97
+ * @hidden
98
+ */
99
+
100
+ var RecurrenceFrequencyEditor = RecurrenceFrequencyEditorVue2;
101
+ export { RecurrenceFrequencyEditor, RecurrenceFrequencyEditorVue2 };
@@ -0,0 +1,51 @@
1
+ import { DefineComponent, RecordPropsDefinition, ComponentOptions, Vue2type } from '../additionalTypes';
2
+ declare type DefaultData<V> = object | ((this: V) => {});
3
+ declare type DefaultMethods<V> = {
4
+ [key: string]: (this: V, ...args: any[]) => any;
5
+ };
6
+ import { ButtonGroupProps } from '@progress/kendo-vue-buttons';
7
+ /** @hidden */
8
+ export interface RecurrenceRepeatOnWeekEditorProps extends ButtonGroupProps {
9
+ dataItems?: {
10
+ text: string;
11
+ value: number | string;
12
+ }[];
13
+ value?: (number | string)[];
14
+ onChange?: (value: number[]) => void;
15
+ }
16
+ /**
17
+ * @hidden
18
+ */
19
+ export interface RecurrenceRepeatOnWeekEditorState {
20
+ }
21
+ /**
22
+ * @hidden
23
+ */
24
+ export interface RecurrenceRepeatOnWeekEditorComputed {
25
+ [key: string]: any;
26
+ }
27
+ /**
28
+ * @hidden
29
+ */
30
+ export interface RecurrenceRepeatOnWeekEditorMethods {
31
+ [key: string]: any;
32
+ }
33
+ /**
34
+ * @hidden
35
+ */
36
+ export interface RecurrenceRepeatOnWeekEditorData {
37
+ }
38
+ /**
39
+ * @hidden
40
+ */
41
+ export interface RecurrenceRepeatOnWeekEditorAll extends Vue2type, RecurrenceRepeatOnWeekEditorMethods, RecurrenceRepeatOnWeekEditorData, RecurrenceRepeatOnWeekEditorComputed, RecurrenceRepeatOnWeekEditorState {
42
+ }
43
+ /**
44
+ * @hidden
45
+ */
46
+ declare let RecurrenceRepeatOnWeekEditorVue2: ComponentOptions<RecurrenceRepeatOnWeekEditorAll, DefaultData<RecurrenceRepeatOnWeekEditorData>, DefaultMethods<RecurrenceRepeatOnWeekEditorAll>, RecurrenceRepeatOnWeekEditorComputed, RecordPropsDefinition<RecurrenceRepeatOnWeekEditorProps>>;
47
+ /**
48
+ * @hidden
49
+ */
50
+ declare const RecurrenceRepeatOnWeekEditor: DefineComponent<RecurrenceRepeatOnWeekEditorProps, any, RecurrenceRepeatOnWeekEditorData, RecurrenceRepeatOnWeekEditorComputed, RecurrenceRepeatOnWeekEditorMethods, {}, {}, {}, string, RecurrenceRepeatOnWeekEditorProps, RecurrenceRepeatOnWeekEditorProps, {}>;
51
+ export { RecurrenceRepeatOnWeekEditor, RecurrenceRepeatOnWeekEditorVue2 };
@@ -0,0 +1,135 @@
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
+ }; // @ts-ignore
10
+
11
+
12
+ import * as Vue from 'vue';
13
+ var allVue = Vue;
14
+ var gh = allVue.h;
15
+ var isV3 = allVue.version && allVue.version[0] === '3';
16
+ var inject = allVue.inject;
17
+ import { ButtonGroup, Button } from '@progress/kendo-vue-buttons';
18
+ import { capitalize } from './common.js';
19
+ /**
20
+ * @hidden
21
+ */
22
+
23
+ var RecurrenceRepeatOnWeekEditorVue2 = {
24
+ name: 'KendoRecurrenceRepeatOnWeekEditor',
25
+ // @ts-ignore
26
+ emits: {
27
+ change: null
28
+ },
29
+ props: {
30
+ dataItems: {
31
+ type: Array,
32
+ default: function _default() {
33
+ return [];
34
+ }
35
+ },
36
+ value: {
37
+ type: Array,
38
+ default: function _default() {
39
+ return [];
40
+ }
41
+ }
42
+ },
43
+ // @ts-ignore
44
+ setup: !isV3 ? undefined : function () {
45
+ var v3 = !!isV3;
46
+ return {
47
+ v3: v3
48
+ };
49
+ },
50
+ // @ts-ignore
51
+ render: function render(createElement) {
52
+ var _this = this;
53
+
54
+ var h = gh || createElement;
55
+ var _a = this.$props,
56
+ value = _a.value,
57
+ dataItems = _a.dataItems;
58
+ return (// @ts-ignore function children
59
+ h(ButtonGroup, {
60
+ width: 'auto',
61
+ attrs: this.v3 ? undefined : {
62
+ width: 'auto'
63
+ }
64
+ }, this.v3 ? function () {
65
+ return [dataItems.map(function (item) {
66
+ return (// @ts-ignore function children
67
+ h(Button, {
68
+ type: "button",
69
+ attrs: this.v3 ? undefined : {
70
+ type: "button",
71
+ "data-key": item.value,
72
+ selected: value.some(function (v) {
73
+ return v === item.value;
74
+ }),
75
+ togglable: true
76
+ },
77
+ key: item.value,
78
+ "data-key": item.value,
79
+ selected: value.some(function (v) {
80
+ return v === item.value;
81
+ }),
82
+ togglable: true,
83
+ onClick: this.handleClick,
84
+ on: this.v3 ? undefined : {
85
+ "click": this.handleClick
86
+ }
87
+ }, this.v3 ? function () {
88
+ return [capitalize(item.text)];
89
+ } : [capitalize(item.text)])
90
+ );
91
+ }, _this)];
92
+ } : [dataItems.map(function (item) {
93
+ return h(Button, {
94
+ type: "button",
95
+ attrs: this.v3 ? undefined : {
96
+ type: "button",
97
+ "data-key": item.value,
98
+ selected: value.some(function (v) {
99
+ return v === item.value;
100
+ }),
101
+ togglable: true
102
+ },
103
+ key: item.value,
104
+ "data-key": item.value,
105
+ selected: value.some(function (v) {
106
+ return v === item.value;
107
+ }),
108
+ togglable: true,
109
+ onClick: this.handleClick,
110
+ on: this.v3 ? undefined : {
111
+ "click": this.handleClick
112
+ }
113
+ }, this.v3 ? function () {
114
+ return [capitalize(item.text)];
115
+ } : [capitalize(item.text)]);
116
+ }, _this)])
117
+ );
118
+ },
119
+ methods: {
120
+ handleClick: function handleClick(event) {
121
+ var newValue = Number(event.currentTarget.dataset.key);
122
+ this.$emit('change', this.value.some(function (i) {
123
+ return i === newValue;
124
+ }) ? this.value.filter(function (i) {
125
+ return i !== newValue;
126
+ }) : __spreadArray(__spreadArray([], this.value, true), [newValue], false));
127
+ }
128
+ }
129
+ };
130
+ /**
131
+ * @hidden
132
+ */
133
+
134
+ var RecurrenceRepeatOnWeekEditor = RecurrenceRepeatOnWeekEditorVue2;
135
+ export { RecurrenceRepeatOnWeekEditor, RecurrenceRepeatOnWeekEditorVue2 };
@@ -0,0 +1,57 @@
1
+ import { OffsetPosition } from './types/OffsetPosition';
2
+ import { RecurrenceRule } from '@progress/kendo-recurrence';
3
+ import { Frequency } from './types/Frequency';
4
+ import { WeekDayRule } from './types/WeekDayRule';
5
+ import { FrequencyEntity } from './types/FrequencyEntity';
6
+ import { MonthEntity } from './types/MonthEntity';
7
+ import { WeekDayEntity } from './types/WeekDayEntity';
8
+ import { OffsetPositionEntity } from './types/OffsetPositionEntity';
9
+ import { EndRule } from './types/EndRule';
10
+ import { RepeatOnRule } from './types/RepeatOnRule';
11
+ import { IntlService } from '@progress/kendo-vue-intl';
12
+ /** @hidden */
13
+ export declare const capitalize: (value: string) => string;
14
+ /** @hidden */
15
+ export declare const OFFSET_POSITIONS: OffsetPosition[];
16
+ /** @hidden */
17
+ export declare const FREQUENCIES: Frequency[];
18
+ /** @hidden */
19
+ export declare const dayRule: WeekDayRule[];
20
+ /** @hidden */
21
+ export declare const weekdayRule: WeekDayRule[];
22
+ /** @hidden */
23
+ export declare const weekendRule: WeekDayRule[];
24
+ /** @hidden */
25
+ export declare const weekDayRuleFromString: (weekDay: string) => WeekDayRule[] | undefined;
26
+ /** @hidden */
27
+ export declare const getRule: (recurrenceRule: string) => RecurrenceRule;
28
+ /** @hidden */
29
+ export declare const getFrequencies: (localizeMessage: any) => FrequencyEntity[];
30
+ /** @hidden */
31
+ export declare const getFrequency: (rrule: RecurrenceRule) => Frequency;
32
+ /** @hidden */
33
+ export declare const getUntil: (rrule: RecurrenceRule) => Date | null;
34
+ /** @hidden */
35
+ export declare const getMonths: (intl: IntlService) => MonthEntity[];
36
+ /** @hidden */
37
+ export declare const getWeekDays: (intl: IntlService) => WeekDayEntity[];
38
+ /** @hidden */
39
+ export declare const getWeekDay: (weekDays: WeekDayEntity[], rrule: RecurrenceRule, start: Date) => WeekDayEntity;
40
+ /** @hidden */
41
+ export declare const getExtendedWeekDays: (intl: IntlService, localizeMessage: any) => WeekDayEntity[];
42
+ /** @hidden */
43
+ export declare const getOffset: (offsets: OffsetPositionEntity[], rrule: RecurrenceRule) => OffsetPositionEntity;
44
+ /** @hidden */
45
+ export declare const getOffsets: (localizeMessage: any) => OffsetPositionEntity[];
46
+ /** @hidden */
47
+ export declare const getEndRule: (rrule: RecurrenceRule) => EndRule;
48
+ /** @hidden */
49
+ export declare const getRepeatOnRule: (rrule: RecurrenceRule) => RepeatOnRule | undefined;
50
+ /** @hidden */
51
+ export declare const getMonth: (months: MonthEntity[], rrule: RecurrenceRule) => MonthEntity;
52
+ /** @hidden */
53
+ export declare const getMonthDay: (rrule: RecurrenceRule, start: Date) => number;
54
+ /** @hidden */
55
+ export declare const getUntilEnd: (start: Date, until: Date | null) => Date;
56
+ /** @hidden */
57
+ export declare const getUntilMin: (start: Date, until: Date | null) => Date;
@@ -0,0 +1,212 @@
1
+ import { isPresent, isNullOrEmptyString } from '../utils.js';
2
+ import { parseRule } from '@progress/kendo-recurrence';
3
+ import { toLocalDate } from '@progress/kendo-date-math';
4
+ /** @hidden */
5
+ export var capitalize = function (value) { return value.charAt(0).toUpperCase() + value.slice(1); };
6
+ /** @hidden */
7
+ export var OFFSET_POSITIONS = ['first', 'second', 'third', 'fourth', 'last'];
8
+ /** @hidden */
9
+ export var FREQUENCIES = ['never', 'daily', 'weekly', 'monthly', 'yearly'];
10
+ /** @hidden */
11
+ export var dayRule = [
12
+ { day: 0, offset: 0 },
13
+ { day: 1, offset: 0 },
14
+ { day: 2, offset: 0 },
15
+ { day: 3, offset: 0 },
16
+ { day: 4, offset: 0 },
17
+ { day: 5, offset: 0 },
18
+ { day: 6, offset: 0 }
19
+ ];
20
+ /** @hidden */
21
+ export var weekdayRule = [
22
+ { day: 1, offset: 0 },
23
+ { day: 2, offset: 0 },
24
+ { day: 3, offset: 0 },
25
+ { day: 4, offset: 0 },
26
+ { day: 5, offset: 0 }
27
+ ];
28
+ /** @hidden */
29
+ export var weekendRule = [
30
+ { day: 0, offset: 0 },
31
+ { day: 6, offset: 0 }
32
+ ];
33
+ /** @hidden */
34
+ export var weekDayRuleFromString = function (weekDay) {
35
+ switch (weekDay) {
36
+ case 'day':
37
+ return dayRule;
38
+ case 'weekday':
39
+ return weekdayRule;
40
+ case 'weekend':
41
+ return weekendRule;
42
+ default:
43
+ break;
44
+ }
45
+ return;
46
+ };
47
+ /** @hidden */
48
+ export var getRule = function (recurrenceRule) {
49
+ return parseRule({ recurrenceRule: recurrenceRule }) || {};
50
+ };
51
+ /** @hidden */
52
+ export var getFrequencies = function (localizeMessage) {
53
+ return FREQUENCIES.map(function (freq) { return ({
54
+ value: freq,
55
+ text: localizeMessage('Frequencies' + capitalize(freq))
56
+ }); });
57
+ };
58
+ /** @hidden */
59
+ export var getFrequency = function (rrule) {
60
+ if (isPresent(rrule) && !isNullOrEmptyString(rrule.freq)) {
61
+ return rrule.freq;
62
+ }
63
+ return 'never';
64
+ };
65
+ /** @hidden */
66
+ export var getUntil = function (rrule) {
67
+ if (isPresent(rrule.until)) {
68
+ return toLocalDate(rrule.until);
69
+ }
70
+ return null;
71
+ };
72
+ /** @hidden */
73
+ export var getMonths = function (intl) {
74
+ return intl.dateFormatNames({
75
+ type: 'months',
76
+ nameType: 'wide',
77
+ standAlone: true
78
+ }).map(function (month, idx) { return ({
79
+ text: month,
80
+ value: idx + 1
81
+ }); });
82
+ };
83
+ /** @hidden */
84
+ export var getWeekDays = function (intl) {
85
+ var firstDay = intl.firstDay();
86
+ var abbrNames = intl.dateFormatNames({
87
+ type: 'days',
88
+ nameType: 'abbreviated'
89
+ }).map(function (day, idx) { return ({
90
+ text: day,
91
+ value: idx
92
+ }); });
93
+ /* Sorting according to first week day */
94
+ return (abbrNames.slice(firstDay)).concat(abbrNames.slice(0, firstDay));
95
+ };
96
+ /** @hidden */
97
+ export var getWeekDay = function (weekDays, rrule, start) {
98
+ return weekDays.find(function (item) {
99
+ var value;
100
+ if (isPresent(rrule.byWeekDay)) {
101
+ var weekDaysCount = rrule.byWeekDay.length;
102
+ switch (weekDaysCount) {
103
+ case 7:
104
+ value = 'day';
105
+ break;
106
+ case 5:
107
+ value = 'weekday';
108
+ break;
109
+ case 2:
110
+ value = 'weekend';
111
+ break;
112
+ case 1:
113
+ value = rrule.byWeekDay[0].day;
114
+ break;
115
+ default:
116
+ value = start.getDay();
117
+ break;
118
+ }
119
+ }
120
+ return value === item.value;
121
+ }) || weekDays[0];
122
+ };
123
+ /** @hidden */
124
+ export var getExtendedWeekDays = function (intl, localizeMessage) {
125
+ var firstDay = intl.firstDay();
126
+ var wideNames = intl.dateFormatNames({
127
+ type: 'days',
128
+ nameType: 'wide'
129
+ }).map(function (day, idx) { return ({
130
+ text: day,
131
+ value: idx
132
+ }); });
133
+ var sortedWideNames = (wideNames.slice(firstDay)).concat(wideNames.slice(0, firstDay));
134
+ var specialRules = [
135
+ { text: localizeMessage('WeekdaysDay'), value: 'day' },
136
+ { text: localizeMessage('WeekdaysWeekday'), value: 'weekday' },
137
+ { text: localizeMessage('WeekdaysWeekendday'), value: 'weekend' }
138
+ ];
139
+ return specialRules.concat(sortedWideNames);
140
+ };
141
+ /** @hidden */
142
+ export var getOffset = function (offsets, rrule) {
143
+ return offsets.find(function (offset) { return offset.value === (rrule.bySetPosition
144
+ ? rrule.bySetPosition[0]
145
+ : rrule.byWeekDay && rrule.byWeekDay[0]
146
+ ? rrule.byWeekDay[0].offset
147
+ : 1); }) || offsets[0];
148
+ };
149
+ /** @hidden */
150
+ export var getOffsets = function (localizeMessage) {
151
+ var values = [1, 2, 3, 4, -1];
152
+ return OFFSET_POSITIONS.map(function (offset, idx) { return ({
153
+ text: localizeMessage('OffsetPositions' + capitalize(offset)),
154
+ value: values[idx]
155
+ }); });
156
+ };
157
+ /** @hidden */
158
+ export var getEndRule = function (rrule) {
159
+ if (isPresent(rrule.count)) {
160
+ return 'count';
161
+ }
162
+ else if (isPresent(rrule.until)) {
163
+ return 'until';
164
+ }
165
+ else {
166
+ return 'never';
167
+ }
168
+ };
169
+ /** @hidden */
170
+ export var getRepeatOnRule = function (rrule) {
171
+ if (isPresent(rrule.byWeekDay)) {
172
+ return 'weekday';
173
+ }
174
+ else if (isPresent(rrule.byMonthDay)) {
175
+ return 'monthday';
176
+ }
177
+ };
178
+ /** @hidden */
179
+ export var getMonth = function (months, rrule) {
180
+ return months.find(function (month) { return (rrule.byMonth ? rrule.byMonth[0] : null) === month.value; }) || months[0];
181
+ };
182
+ /** @hidden */
183
+ export var getMonthDay = function (rrule, start) {
184
+ if (isPresent(rrule.byMonthDay) && rrule.byMonthDay.length > 0) {
185
+ return rrule.byMonthDay[0];
186
+ }
187
+ else {
188
+ return start.getDate();
189
+ }
190
+ };
191
+ /** @hidden */
192
+ export var getUntilEnd = function (start, until) {
193
+ var currentStart = start;
194
+ var currentUntil = until;
195
+ if (isPresent(currentUntil)) {
196
+ return currentUntil;
197
+ }
198
+ else {
199
+ return new Date(currentStart.getFullYear(), currentStart.getMonth(), currentStart.getDate(), 23, 59, 59);
200
+ }
201
+ };
202
+ /** @hidden */
203
+ export var getUntilMin = function (start, until) {
204
+ var currentStart = start;
205
+ var currentUntil = until;
206
+ if (isPresent(currentUntil) && currentUntil < currentStart) {
207
+ return currentUntil;
208
+ }
209
+ else {
210
+ return currentStart;
211
+ }
212
+ };
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @hidden
3
+ */
4
+ export declare type EndRule = 'count' | 'never' | 'until';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @hidden
3
+ */
4
+ export declare type Frequency = 'never' | 'daily' | 'weekly' | 'monthly' | 'yearly';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ import { Frequency } from './Frequency';
2
+ /**
3
+ * @hidden
4
+ */
5
+ export interface FrequencyEntity {
6
+ text: string;
7
+ value: Frequency;
8
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @hidden
3
+ */
4
+ export interface MonthEntity {
5
+ text: string;
6
+ value: number;
7
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @hidden
3
+ */
4
+ export declare type OffsetPosition = 'first' | 'second' | 'third' | 'fourth' | 'last';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @hidden
3
+ */
4
+ export interface OffsetPositionEntity {
5
+ text: string;
6
+ value: number;
7
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @hidden
3
+ */
4
+ export declare type RepeatOnRule = 'monthday' | 'weekday';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @hidden
3
+ */
4
+ export interface WeekDayEntity {
5
+ text: string;
6
+ value: number | string;
7
+ }
@@ -0,0 +1 @@
1
+ export {};