@progress/kendo-vue-scheduler 9.3.0-develop.4 → 9.3.0-develop.6
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 +67 -4
- package/Scheduler.js +1 -1
- package/Scheduler.mjs +267 -115
- package/components/BaseView.js +1 -1
- package/components/BaseView.mjs +10 -4
- package/components/CurrentTimeMarker.js +1 -1
- package/components/CurrentTimeMarker.mjs +9 -9
- package/components/CurrentTimeMarkerArrow.js +1 -1
- package/components/CurrentTimeMarkerArrow.mjs +3 -3
- package/components/DateHeaderCell.js +1 -1
- package/components/DateHeaderCell.mjs +22 -13
- package/components/MoreEventsPopover.d.ts +77 -0
- package/components/MoreEventsPopover.js +8 -0
- package/components/MoreEventsPopover.mjs +125 -0
- package/components/SchedulerActionButtons.d.ts +6 -0
- package/components/SchedulerActionButtons.js +1 -1
- package/components/SchedulerActionButtons.mjs +25 -19
- package/components/SchedulerForm.d.ts +7 -0
- package/components/SchedulerForm.js +1 -1
- package/components/SchedulerForm.mjs +69 -61
- package/components/SchedulerOccurrenceDialog.d.ts +4 -4
- package/components/SchedulerOccurrenceDialog.js +1 -1
- package/components/SchedulerOccurrenceDialog.mjs +35 -26
- package/components/SchedulerRemoveDialog.d.ts +6 -0
- package/components/SchedulerRemoveDialog.js +1 -1
- package/components/SchedulerRemoveDialog.mjs +24 -23
- package/components/ShowMoreItemsButton.d.ts +10 -1
- package/components/ShowMoreItemsButton.js +1 -1
- package/components/ShowMoreItemsButton.mjs +40 -18
- package/components/footer/bussiness-hours/BusinessHours.js +1 -1
- package/components/footer/bussiness-hours/BusinessHours.mjs +16 -21
- package/components/header/SchedulerAdaptiveHeader.js +1 -1
- package/components/header/SchedulerAdaptiveHeader.mjs +28 -26
- package/components/header/SchedulerHeader.d.ts +5 -1
- package/components/header/SchedulerHeader.js +1 -1
- package/components/header/SchedulerHeader.mjs +11 -7
- package/components/header/navigation/NavigationDatePicker.d.ts +22 -3
- package/components/header/navigation/NavigationDatePicker.js +1 -1
- package/components/header/navigation/NavigationDatePicker.mjs +27 -30
- package/components/header/view-selector/ViewSelectorList.d.ts +26 -6
- package/components/header/view-selector/ViewSelectorList.js +1 -1
- package/components/header/view-selector/ViewSelectorList.mjs +55 -49
- package/dist/cdn/js/kendo-vue-scheduler.js +1 -1
- package/editors/RemoveRecurrenceConfirmDialog.d.ts +29 -0
- package/editors/RemoveRecurrenceConfirmDialog.js +8 -0
- package/editors/RemoveRecurrenceConfirmDialog.mjs +65 -0
- package/editors/ResourceEditor.d.ts +3 -0
- package/editors/ResourceEditor.js +1 -1
- package/editors/ResourceEditor.mjs +12 -10
- package/editors/SchedulerFormEditor.d.ts +1067 -2953
- package/editors/SchedulerFormEditor.js +1 -1
- package/editors/SchedulerFormEditor.mjs +297 -365
- package/editors/SchedulerRecurrenceDialog.d.ts +143 -0
- package/editors/SchedulerRecurrenceDialog.js +8 -0
- package/editors/SchedulerRecurrenceDialog.mjs +575 -0
- package/editors/TimezoneDropDownList.d.ts +46 -0
- package/editors/TimezoneDropDownList.js +8 -0
- package/editors/TimezoneDropDownList.mjs +63 -0
- package/editors/ZonedSplitDateTime.d.ts +65 -0
- package/editors/ZonedSplitDateTime.js +8 -0
- package/editors/ZonedSplitDateTime.mjs +100 -0
- package/hooks/main.d.ts +1 -0
- package/hooks/useGroupRowHeightSync.d.ts +10 -0
- package/hooks/useRecurrenceSummary.d.ts +10 -0
- package/hooks/useRecurrenceSummary.js +8 -0
- package/hooks/useRecurrenceSummary.mjs +74 -0
- package/hooks/useRowSync.js +1 -1
- package/hooks/useRowSync.mjs +23 -4
- package/hooks/useSlotExpand.js +1 -1
- package/hooks/useSlotExpand.mjs +36 -28
- package/index.d.mts +9 -3
- package/index.d.ts +9 -3
- package/index.js +1 -1
- package/index.mjs +83 -71
- package/items/SchedulerEditItem.d.ts +14 -3
- package/items/SchedulerEditItem.js +1 -1
- package/items/SchedulerEditItem.mjs +130 -72
- package/items/SchedulerItem.d.ts +10 -0
- package/items/SchedulerItem.js +1 -1
- package/items/SchedulerItem.mjs +153 -135
- package/items/SchedulerProportionalViewItem.d.ts +183 -0
- package/items/SchedulerProportionalViewItem.js +8 -0
- package/items/SchedulerProportionalViewItem.mjs +378 -0
- package/items/SchedulerViewItem.d.ts +3 -0
- package/items/SchedulerViewItem.js +1 -1
- package/items/SchedulerViewItem.mjs +107 -67
- package/messages/main.d.ts +186 -0
- package/messages/main.js +1 -1
- package/messages/main.mjs +226 -102
- package/models/Item.d.ts +2 -0
- package/models/Occurrence.d.ts +2 -0
- package/models/SchedulerModelFields.d.ts +5 -0
- package/models/SchedulerResource.d.ts +6 -0
- package/models/SchedulerView.d.ts +2 -0
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +2 -2
- package/package.json +12 -11
- package/recurrence/common.js +1 -1
- package/recurrence/common.mjs +36 -39
- package/services/itemsService.js +1 -1
- package/services/itemsService.mjs +31 -27
- package/services/occurrenceService.js +1 -1
- package/services/occurrenceService.mjs +41 -35
- package/slots/SchedulerEditSlot.d.ts +2 -0
- package/slots/SchedulerEditSlot.js +1 -1
- package/slots/SchedulerEditSlot.mjs +27 -28
- package/slots/SchedulerSlot.d.ts +4 -0
- package/slots/SchedulerSlot.js +1 -1
- package/slots/SchedulerSlot.mjs +10 -1
- package/slots/SchedulerViewSlot.d.ts +5 -0
- package/slots/SchedulerViewSlot.js +1 -1
- package/slots/SchedulerViewSlot.mjs +70 -50
- package/tasks/SchedulerEditTask.d.ts +6 -0
- package/tasks/SchedulerEditTask.js +1 -1
- package/tasks/SchedulerEditTask.mjs +64 -23
- package/tasks/SchedulerTask.d.ts +15 -0
- package/tasks/SchedulerTask.js +1 -1
- package/tasks/SchedulerTask.mjs +39 -28
- package/tasks/SchedulerViewTask.d.ts +9 -0
- package/tasks/SchedulerViewTask.js +1 -1
- package/tasks/SchedulerViewTask.mjs +10 -5
- package/utils/main.d.ts +4 -1
- package/utils/main.js +1 -1
- package/utils/main.mjs +133 -112
- package/views/agenda/AgendaView.js +1 -1
- package/views/agenda/AgendaView.mjs +28 -22
- package/views/agenda/AgendaViewBody.js +1 -1
- package/views/agenda/AgendaViewBody.mjs +44 -42
- package/views/agenda/AgendaViewHead.js +1 -1
- package/views/agenda/AgendaViewHead.mjs +14 -10
- package/views/common/SchedulerDrag.d.ts +12 -0
- package/views/common/SchedulerResize.d.ts +12 -0
- package/views/common/VerticalResourceIterator.d.ts +3 -0
- package/views/common/VerticalResourceIterator.js +1 -1
- package/views/common/VerticalResourceIterator.mjs +16 -9
- package/views/day/DayView.js +1 -1
- package/views/day/DayView.mjs +2 -2
- package/views/day/MultiDayView.js +1 -1
- package/views/day/MultiDayView.mjs +98 -127
- package/views/month/MonthView.d.ts +8 -2
- package/views/month/MonthView.js +1 -1
- package/views/month/MonthView.mjs +115 -109
- package/views/month/MonthViewBody.d.ts +7 -2
- package/views/month/MonthViewBody.js +1 -1
- package/views/month/MonthViewBody.mjs +15 -11
- package/views/time/MultiDayTimelineView.d.ts +5 -0
- package/views/time/MultiDayTimelineView.js +1 -1
- package/views/time/MultiDayTimelineView.mjs +125 -132
- package/views/time/TimelineView.js +1 -1
- package/views/time/TimelineView.mjs +2 -2
- package/views/week/WeekView.js +1 -1
- package/views/week/WeekView.mjs +2 -2
- package/views/week/WorkWeekView.js +1 -1
- package/views/week/WorkWeekView.mjs +9 -9
- package/components/header/navigation/DatePickerToggleButton.d.ts +0 -16
- package/editors/FilterableComboBox.d.ts +0 -38
- package/editors/FilterableComboBox.js +0 -8
- package/editors/FilterableComboBox.mjs +0 -61
- package/editors/ZonedDateTime.js +0 -8
- package/editors/ZonedDateTime.mjs +0 -57
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
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),f=require("../../components/BaseView.js"),n=require("@progress/kendo-date-math"),u=require("../common/VerticalResourceIterator.js"),p=require("../common/HorizontalResourceIterator.js"),a=require("../../utils/main.js"),d=require("../../messages/main.js"),I=require("../../slots/SchedulerEditSlot.js"),h=require("@progress/kendo-vue-intl"),g=require("../../constants/main.js"),D=require("../../services/rangeService.js"),w=require("../../services/slotsService.js"),k=require("../../services/occurrenceService.js"),y=require("../../services/itemsService.js"),m=require("./MonthViewHead.js"),z=require("./MonthViewBody.js"),R=require("../../components/MoreEventsPopover.js"),V=require("../../items/SchedulerEditItem.js"),b=o.defineComponent({name:"KendoMonthView",props:{itemsPerSlot:{type:Number,default:2},name:{type:String,default:"month"},dateRange:{type:[Function,Object],default:function(){return $}},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},data(){return{hasMounted:!1,currentDragItem:void 0,currentResizeItem:void 0,popoverShow:!1,popoverAnchor:null,popoverSlot:null}},computed:{ranges(){return D.toRanges(this.ks.dateRange,{step:n.MS_PER_DAY*g.DAYS_IN_WEEK_COUNT,timezone:this.ks.timezone})},monthSlots(){return w.toSlots(this.ks.dateRange,{step:n.MS_PER_DAY},{groups:this.ks.groups,ranges:this.ranges})},occurrences(){return k.toOccurrences(this.ks.dataItems,{dateRange:this.ks.dateRange,fields:this.ks.fields,timezone:this.ks.timezone})},items(){const t=y.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},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(d.monthViewTitle,d.messages[d.monthViewTitle]);const t=this.$props.editItem||V.SchedulerEditItem;this.$props.editSlot||I.SchedulerEditSlot;const i=this.items,r=this.monthSlots;this.intl=h.provideIntlService(this);const s=this.$props.itemsPerSlot,c=this.ks.orientation==="horizontal"?this.ranges.map(function(e,l){return o.createVNode(p.HorizontalResourceIterator,{resources:this.ks.props.resources,group:this.ks.props.group},{default:()=>[o.createVNode(z.MonthViewBody,{editable:this.$props.editable,slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,monthSlots:r,rangeIndex:l,itemsPerSlot:s,onDataaction:this.handleDataAction,onShowmoreitems:this.handleShowMoreItemsClick},null)]})},this):o.createVNode(u.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:r,ranges:this.ranges,itemsPerSlot:s,editable:this.$props.editable,onShowmoreitems:this.handleShowMoreItemsClick}},null);return o.createVNode(f.BaseView,{viewProps:{...this.$props},baseSlots:r,ranges:this.ranges,class:"k-scheduler-monthview"},{default:()=>[o.createVNode("div",{class:"k-scheduler-head"},[this.ks.orientation==="horizontal"?o.createVNode(p.HorizontalResourceIterator,{nested:!0,resources:this.ks.props.resources,group:this.ks.props.group},{default:()=>[o.createVNode(m.MonthViewHead,{monthSlots:r,dateHeaderCell:this.$props.dateHeaderCell},null)]}):o.createVNode(u.VerticalResourceIterator,{resources:this.ks.props.resources,group:this.ks.props.group},{default:()=>[o.createVNode(m.MonthViewHead,{monthSlots:r,dateHeaderCell:this.$props.dateHeaderCell},null)]})]),o.createVNode("div",{class:"k-scheduler-body"},[c,this.hasMounted&&i.filter(e=>e.order===null||e.order<s).sort(a.orderSort).map(function(e){return o.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)]),o.createVNode(R.MoreEventsPopover,{show:this.popoverShow,anchor:this.popoverAnchor,slot:this.popoverSlot,items:i,itemsPerSlot:s,onDayclick:this.handlePopoverDayClick,onClose:this.handlePopoverClose},null)]})},methods:{handleShowMoreItemsClick({event:t,slot:i}){var s;const r=((s=t.target)==null?void 0:s.element)||null;if(this.popoverShow&&this.popoverAnchor===r){this.popoverShow=!1,this.popoverAnchor=null,this.popoverSlot=null;return}this.popoverShow=!0,this.popoverAnchor=r,this.popoverSlot=i||null},handlePopoverClose(){this.popoverShow=!1,this.popoverAnchor=null,this.popoverSlot=null},handlePopoverDayClick(t){const r=this.ks.views.find(s=>s.name==="day");!this.setActiveViewName||!r||!r.name||(this.popoverShow=!1,this.popoverAnchor=null,this.popoverSlot=null,this.$nextTick(()=>{this.setActiveViewName(r.name),this.setActiveDate(t.start)}))},handleDataAction(t){this.$emit("dataaction",t)},handleDragItemChange(t){this.currentDragItem=t},handleResizeItemChange(t){this.currentResizeItem=t}}}),$=({intl:t,date:i,timezone:r})=>{const s=n.firstDayInWeek(n.firstDayOfMonth(n.getDate(i)),t.firstDay()),c=n.addDays(n.firstDayInWeek(n.lastDayOfMonth(n.getDate(i)),t.firstDay()),g.DAYS_IN_WEEK_COUNT),e=n.ZonedDate.fromUTCDate(a.toUTCDateTime(s),r),l=n.ZonedDate.fromUTCDate(a.toUTCDateTime(c),r),S=new Date(e.getTime()),v=new Date(l.getTime());return{start:S,end:v,zonedStart:e,zonedEnd:l}};exports.MonthView=b;
|
|
@@ -5,26 +5,25 @@
|
|
|
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 { BaseView as
|
|
10
|
-
import { firstDayInWeek as
|
|
11
|
-
import { VerticalResourceIterator as
|
|
12
|
-
import { HorizontalResourceIterator as
|
|
13
|
-
import { orderSort as
|
|
14
|
-
import { monthViewTitle as
|
|
15
|
-
import { SchedulerEditSlot as
|
|
16
|
-
import { provideLocalizationService as
|
|
17
|
-
import { DAYS_IN_WEEK_COUNT as
|
|
18
|
-
import { toRanges as
|
|
19
|
-
import { toSlots as
|
|
20
|
-
import { toOccurrences as
|
|
21
|
-
import { toItems as
|
|
22
|
-
import { MonthViewHead as
|
|
23
|
-
import { MonthViewBody as
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
26
|
-
|
|
27
|
-
const ae = /* @__PURE__ */ k({
|
|
8
|
+
import { defineComponent as w, createVNode as r } from "vue";
|
|
9
|
+
import { BaseView as k } from "../../components/BaseView.mjs";
|
|
10
|
+
import { firstDayInWeek as l, firstDayOfMonth as y, getDate as h, addDays as z, lastDayOfMonth as R, ZonedDate as d, MS_PER_DAY as p } from "@progress/kendo-date-math";
|
|
11
|
+
import { VerticalResourceIterator as u } from "../common/VerticalResourceIterator.mjs";
|
|
12
|
+
import { HorizontalResourceIterator as c } from "../common/HorizontalResourceIterator.mjs";
|
|
13
|
+
import { orderSort as b, mapItemsToSlots as $, mapSlotsToItems as C, toUTCDateTime as m } from "../../utils/main.mjs";
|
|
14
|
+
import { monthViewTitle as g, messages as A } from "../../messages/main.mjs";
|
|
15
|
+
import { SchedulerEditSlot as O } from "../../slots/SchedulerEditSlot.mjs";
|
|
16
|
+
import { provideLocalizationService as T, provideIntlService as f } from "@progress/kendo-vue-intl";
|
|
17
|
+
import { DAYS_IN_WEEK_COUNT as v } from "../../constants/main.mjs";
|
|
18
|
+
import { toRanges as E } from "../../services/rangeService.mjs";
|
|
19
|
+
import { toSlots as M } from "../../services/slotsService.mjs";
|
|
20
|
+
import { toOccurrences as P } from "../../services/occurrenceService.mjs";
|
|
21
|
+
import { toItems as V } from "../../services/itemsService.mjs";
|
|
22
|
+
import { MonthViewHead as S } from "./MonthViewHead.mjs";
|
|
23
|
+
import { MonthViewBody as j } from "./MonthViewBody.mjs";
|
|
24
|
+
import { MoreEventsPopover as x } from "../../components/MoreEventsPopover.mjs";
|
|
25
|
+
import { SchedulerEditItem as N } from "../../items/SchedulerEditItem.mjs";
|
|
26
|
+
const se = /* @__PURE__ */ w({
|
|
28
27
|
name: "KendoMonthView",
|
|
29
28
|
props: {
|
|
30
29
|
itemsPerSlot: {
|
|
@@ -38,7 +37,7 @@ const ae = /* @__PURE__ */ k({
|
|
|
38
37
|
dateRange: {
|
|
39
38
|
type: [Function, Object],
|
|
40
39
|
default: function() {
|
|
41
|
-
return
|
|
40
|
+
return F;
|
|
42
41
|
}
|
|
43
42
|
},
|
|
44
43
|
slotDuration: {
|
|
@@ -70,7 +69,7 @@ const ae = /* @__PURE__ */ k({
|
|
|
70
69
|
},
|
|
71
70
|
selectedShortDateFormat: {
|
|
72
71
|
type: String,
|
|
73
|
-
default: "{0:
|
|
72
|
+
default: "{0:y}"
|
|
74
73
|
},
|
|
75
74
|
dateHeaderCell: [String, Function, Object],
|
|
76
75
|
slotRender: [String, Function, Object],
|
|
@@ -87,6 +86,12 @@ const ae = /* @__PURE__ */ k({
|
|
|
87
86
|
ks: {
|
|
88
87
|
default: {}
|
|
89
88
|
},
|
|
89
|
+
setActiveDate: {
|
|
90
|
+
default: null
|
|
91
|
+
},
|
|
92
|
+
setActiveViewName: {
|
|
93
|
+
default: null
|
|
94
|
+
},
|
|
90
95
|
kendoLocalizationService: {
|
|
91
96
|
default: null
|
|
92
97
|
},
|
|
@@ -95,7 +100,7 @@ const ae = /* @__PURE__ */ k({
|
|
|
95
100
|
}
|
|
96
101
|
},
|
|
97
102
|
created() {
|
|
98
|
-
this.intl =
|
|
103
|
+
this.intl = f(this);
|
|
99
104
|
},
|
|
100
105
|
mounted() {
|
|
101
106
|
this.hasMounted = !0;
|
|
@@ -104,39 +109,42 @@ const ae = /* @__PURE__ */ k({
|
|
|
104
109
|
return {
|
|
105
110
|
hasMounted: !1,
|
|
106
111
|
currentDragItem: void 0,
|
|
107
|
-
currentResizeItem: void 0
|
|
112
|
+
currentResizeItem: void 0,
|
|
113
|
+
popoverShow: !1,
|
|
114
|
+
popoverAnchor: null,
|
|
115
|
+
popoverSlot: null
|
|
108
116
|
};
|
|
109
117
|
},
|
|
110
118
|
computed: {
|
|
111
119
|
ranges() {
|
|
112
|
-
return
|
|
113
|
-
step:
|
|
120
|
+
return E(this.ks.dateRange, {
|
|
121
|
+
step: p * v,
|
|
114
122
|
timezone: this.ks.timezone
|
|
115
123
|
});
|
|
116
124
|
},
|
|
117
125
|
monthSlots() {
|
|
118
|
-
return
|
|
119
|
-
step:
|
|
126
|
+
return M(this.ks.dateRange, {
|
|
127
|
+
step: p
|
|
120
128
|
}, {
|
|
121
129
|
groups: this.ks.groups,
|
|
122
130
|
ranges: this.ranges
|
|
123
131
|
});
|
|
124
132
|
},
|
|
125
133
|
occurrences() {
|
|
126
|
-
return
|
|
134
|
+
return P(this.ks.dataItems, {
|
|
127
135
|
dateRange: this.ks.dateRange,
|
|
128
136
|
fields: this.ks.fields,
|
|
129
137
|
timezone: this.ks.timezone
|
|
130
138
|
});
|
|
131
139
|
},
|
|
132
140
|
items() {
|
|
133
|
-
const
|
|
141
|
+
const t = V(this.occurrences, {
|
|
134
142
|
timezone: this.ks.timezone
|
|
135
143
|
}, {
|
|
136
144
|
groups: this.ks.groups,
|
|
137
145
|
ranges: this.ranges
|
|
138
146
|
});
|
|
139
|
-
return
|
|
147
|
+
return $(t, this.monthSlots, !0), C(t, this.monthSlots, !0), t;
|
|
140
148
|
},
|
|
141
149
|
compDragItem() {
|
|
142
150
|
return this.dragItem !== void 0 ? this.dragItem : this.currentDragItem;
|
|
@@ -146,61 +154,28 @@ const ae = /* @__PURE__ */ k({
|
|
|
146
154
|
}
|
|
147
155
|
},
|
|
148
156
|
render() {
|
|
149
|
-
this.localization =
|
|
150
|
-
const
|
|
151
|
-
this.$props.editSlot ||
|
|
152
|
-
const n = this.items,
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
ignoreIsAllDay: !0,
|
|
157
|
-
dataItem: o,
|
|
158
|
-
vertical: e,
|
|
159
|
-
item: this.$props.dataItem
|
|
160
|
-
}, null);
|
|
161
|
-
}, this) : t(R, {
|
|
162
|
-
ignoreIsAllDay: !0,
|
|
163
|
-
dataItem: this.compDragItem,
|
|
164
|
-
vertical: e,
|
|
165
|
-
item: this.$props.dataItem
|
|
166
|
-
}, null));
|
|
167
|
-
}, d = function(e) {
|
|
168
|
-
return this.compResizeItem && this.editable.resize && (Array.isArray(this.compResizeItem) ? this.compResizeItem.map(function(o, u) {
|
|
169
|
-
return t(y, {
|
|
170
|
-
key: u,
|
|
171
|
-
format: this.$props.format,
|
|
172
|
-
ignoreIsAllDay: !0,
|
|
173
|
-
dataItem: o,
|
|
174
|
-
viewItem: this.$props.viewItem,
|
|
175
|
-
item: this.$props.item,
|
|
176
|
-
vertical: e
|
|
177
|
-
}, null);
|
|
178
|
-
}, this) : t(y, {
|
|
179
|
-
format: this.$props.format,
|
|
180
|
-
ignoreIsAllDay: !0,
|
|
181
|
-
dataItem: this.compResizeItem,
|
|
182
|
-
viewItem: this.$props.viewItem,
|
|
183
|
-
item: this.$props.item,
|
|
184
|
-
vertical: e
|
|
185
|
-
}, null));
|
|
186
|
-
};
|
|
187
|
-
this.intl = D(this);
|
|
188
|
-
const i = this.$props.itemsPerSlot, a = this.ks.orientation === "horizontal" ? this.ranges.map(function(e, o) {
|
|
189
|
-
return t(f, {
|
|
157
|
+
this.localization = T(this), this.localization.toLanguageString(g, A[g]);
|
|
158
|
+
const t = this.$props.editItem || N;
|
|
159
|
+
this.$props.editSlot || O;
|
|
160
|
+
const n = this.items, o = this.monthSlots;
|
|
161
|
+
this.intl = f(this);
|
|
162
|
+
const s = this.$props.itemsPerSlot, a = this.ks.orientation === "horizontal" ? this.ranges.map(function(e, i) {
|
|
163
|
+
return r(c, {
|
|
190
164
|
resources: this.ks.props.resources,
|
|
191
165
|
group: this.ks.props.group
|
|
192
166
|
}, {
|
|
193
|
-
default: () => [
|
|
167
|
+
default: () => [r(j, {
|
|
194
168
|
editable: this.$props.editable,
|
|
195
169
|
slotRender: this.$props.slotRender,
|
|
196
170
|
viewSlot: this.$props.viewSlot,
|
|
197
|
-
monthSlots:
|
|
198
|
-
rangeIndex:
|
|
199
|
-
itemsPerSlot:
|
|
200
|
-
onDataaction: this.handleDataAction
|
|
171
|
+
monthSlots: o,
|
|
172
|
+
rangeIndex: i,
|
|
173
|
+
itemsPerSlot: s,
|
|
174
|
+
onDataaction: this.handleDataAction,
|
|
175
|
+
onShowmoreitems: this.handleShowMoreItemsClick
|
|
201
176
|
}, null)]
|
|
202
177
|
});
|
|
203
|
-
}, this) :
|
|
178
|
+
}, this) : r(u, {
|
|
204
179
|
nested: !0,
|
|
205
180
|
resources: this.ks.props.resources,
|
|
206
181
|
group: this.ks.props.group,
|
|
@@ -208,43 +183,44 @@ const ae = /* @__PURE__ */ k({
|
|
|
208
183
|
more: {
|
|
209
184
|
slotRender: this.$props.slotRender,
|
|
210
185
|
viewSlot: this.$props.viewSlot,
|
|
211
|
-
monthSlots:
|
|
186
|
+
monthSlots: o,
|
|
212
187
|
ranges: this.ranges,
|
|
213
|
-
itemsPerSlot:
|
|
214
|
-
editable: this.$props.editable
|
|
188
|
+
itemsPerSlot: s,
|
|
189
|
+
editable: this.$props.editable,
|
|
190
|
+
onShowmoreitems: this.handleShowMoreItemsClick
|
|
215
191
|
}
|
|
216
192
|
}, null);
|
|
217
|
-
return
|
|
193
|
+
return r(k, {
|
|
218
194
|
viewProps: {
|
|
219
195
|
...this.$props
|
|
220
196
|
},
|
|
221
|
-
baseSlots:
|
|
197
|
+
baseSlots: o,
|
|
222
198
|
ranges: this.ranges,
|
|
223
199
|
class: "k-scheduler-monthview"
|
|
224
200
|
}, {
|
|
225
|
-
default: () => [
|
|
201
|
+
default: () => [r("div", {
|
|
226
202
|
class: "k-scheduler-head"
|
|
227
|
-
}, [this.ks.orientation === "horizontal" ?
|
|
203
|
+
}, [this.ks.orientation === "horizontal" ? r(c, {
|
|
228
204
|
nested: !0,
|
|
229
205
|
resources: this.ks.props.resources,
|
|
230
206
|
group: this.ks.props.group
|
|
231
207
|
}, {
|
|
232
|
-
default: () => [
|
|
233
|
-
monthSlots:
|
|
208
|
+
default: () => [r(S, {
|
|
209
|
+
monthSlots: o,
|
|
234
210
|
dateHeaderCell: this.$props.dateHeaderCell
|
|
235
211
|
}, null)]
|
|
236
|
-
}) :
|
|
212
|
+
}) : r(u, {
|
|
237
213
|
resources: this.ks.props.resources,
|
|
238
214
|
group: this.ks.props.group
|
|
239
215
|
}, {
|
|
240
|
-
default: () => [
|
|
241
|
-
monthSlots:
|
|
216
|
+
default: () => [r(S, {
|
|
217
|
+
monthSlots: o,
|
|
242
218
|
dateHeaderCell: this.$props.dateHeaderCell
|
|
243
219
|
}, null)]
|
|
244
|
-
})]),
|
|
220
|
+
})]), r("div", {
|
|
245
221
|
class: "k-scheduler-body"
|
|
246
|
-
}, [a, this.hasMounted && n.filter((e) => e.order === null || e.order <
|
|
247
|
-
return t
|
|
222
|
+
}, [a, this.hasMounted && n.filter((e) => e.order === null || e.order < s).sort(b).map(function(e) {
|
|
223
|
+
return r(t, {
|
|
248
224
|
item: this.$props.item,
|
|
249
225
|
viewItem: this.$props.viewItem,
|
|
250
226
|
form: this.$props.form,
|
|
@@ -274,6 +250,7 @@ const ae = /* @__PURE__ */ k({
|
|
|
274
250
|
range: e.range,
|
|
275
251
|
isException: e.isException,
|
|
276
252
|
isRecurring: e.isRecurring,
|
|
253
|
+
readonly: e.readonly,
|
|
277
254
|
onDragitemchange: this.handleDragItemChange,
|
|
278
255
|
onResizeitemchange: this.handleResizeItemChange,
|
|
279
256
|
onDataaction: this.handleDataAction,
|
|
@@ -281,33 +258,62 @@ const ae = /* @__PURE__ */ k({
|
|
|
281
258
|
editable: this.$props.editable,
|
|
282
259
|
ignoreIsAllDay: !0
|
|
283
260
|
}, null);
|
|
284
|
-
}, this)
|
|
261
|
+
}, this)]), r(x, {
|
|
262
|
+
show: this.popoverShow,
|
|
263
|
+
anchor: this.popoverAnchor,
|
|
264
|
+
slot: this.popoverSlot,
|
|
265
|
+
items: n,
|
|
266
|
+
itemsPerSlot: s,
|
|
267
|
+
onDayclick: this.handlePopoverDayClick,
|
|
268
|
+
onClose: this.handlePopoverClose
|
|
269
|
+
}, null)]
|
|
285
270
|
});
|
|
286
271
|
},
|
|
287
272
|
methods: {
|
|
288
|
-
|
|
289
|
-
|
|
273
|
+
handleShowMoreItemsClick({
|
|
274
|
+
event: t,
|
|
275
|
+
slot: n
|
|
276
|
+
}) {
|
|
277
|
+
var s;
|
|
278
|
+
const o = ((s = t.target) == null ? void 0 : s.element) || null;
|
|
279
|
+
if (this.popoverShow && this.popoverAnchor === o) {
|
|
280
|
+
this.popoverShow = !1, this.popoverAnchor = null, this.popoverSlot = null;
|
|
281
|
+
return;
|
|
282
|
+
}
|
|
283
|
+
this.popoverShow = !0, this.popoverAnchor = o, this.popoverSlot = n || null;
|
|
284
|
+
},
|
|
285
|
+
handlePopoverClose() {
|
|
286
|
+
this.popoverShow = !1, this.popoverAnchor = null, this.popoverSlot = null;
|
|
287
|
+
},
|
|
288
|
+
handlePopoverDayClick(t) {
|
|
289
|
+
const o = this.ks.views.find((s) => s.name === "day");
|
|
290
|
+
!this.setActiveViewName || !o || !o.name || (this.popoverShow = !1, this.popoverAnchor = null, this.popoverSlot = null, this.$nextTick(() => {
|
|
291
|
+
this.setActiveViewName(o.name), this.setActiveDate(t.start);
|
|
292
|
+
}));
|
|
293
|
+
},
|
|
294
|
+
handleDataAction(t) {
|
|
295
|
+
this.$emit("dataaction", t);
|
|
290
296
|
},
|
|
291
|
-
handleDragItemChange(
|
|
292
|
-
this.currentDragItem =
|
|
297
|
+
handleDragItemChange(t) {
|
|
298
|
+
this.currentDragItem = t;
|
|
293
299
|
},
|
|
294
|
-
handleResizeItemChange(
|
|
295
|
-
this.currentResizeItem =
|
|
300
|
+
handleResizeItemChange(t) {
|
|
301
|
+
this.currentResizeItem = t;
|
|
296
302
|
}
|
|
297
303
|
}
|
|
298
|
-
}),
|
|
299
|
-
intl:
|
|
304
|
+
}), F = ({
|
|
305
|
+
intl: t,
|
|
300
306
|
date: n,
|
|
301
|
-
timezone:
|
|
307
|
+
timezone: o
|
|
302
308
|
}) => {
|
|
303
|
-
const
|
|
309
|
+
const s = l(y(h(n)), t.firstDay()), a = z(l(R(h(n)), t.firstDay()), v), e = d.fromUTCDate(m(s), o), i = d.fromUTCDate(m(a), o), D = new Date(e.getTime()), I = new Date(i.getTime());
|
|
304
310
|
return {
|
|
305
|
-
start:
|
|
306
|
-
end:
|
|
307
|
-
zonedStart:
|
|
308
|
-
zonedEnd:
|
|
311
|
+
start: D,
|
|
312
|
+
end: I,
|
|
313
|
+
zonedStart: e,
|
|
314
|
+
zonedEnd: i
|
|
309
315
|
};
|
|
310
316
|
};
|
|
311
317
|
export {
|
|
312
|
-
|
|
318
|
+
se as MonthView
|
|
313
319
|
};
|
|
@@ -31,6 +31,7 @@ declare const MonthViewBody: import('vue').DefineComponent<import('vue').Extract
|
|
|
31
31
|
slotRender: PropType<any>;
|
|
32
32
|
viewSlot: PropType<any>;
|
|
33
33
|
onDataaction: PropType<(action: DataAction) => void>;
|
|
34
|
+
onShowmoreitems: PropType<(event: any) => void>;
|
|
34
35
|
}>, {}, {
|
|
35
36
|
ksSlots: {
|
|
36
37
|
cSlots: any[];
|
|
@@ -41,7 +42,7 @@ declare const MonthViewBody: import('vue').DefineComponent<import('vue').Extract
|
|
|
41
42
|
handleShowMoreItemsClick(event: ShowMoreItemsButtonMouseEvent, slot: any): void;
|
|
42
43
|
handleDataAction(action: DataAction): void;
|
|
43
44
|
isOtherMonth(slot: any, currentDate: Date): boolean;
|
|
44
|
-
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin,
|
|
45
|
+
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("showmoreitems" | "dataaction")[], "showmoreitems" | "dataaction", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
45
46
|
editable: PropType<boolean | object>;
|
|
46
47
|
groupIndex: PropType<number>;
|
|
47
48
|
rangeIndex: PropType<number>;
|
|
@@ -51,7 +52,11 @@ declare const MonthViewBody: import('vue').DefineComponent<import('vue').Extract
|
|
|
51
52
|
slotRender: PropType<any>;
|
|
52
53
|
viewSlot: PropType<any>;
|
|
53
54
|
onDataaction: PropType<(action: DataAction) => void>;
|
|
54
|
-
|
|
55
|
+
onShowmoreitems: PropType<(event: any) => void>;
|
|
56
|
+
}>> & Readonly<{
|
|
57
|
+
onShowmoreitems?: (...args: any[]) => any;
|
|
58
|
+
onDataaction?: (...args: any[]) => any;
|
|
59
|
+
}>, {}, {}, {}, {}, string, () => {
|
|
55
60
|
ksSlots: any;
|
|
56
61
|
}, true, {}, any>;
|
|
57
62
|
export { MonthViewBody };
|
|
@@ -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
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),d=require("../../slots/SchedulerEditSlot.js"),a=require("@progress/kendo-vue-common"),h=require("@progress/kendo-vue-intl"),u=r.defineComponent({name:"KendoMonthViewBody",emits:["dataaction","showmoreitems"],props:{editable:[Object,Boolean],groupIndex:Number,rangeIndex:Number,itemsPerSlot:Number,monthSlots:Array,ranges:Array,slotRender:[String,Function,Object],viewSlot:[String,Function,Object],onDataaction:Function,onShowmoreitems:Function},inject:{ri:{default:{}},ks:{default:null},setActiveDate:{default:null},setActiveViewName:{default:null},setSlots:{default:null},kendoIntlService:{default:null}},provide(){return{ksSlots:this.ksSlots}},data(){const t=this.groupIndex!==void 0?this.groupIndex:this.ri.groupIndex;return{ksSlots:{cSlots:this.monthSlots.filter(e=>e.group.index===t&&e.range.index===this.rangeIndex)}}},watch:{currentCellSlots(t){this.ksSlots.cSlots=t}},computed:{currentCellSlots(){const t=this.groupIndex!==void 0?this.groupIndex:this.ri.groupIndex;return this.monthSlots.filter(e=>e.group.index===t&&e.range.index===this.rangeIndex)}},render(){this.intl=h.provideIntlService(this);const t=this.$props.editSlot||d.SchedulerEditSlot,e=this,i=this.groupIndex!==void 0?this.groupIndex:this.ri.groupIndex;return r.createVNode("div",{class:"k-scheduler-row",key:this.rangeIndex},[this.currentCellSlots.map(function(n,o,s){return r.createVNode(t,{className:a.classNames({"k-other-month":this.isOtherMonth(n,this.ks.currentDate)}),slotRender:this.$props.slotRender,viewSlot:e.$props.viewSlot,form:e.$props.form,index:o,navDay:!0,itemsPerSlot:e.itemsPerSlot,expandable:{offsetTop:30,offsetBottom:e.itemsPerSlot<n.items.length?15:0},onDataaction:e.handleDataAction,col:e.ks.orientation==="horizontal"?s.length*(i||0)+o:o,row:e.ks.orientation==="horizontal"?e.rangeIndex:e.ranges.length*(i||0)+e.rangeIndex,editable:e.$props.editable,onShowmoreitems:l=>e.handleShowMoreItemsClick(l,n)},null)},this)])},methods:{handleShowMoreItemsClick(t,e){this.$emit("showmoreitems",{event:t,slot:e})},handleDataAction(t){this.$emit("dataaction",t)},isOtherMonth(t,e){return t.start.getMonth()<e.getMonth()||t.start.getMonth()>e.getMonth()}}});exports.MonthViewBody=u;
|
|
@@ -5,12 +5,13 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
import { defineComponent as
|
|
8
|
+
import { defineComponent as a, createVNode as i } from "vue";
|
|
9
9
|
import { SchedulerEditSlot as d } from "../../slots/SchedulerEditSlot.mjs";
|
|
10
10
|
import { classNames as h } from "@progress/kendo-vue-common";
|
|
11
11
|
import { provideIntlService as u } from "@progress/kendo-vue-intl";
|
|
12
|
-
const S = /* @__PURE__ */
|
|
12
|
+
const S = /* @__PURE__ */ a({
|
|
13
13
|
name: "KendoMonthViewBody",
|
|
14
|
+
emits: ["dataaction", "showmoreitems"],
|
|
14
15
|
props: {
|
|
15
16
|
editable: [Object, Boolean],
|
|
16
17
|
groupIndex: Number,
|
|
@@ -20,7 +21,8 @@ const S = /* @__PURE__ */ l({
|
|
|
20
21
|
ranges: Array,
|
|
21
22
|
slotRender: [String, Function, Object],
|
|
22
23
|
viewSlot: [String, Function, Object],
|
|
23
|
-
onDataaction: Function
|
|
24
|
+
onDataaction: Function,
|
|
25
|
+
onShowmoreitems: Function
|
|
24
26
|
},
|
|
25
27
|
inject: {
|
|
26
28
|
ri: {
|
|
@@ -68,11 +70,11 @@ const S = /* @__PURE__ */ l({
|
|
|
68
70
|
},
|
|
69
71
|
render() {
|
|
70
72
|
this.intl = u(this);
|
|
71
|
-
const e = this.$props.editSlot || d, t = this,
|
|
73
|
+
const e = this.$props.editSlot || d, t = this, r = this.groupIndex !== void 0 ? this.groupIndex : this.ri.groupIndex;
|
|
72
74
|
return i("div", {
|
|
73
75
|
class: "k-scheduler-row",
|
|
74
76
|
key: this.rangeIndex
|
|
75
|
-
}, [this.currentCellSlots.map(function(o,
|
|
77
|
+
}, [this.currentCellSlots.map(function(o, n, s) {
|
|
76
78
|
return i(e, {
|
|
77
79
|
className: h({
|
|
78
80
|
"k-other-month": this.isOtherMonth(o, this.ks.currentDate)
|
|
@@ -80,7 +82,7 @@ const S = /* @__PURE__ */ l({
|
|
|
80
82
|
slotRender: this.$props.slotRender,
|
|
81
83
|
viewSlot: t.$props.viewSlot,
|
|
82
84
|
form: t.$props.form,
|
|
83
|
-
index:
|
|
85
|
+
index: n,
|
|
84
86
|
navDay: !0,
|
|
85
87
|
itemsPerSlot: t.itemsPerSlot,
|
|
86
88
|
expandable: {
|
|
@@ -88,17 +90,19 @@ const S = /* @__PURE__ */ l({
|
|
|
88
90
|
offsetBottom: t.itemsPerSlot < o.items.length ? 15 : 0
|
|
89
91
|
},
|
|
90
92
|
onDataaction: t.handleDataAction,
|
|
91
|
-
col: t.ks.orientation === "horizontal" ? s.length * (
|
|
92
|
-
row: t.ks.orientation === "horizontal" ? t.rangeIndex : t.ranges.length * (
|
|
93
|
+
col: t.ks.orientation === "horizontal" ? s.length * (r || 0) + n : n,
|
|
94
|
+
row: t.ks.orientation === "horizontal" ? t.rangeIndex : t.ranges.length * (r || 0) + t.rangeIndex,
|
|
93
95
|
editable: t.$props.editable,
|
|
94
|
-
onShowmoreitems: (
|
|
96
|
+
onShowmoreitems: (l) => t.handleShowMoreItemsClick(l, o)
|
|
95
97
|
}, null);
|
|
96
98
|
}, this)]);
|
|
97
99
|
},
|
|
98
100
|
methods: {
|
|
99
101
|
handleShowMoreItemsClick(e, t) {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
+
this.$emit("showmoreitems", {
|
|
103
|
+
event: e,
|
|
104
|
+
slot: t
|
|
105
|
+
});
|
|
102
106
|
},
|
|
103
107
|
handleDataAction(e) {
|
|
104
108
|
this.$emit("dataaction", e);
|
|
@@ -245,6 +245,8 @@ declare const MultiDayTimelineView: import('vue').DefineComponent<import('vue').
|
|
|
245
245
|
hasMounted: boolean;
|
|
246
246
|
currentDragItem: any;
|
|
247
247
|
currentResizeItem: any;
|
|
248
|
+
rowSyncTimeout: any;
|
|
249
|
+
rowSyncObserver: any;
|
|
248
250
|
}, {
|
|
249
251
|
viewStart(): any;
|
|
250
252
|
viewEnd(): any;
|
|
@@ -255,6 +257,9 @@ declare const MultiDayTimelineView: import('vue').DefineComponent<import('vue').
|
|
|
255
257
|
compDragItem(): any;
|
|
256
258
|
compResizeItem(): any;
|
|
257
259
|
}, {
|
|
260
|
+
scheduleRowSync(): void;
|
|
261
|
+
runRowSync(): void;
|
|
262
|
+
observeSlotChanges(): void;
|
|
258
263
|
handleDataAction(action: DataAction): void;
|
|
259
264
|
handleDragItemChange(item: any): void;
|
|
260
265
|
handleResizeItemChange(item: any): void;
|
|
@@ -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
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue"),f=require("../../components/BaseView.js"),o=require("@progress/kendo-date-math"),S=require("../common/HorizontalResourceIterator.js"),D=require("./TimelineViewRowContent.js"),k=require("./TimelineViewAllEventsRowContent.js"),g=require("../common/VerticalResourceIterator.js"),s=require("../../utils/main.js"),T=require("../../services/rangeService.js"),R=require("../../services/slotsService.js"),v=require("../../services/occurrenceService.js"),b=require("../../services/itemsService.js"),I=require("./TimelineViewBody.js"),z=require("../../constants/main.js"),m=require("@progress/kendo-vue-intl"),$=require("../../items/SchedulerEditItem.js"),E=require("../../components/DateHeaderCell.js"),C=require("../../components/TimeHeaderCell.js"),V=require("../../hooks/useRowSync.js"),w=require("../../hooks/useCellSync.js");function y(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!n.isVNode(t)}const O="t",q=0,N=n.defineComponent({name:"KendoMultiDayTimelineView",props:{name:{type:String,default:"multi-day-timeline"},title:{type:String,default:"Multi Day Timeline"},currentTimeMarker:{type:Boolean,default:!0},dragItem:{type:Object,default:function(){}},resizeItem:{type:Object,default:function(){}},showWorkHours:{type:Boolean,default:!0},dateRange:{type:[Function,Object],default:function(){return M}},selectedDateFormat:{type:String,default:"{0:M}"},selectedShortDateFormat:{type:String,default:"{0:m}"},step:{type:Number,default:1},numberOfDays:{type:Number,default:1},startTime:{type:String,default:"00:00"},endTime:{type:String,default:"00:00"},workDayStart:{type:String,default:"8:00"},workDayEnd:{type:String,default:"17:00"},workWeekStart:{type:Number,default:o.Day.Monday},workWeekEnd:{type:Number,default:o.Day.Friday},slotDivisions:{type:Number,default:2},slotDuration:{type:Number,default:60},defaultShowWorkHours:{type:Boolean,default:!0},columnWidth:{type:Number,default:100},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},data(){return{hasMounted:!1,currentDragItem:void 0,currentResizeItem:void 0,rowSyncTimeout:void 0,rowSyncObserver:null}},inject:{ks:{default:null},kendoIntlService:{default:null}},computed:{viewStart(){this.intl=m.provideIntlService(this);const t=this.intl.parseDate(this.$props.workDayStart),r=this.intl.parseDate(this.$props.startTime);return this.showWorkHours?t:r},viewEnd(){this.intl=m.provideIntlService(this);const t=this.intl.parseDate(this.$props.workDayEnd),r=this.intl.parseDate(this.$props.endTime);return this.showWorkHours?t:r},ranges(){return T.toRanges(this.ks.dateRange,{step:o.MS_PER_DAY,timezone:this.ks.timezone})},timelineSlots(){return R.toSlots(this.ks.dateRange,{step:this.slotDuration/this.slotDivisions*o.MS_PER_MINUTE},{groups:this.ks.groups,ranges:this.ranges}).filter(r=>s.isInTimeRange(r.zonedStart,this.viewStart,this.viewEnd)||this.viewStart.getTime()===this.viewEnd.getTime())},occurrences(){return v.toOccurrences(this.ks.dataItems,{dateRange:this.ks.dateRange,fields:this.ks.fields,timezone:this.ks.timezone})},items(){const t=b.toItems(this.occurrences,{timezone:this.ks.timezone},{groups:this.ks.groups,ranges:this.ranges}).filter(r=>this.viewStart.getTime()===this.viewEnd.getTime()||s.isInTimeRange(r.zonedStart,this.viewStart,this.viewEnd)||s.isInTimeRange(r.zonedEnd,this.viewStart,this.viewEnd)||s.isInTimeRange(new Date(r.zonedEnd.getTime()-(r.zonedEnd.getTime()-r.zonedStart.getTime())/2),this.viewStart,this.viewEnd));return s.mapItemsToSlots(t,this.timelineSlots,!0),s.mapSlotsToItems(t,this.timelineSlots,!0),t},compDragItem(){return this.dragItem!==void 0?this.dragItem:this.currentDragItem},compResizeItem(){return this.resizeItem!==void 0?this.resizeItem:this.currentResizeItem}},mounted(){this.timeRef=null,this.bodyRef=null,this.hasMounted=!0,w.useCellSync({element:this.$el,selector:".k-resource-cell",attribute:"data-depth-index",explicitDepth:!0}),this.scheduleRowSync(),this.observeSlotChanges()},unmounted(){this.rowSyncTimeout!==void 0&&window.cancelAnimationFrame(this.rowSyncTimeout),this.rowSyncObserver&&(this.rowSyncObserver.disconnect(),this.rowSyncObserver=null)},updated(){w.useCellSync({element:this.$el,selector:".k-resource-cell",attribute:"data-depth-index",explicitDepth:!0}),this.scheduleRowSync()},render(){const t=m.provideIntlService(this),r=this.$props.slotDuration,u=t.parseDate(this.$props.workDayStart),d=t.parseDate(this.$props.workDayEnd),p=[...this.items],a=[...this.timelineSlots],c=(this.ks.orientation==="horizontal"?a.length:a.length/this.ks.groups.length)*(this.$props.columnWidth+z.BORDER_WIDTH),i=[n.createVNode("div",{class:"k-scheduler-row"},[this.ranges.map(function(e,h){return n.createVNode(E.DateHeaderCell,{as:this.$props.dateHeaderCell,key:h,date:e.zonedStart,start:e.start,end:e.end,format:"m"},null)},this)]),n.createVNode("div",{class:"k-scheduler-row",ref:"timeRef"},[this.ranges.map(function(e,h){return a.filter(l=>l.group.index===q&&l.range.index===h).map(function(l){return l.zonedStart.getMinutes()%r===0?n.createVNode(C.TimeHeaderCell,{key:l.index,as:this.$props.timeHeaderCell,format:O,date:l.zonedStart,start:l.zonedStart,end:l.zonedEnd},null):null},this)},this)])];return n.createVNode(f.BaseView,{id:this.$props.id,class:"k-scheduler-timelineview",viewProps:{...this.$props},baseSlots:a,ranges:this.ranges},{default:()=>[n.createVNode("div",{class:"k-scheduler-head",style:{width:c+"px"}},[this.ks.orientation==="horizontal"?n.createVNode(S.HorizontalResourceIterator,{nested:!0,group:this.ks.props.group,resources:this.ks.props.resources,rowContent:D.TimelineViewRowContent},y(i)?i:{default:()=>[i]}):n.createVNode(g.VerticalResourceIterator,{wrapGroup:!0,group:this.ks.props.group,resources:this.ks.props.resources,editable:this.$props.editable},y(i)?i:{default:()=>[i]})]),n.createVNode("div",{class:"k-scheduler-body",style:{width:c+"px"},ref:"bodyRef"},[this.ks.orientation==="horizontal"?n.createVNode(S.HorizontalResourceIterator,{group:this.ks.props.group,resources:this.ks.props.resources,rowContent:k.TimelineViewAllEventsRowContent},{default:()=>[n.createVNode(I.TimelineViewBody,{editable:this.$props.editable,slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,ranges:this.ranges,workDayStart:u,workDayEnd:d,timelineSlots:a,onDataaction:this.handleDataAction},null)]}):n.createVNode(g.VerticalResourceIterator,{nested:!0,wrapGroup:!0,group:this.ks.props.group,resources:this.ks.props.resources,onDataaction:this.handleDataAction,more:{ranges:this.ranges,workDayStart:u,workDayEnd:d,timelineSlots:a,slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,editable:this.$props.editable,currentTimeMarker:this.$props.currentTimeMarker}},null),this.hasMounted&&p.sort(s.orderSort).map(function(e){return n.createVNode($.SchedulerEditItem,{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",form:this.$props.form,onDragitemchange:this.handleDragItemChange,onResizeitemchange:this.handleResizeItemChange,onDataaction:this.handleDataAction,item:this.$props.item,viewItem:this.$props.viewItem,editable:this.$props.editable,ignoreIsAllDay:!0,vertical:!1},null)},this)])]})},methods:{scheduleRowSync(){this.rowSyncTimeout!==void 0&&window.cancelAnimationFrame(this.rowSyncTimeout),this.rowSyncTimeout=window.requestAnimationFrame(()=>{this.rowSyncTimeout=window.requestAnimationFrame(()=>{this.runRowSync()})})},runRowSync(){const t=this.$el?this.$el.closest(".k-scheduler-layout"):null;t&&V.useRowSync({element:t,selector:".k-resource-row",horizontalAttribute:"data-depth-index",verticalAttribute:"data-resource-index",applyTo:".k-resource-cell"})},observeSlotChanges(){const t=this.$el?this.$el.querySelector(".k-scheduler-body"):null;t&&(this.rowSyncObserver=new MutationObserver(r=>{r.some(d=>d.target instanceof HTMLElement&&d.target.classList.contains("k-slot-cell"))&&this.scheduleRowSync()}),this.rowSyncObserver.observe(t,{attributes:!0,attributeFilter:["style"],subtree:!0}))},handleDataAction(t){this.$emit("dataaction",t)},handleDragItemChange(t){this.currentDragItem=t},handleResizeItemChange(t){this.currentResizeItem=t}}}),M=({date:t,numberOfDays:r=1,timezone:u})=>{const d=o.ZonedDate.fromLocalDate(t,u),p=o.getDate(d),a=o.addDays(p,r),c=o.ZonedDate.fromUTCDate(s.toUTCDateTime(p),u),i=o.ZonedDate.fromUTCDate(s.toUTCDateTime(a),u),e=new Date(c.getTime()),h=new Date(i.getTime());return{start:e,end:h,zonedStart:c,zonedEnd:i}};exports.MultiDayTimelineView=N;
|