@progress/kendo-vue-scheduler 10.2.0-develop.10 → 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.
- package/Scheduler.d.ts +157 -56
- package/Scheduler.js +1 -1
- package/Scheduler.mjs +242 -214
- package/components/EventOverviewPopover.d.ts +62 -0
- package/components/EventOverviewPopover.js +8 -0
- package/components/EventOverviewPopover.mjs +191 -0
- package/components/MoreEventsPopover.d.ts +3 -1
- package/components/MoreEventsPopover.js +1 -1
- package/components/MoreEventsPopover.mjs +31 -27
- package/components/SchedulerActionButtons.js +1 -1
- package/components/SchedulerActionButtons.mjs +1 -0
- package/components/SchedulerForm.d.ts +412 -2
- package/components/SchedulerForm.js +1 -1
- package/components/SchedulerForm.mjs +162 -60
- package/components/SchedulerQuickCreateForm.d.ts +118 -0
- package/components/SchedulerQuickCreateForm.js +8 -0
- package/components/SchedulerQuickCreateForm.mjs +249 -0
- package/constants/main.d.ts +2 -0
- package/constants/main.js +1 -1
- package/constants/main.mjs +10 -9
- package/dist/cdn/js/kendo-vue-scheduler.js +1 -1
- package/editors/KeepResetCustomEventsDialog.d.ts +31 -0
- package/editors/KeepResetCustomEventsDialog.js +8 -0
- package/editors/KeepResetCustomEventsDialog.mjs +72 -0
- package/editors/SchedulerFormEditor.d.ts +151 -52
- package/editors/SchedulerFormEditor.js +1 -1
- package/editors/SchedulerFormEditor.mjs +192 -139
- package/editors/SchedulerRecurrenceDialog.d.ts +2 -2
- package/editors/SchedulerRecurrenceDialog.js +1 -1
- package/editors/SchedulerRecurrenceDialog.mjs +126 -131
- package/editors/ZonedSplitDateTime.d.ts +32 -3
- package/editors/ZonedSplitDateTime.js +1 -1
- package/editors/ZonedSplitDateTime.mjs +112 -47
- package/hooks/useCloseOnAnchorScrollOut.d.ts +10 -0
- package/hooks/useCloseOnAnchorScrollOut.js +8 -0
- package/hooks/useCloseOnAnchorScrollOut.mjs +43 -0
- package/hooks/useCustomEventsConfirmation.d.ts +20 -0
- package/hooks/useCustomEventsConfirmation.js +8 -0
- package/hooks/useCustomEventsConfirmation.mjs +48 -0
- package/hooks/useDeferredClick.d.ts +12 -0
- package/hooks/useDeferredClick.js +8 -0
- package/hooks/useDeferredClick.mjs +22 -0
- package/hooks/useExclusivePopover.d.ts +26 -0
- package/hooks/useExclusivePopover.js +8 -0
- package/hooks/useExclusivePopover.mjs +30 -0
- package/hooks/useRecurrenceSummary.d.ts +3 -0
- package/hooks/useRecurrenceSummary.js +1 -1
- package/hooks/useRecurrenceSummary.mjs +68 -41
- package/index.d.mts +4 -2
- package/index.d.ts +4 -2
- package/index.js +1 -1
- package/index.mjs +83 -78
- package/items/SchedulerEditItem.d.ts +116 -12
- package/items/SchedulerEditItem.js +1 -1
- package/items/SchedulerEditItem.mjs +212 -131
- package/items/SchedulerItem.d.ts +2 -1
- package/items/SchedulerItem.js +1 -1
- package/items/SchedulerItem.mjs +28 -23
- package/items/SchedulerProportionalViewItem.d.ts +1 -0
- package/items/SchedulerProportionalViewItem.js +1 -1
- package/items/SchedulerProportionalViewItem.mjs +83 -68
- package/items/SchedulerViewItem.d.ts +1 -0
- package/items/SchedulerViewItem.js +1 -1
- package/items/SchedulerViewItem.mjs +84 -75
- package/items/hooks/use-drag-item.js +1 -1
- package/items/hooks/use-drag-item.mjs +49 -48
- package/items/hooks/use-form-item.d.ts +1 -1
- package/items/hooks/use-remove-item.d.ts +1 -1
- package/items/hooks/use-resize-item.js +1 -1
- package/items/hooks/use-resize-item.mjs +74 -65
- package/messages/main.d.ts +42 -0
- package/messages/main.js +1 -1
- package/messages/main.mjs +303 -275
- package/models/InternalDataAction.d.ts +13 -0
- package/models/SchedulerView.d.ts +1 -1
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +2 -2
- package/package.json +13 -12
- package/recurrence/RecurrenceEditor.js +1 -1
- package/recurrence/RecurrenceEditor.mjs +42 -42
- package/recurrence/common.d.ts +10 -0
- package/recurrence/common.js +1 -1
- package/recurrence/common.mjs +39 -35
- package/services/itemsService.d.ts +5 -2
- package/services/itemsService.js +1 -1
- package/services/itemsService.mjs +46 -33
- package/services/occurrenceService.js +1 -1
- package/services/occurrenceService.mjs +18 -18
- package/slots/SchedulerEditSlot.d.ts +70 -8
- package/slots/SchedulerEditSlot.js +1 -1
- package/slots/SchedulerEditSlot.mjs +222 -141
- package/slots/SchedulerSlot.js +1 -1
- package/slots/SchedulerSlot.mjs +20 -16
- package/slots/SchedulerViewSlot.d.ts +3 -0
- package/slots/SchedulerViewSlot.js +1 -1
- package/slots/SchedulerViewSlot.mjs +21 -15
- package/tasks/SchedulerEditTask.d.ts +13 -2
- package/tasks/SchedulerEditTask.js +1 -1
- package/tasks/SchedulerEditTask.mjs +45 -30
- package/utils/main.d.ts +27 -0
- package/utils/main.js +1 -1
- package/utils/main.mjs +172 -136
- package/views/agenda/AgendaView.d.ts +6 -2
- package/views/agenda/AgendaView.js +1 -1
- package/views/agenda/AgendaView.mjs +31 -29
- package/views/agenda/AgendaViewBody.d.ts +3 -3
- package/views/agenda/AgendaViewBody.js +1 -1
- package/views/agenda/AgendaViewBody.mjs +31 -29
- package/views/common/SchedulerDrag.d.ts +4 -2
- package/views/common/SchedulerDrag.js +1 -1
- package/views/common/SchedulerDrag.mjs +8 -7
- package/views/common/SchedulerResize.d.ts +4 -2
- package/views/common/SchedulerResize.js +1 -1
- package/views/common/SchedulerResize.mjs +14 -12
- package/views/common/VerticalResourceIterator.d.ts +3 -3
- package/views/common/VerticalResourceIterator.js +1 -1
- package/views/common/VerticalResourceIterator.mjs +34 -33
- package/views/day/DayView.d.ts +2 -0
- package/views/day/DayView.js +1 -1
- package/views/day/DayView.mjs +9 -7
- package/views/day/DayViewAllDaySlots.d.ts +7 -5
- package/views/day/DayViewAllDaySlots.js +1 -1
- package/views/day/DayViewAllDaySlots.mjs +24 -21
- package/views/day/DayViewMiddleRow.d.ts +7 -5
- package/views/day/DayViewMiddleRow.js +1 -1
- package/views/day/DayViewMiddleRow.mjs +18 -13
- package/views/day/DayViewVerticalRow.d.ts +7 -5
- package/views/day/DayViewVerticalRow.js +1 -1
- package/views/day/DayViewVerticalRow.mjs +23 -17
- package/views/day/DayViewVerticalSlotsRow.d.ts +7 -5
- package/views/day/DayViewVerticalSlotsRow.js +1 -1
- package/views/day/DayViewVerticalSlotsRow.mjs +34 -29
- package/views/day/MultiDayView.d.ts +13 -7
- package/views/day/MultiDayView.js +1 -1
- package/views/day/MultiDayView.mjs +108 -95
- package/views/month/MonthView.d.ts +15 -4
- package/views/month/MonthView.js +1 -1
- package/views/month/MonthView.mjs +105 -68
- package/views/month/MonthViewBody.d.ts +3 -3
- package/views/month/MonthViewBody.js +1 -1
- package/views/month/MonthViewBody.mjs +18 -16
- package/views/time/MultiDayTimelineView.d.ts +6 -4
- package/views/time/MultiDayTimelineView.js +1 -1
- package/views/time/MultiDayTimelineView.mjs +64 -63
- package/views/time/TimelineView.d.ts +2 -0
- package/views/time/TimelineView.js +1 -1
- package/views/time/TimelineView.mjs +5 -3
- package/views/time/TimelineViewBody.d.ts +7 -5
- package/views/time/TimelineViewBody.js +1 -1
- package/views/time/TimelineViewBody.mjs +29 -27
- package/views/week/WeekView.d.ts +2 -0
- package/views/week/WeekView.js +1 -1
- package/views/week/WeekView.mjs +11 -10
- package/views/week/WorkWeekView.d.ts +2 -0
- package/views/week/WorkWeekView.js +1 -1
- 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
|
-
|
|
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
|
-
|
|
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():
|
|
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,
|
|
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
|
-
|
|
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
|
|
9
|
-
import { Day as
|
|
10
|
-
import { BaseView as
|
|
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
|
|
13
|
-
import { VerticalResourceIterator as
|
|
14
|
-
import { DayViewAllDayRowContent as
|
|
15
|
-
import { DayViewRowContent as
|
|
16
|
-
import { DayViewMiddleRow as
|
|
17
|
-
import { DayViewVerticalRow as
|
|
18
|
-
import { DayViewHead as
|
|
19
|
-
import { DayViewAllDaySlots as
|
|
20
|
-
import { intersects as N, last as
|
|
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
|
|
23
|
-
import { SchedulerEditSlot as
|
|
24
|
-
import { SchedulerEditItem as
|
|
25
|
-
import { CurrentTimeMarker as
|
|
26
|
-
import { CurrentTimeMarkerArrow as
|
|
27
|
-
import { toItems as
|
|
28
|
-
import { toOccurrences as
|
|
29
|
-
import { toSlots as
|
|
30
|
-
import { toRanges as
|
|
31
|
-
const
|
|
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
|
|
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:
|
|
75
|
+
default: f.Monday
|
|
75
76
|
},
|
|
76
77
|
workWeekEnd: {
|
|
77
78
|
type: Number,
|
|
78
|
-
default:
|
|
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
|
-
|
|
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),
|
|
147
|
-
return (this.ks.showWorkHours !== void 0 ? this.ks.showWorkHours : this.showWorkHours) ? t :
|
|
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),
|
|
152
|
-
return (this.ks.showWorkHours !== void 0 ? this.ks.showWorkHours : this.showWorkHours) ? t :
|
|
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
|
|
156
|
-
step:
|
|
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
|
|
165
|
-
step:
|
|
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
|
|
174
|
-
step:
|
|
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
|
|
183
|
-
step: this.slotDuration *
|
|
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((
|
|
188
|
+
}).filter((r) => t.viewEnd.getTime() === t.viewStart.getTime() || _(r.zonedStart, t.viewStart, t.viewEnd));
|
|
188
189
|
},
|
|
189
190
|
occurrences() {
|
|
190
|
-
return
|
|
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.
|
|
207
|
+
return this.occurrenceLanes.day;
|
|
198
208
|
},
|
|
199
209
|
timeOccurrences() {
|
|
200
|
-
return this.
|
|
210
|
+
return this.occurrenceLanes.time;
|
|
201
211
|
},
|
|
202
212
|
dayItems() {
|
|
203
|
-
const t =
|
|
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
|
|
220
|
+
return I(t, this.daySlots, !0), $(t, this.daySlots, !0), t;
|
|
210
221
|
},
|
|
211
222
|
timeItems() {
|
|
212
|
-
const t =
|
|
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((
|
|
218
|
-
return
|
|
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 ||
|
|
246
|
-
this.$props.editSlot ||
|
|
247
|
-
const
|
|
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
|
|
250
|
-
return
|
|
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:
|
|
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: () => [
|
|
270
|
+
default: () => [s("div", {
|
|
260
271
|
class: "k-scheduler-head"
|
|
261
|
-
}, [this.ks.orientation === "horizontal" ? [
|
|
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:
|
|
266
|
-
childRowContent:
|
|
276
|
+
rowContent: k,
|
|
277
|
+
childRowContent: k
|
|
267
278
|
}, {
|
|
268
|
-
default: () => [
|
|
279
|
+
default: () => [s(R, {
|
|
269
280
|
timeRanges: this.timeRanges,
|
|
270
281
|
dateHeaderCell: this.$props.dateHeaderCell
|
|
271
282
|
}, null)]
|
|
272
|
-
}),
|
|
283
|
+
}), s(D, {
|
|
273
284
|
group: this.ks.props.group,
|
|
274
285
|
resources: this.ks.props.resources,
|
|
275
|
-
rowContent:
|
|
276
|
-
childRowContent:
|
|
286
|
+
rowContent: S,
|
|
287
|
+
childRowContent: S
|
|
277
288
|
}, {
|
|
278
|
-
default: () => [
|
|
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:
|
|
285
|
-
workWeekStart:
|
|
286
|
-
workWeekEnd:
|
|
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
|
|
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)] :
|
|
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: () => [
|
|
345
|
+
default: () => [s(R, {
|
|
334
346
|
timeRanges: this.timeRanges,
|
|
335
347
|
dateHeaderCell: this.$props.dateHeaderCell
|
|
336
348
|
}, null)]
|
|
337
|
-
})]),
|
|
349
|
+
})]), s("div", {
|
|
338
350
|
class: "k-scheduler-body"
|
|
339
|
-
}, [this.ks.orientation === "horizontal" ? [u.filter((e) => e.group.index ===
|
|
340
|
-
return
|
|
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:
|
|
357
|
+
rowContent: H,
|
|
346
358
|
rowContentProps: {
|
|
347
359
|
timeHeaderCell: this.$props.timeHeaderCell,
|
|
348
|
-
isMaster:
|
|
349
|
-
isLast: (
|
|
360
|
+
isMaster: g % n === 0,
|
|
361
|
+
isLast: (g + 1) % n === 0,
|
|
350
362
|
contentSlot: e
|
|
351
363
|
}
|
|
352
364
|
}, {
|
|
353
|
-
default: () => [
|
|
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:
|
|
371
|
+
rootIndex: g,
|
|
360
372
|
root: e,
|
|
361
|
-
numberOfDays:
|
|
373
|
+
numberOfDays: r,
|
|
362
374
|
workDayStart: p,
|
|
363
375
|
workDayEnd: a,
|
|
364
|
-
workWeekStart:
|
|
365
|
-
workWeekEnd:
|
|
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(
|
|
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:
|
|
381
|
-
workWeekStart:
|
|
382
|
-
workWeekEnd:
|
|
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: () => [
|
|
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
|
|
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 &&
|
|
435
|
-
return
|
|
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
|
|
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
|
-
}),
|
|
500
|
+
}), J = ({
|
|
488
501
|
date: t,
|
|
489
|
-
numberOfDays:
|
|
502
|
+
numberOfDays: r = 1,
|
|
490
503
|
timezone: n
|
|
491
504
|
}) => {
|
|
492
|
-
const
|
|
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:
|
|
507
|
+
start: h,
|
|
495
508
|
end: l,
|
|
496
509
|
zonedStart: a,
|
|
497
510
|
zonedEnd: d
|
|
498
511
|
};
|
|
499
512
|
};
|
|
500
513
|
export {
|
|
501
|
-
|
|
502
|
-
|
|
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,
|
|
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;
|
package/views/month/MonthView.js
CHANGED
|
@@ -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"),
|
|
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;
|