@progress/kendo-vue-scheduler 10.2.0-develop.11 → 10.2.0-develop.12

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 (156) hide show
  1. package/Scheduler.d.ts +157 -56
  2. package/Scheduler.js +1 -1
  3. package/Scheduler.mjs +242 -214
  4. package/components/EventOverviewPopover.d.ts +62 -0
  5. package/components/EventOverviewPopover.js +8 -0
  6. package/components/EventOverviewPopover.mjs +191 -0
  7. package/components/MoreEventsPopover.d.ts +3 -1
  8. package/components/MoreEventsPopover.js +1 -1
  9. package/components/MoreEventsPopover.mjs +31 -27
  10. package/components/SchedulerActionButtons.js +1 -1
  11. package/components/SchedulerActionButtons.mjs +1 -0
  12. package/components/SchedulerForm.d.ts +412 -2
  13. package/components/SchedulerForm.js +1 -1
  14. package/components/SchedulerForm.mjs +162 -60
  15. package/components/SchedulerQuickCreateForm.d.ts +118 -0
  16. package/components/SchedulerQuickCreateForm.js +8 -0
  17. package/components/SchedulerQuickCreateForm.mjs +249 -0
  18. package/constants/main.d.ts +2 -0
  19. package/constants/main.js +1 -1
  20. package/constants/main.mjs +10 -9
  21. package/dist/cdn/js/kendo-vue-scheduler.js +1 -1
  22. package/editors/KeepResetCustomEventsDialog.d.ts +31 -0
  23. package/editors/KeepResetCustomEventsDialog.js +8 -0
  24. package/editors/KeepResetCustomEventsDialog.mjs +72 -0
  25. package/editors/SchedulerFormEditor.d.ts +151 -52
  26. package/editors/SchedulerFormEditor.js +1 -1
  27. package/editors/SchedulerFormEditor.mjs +192 -139
  28. package/editors/SchedulerRecurrenceDialog.d.ts +2 -2
  29. package/editors/SchedulerRecurrenceDialog.js +1 -1
  30. package/editors/SchedulerRecurrenceDialog.mjs +126 -131
  31. package/editors/ZonedSplitDateTime.d.ts +32 -3
  32. package/editors/ZonedSplitDateTime.js +1 -1
  33. package/editors/ZonedSplitDateTime.mjs +112 -47
  34. package/hooks/useCloseOnAnchorScrollOut.d.ts +10 -0
  35. package/hooks/useCloseOnAnchorScrollOut.js +8 -0
  36. package/hooks/useCloseOnAnchorScrollOut.mjs +43 -0
  37. package/hooks/useCustomEventsConfirmation.d.ts +20 -0
  38. package/hooks/useCustomEventsConfirmation.js +8 -0
  39. package/hooks/useCustomEventsConfirmation.mjs +48 -0
  40. package/hooks/useDeferredClick.d.ts +12 -0
  41. package/hooks/useDeferredClick.js +8 -0
  42. package/hooks/useDeferredClick.mjs +22 -0
  43. package/hooks/useExclusivePopover.d.ts +26 -0
  44. package/hooks/useExclusivePopover.js +8 -0
  45. package/hooks/useExclusivePopover.mjs +30 -0
  46. package/hooks/useRecurrenceSummary.d.ts +3 -0
  47. package/hooks/useRecurrenceSummary.js +1 -1
  48. package/hooks/useRecurrenceSummary.mjs +68 -41
  49. package/index.d.mts +4 -2
  50. package/index.d.ts +4 -2
  51. package/index.js +1 -1
  52. package/index.mjs +83 -78
  53. package/items/SchedulerEditItem.d.ts +116 -12
  54. package/items/SchedulerEditItem.js +1 -1
  55. package/items/SchedulerEditItem.mjs +212 -131
  56. package/items/SchedulerItem.d.ts +2 -1
  57. package/items/SchedulerItem.js +1 -1
  58. package/items/SchedulerItem.mjs +28 -23
  59. package/items/SchedulerProportionalViewItem.d.ts +1 -0
  60. package/items/SchedulerProportionalViewItem.js +1 -1
  61. package/items/SchedulerProportionalViewItem.mjs +83 -68
  62. package/items/SchedulerViewItem.d.ts +1 -0
  63. package/items/SchedulerViewItem.js +1 -1
  64. package/items/SchedulerViewItem.mjs +84 -75
  65. package/items/hooks/use-drag-item.js +1 -1
  66. package/items/hooks/use-drag-item.mjs +49 -48
  67. package/items/hooks/use-form-item.d.ts +1 -1
  68. package/items/hooks/use-remove-item.d.ts +1 -1
  69. package/items/hooks/use-resize-item.js +1 -1
  70. package/items/hooks/use-resize-item.mjs +74 -65
  71. package/messages/main.d.ts +42 -0
  72. package/messages/main.js +1 -1
  73. package/messages/main.mjs +303 -275
  74. package/models/InternalDataAction.d.ts +13 -0
  75. package/models/SchedulerView.d.ts +1 -1
  76. package/package-metadata.js +1 -1
  77. package/package-metadata.mjs +2 -2
  78. package/package.json +13 -12
  79. package/recurrence/RecurrenceEditor.js +1 -1
  80. package/recurrence/RecurrenceEditor.mjs +42 -42
  81. package/recurrence/common.d.ts +10 -0
  82. package/recurrence/common.js +1 -1
  83. package/recurrence/common.mjs +39 -35
  84. package/services/itemsService.d.ts +5 -2
  85. package/services/itemsService.js +1 -1
  86. package/services/itemsService.mjs +46 -33
  87. package/services/occurrenceService.js +1 -1
  88. package/services/occurrenceService.mjs +18 -18
  89. package/slots/SchedulerEditSlot.d.ts +70 -8
  90. package/slots/SchedulerEditSlot.js +1 -1
  91. package/slots/SchedulerEditSlot.mjs +222 -141
  92. package/slots/SchedulerSlot.js +1 -1
  93. package/slots/SchedulerSlot.mjs +20 -16
  94. package/slots/SchedulerViewSlot.d.ts +3 -0
  95. package/slots/SchedulerViewSlot.js +1 -1
  96. package/slots/SchedulerViewSlot.mjs +21 -15
  97. package/tasks/SchedulerEditTask.d.ts +13 -2
  98. package/tasks/SchedulerEditTask.js +1 -1
  99. package/tasks/SchedulerEditTask.mjs +45 -30
  100. package/utils/main.d.ts +27 -0
  101. package/utils/main.js +1 -1
  102. package/utils/main.mjs +172 -136
  103. package/views/agenda/AgendaView.d.ts +6 -2
  104. package/views/agenda/AgendaView.js +1 -1
  105. package/views/agenda/AgendaView.mjs +31 -29
  106. package/views/agenda/AgendaViewBody.d.ts +3 -3
  107. package/views/agenda/AgendaViewBody.js +1 -1
  108. package/views/agenda/AgendaViewBody.mjs +31 -29
  109. package/views/common/SchedulerDrag.d.ts +4 -2
  110. package/views/common/SchedulerDrag.js +1 -1
  111. package/views/common/SchedulerDrag.mjs +8 -7
  112. package/views/common/SchedulerResize.d.ts +4 -2
  113. package/views/common/SchedulerResize.js +1 -1
  114. package/views/common/SchedulerResize.mjs +14 -12
  115. package/views/common/VerticalResourceIterator.d.ts +3 -3
  116. package/views/common/VerticalResourceIterator.js +1 -1
  117. package/views/common/VerticalResourceIterator.mjs +34 -33
  118. package/views/day/DayView.d.ts +2 -0
  119. package/views/day/DayView.js +1 -1
  120. package/views/day/DayView.mjs +9 -7
  121. package/views/day/DayViewAllDaySlots.d.ts +7 -5
  122. package/views/day/DayViewAllDaySlots.js +1 -1
  123. package/views/day/DayViewAllDaySlots.mjs +24 -21
  124. package/views/day/DayViewMiddleRow.d.ts +7 -5
  125. package/views/day/DayViewMiddleRow.js +1 -1
  126. package/views/day/DayViewMiddleRow.mjs +18 -13
  127. package/views/day/DayViewVerticalRow.d.ts +7 -5
  128. package/views/day/DayViewVerticalRow.js +1 -1
  129. package/views/day/DayViewVerticalRow.mjs +23 -17
  130. package/views/day/DayViewVerticalSlotsRow.d.ts +7 -5
  131. package/views/day/DayViewVerticalSlotsRow.js +1 -1
  132. package/views/day/DayViewVerticalSlotsRow.mjs +34 -29
  133. package/views/day/MultiDayView.d.ts +13 -7
  134. package/views/day/MultiDayView.js +1 -1
  135. package/views/day/MultiDayView.mjs +108 -95
  136. package/views/month/MonthView.d.ts +15 -4
  137. package/views/month/MonthView.js +1 -1
  138. package/views/month/MonthView.mjs +105 -68
  139. package/views/month/MonthViewBody.d.ts +3 -3
  140. package/views/month/MonthViewBody.js +1 -1
  141. package/views/month/MonthViewBody.mjs +18 -16
  142. package/views/time/MultiDayTimelineView.d.ts +6 -4
  143. package/views/time/MultiDayTimelineView.js +1 -1
  144. package/views/time/MultiDayTimelineView.mjs +64 -63
  145. package/views/time/TimelineView.d.ts +2 -0
  146. package/views/time/TimelineView.js +1 -1
  147. package/views/time/TimelineView.mjs +5 -3
  148. package/views/time/TimelineViewBody.d.ts +7 -5
  149. package/views/time/TimelineViewBody.js +1 -1
  150. package/views/time/TimelineViewBody.mjs +29 -27
  151. package/views/week/WeekView.d.ts +2 -0
  152. package/views/week/WeekView.js +1 -1
  153. package/views/week/WeekView.mjs +11 -10
  154. package/views/week/WorkWeekView.d.ts +2 -0
  155. package/views/week/WorkWeekView.js +1 -1
  156. package/views/week/WorkWeekView.mjs +17 -16
@@ -6,7 +6,7 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  import { Day, ZonedDate } from '@progress/kendo-date-math';
9
- import { DateRange, SchedulerViewProps, Item, SchedulerViewDateRangeArgs } from '../../models/main';
9
+ import { DateRange, SchedulerViewProps, Item, Occurrence, SchedulerViewDateRangeArgs } from '../../models/main';
10
10
  import { DataAction } from '../../Scheduler';
11
11
  import { PropType } from 'vue';
12
12
  /**
@@ -149,7 +149,7 @@ export interface MultiDayViewProps extends SchedulerViewProps {
149
149
  /**
150
150
  * @hidden
151
151
  */
152
- onDataaction: (event: DataAction) => void;
152
+ onDataAction: (event: DataAction) => void;
153
153
  }
154
154
  /** @hidden */
155
155
  declare const MultiDayView: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
@@ -248,7 +248,7 @@ declare const MultiDayView: import('vue').DefineComponent<import('vue').ExtractP
248
248
  type: PropType<boolean>;
249
249
  default: boolean;
250
250
  };
251
- onDataaction: PropType<(event: DataAction) => void>;
251
+ onDataAction: PropType<(event: DataAction) => void>;
252
252
  }>, {}, {
253
253
  hasMounted: boolean;
254
254
  currentDragItem: any;
@@ -274,7 +274,11 @@ declare const MultiDayView: import('vue').DefineComponent<import('vue').ExtractP
274
274
  }[];
275
275
  daySlots(): import('../../models/Slot').Slot[];
276
276
  timeSlots(): import('../../models/Slot').Slot[];
277
- occurrences(): import('../../models/Occurrence').Occurrence[];
277
+ occurrences(): Occurrence[];
278
+ occurrenceLanes(): {
279
+ day: Occurrence[];
280
+ time: Occurrence[];
281
+ };
278
282
  dayOccurrences(): any;
279
283
  timeOccurrences(): any;
280
284
  dayItems(): Item[];
@@ -285,7 +289,7 @@ declare const MultiDayView: import('vue').DefineComponent<import('vue').ExtractP
285
289
  handleDataAction(action: DataAction): void;
286
290
  handleDragItemChange(item: any): void;
287
291
  handleResizeItemChange(item: any): void;
288
- }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
292
+ }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "dataaction"[], "dataaction", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
289
293
  name: {
290
294
  type: PropType<string>;
291
295
  default: string;
@@ -381,8 +385,10 @@ declare const MultiDayView: import('vue').DefineComponent<import('vue').ExtractP
381
385
  type: PropType<boolean>;
382
386
  default: boolean;
383
387
  };
384
- onDataaction: PropType<(event: DataAction) => void>;
385
- }>> & Readonly<{}>, {
388
+ onDataAction: PropType<(event: DataAction) => void>;
389
+ }>> & Readonly<{
390
+ onDataaction?: (...args: any[]) => any;
391
+ }>, {
386
392
  title: string | ((localization: import('@progress/kendo-vue-intl').LocalizationService) => string);
387
393
  name: string;
388
394
  format: string;
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),i=require("@progress/kendo-date-math"),T=require("../../components/BaseView.js"),w=require("../common/HorizontalResourceIterator.js"),S=require("./DayViewGroupRowContent.js"),m=require("../common/VerticalResourceIterator.js"),k=require("./DayViewAllDayRowContent.js"),V=require("./DayViewRowContent.js"),b=require("./DayViewMiddleRow.js"),C=require("./DayViewVerticalRow.js"),R=require("./DayViewHead.js"),A=require("./DayViewAllDaySlots.js"),n=require("../../utils/main.js"),p=require("@progress/kendo-vue-intl"),M=require("../../constants/main.js"),x=require("../../slots/SchedulerEditSlot.js"),N=require("../../items/SchedulerEditItem.js"),H=require("../../components/CurrentTimeMarker.js"),O=require("../../components/CurrentTimeMarkerArrow.js"),f=require("../../services/itemsService.js"),q=require("../../services/occurrenceService.js"),I=require("../../services/slotsService.js"),$=require("../../services/rangeService.js"),z=0,W=r.defineComponent({name:"KendoMultiDayView",props:{name:{type:String,default:"multi-day"},title:{type:String,default:"Multi Day"},currentTimeMarker:{type:Boolean,default:!0},dateRange:{type:[Function,Object],default:function(){return v}},numberOfDays:{type:Number,default:1},startTime:{type:String,default:"00:00"},endTime:{type:String,default:"23:59"},workDayStart:{type:String,default:"08:00"},workDayEnd:{type:String,default:"17:00"},workWeekStart:{type:Number,default:i.Day.Monday},workWeekEnd:{type:Number,default:i.Day.Friday},step:{type:Number,default:1},slotDivisions:{type:Number,default:2},slotDuration:{type:Number,default:60},showWorkHours:{type:Boolean,default:!0},selectedDateFormat:{type:String,default:"{0:D} - {1:D}"},selectedShortDateFormat:{type:String,default:"{0:d} - {1:d}"},dragItem:{type:Object,default:function(){}},resizeItem:{type:Object,default:function(){}},format:{type:String,default:"t"},defaultShowWorkHours:{type:Boolean,default:!0},dateHeaderCell:[String,Function,Object],timeHeaderCell:[String,Function,Object],slotRender:[String,Function,Object],viewSlot:[String,Function,Object],resizeHint:[String,Function,Object],item:[String,Function,Object],viewItem:[String,Function,Object],editable:{type:[Boolean,Object],default:!1},onDataaction:Function},inject:{kendoIntlService:{default:null},ks:{default:null}},computed:{viewStart(){this.intl=p.provideIntlService(this);const t=this.intl.parseDate(this.$props.workDayStart),s=this.intl.parseDate(this.$props.startTime);return(this.ks.showWorkHours!==void 0?this.ks.showWorkHours:this.showWorkHours)?t:s},viewEnd(){this.intl=p.provideIntlService(this);const t=this.intl.parseDate(this.$props.workDayEnd),s=this.intl.parseDate(this.$props.endTime);return(this.ks.showWorkHours!==void 0?this.ks.showWorkHours:this.showWorkHours)?t:s},dayRanges(){return $.toRanges(this.ks.dateRange,{step:i.MS_PER_DAY*this.numberOfDays,timezone:this.ks.timezone}).map(t=>({...t,isAllDay:!0}))},timeRanges(){return $.toRanges(this.ks.dateRange,{step:i.MS_PER_DAY,timezone:this.ks.timezone}).map(t=>({...t,isAllDay:!1}))},daySlots(){return I.toSlots(this.ks.dateRange,{step:i.MS_PER_DAY},{groups:this.ks.groups,ranges:this.dayRanges})},timeSlots(){const t=this;return I.toSlots(this.ks.dateRange,{step:this.slotDuration*M.MS_PER_MINUTE/this.slotDivisions},{groups:this.ks.groups,ranges:this.timeRanges}).filter(s=>t.viewEnd.getTime()===t.viewStart.getTime()||n.isInTimeRange(s.zonedStart,t.viewStart,t.viewEnd))},occurrences(){return q.toOccurrences(this.ks.dataItems,{dateRange:this.ks.dateRange,fields:this.ks.fields,timezone:this.ks.timezone})},dayOccurrences(){return this.occurrences.filter(t=>t.isAllDay)},timeOccurrences(){return this.occurrences.filter(t=>!t.isAllDay)},dayItems(){const t=f.toItems(this.dayOccurrences,{timezone:this.ks.timezone},{groups:this.ks.groups,ranges:this.dayRanges});return n.mapItemsToSlots(t,this.daySlots,!1),n.mapSlotsToItems(t,this.daySlots,!1),t},timeItems(){const t=f.toItems(this.timeOccurrences,{timezone:this.ks.timezone},{groups:this.ks.groups,ranges:this.timeRanges}).filter(s=>this.viewStart.getTime()===this.viewEnd.getTime()||n.isInTimeRange(s.zonedStart,this.viewStart,this.viewEnd)||n.isInTimeRange(s.zonedEnd,this.viewStart,this.viewEnd)||n.isInTimeRange(new Date(s.zonedEnd.getTime()-(s.zonedEnd.getTime()-s.zonedStart.getTime())/2),this.viewStart,this.viewEnd));return n.mapItemsToSlots(t,this.timeSlots,!1),n.mapSlotsToItems(t,this.timeSlots,!1),t},compDragItem(){return this.dragItem!==void 0?this.dragItem:this.currentDragItem},compResizeItem(){return this.resizeItem!==void 0?this.resizeItem:this.currentResizeItem}},data(){return{hasMounted:!1,currentDragItem:void 0,currentResizeItem:void 0}},mounted(){this.hasMounted=!0},created(){this.intl=p.provideIntlService(this)},beforeUpdate(){this.intl=p.provideIntlService(this)},render(){this.intl=p.provideIntlService(this);const t=this.$props.editItem||N.SchedulerEditItem;this.$props.editSlot||x.SchedulerEditSlot,this.$props.showWorkHours;const s=this.$props.numberOfDays,o=this.$props.slotDivisions;this.$props.slotDuration;const d=this.$props.workWeekStart,a=this.$props.workWeekEnd,g=this.intl.parseDate(this.$props.workDayStart),l=this.intl.parseDate(this.$props.workDayEnd),u=this.dayItems,D=this.timeItems,c=this.daySlots,h=this.timeSlots,E=this.ks.view.name==="workweek"||this.ks.view.name==="week";return r.createVNode(T.BaseView,{id:this.$props.id,viewProps:{...this.$props},class:E?"k-scheduler-weekview":"k-scheduler-dayview",ranges:[...this.dayRanges,...this.timeRanges],baseSlots:[...c,...h]},{default:()=>[r.createVNode("div",{class:"k-scheduler-head"},[this.ks.orientation==="horizontal"?[r.createVNode(w.HorizontalResourceIterator,{nested:!0,group:this.ks.props.group,resources:this.ks.props.resources,rowContent:S.DayViewGroupRowContent,childRowContent:S.DayViewGroupRowContent},{default:()=>[r.createVNode(R.DayViewHead,{timeRanges:this.timeRanges,dateHeaderCell:this.$props.dateHeaderCell},null)]}),r.createVNode(w.HorizontalResourceIterator,{group:this.ks.props.group,resources:this.ks.props.resources,rowContent:k.DayViewAllDayRowContent,childRowContent:k.DayViewAllDayRowContent},{default:()=>[r.createVNode(A.DayViewAllDaySlots,{editable:this.$props.editable,dayRanges:this.dayRanges,daySlots:c,slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,numberOfDays:s,workWeekStart:d,workWeekEnd:a,onDataaction:this.handleDataAction},null)]}),this.hasMounted&&u.map(function(e){return r.createVNode(t,{key:e.isRecurring?`${e.uid}:${e.group.index}:${e.range.index}:${e.originalStart}`:`${e.uid}:${e.group.index}:${e.range.index}`,uid:e.uid,start:e.start,end:e.end,originalStart:e.originalStart,startTimezone:e.startTimezone,endTimezone:e.endTimezone,isAllDay:e.isAllDay,title:e.title,description:e.description,occurrenceId:e.occurrenceId,recurrenceExceptions:e.recurrenceExceptions,recurrenceRule:e.recurrenceRule,recurrenceId:e.recurrenceId,dataItem:e.dataItem,itemRef:e.itemRef,head:e.head,tail:e.tail,order:e.order,zonedStart:e.zonedStart,zonedEnd:e.zonedEnd,slots:e.slots,group:e.group,range:e.range,isException:e.isException,isRecurring:e.isRecurring,readonly:e.readonly,form:this.$props.form,onDataaction:this.handleDataAction,onDragitemchange:this.handleDragItemChange,onResizeitemchange:this.handleResizeItemChange,item:this.$props.item,viewItem:this.$props.viewItem,editable:this.$props.editable,vertical:!1},null)},this)]:r.createVNode(m.VerticalResourceIterator,{group:this.ks.props.group,resources:this.ks.props.resources,emptyCell:!0,editable:this.$props.editable},{default:()=>[r.createVNode(R.DayViewHead,{timeRanges:this.timeRanges,dateHeaderCell:this.$props.dateHeaderCell},null)]})]),r.createVNode("div",{class:"k-scheduler-body"},[this.ks.orientation==="horizontal"?[h.filter(e=>e.group.index===z&&e.range.index===z).map(function(e,y){return r.createVNode(w.HorizontalResourceIterator,{key:e.index,nested:!1,group:this.ks.props.group,resources:this.ks.props.resources,rowContent:V.DayViewRowContent,rowContentProps:{timeHeaderCell:this.$props.timeHeaderCell,isMaster:y%o===0,isLast:(y+1)%o===0,contentSlot:e}},{default:()=>[r.createVNode(b.DayViewMiddleRow,{slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,timeRanges:this.timeRanges,timeSlots:h,slotDivisions:o,rootIndex:y,root:e,numberOfDays:s,workDayStart:g,workDayEnd:l,workWeekStart:d,workWeekEnd:a,onDataaction:this.handleDataAction,editable:this.$props.editable},null)]})},this),this.$props.currentTimeMarker&&n.intersects(n.first(this.timeRanges).start,n.last(this.timeRanges).end,new Date,new Date,!0)&&[r.createVNode(O.CurrentTimeMarkerArrow,null,null),r.createVNode(H.CurrentTimeMarker,null,null)]]:[r.createVNode(m.VerticalResourceIterator,{nested:!0,group:this.ks.props.group,resources:this.ks.props.resources,onDataaction:this.handleDataAction,more:{timeRanges:this.timeRanges,timeSlots:h,workDayStart:g,workDayEnd:l,numberOfDays:s,workWeekStart:d,workWeekEnd:a,slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,editable:this.$props.editable,currentTimeMarker:this.$props.currentTimeMarker}},{default:()=>[r.createVNode(C.DayViewVerticalRow,{onDataaction:this.handleDataAction,daySlots:c,timeSlots:h,dayRanges:this.dayRanges,editable:this.$props.editable},null)]}),this.hasMounted&&u.map(function(e){return r.createVNode(t,{key:e.isRecurring?`${e.uid}:${e.group.index} : ${e.range.index} : ${e.originalStart}`:`${e.uid}:${e.group.index} : ${e.range.index}`,uid:e.uid,start:e.start,end:e.end,originalStart:e.originalStart,startTimezone:e.startTimezone,endTimezone:e.endTimezone,isAllDay:e.isAllDay,title:e.title,description:e.description,occurrenceId:e.occurrenceId,recurrenceExceptions:e.recurrenceExceptions,recurrenceRule:e.recurrenceRule,recurrenceId:e.recurrenceId,dataItem:e.dataItem,itemRef:e.itemRef,head:e.head,tail:e.tail,order:e.order,zonedStart:e.zonedStart,zonedEnd:e.zonedEnd,slots:e.slots,group:e.group,range:e.range,isException:e.isException,isRecurring:e.isRecurring,readonly:e.readonly,onDataaction:this.handleDataAction,onDragitemchange:this.handleDragItemChange,onResizeitemchange:this.handleResizeItemChange,viewItem:this.$props.viewItem,item:this.$props.item,form:this.$props.form,editable:this.$props.editable,vertical:!1},null)},this)],this.hasMounted&&D.map(function(e){return r.createVNode(t,{key:e.isRecurring?`${e.uid}:${e.group.index}:${e.range.index}:${e.originalStart}`:`${e.uid}:${e.group.index}:${e.range.index}`,uid:e.uid,start:e.start,end:e.end,originalStart:e.originalStart,startTimezone:e.startTimezone,endTimezone:e.endTimezone,isAllDay:e.isAllDay,title:e.title,description:e.description,occurrenceId:e.occurrenceId,recurrenceExceptions:e.recurrenceExceptions,recurrenceRule:e.recurrenceRule,recurrenceId:e.recurrenceId,dataItem:e.dataItem,itemRef:e.itemRef,head:e.head,tail:e.tail,order:e.order,zonedStart:e.zonedStart,zonedEnd:e.zonedEnd,slots:e.slots,group:e.group,range:e.range,isException:e.isException,isRecurring:e.isRecurring,readonly:e.readonly,format:"t",onDataaction:this.handleDataAction,onDragitemchange:this.handleDragItemChange,onResizeitemchange:this.handleResizeItemChange,viewItem:this.$props.viewItem,item:this.$props.item,form:this.$props.form,editable:this.$props.editable,vertical:!0},null)},this)])]})},methods:{handleDataAction(t){this.$emit("dataaction",t)},handleDragItemChange(t){this.currentDragItem=t},handleResizeItemChange(t){this.currentResizeItem=t}}}),v=({date:t,numberOfDays:s=1,timezone:o})=>{const d=i.ZonedDate.fromLocalDate(t,o),a=i.getDate(d),g=i.addDays(a,s),l=i.ZonedDate.fromUTCDate(n.toUTCDateTime(a),o),u=i.ZonedDate.fromUTCDate(n.toUTCDateTime(g),o),D=new Date(l.getTime()),c=new Date(u.getTime());return{start:D,end:c,zonedStart:l,zonedEnd:u}};exports.MultiDayView=W;exports.multiDayViewDateRange=v;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),o=require("@progress/kendo-date-math"),E=require("../../components/BaseView.js"),w=require("../common/HorizontalResourceIterator.js"),S=require("./DayViewGroupRowContent.js"),k=require("../common/VerticalResourceIterator.js"),R=require("./DayViewAllDayRowContent.js"),b=require("./DayViewRowContent.js"),T=require("./DayViewMiddleRow.js"),C=require("./DayViewVerticalRow.js"),f=require("./DayViewHead.js"),A=require("./DayViewAllDaySlots.js"),n=require("../../utils/main.js"),p=require("@progress/kendo-vue-intl"),M=require("../../constants/main.js"),x=require("../../slots/SchedulerEditSlot.js"),N=require("../../items/SchedulerEditItem.js"),H=require("../../components/CurrentTimeMarker.js"),O=require("../../components/CurrentTimeMarkerArrow.js"),m=require("../../services/itemsService.js"),q=require("../../services/occurrenceService.js"),I=require("../../services/slotsService.js"),$=require("../../services/rangeService.js"),z=0,W=r.defineComponent({name:"KendoMultiDayView",emits:["dataaction"],props:{name:{type:String,default:"multi-day"},title:{type:String,default:"Multi Day"},currentTimeMarker:{type:Boolean,default:!0},dateRange:{type:[Function,Object],default:function(){return v}},numberOfDays:{type:Number,default:1},startTime:{type:String,default:"00:00"},endTime:{type:String,default:"23:59"},workDayStart:{type:String,default:"08:00"},workDayEnd:{type:String,default:"17:00"},workWeekStart:{type:Number,default:o.Day.Monday},workWeekEnd:{type:Number,default:o.Day.Friday},step:{type:Number,default:1},slotDivisions:{type:Number,default:2},slotDuration:{type:Number,default:60},showWorkHours:{type:Boolean,default:!0},selectedDateFormat:{type:String,default:"{0:D} - {1:D}"},selectedShortDateFormat:{type:String,default:"{0:d} - {1:d}"},dragItem:{type:Object,default:function(){}},resizeItem:{type:Object,default:function(){}},format:{type:String,default:"t"},defaultShowWorkHours:{type:Boolean,default:!0},dateHeaderCell:[String,Function,Object],timeHeaderCell:[String,Function,Object],slotRender:[String,Function,Object],viewSlot:[String,Function,Object],resizeHint:[String,Function,Object],item:[String,Function,Object],viewItem:[String,Function,Object],editable:{type:[Boolean,Object],default:!1},onDataAction:Function},inject:{kendoIntlService:{default:null},ks:{default:null}},computed:{viewStart(){this.intl=p.provideIntlService(this);const t=this.intl.parseDate(this.$props.workDayStart),s=this.intl.parseDate(this.$props.startTime);return(this.ks.showWorkHours!==void 0?this.ks.showWorkHours:this.showWorkHours)?t:s},viewEnd(){this.intl=p.provideIntlService(this);const t=this.intl.parseDate(this.$props.workDayEnd),s=this.intl.parseDate(this.$props.endTime);return(this.ks.showWorkHours!==void 0?this.ks.showWorkHours:this.showWorkHours)?t:s},dayRanges(){return $.toRanges(this.ks.dateRange,{step:o.MS_PER_DAY*this.numberOfDays,timezone:this.ks.timezone}).map(t=>({...t,isAllDay:!0}))},timeRanges(){return $.toRanges(this.ks.dateRange,{step:o.MS_PER_DAY,timezone:this.ks.timezone}).map(t=>({...t,isAllDay:!1}))},daySlots(){return I.toSlots(this.ks.dateRange,{step:o.MS_PER_DAY},{groups:this.ks.groups,ranges:this.dayRanges})},timeSlots(){const t=this;return I.toSlots(this.ks.dateRange,{step:this.slotDuration*M.MS_PER_MINUTE/this.slotDivisions},{groups:this.ks.groups,ranges:this.timeRanges}).filter(s=>t.viewEnd.getTime()===t.viewStart.getTime()||n.isInTimeRange(s.zonedStart,t.viewStart,t.viewEnd))},occurrences(){return q.toOccurrences(this.ks.dataItems,{dateRange:this.ks.dateRange,fields:this.ks.fields,timezone:this.ks.timezone})},occurrenceLanes(){const t={day:[],time:[]};return this.occurrences.forEach(s=>{(s.isAllDay||n.crossesDayBoundary(s.start,s.end,this.ks.timezone)?t.day:t.time).push(s)}),t},dayOccurrences(){return this.occurrenceLanes.day},timeOccurrences(){return this.occurrenceLanes.time},dayItems(){const t=m.toItems(this.dayOccurrences,{timezone:this.ks.timezone,ignoreIsAllDay:!0},{groups:this.ks.groups,ranges:this.dayRanges});return n.mapItemsToSlots(t,this.daySlots,!0),n.mapSlotsToItems(t,this.daySlots,!0),t},timeItems(){const t=m.toItems(this.timeOccurrences,{timezone:this.ks.timezone},{groups:this.ks.groups,ranges:this.timeRanges}).filter(s=>m.inTimeRange(s,this.viewStart,this.viewEnd));return n.mapItemsToSlots(t,this.timeSlots,!1),n.mapSlotsToItems(t,this.timeSlots,!1),t},compDragItem(){return this.dragItem!==void 0?this.dragItem:this.currentDragItem},compResizeItem(){return this.resizeItem!==void 0?this.resizeItem:this.currentResizeItem}},data(){return{hasMounted:!1,currentDragItem:void 0,currentResizeItem:void 0}},mounted(){this.hasMounted=!0},created(){this.intl=p.provideIntlService(this)},beforeUpdate(){this.intl=p.provideIntlService(this)},render(){this.intl=p.provideIntlService(this);const t=this.$props.editItem||N.SchedulerEditItem;this.$props.editSlot||x.SchedulerEditSlot,this.$props.showWorkHours;const s=this.$props.numberOfDays,a=this.$props.slotDivisions;this.$props.slotDuration;const d=this.$props.workWeekStart,i=this.$props.workWeekEnd,g=this.intl.parseDate(this.$props.workDayStart),l=this.intl.parseDate(this.$props.workDayEnd),u=this.dayItems,D=this.timeItems,c=this.daySlots,h=this.timeSlots,V=this.ks.view.name==="workweek"||this.ks.view.name==="week";return r.createVNode(E.BaseView,{id:this.$props.id,viewProps:{...this.$props},class:V?"k-scheduler-weekview":"k-scheduler-dayview",ranges:[...this.dayRanges,...this.timeRanges],baseSlots:[...c,...h]},{default:()=>[r.createVNode("div",{class:"k-scheduler-head"},[this.ks.orientation==="horizontal"?[r.createVNode(w.HorizontalResourceIterator,{nested:!0,group:this.ks.props.group,resources:this.ks.props.resources,rowContent:S.DayViewGroupRowContent,childRowContent:S.DayViewGroupRowContent},{default:()=>[r.createVNode(f.DayViewHead,{timeRanges:this.timeRanges,dateHeaderCell:this.$props.dateHeaderCell},null)]}),r.createVNode(w.HorizontalResourceIterator,{group:this.ks.props.group,resources:this.ks.props.resources,rowContent:R.DayViewAllDayRowContent,childRowContent:R.DayViewAllDayRowContent},{default:()=>[r.createVNode(A.DayViewAllDaySlots,{editable:this.$props.editable,dayRanges:this.dayRanges,daySlots:c,slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,numberOfDays:s,workWeekStart:d,workWeekEnd:i,onDataaction:this.handleDataAction},null)]}),this.hasMounted&&u.map(function(e){return r.createVNode(t,{key:e.isRecurring?`${e.uid}:${e.group.index}:${e.range.index}:${e.originalStart}`:`${e.uid}:${e.group.index}:${e.range.index}`,uid:e.uid,start:e.start,end:e.end,originalStart:e.originalStart,startTimezone:e.startTimezone,endTimezone:e.endTimezone,isAllDay:e.isAllDay,title:e.title,description:e.description,occurrenceId:e.occurrenceId,recurrenceExceptions:e.recurrenceExceptions,recurrenceRule:e.recurrenceRule,recurrenceId:e.recurrenceId,dataItem:e.dataItem,itemRef:e.itemRef,head:e.head,tail:e.tail,order:e.order,zonedStart:e.zonedStart,zonedEnd:e.zonedEnd,slots:e.slots,group:e.group,range:e.range,isException:e.isException,isRecurring:e.isRecurring,readonly:e.readonly,form:this.$props.form,onDataaction:this.handleDataAction,onDragitemchange:this.handleDragItemChange,onResizeitemchange:this.handleResizeItemChange,item:this.$props.item,viewItem:this.$props.viewItem,editable:this.$props.editable,ignoreIsAllDay:!0,vertical:!1},null)},this)]:r.createVNode(k.VerticalResourceIterator,{group:this.ks.props.group,resources:this.ks.props.resources,emptyCell:!0,editable:this.$props.editable},{default:()=>[r.createVNode(f.DayViewHead,{timeRanges:this.timeRanges,dateHeaderCell:this.$props.dateHeaderCell},null)]})]),r.createVNode("div",{class:"k-scheduler-body"},[this.ks.orientation==="horizontal"?[h.filter(e=>e.group.index===z&&e.range.index===z).map(function(e,y){return r.createVNode(w.HorizontalResourceIterator,{key:e.index,nested:!1,group:this.ks.props.group,resources:this.ks.props.resources,rowContent:b.DayViewRowContent,rowContentProps:{timeHeaderCell:this.$props.timeHeaderCell,isMaster:y%a===0,isLast:(y+1)%a===0,contentSlot:e}},{default:()=>[r.createVNode(T.DayViewMiddleRow,{slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,timeRanges:this.timeRanges,timeSlots:h,slotDivisions:a,rootIndex:y,root:e,numberOfDays:s,workDayStart:g,workDayEnd:l,workWeekStart:d,workWeekEnd:i,onDataaction:this.handleDataAction,editable:this.$props.editable},null)]})},this),this.$props.currentTimeMarker&&n.intersects(n.first(this.timeRanges).start,n.last(this.timeRanges).end,new Date,new Date,!0)&&[r.createVNode(O.CurrentTimeMarkerArrow,null,null),r.createVNode(H.CurrentTimeMarker,null,null)]]:[r.createVNode(k.VerticalResourceIterator,{nested:!0,group:this.ks.props.group,resources:this.ks.props.resources,onDataaction:this.handleDataAction,more:{timeRanges:this.timeRanges,timeSlots:h,workDayStart:g,workDayEnd:l,numberOfDays:s,workWeekStart:d,workWeekEnd:i,slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,editable:this.$props.editable,currentTimeMarker:this.$props.currentTimeMarker}},{default:()=>[r.createVNode(C.DayViewVerticalRow,{onDataaction:this.handleDataAction,daySlots:c,timeSlots:h,dayRanges:this.dayRanges,editable:this.$props.editable},null)]}),this.hasMounted&&u.map(function(e){return r.createVNode(t,{key:e.isRecurring?`${e.uid}:${e.group.index} : ${e.range.index} : ${e.originalStart}`:`${e.uid}:${e.group.index} : ${e.range.index}`,uid:e.uid,start:e.start,end:e.end,originalStart:e.originalStart,startTimezone:e.startTimezone,endTimezone:e.endTimezone,isAllDay:e.isAllDay,title:e.title,description:e.description,occurrenceId:e.occurrenceId,recurrenceExceptions:e.recurrenceExceptions,recurrenceRule:e.recurrenceRule,recurrenceId:e.recurrenceId,dataItem:e.dataItem,itemRef:e.itemRef,head:e.head,tail:e.tail,order:e.order,zonedStart:e.zonedStart,zonedEnd:e.zonedEnd,slots:e.slots,group:e.group,range:e.range,isException:e.isException,isRecurring:e.isRecurring,readonly:e.readonly,onDataaction:this.handleDataAction,onDragitemchange:this.handleDragItemChange,onResizeitemchange:this.handleResizeItemChange,viewItem:this.$props.viewItem,item:this.$props.item,form:this.$props.form,editable:this.$props.editable,ignoreIsAllDay:!0,vertical:!1},null)},this)],this.hasMounted&&D.map(function(e){return r.createVNode(t,{key:e.isRecurring?`${e.uid}:${e.group.index}:${e.range.index}:${e.originalStart}`:`${e.uid}:${e.group.index}:${e.range.index}`,uid:e.uid,start:e.start,end:e.end,originalStart:e.originalStart,startTimezone:e.startTimezone,endTimezone:e.endTimezone,isAllDay:e.isAllDay,title:e.title,description:e.description,occurrenceId:e.occurrenceId,recurrenceExceptions:e.recurrenceExceptions,recurrenceRule:e.recurrenceRule,recurrenceId:e.recurrenceId,dataItem:e.dataItem,itemRef:e.itemRef,head:e.head,tail:e.tail,order:e.order,zonedStart:e.zonedStart,zonedEnd:e.zonedEnd,slots:e.slots,group:e.group,range:e.range,isException:e.isException,isRecurring:e.isRecurring,readonly:e.readonly,format:"t",onDataaction:this.handleDataAction,onDragitemchange:this.handleDragItemChange,onResizeitemchange:this.handleResizeItemChange,viewItem:this.$props.viewItem,item:this.$props.item,form:this.$props.form,editable:this.$props.editable,vertical:!0},null)},this)])]})},methods:{handleDataAction(t){n.emitDataAction(this,t)},handleDragItemChange(t){this.currentDragItem=t},handleResizeItemChange(t){this.currentResizeItem=t}}}),v=({date:t,numberOfDays:s=1,timezone:a})=>{const d=o.ZonedDate.fromLocalDate(t,a),i=o.getDate(d),g=o.addDays(i,s),l=o.ZonedDate.fromUTCDate(n.toUTCDateTime(i),a),u=o.ZonedDate.fromUTCDate(n.toUTCDateTime(g),a),D=new Date(l.getTime()),c=new Date(u.getTime());return{start:D,end:c,zonedStart:l,zonedEnd:u}};exports.MultiDayView=W;exports.multiDayViewDateRange=v;
@@ -5,31 +5,32 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- import { defineComponent as O, createVNode as r } from "vue";
9
- import { Day as k, MS_PER_DAY as f, ZonedDate as y, getDate as A, addDays as W } from "@progress/kendo-date-math";
10
- import { BaseView as H } from "../../components/BaseView.mjs";
8
+ import { defineComponent as x, createVNode as s } from "vue";
9
+ import { Day as f, MS_PER_DAY as m, ZonedDate as y, getDate as A, addDays as O } from "@progress/kendo-date-math";
10
+ import { BaseView as W } from "../../components/BaseView.mjs";
11
11
  import { HorizontalResourceIterator as D } from "../common/HorizontalResourceIterator.mjs";
12
- import { DayViewGroupRowContent as w } from "./DayViewGroupRowContent.mjs";
13
- import { VerticalResourceIterator as S } from "../common/VerticalResourceIterator.mjs";
14
- import { DayViewAllDayRowContent as R } from "./DayViewAllDayRowContent.mjs";
15
- import { DayViewRowContent as M } from "./DayViewRowContent.mjs";
16
- import { DayViewMiddleRow as V } from "./DayViewMiddleRow.mjs";
17
- import { DayViewVerticalRow as F } from "./DayViewVerticalRow.mjs";
18
- import { DayViewHead as I } from "./DayViewHead.mjs";
19
- import { DayViewAllDaySlots as j } from "./DayViewAllDaySlots.mjs";
20
- import { intersects as N, last as B, first as U, isInTimeRange as h, mapItemsToSlots as $, mapSlotsToItems as z, toUTCDateTime as E } from "../../utils/main.mjs";
12
+ import { DayViewGroupRowContent as k } from "./DayViewGroupRowContent.mjs";
13
+ import { VerticalResourceIterator as w } from "../common/VerticalResourceIterator.mjs";
14
+ import { DayViewAllDayRowContent as S } from "./DayViewAllDayRowContent.mjs";
15
+ import { DayViewRowContent as H } from "./DayViewRowContent.mjs";
16
+ import { DayViewMiddleRow as M } from "./DayViewMiddleRow.mjs";
17
+ import { DayViewVerticalRow as V } from "./DayViewVerticalRow.mjs";
18
+ import { DayViewHead as R } from "./DayViewHead.mjs";
19
+ import { DayViewAllDaySlots as F } from "./DayViewAllDaySlots.mjs";
20
+ import { emitDataAction as j, intersects as N, last as L, first as B, mapItemsToSlots as I, mapSlotsToItems as $, crossesDayBoundary as U, isInTimeRange as _, toUTCDateTime as z } from "../../utils/main.mjs";
21
21
  import { provideIntlService as c } from "@progress/kendo-vue-intl";
22
- import { MS_PER_MINUTE as _ } from "../../constants/main.mjs";
23
- import { SchedulerEditSlot as P } from "../../slots/SchedulerEditSlot.mjs";
24
- import { SchedulerEditItem as L } from "../../items/SchedulerEditItem.mjs";
25
- import { CurrentTimeMarker as G } from "../../components/CurrentTimeMarker.mjs";
26
- import { CurrentTimeMarkerArrow as K } from "../../components/CurrentTimeMarkerArrow.mjs";
27
- import { toItems as v } from "../../services/itemsService.mjs";
28
- import { toOccurrences as X } from "../../services/occurrenceService.mjs";
29
- import { toSlots as b } from "../../services/slotsService.mjs";
30
- import { toRanges as T } from "../../services/rangeService.mjs";
31
- const C = 0, ke = /* @__PURE__ */ O({
22
+ import { MS_PER_MINUTE as P } from "../../constants/main.mjs";
23
+ import { SchedulerEditSlot as G } from "../../slots/SchedulerEditSlot.mjs";
24
+ import { SchedulerEditItem as K } from "../../items/SchedulerEditItem.mjs";
25
+ import { CurrentTimeMarker as X } from "../../components/CurrentTimeMarker.mjs";
26
+ import { CurrentTimeMarkerArrow as Y } from "../../components/CurrentTimeMarkerArrow.mjs";
27
+ import { toItems as b, inTimeRange as Z } from "../../services/itemsService.mjs";
28
+ import { toOccurrences as q } from "../../services/occurrenceService.mjs";
29
+ import { toSlots as E } from "../../services/slotsService.mjs";
30
+ import { toRanges as v } from "../../services/rangeService.mjs";
31
+ const T = 0, Re = /* @__PURE__ */ x({
32
32
  name: "KendoMultiDayView",
33
+ emits: ["dataaction"],
33
34
  props: {
34
35
  name: {
35
36
  type: String,
@@ -46,7 +47,7 @@ const C = 0, ke = /* @__PURE__ */ O({
46
47
  dateRange: {
47
48
  type: [Function, Object],
48
49
  default: function() {
49
- return Y;
50
+ return J;
50
51
  }
51
52
  },
52
53
  numberOfDays: {
@@ -71,11 +72,11 @@ const C = 0, ke = /* @__PURE__ */ O({
71
72
  },
72
73
  workWeekStart: {
73
74
  type: Number,
74
- default: k.Monday
75
+ default: f.Monday
75
76
  },
76
77
  workWeekEnd: {
77
78
  type: Number,
78
- default: k.Friday
79
+ default: f.Friday
79
80
  },
80
81
  step: {
81
82
  type: Number,
@@ -130,7 +131,7 @@ const C = 0, ke = /* @__PURE__ */ O({
130
131
  type: [Boolean, Object],
131
132
  default: !1
132
133
  },
133
- onDataaction: Function
134
+ onDataAction: Function
134
135
  },
135
136
  inject: {
136
137
  kendoIntlService: {
@@ -143,17 +144,17 @@ const C = 0, ke = /* @__PURE__ */ O({
143
144
  computed: {
144
145
  viewStart() {
145
146
  this.intl = c(this);
146
- const t = this.intl.parseDate(this.$props.workDayStart), s = this.intl.parseDate(this.$props.startTime);
147
- return (this.ks.showWorkHours !== void 0 ? this.ks.showWorkHours : this.showWorkHours) ? t : s;
147
+ const t = this.intl.parseDate(this.$props.workDayStart), r = this.intl.parseDate(this.$props.startTime);
148
+ return (this.ks.showWorkHours !== void 0 ? this.ks.showWorkHours : this.showWorkHours) ? t : r;
148
149
  },
149
150
  viewEnd() {
150
151
  this.intl = c(this);
151
- const t = this.intl.parseDate(this.$props.workDayEnd), s = this.intl.parseDate(this.$props.endTime);
152
- return (this.ks.showWorkHours !== void 0 ? this.ks.showWorkHours : this.showWorkHours) ? t : s;
152
+ const t = this.intl.parseDate(this.$props.workDayEnd), r = this.intl.parseDate(this.$props.endTime);
153
+ return (this.ks.showWorkHours !== void 0 ? this.ks.showWorkHours : this.showWorkHours) ? t : r;
153
154
  },
154
155
  dayRanges() {
155
- return T(this.ks.dateRange, {
156
- step: f * this.numberOfDays,
156
+ return v(this.ks.dateRange, {
157
+ step: m * this.numberOfDays,
157
158
  timezone: this.ks.timezone
158
159
  }).map((t) => ({
159
160
  ...t,
@@ -161,8 +162,8 @@ const C = 0, ke = /* @__PURE__ */ O({
161
162
  }));
162
163
  },
163
164
  timeRanges() {
164
- return T(this.ks.dateRange, {
165
- step: f,
165
+ return v(this.ks.dateRange, {
166
+ step: m,
166
167
  timezone: this.ks.timezone
167
168
  }).map((t) => ({
168
169
  ...t,
@@ -170,8 +171,8 @@ const C = 0, ke = /* @__PURE__ */ O({
170
171
  }));
171
172
  },
172
173
  daySlots() {
173
- return b(this.ks.dateRange, {
174
- step: f
174
+ return E(this.ks.dateRange, {
175
+ step: m
175
176
  }, {
176
177
  groups: this.ks.groups,
177
178
  ranges: this.dayRanges
@@ -179,43 +180,53 @@ const C = 0, ke = /* @__PURE__ */ O({
179
180
  },
180
181
  timeSlots() {
181
182
  const t = this;
182
- return b(this.ks.dateRange, {
183
- step: this.slotDuration * _ / this.slotDivisions
183
+ return E(this.ks.dateRange, {
184
+ step: this.slotDuration * P / this.slotDivisions
184
185
  }, {
185
186
  groups: this.ks.groups,
186
187
  ranges: this.timeRanges
187
- }).filter((s) => t.viewEnd.getTime() === t.viewStart.getTime() || h(s.zonedStart, t.viewStart, t.viewEnd));
188
+ }).filter((r) => t.viewEnd.getTime() === t.viewStart.getTime() || _(r.zonedStart, t.viewStart, t.viewEnd));
188
189
  },
189
190
  occurrences() {
190
- return X(this.ks.dataItems, {
191
+ return q(this.ks.dataItems, {
191
192
  dateRange: this.ks.dateRange,
192
193
  fields: this.ks.fields,
193
194
  timezone: this.ks.timezone
194
195
  });
195
196
  },
197
+ occurrenceLanes() {
198
+ const t = {
199
+ day: [],
200
+ time: []
201
+ };
202
+ return this.occurrences.forEach((r) => {
203
+ (r.isAllDay || U(r.start, r.end, this.ks.timezone) ? t.day : t.time).push(r);
204
+ }), t;
205
+ },
196
206
  dayOccurrences() {
197
- return this.occurrences.filter((t) => t.isAllDay);
207
+ return this.occurrenceLanes.day;
198
208
  },
199
209
  timeOccurrences() {
200
- return this.occurrences.filter((t) => !t.isAllDay);
210
+ return this.occurrenceLanes.time;
201
211
  },
202
212
  dayItems() {
203
- const t = v(this.dayOccurrences, {
204
- timezone: this.ks.timezone
213
+ const t = b(this.dayOccurrences, {
214
+ timezone: this.ks.timezone,
215
+ ignoreIsAllDay: !0
205
216
  }, {
206
217
  groups: this.ks.groups,
207
218
  ranges: this.dayRanges
208
219
  });
209
- return $(t, this.daySlots, !1), z(t, this.daySlots, !1), t;
220
+ return I(t, this.daySlots, !0), $(t, this.daySlots, !0), t;
210
221
  },
211
222
  timeItems() {
212
- const t = v(this.timeOccurrences, {
223
+ const t = b(this.timeOccurrences, {
213
224
  timezone: this.ks.timezone
214
225
  }, {
215
226
  groups: this.ks.groups,
216
227
  ranges: this.timeRanges
217
- }).filter((s) => this.viewStart.getTime() === this.viewEnd.getTime() || h(s.zonedStart, this.viewStart, this.viewEnd) || h(s.zonedEnd, this.viewStart, this.viewEnd) || h(new Date(s.zonedEnd.getTime() - (s.zonedEnd.getTime() - s.zonedStart.getTime()) / 2), this.viewStart, this.viewEnd));
218
- return $(t, this.timeSlots, !1), z(t, this.timeSlots, !1), t;
228
+ }).filter((r) => Z(r, this.viewStart, this.viewEnd));
229
+ return I(t, this.timeSlots, !1), $(t, this.timeSlots, !1), t;
219
230
  },
220
231
  compDragItem() {
221
232
  return this.dragItem !== void 0 ? this.dragItem : this.currentDragItem;
@@ -242,52 +253,52 @@ const C = 0, ke = /* @__PURE__ */ O({
242
253
  },
243
254
  render() {
244
255
  this.intl = c(this);
245
- const t = this.$props.editItem || L;
246
- this.$props.editSlot || P, this.$props.showWorkHours;
247
- const s = this.$props.numberOfDays, n = this.$props.slotDivisions;
256
+ const t = this.$props.editItem || K;
257
+ this.$props.editSlot || G, this.$props.showWorkHours;
258
+ const r = this.$props.numberOfDays, n = this.$props.slotDivisions;
248
259
  this.$props.slotDuration;
249
- const o = this.$props.workWeekStart, i = this.$props.workWeekEnd, p = this.intl.parseDate(this.$props.workDayStart), a = this.intl.parseDate(this.$props.workDayEnd), d = this.dayItems, g = this.timeItems, l = this.daySlots, u = this.timeSlots, x = this.ks.view.name === "workweek" || this.ks.view.name === "week";
250
- return r(H, {
260
+ const i = this.$props.workWeekStart, o = this.$props.workWeekEnd, p = this.intl.parseDate(this.$props.workDayStart), a = this.intl.parseDate(this.$props.workDayEnd), d = this.dayItems, h = this.timeItems, l = this.daySlots, u = this.timeSlots, C = this.ks.view.name === "workweek" || this.ks.view.name === "week";
261
+ return s(W, {
251
262
  id: this.$props.id,
252
263
  viewProps: {
253
264
  ...this.$props
254
265
  },
255
- class: x ? "k-scheduler-weekview" : "k-scheduler-dayview",
266
+ class: C ? "k-scheduler-weekview" : "k-scheduler-dayview",
256
267
  ranges: [...this.dayRanges, ...this.timeRanges],
257
268
  baseSlots: [...l, ...u]
258
269
  }, {
259
- default: () => [r("div", {
270
+ default: () => [s("div", {
260
271
  class: "k-scheduler-head"
261
- }, [this.ks.orientation === "horizontal" ? [r(D, {
272
+ }, [this.ks.orientation === "horizontal" ? [s(D, {
262
273
  nested: !0,
263
274
  group: this.ks.props.group,
264
275
  resources: this.ks.props.resources,
265
- rowContent: w,
266
- childRowContent: w
276
+ rowContent: k,
277
+ childRowContent: k
267
278
  }, {
268
- default: () => [r(I, {
279
+ default: () => [s(R, {
269
280
  timeRanges: this.timeRanges,
270
281
  dateHeaderCell: this.$props.dateHeaderCell
271
282
  }, null)]
272
- }), r(D, {
283
+ }), s(D, {
273
284
  group: this.ks.props.group,
274
285
  resources: this.ks.props.resources,
275
- rowContent: R,
276
- childRowContent: R
286
+ rowContent: S,
287
+ childRowContent: S
277
288
  }, {
278
- default: () => [r(j, {
289
+ default: () => [s(F, {
279
290
  editable: this.$props.editable,
280
291
  dayRanges: this.dayRanges,
281
292
  daySlots: l,
282
293
  slotRender: this.$props.slotRender,
283
294
  viewSlot: this.$props.viewSlot,
284
- numberOfDays: s,
285
- workWeekStart: o,
286
- workWeekEnd: i,
295
+ numberOfDays: r,
296
+ workWeekStart: i,
297
+ workWeekEnd: o,
287
298
  onDataaction: this.handleDataAction
288
299
  }, null)]
289
300
  }), this.hasMounted && d.map(function(e) {
290
- return r(t, {
301
+ return s(t, {
291
302
  key: e.isRecurring ? `${e.uid}:${e.group.index}:${e.range.index}:${e.originalStart}` : `${e.uid}:${e.group.index}:${e.range.index}`,
292
303
  uid: e.uid,
293
304
  start: e.start,
@@ -322,52 +333,53 @@ const C = 0, ke = /* @__PURE__ */ O({
322
333
  item: this.$props.item,
323
334
  viewItem: this.$props.viewItem,
324
335
  editable: this.$props.editable,
336
+ ignoreIsAllDay: !0,
325
337
  vertical: !1
326
338
  }, null);
327
- }, this)] : r(S, {
339
+ }, this)] : s(w, {
328
340
  group: this.ks.props.group,
329
341
  resources: this.ks.props.resources,
330
342
  emptyCell: !0,
331
343
  editable: this.$props.editable
332
344
  }, {
333
- default: () => [r(I, {
345
+ default: () => [s(R, {
334
346
  timeRanges: this.timeRanges,
335
347
  dateHeaderCell: this.$props.dateHeaderCell
336
348
  }, null)]
337
- })]), r("div", {
349
+ })]), s("div", {
338
350
  class: "k-scheduler-body"
339
- }, [this.ks.orientation === "horizontal" ? [u.filter((e) => e.group.index === C && e.range.index === C).map(function(e, m) {
340
- return r(D, {
351
+ }, [this.ks.orientation === "horizontal" ? [u.filter((e) => e.group.index === T && e.range.index === T).map(function(e, g) {
352
+ return s(D, {
341
353
  key: e.index,
342
354
  nested: !1,
343
355
  group: this.ks.props.group,
344
356
  resources: this.ks.props.resources,
345
- rowContent: M,
357
+ rowContent: H,
346
358
  rowContentProps: {
347
359
  timeHeaderCell: this.$props.timeHeaderCell,
348
- isMaster: m % n === 0,
349
- isLast: (m + 1) % n === 0,
360
+ isMaster: g % n === 0,
361
+ isLast: (g + 1) % n === 0,
350
362
  contentSlot: e
351
363
  }
352
364
  }, {
353
- default: () => [r(V, {
365
+ default: () => [s(M, {
354
366
  slotRender: this.$props.slotRender,
355
367
  viewSlot: this.$props.viewSlot,
356
368
  timeRanges: this.timeRanges,
357
369
  timeSlots: u,
358
370
  slotDivisions: n,
359
- rootIndex: m,
371
+ rootIndex: g,
360
372
  root: e,
361
- numberOfDays: s,
373
+ numberOfDays: r,
362
374
  workDayStart: p,
363
375
  workDayEnd: a,
364
- workWeekStart: o,
365
- workWeekEnd: i,
376
+ workWeekStart: i,
377
+ workWeekEnd: o,
366
378
  onDataaction: this.handleDataAction,
367
379
  editable: this.$props.editable
368
380
  }, null)]
369
381
  });
370
- }, this), this.$props.currentTimeMarker && N(U(this.timeRanges).start, B(this.timeRanges).end, /* @__PURE__ */ new Date(), /* @__PURE__ */ new Date(), !0) && [r(K, null, null), r(G, null, null)]] : [r(S, {
382
+ }, this), this.$props.currentTimeMarker && N(B(this.timeRanges).start, L(this.timeRanges).end, /* @__PURE__ */ new Date(), /* @__PURE__ */ new Date(), !0) && [s(Y, null, null), s(X, null, null)]] : [s(w, {
371
383
  nested: !0,
372
384
  group: this.ks.props.group,
373
385
  resources: this.ks.props.resources,
@@ -377,16 +389,16 @@ const C = 0, ke = /* @__PURE__ */ O({
377
389
  timeSlots: u,
378
390
  workDayStart: p,
379
391
  workDayEnd: a,
380
- numberOfDays: s,
381
- workWeekStart: o,
382
- workWeekEnd: i,
392
+ numberOfDays: r,
393
+ workWeekStart: i,
394
+ workWeekEnd: o,
383
395
  slotRender: this.$props.slotRender,
384
396
  viewSlot: this.$props.viewSlot,
385
397
  editable: this.$props.editable,
386
398
  currentTimeMarker: this.$props.currentTimeMarker
387
399
  }
388
400
  }, {
389
- default: () => [r(F, {
401
+ default: () => [s(V, {
390
402
  onDataaction: this.handleDataAction,
391
403
  daySlots: l,
392
404
  timeSlots: u,
@@ -394,7 +406,7 @@ const C = 0, ke = /* @__PURE__ */ O({
394
406
  editable: this.$props.editable
395
407
  }, null)]
396
408
  }), this.hasMounted && d.map(function(e) {
397
- return r(t, {
409
+ return s(t, {
398
410
  key: e.isRecurring ? `${e.uid}:${e.group.index} : ${e.range.index} : ${e.originalStart}` : `${e.uid}:${e.group.index} : ${e.range.index}`,
399
411
  uid: e.uid,
400
412
  start: e.start,
@@ -429,10 +441,11 @@ const C = 0, ke = /* @__PURE__ */ O({
429
441
  item: this.$props.item,
430
442
  form: this.$props.form,
431
443
  editable: this.$props.editable,
444
+ ignoreIsAllDay: !0,
432
445
  vertical: !1
433
446
  }, null);
434
- }, this)], this.hasMounted && g.map(function(e) {
435
- return r(t, {
447
+ }, this)], this.hasMounted && h.map(function(e) {
448
+ return s(t, {
436
449
  key: e.isRecurring ? `${e.uid}:${e.group.index}:${e.range.index}:${e.originalStart}` : `${e.uid}:${e.group.index}:${e.range.index}`,
437
450
  uid: e.uid,
438
451
  start: e.start,
@@ -475,7 +488,7 @@ const C = 0, ke = /* @__PURE__ */ O({
475
488
  },
476
489
  methods: {
477
490
  handleDataAction(t) {
478
- this.$emit("dataaction", t);
491
+ j(this, t);
479
492
  },
480
493
  handleDragItemChange(t) {
481
494
  this.currentDragItem = t;
@@ -484,20 +497,20 @@ const C = 0, ke = /* @__PURE__ */ O({
484
497
  this.currentResizeItem = t;
485
498
  }
486
499
  }
487
- }), Y = ({
500
+ }), J = ({
488
501
  date: t,
489
- numberOfDays: s = 1,
502
+ numberOfDays: r = 1,
490
503
  timezone: n
491
504
  }) => {
492
- const o = y.fromLocalDate(t, n), i = A(o), p = W(i, s), a = y.fromUTCDate(E(i), n), d = y.fromUTCDate(E(p), n), g = new Date(a.getTime()), l = new Date(d.getTime());
505
+ const i = y.fromLocalDate(t, n), o = A(i), p = O(o, r), a = y.fromUTCDate(z(o), n), d = y.fromUTCDate(z(p), n), h = new Date(a.getTime()), l = new Date(d.getTime());
493
506
  return {
494
- start: g,
507
+ start: h,
495
508
  end: l,
496
509
  zonedStart: a,
497
510
  zonedEnd: d
498
511
  };
499
512
  };
500
513
  export {
501
- ke as MultiDayView,
502
- Y as multiDayViewDateRange
514
+ Re as MultiDayView,
515
+ J as multiDayViewDateRange
503
516
  };
@@ -5,7 +5,7 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- import { DateRange, SchedulerViewProps, Item, Slot, SchedulerViewDateRangeArgs } from '../../models/main';
8
+ import { DataItem, DateRange, SchedulerViewProps, Item, Slot, SchedulerViewDateRangeArgs } from '../../models/main';
9
9
  import { DataAction } from '../../Scheduler';
10
10
  import { PropType } from 'vue';
11
11
  export interface MonthViewProps extends SchedulerViewProps {
@@ -71,6 +71,7 @@ export interface MonthViewProps extends SchedulerViewProps {
71
71
  }
72
72
  /** @hidden */
73
73
  declare const MonthView: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
74
+ onDataAction: PropType<(action: DataAction) => void>;
74
75
  itemsPerSlot: {
75
76
  type: PropType<number>;
76
77
  default: number;
@@ -122,7 +123,14 @@ declare const MonthView: import('vue').DefineComponent<import('vue').ExtractProp
122
123
  type: PropType<boolean>;
123
124
  default: boolean;
124
125
  };
125
- }>, {}, {
126
+ }>, {
127
+ popoverEditItem: import('vue').ShallowRef<Item, Item>;
128
+ popoverFormItem: import('vue').ShallowRef<any, any>;
129
+ popoverShowOccurrenceDialog: import('vue').Ref<boolean, boolean>;
130
+ handlePopoverItemDoubleClick: (item: Item) => boolean;
131
+ handlePopoverFormItemChange: (formItem: DataItem | null) => void;
132
+ handlePopoverShowOccurrenceDialogChange: (show: boolean) => void;
133
+ }, {
126
134
  hasMounted: boolean;
127
135
  rowSyncFrame: number;
128
136
  rowSyncQueued: boolean;
@@ -148,7 +156,8 @@ declare const MonthView: import('vue').DefineComponent<import('vue').ExtractProp
148
156
  handleDataAction(action: DataAction): void;
149
157
  handleDragItemChange(item: any): void;
150
158
  handleResizeItemChange(item: any): void;
151
- }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
159
+ }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "dataaction"[], "dataaction", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
160
+ onDataAction: PropType<(action: DataAction) => void>;
152
161
  itemsPerSlot: {
153
162
  type: PropType<number>;
154
163
  default: number;
@@ -200,7 +209,9 @@ declare const MonthView: import('vue').DefineComponent<import('vue').ExtractProp
200
209
  type: PropType<boolean>;
201
210
  default: boolean;
202
211
  };
203
- }>> & Readonly<{}>, {
212
+ }>> & Readonly<{
213
+ onDataaction?: (...args: any[]) => any;
214
+ }>, {
204
215
  name: string;
205
216
  editable: boolean;
206
217
  itemsPerSlot: number;
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),w=require("../../components/BaseView.js"),n=require("@progress/kendo-date-math"),d=require("../common/VerticalResourceIterator.js"),p=require("../common/HorizontalResourceIterator.js"),a=require("../../utils/main.js"),l=require("../../messages/main.js"),y=require("../../slots/SchedulerEditSlot.js"),h=require("@progress/kendo-vue-intl"),S=require("../../constants/main.js"),v=require("../../services/rangeService.js"),I=require("../../services/slotsService.js"),D=require("../../services/occurrenceService.js"),R=require("../../services/itemsService.js"),m=require("./MonthViewHead.js"),k=require("./MonthViewBody.js"),z=require("../../components/MoreEventsPopover.js"),$=require("../../items/SchedulerEditItem.js"),V=require("../../hooks/useGroupRowHeightSync.js"),b=r.defineComponent({name:"KendoMonthView",props:{itemsPerSlot:{type:Number,default:2},name:{type:String,default:"month"},dateRange:{type:[Function,Object],default:function(){return M}},slotDuration:{type:Number,default:1440},slotDivisions:{type:Number,default:1},numberOfDays:{type:Number,default:31},dragItem:{type:Object,default:function(){}},resizeItem:{type:Object,default:function(){}},title:String,selectedDateFormat:{type:String,default:"{0:Y}"},selectedShortDateFormat:{type:String,default:"{0:y}"},dateHeaderCell:[String,Function,Object],slotRender:[String,Function,Object],viewSlot:[String,Function,Object],resizeHint:[String,Function,Object],item:[String,Function,Object],viewItem:[String,Function,Object],editable:{type:[Boolean,Object],default:!1}},inject:{ks:{default:{}},setActiveDate:{default:null},setActiveViewName:{default:null},kendoLocalizationService:{default:null},kendoIntlService:{default:null}},created(){this.intl=h.provideIntlService(this)},mounted(){this.hasMounted=!0,this.queueSyncGroupRows()},unmounted(){this.hasMounted=!1,this.rowSyncFrame!==void 0&&window.cancelAnimationFrame(this.rowSyncFrame)},data(){return{hasMounted:!1,rowSyncFrame:void 0,rowSyncQueued:!1,currentDragItem:void 0,currentResizeItem:void 0,popoverShow:!1,popoverAnchor:null,popoverSlot:null}},watch:{rowSyncKey(){this.hasMounted&&this.queueSyncGroupRows()},compDragItem(){this.hasMounted&&this.queueSyncGroupRows()},compResizeItem(){this.hasMounted&&this.queueSyncGroupRows()}},computed:{ranges(){return v.toRanges(this.ks.dateRange,{step:n.MS_PER_DAY*S.DAYS_IN_WEEK_COUNT,timezone:this.ks.timezone})},monthSlots(){return I.toSlots(this.ks.dateRange,{step:n.MS_PER_DAY},{groups:this.ks.groups,ranges:this.ranges})},occurrences(){return D.toOccurrences(this.ks.dataItems,{dateRange:this.ks.dateRange,fields:this.ks.fields,timezone:this.ks.timezone})},items(){const t=R.toItems(this.occurrences,{timezone:this.ks.timezone},{groups:this.ks.groups,ranges:this.ranges});return a.mapItemsToSlots(t,this.monthSlots,!0),a.mapSlotsToItems(t,this.monthSlots,!0),t},rowSyncKey(){return[this.itemsPerSlot,this.monthSlots.map(t=>`${t.group.index}:${t.range.index}:${t.items.length}`).join("|")].join("::")},compDragItem(){return this.dragItem!==void 0?this.dragItem:this.currentDragItem},compResizeItem(){return this.resizeItem!==void 0?this.resizeItem:this.currentResizeItem}},render(){this.localization=h.provideLocalizationService(this),this.localization.toLanguageString(l.monthViewTitle,l.messages[l.monthViewTitle]);const t=this.$props.editItem||$.SchedulerEditItem;this.$props.editSlot||y.SchedulerEditSlot;const i=this.items,o=this.monthSlots;this.intl=h.provideIntlService(this);const s=this.$props.itemsPerSlot,c=this.ks.orientation==="horizontal"?this.ranges.map(function(e,u){return r.createVNode(p.HorizontalResourceIterator,{resources:this.ks.props.resources,group:this.ks.props.group},{default:()=>[r.createVNode(k.MonthViewBody,{editable:this.$props.editable,slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,monthSlots:o,rangeIndex:u,itemsPerSlot:s,onDataaction:this.handleDataAction,onShowmoreitems:this.handleShowMoreItemsClick},null)]})},this):r.createVNode(d.VerticalResourceIterator,{nested:!0,resources:this.ks.props.resources,group:this.ks.props.group,onDataaction:this.handleDataAction,more:{slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,monthSlots:o,ranges:this.ranges,itemsPerSlot:s,editable:this.$props.editable,onShowmoreitems:this.handleShowMoreItemsClick}},null);return r.createVNode(w.BaseView,{viewProps:{...this.$props},baseSlots:o,ranges:this.ranges,class:"k-scheduler-monthview"},{default:()=>[r.createVNode("div",{class:"k-scheduler-head"},[this.ks.orientation==="horizontal"?r.createVNode(p.HorizontalResourceIterator,{nested:!0,resources:this.ks.props.resources,group:this.ks.props.group},{default:()=>[r.createVNode(m.MonthViewHead,{monthSlots:o,dateHeaderCell:this.$props.dateHeaderCell},null)]}):r.createVNode(d.VerticalResourceIterator,{resources:this.ks.props.resources,group:this.ks.props.group},{default:()=>[r.createVNode(m.MonthViewHead,{monthSlots:o,dateHeaderCell:this.$props.dateHeaderCell},null)]})]),r.createVNode("div",{class:"k-scheduler-body",ref:"body"},[c,this.hasMounted&&i.filter(e=>e.order===null||e.order<s).sort(a.orderSort).map(function(e){return r.createVNode(t,{item:this.$props.item,viewItem:this.$props.viewItem,form:this.$props.form,key:e.isRecurring?`${e.uid}:${e.group.index}:${e.range.index}:${e.originalStart}`:`${e.uid}:${e.group.index}:${e.range.index}`,uid:e.uid,start:e.start,end:e.end,originalStart:e.originalStart,startTimezone:e.startTimezone,endTimezone:e.endTimezone,isAllDay:e.isAllDay,title:e.title,description:e.description,occurrenceId:e.occurrenceId,recurrenceExceptions:e.recurrenceExceptions,recurrenceRule:e.recurrenceRule,recurrenceId:e.recurrenceId,dataItem:e.dataItem,itemRef:e.itemRef,head:e.head,tail:e.tail,order:e.order,zonedStart:e.zonedStart,zonedEnd:e.zonedEnd,slots:e.slots,group:e.group,range:e.range,isException:e.isException,isRecurring:e.isRecurring,readonly:e.readonly,onDragitemchange:this.handleDragItemChange,onResizeitemchange:this.handleResizeItemChange,onDataaction:this.handleDataAction,vertical:!1,editable:this.$props.editable,ignoreIsAllDay:!0},null)},this)]),r.createVNode(z.MoreEventsPopover,{show:this.popoverShow,anchor:this.popoverAnchor,slot:this.popoverSlot,items:i,itemsPerSlot:s,onDayclick:this.handlePopoverDayClick,onClose:this.handlePopoverClose},null)]})},methods:{queueSyncGroupRows(){this.rowSyncQueued||(this.rowSyncQueued=!0,this.$nextTick(()=>{this.rowSyncQueued=!1,this.$refs.body&&this.syncGroupRows()}))},syncGroupRows(){this.rowSyncFrame!==void 0&&window.cancelAnimationFrame(this.rowSyncFrame),this.rowSyncFrame=window.requestAnimationFrame(()=>{if(!this.hasMounted||!this.$refs.body){this.rowSyncFrame=void 0;return}V.syncGroupRowHeights(this.$refs.body),this.rowSyncFrame=void 0})},handleShowMoreItemsClick({event:t,slot:i}){var s;const o=((s=t.target)==null?void 0:s.element)||null;if(this.popoverShow&&this.popoverAnchor===o){this.popoverShow=!1,this.popoverAnchor=null,this.popoverSlot=null;return}this.popoverShow=!0,this.popoverAnchor=o,this.popoverSlot=i||null},handlePopoverClose(){this.popoverShow=!1,this.popoverAnchor=null,this.popoverSlot=null},handlePopoverDayClick(t){const o=this.ks.views.find(s=>s.name==="day");!this.setActiveViewName||!o||!o.name||(this.popoverShow=!1,this.popoverAnchor=null,this.popoverSlot=null,this.$nextTick(()=>{this.setActiveViewName(o.name),this.setActiveDate(t.start)}))},handleDataAction(t){this.$emit("dataaction",t)},handleDragItemChange(t){this.currentDragItem=t},handleResizeItemChange(t){this.currentResizeItem=t}}}),M=({intl:t,date:i,timezone:o})=>{const s=n.firstDayInWeek(n.firstDayOfMonth(n.getDate(i)),t.firstDay()),c=n.addDays(n.firstDayInWeek(n.lastDayOfMonth(n.getDate(i)),t.firstDay()),S.DAYS_IN_WEEK_COUNT),e=n.ZonedDate.fromUTCDate(a.toUTCDateTime(s),o),u=n.ZonedDate.fromUTCDate(a.toUTCDateTime(c),o),g=new Date(e.getTime()),f=new Date(u.getTime());return{start:g,end:f,zonedStart:e,zonedEnd:u}};exports.MonthView=b;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),v=require("../../components/BaseView.js"),a=require("@progress/kendo-date-math"),p=require("../common/VerticalResourceIterator.js"),m=require("../common/HorizontalResourceIterator.js"),l=require("../../utils/main.js"),h=require("../../messages/main.js"),w=require("../../slots/SchedulerEditSlot.js"),d=require("@progress/kendo-vue-intl"),g=require("../../constants/main.js"),I=require("../../services/rangeService.js"),y=require("../../services/slotsService.js"),D=require("../../services/occurrenceService.js"),R=require("../../services/itemsService.js"),S=require("./MonthViewHead.js"),k=require("./MonthViewBody.js"),b=require("../../components/MoreEventsPopover.js"),$=require("../../items/SchedulerEditItem.js"),z=require("../../hooks/useGroupRowHeightSync.js"),C=require("../../hooks/useEditable.js"),V=r.defineComponent({name:"KendoMonthView",emits:["dataaction"],props:{onDataAction:Function,itemsPerSlot:{type:Number,default:2},name:{type:String,default:"month"},dateRange:{type:[Function,Object],default:function(){return A}},slotDuration:{type:Number,default:1440},slotDivisions:{type:Number,default:1},numberOfDays:{type:Number,default:31},dragItem:{type:Object,default:function(){}},resizeItem:{type:Object,default:function(){}},title:String,selectedDateFormat:{type:String,default:"{0:Y}"},selectedShortDateFormat:{type:String,default:"{0:y}"},dateHeaderCell:[String,Function,Object],slotRender:[String,Function,Object],viewSlot:[String,Function,Object],resizeHint:[String,Function,Object],item:[String,Function,Object],viewItem:[String,Function,Object],editable:{type:[Boolean,Object],default:!1}},inject:{ks:{default:{}},setActiveDate:{default:null},setActiveViewName:{default:null},kendoLocalizationService:{default:null},kendoIntlService:{default:null}},setup(t){const s=r.shallowRef(null),o=r.shallowRef(null),n=r.ref(!1);return{popoverEditItem:s,popoverFormItem:o,popoverShowOccurrenceDialog:n,handlePopoverItemDoubleClick:i=>!C.useEditable(t.editable).edit||i.readonly?!1:(s.value=i,o.value=i.dataItem,n.value=!!i.isRecurring,!0),handlePopoverFormItemChange:i=>{o.value=i,i||(s.value=null)},handlePopoverShowOccurrenceDialogChange:i=>{n.value=i}}},created(){this.intl=d.provideIntlService(this)},mounted(){this.hasMounted=!0,this.queueSyncGroupRows()},unmounted(){this.hasMounted=!1,this.rowSyncFrame!==void 0&&window.cancelAnimationFrame(this.rowSyncFrame)},data(){return{hasMounted:!1,rowSyncFrame:void 0,rowSyncQueued:!1,currentDragItem:void 0,currentResizeItem:void 0,popoverShow:!1,popoverAnchor:null,popoverSlot:null}},watch:{rowSyncKey(){this.hasMounted&&this.queueSyncGroupRows()},compDragItem(){this.hasMounted&&this.queueSyncGroupRows()},compResizeItem(){this.hasMounted&&this.queueSyncGroupRows()}},computed:{ranges(){return I.toRanges(this.ks.dateRange,{step:a.MS_PER_DAY*g.DAYS_IN_WEEK_COUNT,timezone:this.ks.timezone})},monthSlots(){return y.toSlots(this.ks.dateRange,{step:a.MS_PER_DAY},{groups:this.ks.groups,ranges:this.ranges})},occurrences(){return D.toOccurrences(this.ks.dataItems,{dateRange:this.ks.dateRange,fields:this.ks.fields,timezone:this.ks.timezone})},items(){const t=R.toItems(this.occurrences,{timezone:this.ks.timezone},{groups:this.ks.groups,ranges:this.ranges});return l.mapItemsToSlots(t,this.monthSlots,!0),l.mapSlotsToItems(t,this.monthSlots,!0),t},rowSyncKey(){return[this.itemsPerSlot,this.monthSlots.map(t=>`${t.group.index}:${t.range.index}:${t.items.length}`).join("|")].join("::")},compDragItem(){return this.dragItem!==void 0?this.dragItem:this.currentDragItem},compResizeItem(){return this.resizeItem!==void 0?this.resizeItem:this.currentResizeItem}},render(){this.localization=d.provideLocalizationService(this),this.localization.toLanguageString(h.monthViewTitle,h.messages[h.monthViewTitle]);const t=this.$props.editItem||$.SchedulerEditItem;this.$props.editSlot||w.SchedulerEditSlot;const s=this.items,o=this.monthSlots;this.intl=d.provideIntlService(this);const n=this.$props.itemsPerSlot,u=this.ks.orientation==="horizontal"?this.ranges.map(function(e,c){return r.createVNode(m.HorizontalResourceIterator,{resources:this.ks.props.resources,group:this.ks.props.group},{default:()=>[r.createVNode(k.MonthViewBody,{editable:this.$props.editable,slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,monthSlots:o,rangeIndex:c,itemsPerSlot:n,onDataaction:this.handleDataAction,onShowmoreitems:this.handleShowMoreItemsClick},null)]})},this):r.createVNode(p.VerticalResourceIterator,{nested:!0,resources:this.ks.props.resources,group:this.ks.props.group,onDataaction:this.handleDataAction,more:{slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,monthSlots:o,ranges:this.ranges,itemsPerSlot:n,editable:this.$props.editable,onShowmoreitems:this.handleShowMoreItemsClick}},null);return r.createVNode(v.BaseView,{viewProps:{...this.$props},baseSlots:o,ranges:this.ranges,class:"k-scheduler-monthview"},{default:()=>[r.createVNode("div",{class:"k-scheduler-head"},[this.ks.orientation==="horizontal"?r.createVNode(m.HorizontalResourceIterator,{nested:!0,resources:this.ks.props.resources,group:this.ks.props.group},{default:()=>[r.createVNode(S.MonthViewHead,{monthSlots:o,dateHeaderCell:this.$props.dateHeaderCell},null)]}):r.createVNode(p.VerticalResourceIterator,{resources:this.ks.props.resources,group:this.ks.props.group},{default:()=>[r.createVNode(S.MonthViewHead,{monthSlots:o,dateHeaderCell:this.$props.dateHeaderCell},null)]})]),r.createVNode("div",{class:"k-scheduler-body",ref:"body"},[u,this.hasMounted&&s.filter(e=>e.order===null||e.order<n).sort(l.orderSort).map(function(e){return r.createVNode(t,{item:this.$props.item,viewItem:this.$props.viewItem,form:this.$props.form,key:e.isRecurring?`${e.uid}:${e.group.index}:${e.range.index}:${e.originalStart}`:`${e.uid}:${e.group.index}:${e.range.index}`,uid:e.uid,start:e.start,end:e.end,originalStart:e.originalStart,startTimezone:e.startTimezone,endTimezone:e.endTimezone,isAllDay:e.isAllDay,title:e.title,description:e.description,occurrenceId:e.occurrenceId,recurrenceExceptions:e.recurrenceExceptions,recurrenceRule:e.recurrenceRule,recurrenceId:e.recurrenceId,dataItem:e.dataItem,itemRef:e.itemRef,head:e.head,tail:e.tail,order:e.order,zonedStart:e.zonedStart,zonedEnd:e.zonedEnd,slots:e.slots,group:e.group,range:e.range,isException:e.isException,isRecurring:e.isRecurring,readonly:e.readonly,onDragitemchange:this.handleDragItemChange,onResizeitemchange:this.handleResizeItemChange,onDataaction:this.handleDataAction,vertical:!1,editable:this.$props.editable,ignoreIsAllDay:!0},null)},this)]),r.createVNode(b.MoreEventsPopover,{show:this.popoverShow,anchor:this.popoverAnchor,slot:this.popoverSlot,items:s,itemsPerSlot:n,onDayclick:this.handlePopoverDayClick,onItemdoubleclick:e=>{this.handlePopoverItemDoubleClick(e)&&this.handlePopoverClose()},onClose:this.handlePopoverClose},null),this.popoverEditItem&&r.createVNode(t,r.mergeProps(this.popoverEditItem,{item:this.$props.item,viewItem:this.$props.viewItem,form:this.$props.form,formItem:this.popoverFormItem,showOccurrenceDialog:this.popoverShowOccurrenceDialog,itemStyle:{display:"none"},tabIndex:-1,editable:this.$props.editable,vertical:!1,ignoreIsAllDay:!0,onFormitemchange:this.handlePopoverFormItemChange,onShowoccurrencedialogchange:this.handlePopoverShowOccurrenceDialogChange,onDataaction:this.handleDataAction}),null)]})},methods:{queueSyncGroupRows(){this.rowSyncQueued||(this.rowSyncQueued=!0,this.$nextTick(()=>{this.rowSyncQueued=!1,this.$refs.body&&this.syncGroupRows()}))},syncGroupRows(){this.rowSyncFrame!==void 0&&window.cancelAnimationFrame(this.rowSyncFrame),this.rowSyncFrame=window.requestAnimationFrame(()=>{if(!this.hasMounted||!this.$refs.body){this.rowSyncFrame=void 0;return}z.syncGroupRowHeights(this.$refs.body),this.rowSyncFrame=void 0})},handleShowMoreItemsClick({event:t,slot:s}){var n;const o=((n=t.target)==null?void 0:n.element)||null;if(this.popoverShow&&this.popoverAnchor===o){this.popoverShow=!1,this.popoverAnchor=null,this.popoverSlot=null;return}this.popoverShow=!0,this.popoverAnchor=o,this.popoverSlot=s||null},handlePopoverClose(){this.popoverShow=!1,this.popoverAnchor=null,this.popoverSlot=null},handlePopoverDayClick(t){const o=this.ks.views.find(n=>n.name==="day");!this.setActiveViewName||!o||!o.name||(this.popoverShow=!1,this.popoverAnchor=null,this.popoverSlot=null,this.$nextTick(()=>{this.setActiveViewName(o.name),this.setActiveDate(t.start)}))},handleDataAction(t){l.emitDataAction(this,t)},handleDragItemChange(t){this.currentDragItem=t},handleResizeItemChange(t){this.currentResizeItem=t}}}),A=({intl:t,date:s,timezone:o})=>{const n=a.firstDayInWeek(a.firstDayOfMonth(a.getDate(s)),t.firstDay()),u=a.addDays(a.firstDayInWeek(a.lastDayOfMonth(a.getDate(s)),t.firstDay()),g.DAYS_IN_WEEK_COUNT),e=a.ZonedDate.fromUTCDate(l.toUTCDateTime(n),o),c=a.ZonedDate.fromUTCDate(l.toUTCDateTime(u),o),i=new Date(e.getTime()),f=new Date(c.getTime());return{start:i,end:f,zonedStart:e,zonedEnd:c}};exports.MonthView=V;