@progress/kendo-vue-scheduler 10.2.0-develop.11 → 10.2.0-develop.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
@@ -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 o=require("vue")
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),$=require("./SchedulerSlot.js"),i=require("@progress/kendo-vue-common"),s=require("../hooks/useSlotExpand.js");function D(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!o.isVNode(e)}const O=o.defineComponent({name:"KendoSchedulerViewSlot",inheritAttrs:!1,emits:{focus:null,click:null,showmoreitems:null,doubleclick:null,keydown:null},props:{role:String,refTo:[Function,Object],className:String,items:Array,row:Number,group:Object,range:Object,isWorkDay:{type:Boolean,default:!0},isWorkHour:{type:Boolean,default:!0},selected:Boolean,col:Number,index:Number,start:Date,end:Date,zonedStart:Object,zonedEnd:Object,slotRender:[String,Function,Object],expandable:[Boolean,Object],isAllDay:Boolean,navDay:Boolean,editable:[Object,Boolean],itemsPerSlot:Number,formItem:Object,tabIndex:{type:Number,default:void 0},slotStyle:Object},created(){this.viewSlot=null,this.slot=null},inject:{ks:{default:null},bv:{default:null},ksSlots:{default:{}}},data(){return{timeout:void 0,expandTimeout:void 0,layoutSignature:""}},computed:{cSlot(){return this.ksSlots.cSlots?this.ksSlots.cSlots[this.index]:{}}},mounted(){const e=this;this.$nextTick(function(){e.layoutSignature=e.getLayoutSignature(),s.useSlotExpand(e,e.ks.scheduler.$el,e.$props.expandable)}),!(!this.ks.scheduler||!this.ks.scheduler.$el)&&i.canUseDOM&&window.ResizeObserver&&(this.observer=new window.ResizeObserver(this.handleResize),this.observer.observe(this.ks.scheduler.$el))},updated(){const e=this.getLayoutSignature();if(e!==this.layoutSignature){this.layoutSignature=e;const t=this;this.expandTimeout!==void 0&&window.cancelAnimationFrame(this.expandTimeout),this.expandTimeout=window.requestAnimationFrame(()=>{s.useSlotExpand(t,t.ks.scheduler.$el,t.$props.expandable)})}},render(){const e=i.getDefaultSlots(this),{refTo:t,items:n,row:r,group:a,range:d,isWorkDay:u,isWorkHour:c,col:h,index:m,start:S,end:p,zonedStart:b,zonedEnd:f,navDay:y,itemsPerSlot:k,editable:w,className:g}=this.$props;let l;const x=o.createVNode($.SchedulerSlot,{role:this.role,tabIndex:this.tabIndex,isAllDay:this.isAllDay,items:n,row:r,group:a,range:d,isWorkDay:u,isWorkHour:c,col:h,index:m,start:S,end:p,zonedStart:b,zonedEnd:f,navDay:y,itemsPerSlot:k,editable:w,formItem:this.formItem,onShowmoreitems:this.handleShowMoreItemsClick,onClick:this.handleClick,onDoubleclick:this.handleDoubleClick,onKeydown:this.handleKeyDown,onFocus:this.handleFocus,selected:this.selected,slotStyle:this.$props.slotStyle,className:g},D(e)?e:{default:()=>[e]});return l=i.getTemplate.call(this,{h:o.h,template:this.$props.slotRender,defaultRendering:x,defaultSlots:e,additionalProps:this.cSlot,additionalListeners:{click:this.handleClick,showmoreitems:this.handleShowMoreItemsClick}}),l},methods:{getLayoutSignature(){var e;return JSON.stringify({items:(e=this.cSlot.items)==null?void 0:e.map(t=>({uid:t.uid,order:t.order})),itemsPerSlot:this.$props.itemsPerSlot,expandable:this.$props.expandable,slotStyle:this.$props.slotStyle})},handleShowMoreItemsClick(e){this.$emit("showmoreitems",e)},handleClick(e){this.$emit("click",e)},handleDoubleClick(e){this.$emit("doubleclick",e)},handleKeyDown(e){this.$emit("keydown",e)},handleFocus(e){this.$emit("focus",e)},handleResize(){const e=this;this.timeout!==void 0&&window.cancelAnimationFrame(this.timeout),this.timeout=window.requestAnimationFrame(()=>{s.useSlotExpand(e,e.ks.scheduler.$el,e.$props.expandable)})}}});exports.SchedulerViewSlot=O;
|
|
@@ -5,18 +5,19 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
import { defineComponent as g, createVNode as x, h as
|
|
8
|
+
import { defineComponent as g, createVNode as x, h as $, isVNode as D } from "vue";
|
|
9
9
|
import { SchedulerSlot as O } from "./SchedulerSlot.mjs";
|
|
10
10
|
import { getDefaultSlots as j, getTemplate as N, canUseDOM as v } from "@progress/kendo-vue-common";
|
|
11
11
|
import { useSlotExpand as o } from "../hooks/useSlotExpand.mjs";
|
|
12
12
|
function z(e) {
|
|
13
|
-
return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" &&
|
|
13
|
+
return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !D(e);
|
|
14
14
|
}
|
|
15
|
-
const
|
|
15
|
+
const I = /* @__PURE__ */ g({
|
|
16
16
|
name: "KendoSchedulerViewSlot",
|
|
17
17
|
inheritAttrs: !1,
|
|
18
18
|
emits: {
|
|
19
19
|
focus: null,
|
|
20
|
+
click: null,
|
|
20
21
|
showmoreitems: null,
|
|
21
22
|
doubleclick: null,
|
|
22
23
|
keydown: null
|
|
@@ -103,8 +104,8 @@ const T = /* @__PURE__ */ g({
|
|
|
103
104
|
const e = j(this), {
|
|
104
105
|
refTo: t,
|
|
105
106
|
items: s,
|
|
106
|
-
row:
|
|
107
|
-
group:
|
|
107
|
+
row: l,
|
|
108
|
+
group: n,
|
|
108
109
|
range: r,
|
|
109
110
|
isWorkDay: a,
|
|
110
111
|
isWorkHour: d,
|
|
@@ -116,17 +117,17 @@ const T = /* @__PURE__ */ g({
|
|
|
116
117
|
zonedEnd: S,
|
|
117
118
|
navDay: b,
|
|
118
119
|
itemsPerSlot: f,
|
|
119
|
-
editable:
|
|
120
|
-
className:
|
|
120
|
+
editable: k,
|
|
121
|
+
className: y
|
|
121
122
|
} = this.$props;
|
|
122
123
|
let i;
|
|
123
|
-
const
|
|
124
|
+
const w = x(O, {
|
|
124
125
|
role: this.role,
|
|
125
126
|
tabIndex: this.tabIndex,
|
|
126
127
|
isAllDay: this.isAllDay,
|
|
127
128
|
items: s,
|
|
128
|
-
row:
|
|
129
|
-
group:
|
|
129
|
+
row: l,
|
|
130
|
+
group: n,
|
|
130
131
|
range: r,
|
|
131
132
|
isWorkDay: a,
|
|
132
133
|
isWorkHour: d,
|
|
@@ -138,25 +139,27 @@ const T = /* @__PURE__ */ g({
|
|
|
138
139
|
zonedEnd: S,
|
|
139
140
|
navDay: b,
|
|
140
141
|
itemsPerSlot: f,
|
|
141
|
-
editable:
|
|
142
|
+
editable: k,
|
|
142
143
|
formItem: this.formItem,
|
|
143
144
|
onShowmoreitems: this.handleShowMoreItemsClick,
|
|
145
|
+
onClick: this.handleClick,
|
|
144
146
|
onDoubleclick: this.handleDoubleClick,
|
|
145
147
|
onKeydown: this.handleKeyDown,
|
|
146
148
|
onFocus: this.handleFocus,
|
|
147
149
|
selected: this.selected,
|
|
148
150
|
slotStyle: this.$props.slotStyle,
|
|
149
|
-
className:
|
|
151
|
+
className: y
|
|
150
152
|
}, z(e) ? e : {
|
|
151
153
|
default: () => [e]
|
|
152
154
|
});
|
|
153
155
|
return i = N.call(this, {
|
|
154
|
-
h:
|
|
156
|
+
h: $,
|
|
155
157
|
template: this.$props.slotRender,
|
|
156
|
-
defaultRendering:
|
|
158
|
+
defaultRendering: w,
|
|
157
159
|
defaultSlots: e,
|
|
158
160
|
additionalProps: this.cSlot,
|
|
159
161
|
additionalListeners: {
|
|
162
|
+
click: this.handleClick,
|
|
160
163
|
showmoreitems: this.handleShowMoreItemsClick
|
|
161
164
|
}
|
|
162
165
|
}), i;
|
|
@@ -177,6 +180,9 @@ const T = /* @__PURE__ */ g({
|
|
|
177
180
|
handleShowMoreItemsClick(e) {
|
|
178
181
|
this.$emit("showmoreitems", e);
|
|
179
182
|
},
|
|
183
|
+
handleClick(e) {
|
|
184
|
+
this.$emit("click", e);
|
|
185
|
+
},
|
|
180
186
|
handleDoubleClick(e) {
|
|
181
187
|
this.$emit("doubleclick", e);
|
|
182
188
|
},
|
|
@@ -195,5 +201,5 @@ const T = /* @__PURE__ */ g({
|
|
|
195
201
|
}
|
|
196
202
|
});
|
|
197
203
|
export {
|
|
198
|
-
|
|
204
|
+
I as SchedulerViewSlot
|
|
199
205
|
};
|
|
@@ -73,7 +73,7 @@ export interface SchedulerEditTaskProps extends SchedulerViewTaskProps {
|
|
|
73
73
|
/**
|
|
74
74
|
* Called when the item has been removed.
|
|
75
75
|
*/
|
|
76
|
-
|
|
76
|
+
onDataAction?: (action: DataAction, event?: any) => void;
|
|
77
77
|
}
|
|
78
78
|
/** @hidden */
|
|
79
79
|
export interface SchedulerEditTaskHandle {
|
|
@@ -84,6 +84,7 @@ export interface SchedulerEditTaskHandle {
|
|
|
84
84
|
* @hidden
|
|
85
85
|
*/
|
|
86
86
|
declare const SchedulerEditTask: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
87
|
+
onDataAction: PropType<(action: DataAction, event?: any) => void>;
|
|
87
88
|
viewTask: PropType<any>;
|
|
88
89
|
removeDialog: PropType<any>;
|
|
89
90
|
removeItem: PropType<any>;
|
|
@@ -129,7 +130,15 @@ declare const SchedulerEditTask: import('vue').DefineComponent<import('vue').Ext
|
|
|
129
130
|
recurrenceRule: PropType<string>;
|
|
130
131
|
recurrenceId: PropType<string | number>;
|
|
131
132
|
dataItem: PropType<any>;
|
|
132
|
-
}>, {
|
|
133
|
+
}>, {
|
|
134
|
+
showCustomEventsDialog: import('vue').ComputedRef<boolean>;
|
|
135
|
+
confirmCustomEvents: (action: import('../models/InternalDataAction').InternalDataAction, complete: (action: import('../models/InternalDataAction').InternalDataAction) => void) => boolean;
|
|
136
|
+
handleCustomEventsKeep: () => void;
|
|
137
|
+
handleCustomEventsReset: () => void;
|
|
138
|
+
handleCustomEventsCancel: () => void;
|
|
139
|
+
cancelCustomEventsOnBack: () => boolean;
|
|
140
|
+
clearCustomEvents: () => void;
|
|
141
|
+
}, {
|
|
133
142
|
et: {
|
|
134
143
|
removeItem: any;
|
|
135
144
|
showRemoveDialog: boolean;
|
|
@@ -163,6 +172,7 @@ declare const SchedulerEditTask: import('vue').DefineComponent<import('vue').Ext
|
|
|
163
172
|
handleOccurrenceClick(event: SchedulerOccurrenceDialogStateChangeEvent<null>): void;
|
|
164
173
|
handleSeriesClick(event: SchedulerOccurrenceDialogStateChangeEvent<null>): void;
|
|
165
174
|
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("dataaction" | "showremovedialogchange" | "showoccurrencedialogchange" | "removeitemchange")[], "dataaction" | "showremovedialogchange" | "showoccurrencedialogchange" | "removeitemchange", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
175
|
+
onDataAction: PropType<(action: DataAction, event?: any) => void>;
|
|
166
176
|
viewTask: PropType<any>;
|
|
167
177
|
removeDialog: PropType<any>;
|
|
168
178
|
removeItem: PropType<any>;
|
|
@@ -227,5 +237,6 @@ declare const SchedulerEditTask: import('vue').DefineComponent<import('vue').Ext
|
|
|
227
237
|
ksSeriesClick: any;
|
|
228
238
|
ksOccurrenceClick: any;
|
|
229
239
|
ksRemoveConfirm: any;
|
|
240
|
+
ksCustomEventsCancel: any;
|
|
230
241
|
}, true, {}, any>;
|
|
231
242
|
export { SchedulerEditTask };
|
|
@@ -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"),c=require("./SchedulerViewTask.js"),i=require("../utils/main.js"),o=require("../constants/main.js"),a=require("../components/SchedulerOccurrenceDialog.js"),l=require("../components/SchedulerForm.js"),s=require("@progress/kendo-vue-common"),n=require("../hooks/useCustomEventsConfirmation.js"),h=require("../editors/KeepResetCustomEventsDialog.js"),u=require("../hooks/useEditable.js");function m(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!r.isVNode(e)}const d=r.defineComponent({name:"KendoSchedulerEditTask",emits:["dataaction","showremovedialogchange","showoccurrencedialogchange","removeitemchange"],props:{onDataAction:Function,viewTask:[String,Function,Object],removeDialog:[String,Function,Object],removeItem:[String,Function,Object],occurrenceDialog:[String,Function,Object],task:[String,Function,Object],showOccurrenceDialog:{type:Boolean,default:void 0},showRemoveDialog:{type:Boolean,default:void 0},series:{type:Boolean,default:void 0},refTo:[Function,Object],id:String,tabIndex:Number,editable:[Object,Boolean],head:Boolean,tail:Boolean,order:Number,zonedStart:Object,zonedEnd:Object,slots:Array,group:Object,range:Object,isException:Boolean,isRecurring:Boolean,isAllDay:Boolean,uid:[String,Number],start:Date,end:Date,originalStart:Date,startTimezone:String,endTimezone:String,title:String,description:String,occurrenceId:String,recurrenceExceptions:Array,recurrenceRule:String,recurrenceId:[String,Number],dataItem:Object},created(){},inject:{bv:{default:null},ks:{default:null},taskDoubleClick:{default:null}},setup(){return n.useCustomEventsConfirmation()},provide(){return{et:this.et,taskDoubleClick:this.handleTaskDoubleClick,removeTask:this.handleRemoveItemChange,removeDialog:this.handleRemoveDialogChange,occurrenceDialog:this.handleOccurrenceDialogChange,ksCancel:this.handleCancel,ksSeriesClick:this.handleSeriesClick,ksOccurrenceClick:this.handleOccurrenceClick,ksRemoveConfirm:this.handleRemoveConfirm,[n.CUSTOM_EVENTS_CANCEL_KEY]:this.cancelCustomEventsOnBack}},data(){return{et:{removeItem:null,showRemoveDialog:!1,showOccurrenceDialog:!1},currentSeries:null,currentFormItem:null,currentRemoveItem:null,currentShowRemoveDialog:null,currentShowOccurrenceDialog:null}},computed:{compSeries(){return this.series!==void 0?this.series:this.currentSeries},compRemoveItem(){return this.removeItem!==void 0?this.removeItem:this.currentRemoveItem},compShowRemoveDialog(){return this.showRemoveDialog!==void 0?this.showRemoveDialog:this.currentShowRemoveDialog},compShowOccurrenceDialog(){return this.showOccurrenceDialog!==void 0?this.showOccurrenceDialog:this.currentShowOccurrenceDialog},compFormItem(){return this.currentFormItem},currentEditable(){return u.useEditable(this.$props.editable)}},render(){const e=s.getDefaultSlots(this);return r.createVNode(r.Fragment,null,[r.createVNode(c.SchedulerViewTask,{id:this.$props.id,tabIndex:this.$props.tabIndex,head:this.$props.head,tail:this.$props.tail,order:this.$props.order,zonedStart:this.$props.zonedStart,zonedEnd:this.$props.zonedEnd,slots:this.$props.slots,group:this.$props.group,range:this.$props.range,isException:this.$props.isException,isRecurring:this.$props.isRecurring,isAllDay:this.$props.isAllDay,uid:this.$props.uid,start:this.$props.start,end:this.$props.end,originalStart:this.$props.originalStart,startTimezone:this.$props.startTimezone,endTimezone:this.$props.endTimezone,title:this.$props.title,description:this.$props.description,occurrenceId:this.$props.occurrenceId,recurrenceExceptions:this.$props.recurrenceExceptions,recurrenceRule:this.$props.recurrenceRule,recurrenceId:this.$props.recurrenceId,dataItem:this.$props.dataItem,task:this.$props.task,editable:this.$props.editable,onRemoveclick:this.handleRemoveClick},m(e)?e:{default:()=>[e]}),this.compFormItem&&!this.compShowOccurrenceDialog&&this.currentEditable.edit&&r.createVNode(l.SchedulerForm,{dataItem:this.compFormItem,onSubmit:this.handleFormSubmit,onClose:this.handleCancel,onCancel:this.handleCancel,onDelete:this.currentEditable.remove?this.handleFormDelete:void 0},null),this.compShowOccurrenceDialog&&this.compFormItem&&this.currentEditable.edit&&r.createVNode(a.SchedulerOccurrenceDialog,{dataItem:this.compFormItem,isRemove:!1,onClose:this.handleCancel,onOccurrenceclick:this.handleOccurrenceClick,onSeriesclick:this.handleSeriesClick},null),this.showCustomEventsDialog&&r.createVNode(h.KeepResetCustomEventsDialog,{onKeep:this.handleCustomEventsKeep,onReset:this.handleCustomEventsReset,onCancel:this.handleCustomEventsCancel},null)])},methods:{setRemoveItem(e,t){this.currentRemoveItem=e,this.$emit("removeitemchange",{item:e,event:t})},setShowRemoveDialog(e,t){this.currentShowRemoveDialog=e,this.$emit("showremovedialogchange",{show:e,event:t})},setShowOccurrenceDialog(e,t){this.currentShowOccurrenceDialog=e,this.$emit("showoccurrencedialogchange",{show:e,event:t})},handleTaskDoubleClick(e){if(!this.currentEditable.edit){this.taskDoubleClick&&this.taskDoubleClick(e);return}this.currentFormItem=this.$props.dataItem,this.$props.isRecurring&&this.setShowOccurrenceDialog(!0,e),this.taskDoubleClick&&this.taskDoubleClick(e)},handleFormSubmit(e){const t=e.value;i.emitDataAction(this,{type:o.DATA_ACTION.update,series:this.compSeries===!0,dataItem:t},void 0,()=>{this.currentFormItem=null,this.currentSeries=null})},handleFormDelete(e){i.emitDataAction(this,{type:o.DATA_ACTION.remove,series:this.compSeries===!0,dataItem:e},void 0,()=>{this.currentFormItem=null,this.currentSeries=null})},handleRemoveClick(e){this.currentEditable.remove&&(this.setRemoveItem(this.$props.dataItem,e),this.$props.isRecurring?this.setShowOccurrenceDialog(!0,e):this.setShowRemoveDialog(!0,e))},handleCancel(e){this.clearCustomEvents(),this.currentSeries=null,this.currentFormItem=null,this.setRemoveItem(null,e),this.setShowRemoveDialog(!1,e),this.setShowOccurrenceDialog(!1,e)},handleRemoveConfirm(e){this.compRemoveItem&&i.emitDataAction(this,{type:o.DATA_ACTION.remove,series:this.compSeries,dataItem:this.compRemoveItem}),this.setRemoveItem(null,e),this.setShowRemoveDialog(!1,e)},handleRemoveItemChange(e,t){this.setRemoveItem&&this.setRemoveItem(e,t)},handleRemoveDialogChange(e,t){this.setShowRemoveDialog&&this.setShowRemoveDialog(e,t)},handleOccurrenceDialogChange(e,t){this.setShowOccurrenceDialog&&this.setShowOccurrenceDialog(e,t)},handleOccurrenceClick(e){this.compRemoveItem?(this.currentSeries=!1,this.setRemoveItem(this.$props.dataItem,e),this.setShowRemoveDialog(!0,e)):this.compFormItem&&(this.currentSeries=!1,this.currentFormItem=this.$props.dataItem),this.setShowOccurrenceDialog(!1,e)},handleSeriesClick(e){if(this.compRemoveItem){this.currentSeries=!0;const t=i.findMaster(this.compRemoveItem,this.ks.fields,this.ks.dataItems);this.setRemoveItem(t,e),this.setShowRemoveDialog(!0,e)}else this.compFormItem&&(this.currentSeries=!0,this.currentFormItem=s.clone(i.findMaster(this.$props.dataItem,this.ks.fields,this.ks.dataItems)));this.setShowOccurrenceDialog(!1,e)}}});exports.SchedulerEditTask=d;
|
|
@@ -5,21 +5,24 @@
|
|
|
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 n, createVNode as r, Fragment as c, isVNode as l } from "vue";
|
|
9
9
|
import { SchedulerViewTask as a } from "./SchedulerViewTask.mjs";
|
|
10
|
-
import { findMaster as
|
|
11
|
-
import { DATA_ACTION as
|
|
12
|
-
import { SchedulerOccurrenceDialog as
|
|
13
|
-
import { SchedulerForm as
|
|
14
|
-
import { clone as
|
|
15
|
-
import {
|
|
16
|
-
|
|
17
|
-
|
|
10
|
+
import { findMaster as s, emitDataAction as i } from "../utils/main.mjs";
|
|
11
|
+
import { DATA_ACTION as o } from "../constants/main.mjs";
|
|
12
|
+
import { SchedulerOccurrenceDialog as h } from "../components/SchedulerOccurrenceDialog.mjs";
|
|
13
|
+
import { SchedulerForm as m } from "../components/SchedulerForm.mjs";
|
|
14
|
+
import { clone as u, getDefaultSlots as d } from "@progress/kendo-vue-common";
|
|
15
|
+
import { CUSTOM_EVENTS_CANCEL_KEY as p, useCustomEventsConfirmation as g } from "../hooks/useCustomEventsConfirmation.mjs";
|
|
16
|
+
import { KeepResetCustomEventsDialog as S } from "../editors/KeepResetCustomEventsDialog.mjs";
|
|
17
|
+
import { useEditable as D } from "../hooks/useEditable.mjs";
|
|
18
|
+
function f(e) {
|
|
19
|
+
return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !l(e);
|
|
18
20
|
}
|
|
19
|
-
const
|
|
21
|
+
const F = /* @__PURE__ */ n({
|
|
20
22
|
name: "KendoSchedulerEditTask",
|
|
21
23
|
emits: ["dataaction", "showremovedialogchange", "showoccurrencedialogchange", "removeitemchange"],
|
|
22
24
|
props: {
|
|
25
|
+
onDataAction: Function,
|
|
23
26
|
viewTask: [String, Function, Object],
|
|
24
27
|
removeDialog: [String, Function, Object],
|
|
25
28
|
removeItem: [String, Function, Object],
|
|
@@ -79,6 +82,9 @@ const b = /* @__PURE__ */ s({
|
|
|
79
82
|
default: null
|
|
80
83
|
}
|
|
81
84
|
},
|
|
85
|
+
setup() {
|
|
86
|
+
return g();
|
|
87
|
+
},
|
|
82
88
|
provide() {
|
|
83
89
|
return {
|
|
84
90
|
et: this.et,
|
|
@@ -89,7 +95,8 @@ const b = /* @__PURE__ */ s({
|
|
|
89
95
|
ksCancel: this.handleCancel,
|
|
90
96
|
ksSeriesClick: this.handleSeriesClick,
|
|
91
97
|
ksOccurrenceClick: this.handleOccurrenceClick,
|
|
92
|
-
ksRemoveConfirm: this.handleRemoveConfirm
|
|
98
|
+
ksRemoveConfirm: this.handleRemoveConfirm,
|
|
99
|
+
[p]: this.cancelCustomEventsOnBack
|
|
93
100
|
};
|
|
94
101
|
},
|
|
95
102
|
data() {
|
|
@@ -123,12 +130,12 @@ const b = /* @__PURE__ */ s({
|
|
|
123
130
|
return this.currentFormItem;
|
|
124
131
|
},
|
|
125
132
|
currentEditable() {
|
|
126
|
-
return
|
|
133
|
+
return D(this.$props.editable);
|
|
127
134
|
}
|
|
128
135
|
},
|
|
129
136
|
render() {
|
|
130
|
-
const e =
|
|
131
|
-
return r(
|
|
137
|
+
const e = d(this);
|
|
138
|
+
return r(c, null, [r(a, {
|
|
132
139
|
id: this.$props.id,
|
|
133
140
|
tabIndex: this.$props.tabIndex,
|
|
134
141
|
head: this.$props.head,
|
|
@@ -158,20 +165,24 @@ const b = /* @__PURE__ */ s({
|
|
|
158
165
|
task: this.$props.task,
|
|
159
166
|
editable: this.$props.editable,
|
|
160
167
|
onRemoveclick: this.handleRemoveClick
|
|
161
|
-
},
|
|
168
|
+
}, f(e) ? e : {
|
|
162
169
|
default: () => [e]
|
|
163
|
-
}), this.compFormItem && !this.compShowOccurrenceDialog && this.currentEditable.edit && r(
|
|
170
|
+
}), this.compFormItem && !this.compShowOccurrenceDialog && this.currentEditable.edit && r(m, {
|
|
164
171
|
dataItem: this.compFormItem,
|
|
165
172
|
onSubmit: this.handleFormSubmit,
|
|
166
173
|
onClose: this.handleCancel,
|
|
167
174
|
onCancel: this.handleCancel,
|
|
168
175
|
onDelete: this.currentEditable.remove ? this.handleFormDelete : void 0
|
|
169
|
-
}, null), this.compShowOccurrenceDialog && this.compFormItem && this.currentEditable.edit && r(
|
|
176
|
+
}, null), this.compShowOccurrenceDialog && this.compFormItem && this.currentEditable.edit && r(h, {
|
|
170
177
|
dataItem: this.compFormItem,
|
|
171
178
|
isRemove: !1,
|
|
172
179
|
onClose: this.handleCancel,
|
|
173
180
|
onOccurrenceclick: this.handleOccurrenceClick,
|
|
174
181
|
onSeriesclick: this.handleSeriesClick
|
|
182
|
+
}, null), this.showCustomEventsDialog && r(S, {
|
|
183
|
+
onKeep: this.handleCustomEventsKeep,
|
|
184
|
+
onReset: this.handleCustomEventsReset,
|
|
185
|
+
onCancel: this.handleCustomEventsCancel
|
|
175
186
|
}, null)]);
|
|
176
187
|
},
|
|
177
188
|
methods: {
|
|
@@ -202,28 +213,32 @@ const b = /* @__PURE__ */ s({
|
|
|
202
213
|
},
|
|
203
214
|
handleFormSubmit(e) {
|
|
204
215
|
const t = e.value;
|
|
205
|
-
this
|
|
206
|
-
type:
|
|
207
|
-
series: this.compSeries,
|
|
216
|
+
i(this, {
|
|
217
|
+
type: o.update,
|
|
218
|
+
series: this.compSeries === !0,
|
|
208
219
|
dataItem: t
|
|
209
|
-
}
|
|
220
|
+
}, void 0, () => {
|
|
221
|
+
this.currentFormItem = null, this.currentSeries = null;
|
|
222
|
+
});
|
|
210
223
|
},
|
|
211
224
|
handleFormDelete(e) {
|
|
212
|
-
this
|
|
213
|
-
type:
|
|
214
|
-
series: this.compSeries,
|
|
225
|
+
i(this, {
|
|
226
|
+
type: o.remove,
|
|
227
|
+
series: this.compSeries === !0,
|
|
215
228
|
dataItem: e
|
|
229
|
+
}, void 0, () => {
|
|
230
|
+
this.currentFormItem = null, this.currentSeries = null;
|
|
216
231
|
});
|
|
217
232
|
},
|
|
218
233
|
handleRemoveClick(e) {
|
|
219
234
|
this.currentEditable.remove && (this.setRemoveItem(this.$props.dataItem, e), this.$props.isRecurring ? this.setShowOccurrenceDialog(!0, e) : this.setShowRemoveDialog(!0, e));
|
|
220
235
|
},
|
|
221
236
|
handleCancel(e) {
|
|
222
|
-
this.currentSeries = null, this.currentFormItem = null, this.setRemoveItem(null, e), this.setShowRemoveDialog(!1, e), this.setShowOccurrenceDialog(!1, e);
|
|
237
|
+
this.clearCustomEvents(), this.currentSeries = null, this.currentFormItem = null, this.setRemoveItem(null, e), this.setShowRemoveDialog(!1, e), this.setShowOccurrenceDialog(!1, e);
|
|
223
238
|
},
|
|
224
239
|
handleRemoveConfirm(e) {
|
|
225
|
-
this.compRemoveItem && this
|
|
226
|
-
type:
|
|
240
|
+
this.compRemoveItem && i(this, {
|
|
241
|
+
type: o.remove,
|
|
227
242
|
series: this.compSeries,
|
|
228
243
|
dataItem: this.compRemoveItem
|
|
229
244
|
}), this.setRemoveItem(null, e), this.setShowRemoveDialog(!1, e);
|
|
@@ -243,13 +258,13 @@ const b = /* @__PURE__ */ s({
|
|
|
243
258
|
handleSeriesClick(e) {
|
|
244
259
|
if (this.compRemoveItem) {
|
|
245
260
|
this.currentSeries = !0;
|
|
246
|
-
const t =
|
|
261
|
+
const t = s(this.compRemoveItem, this.ks.fields, this.ks.dataItems);
|
|
247
262
|
this.setRemoveItem(t, e), this.setShowRemoveDialog(!0, e);
|
|
248
|
-
} else this.compFormItem && (this.currentSeries = !0, this.currentFormItem =
|
|
263
|
+
} else this.compFormItem && (this.currentSeries = !0, this.currentFormItem = u(s(this.$props.dataItem, this.ks.fields, this.ks.dataItems)));
|
|
249
264
|
this.setShowOccurrenceDialog(!1, e);
|
|
250
265
|
}
|
|
251
266
|
}
|
|
252
267
|
});
|
|
253
268
|
export {
|
|
254
|
-
|
|
269
|
+
F as SchedulerEditTask
|
|
255
270
|
};
|
package/utils/main.d.ts
CHANGED
|
@@ -11,6 +11,8 @@ import { SchedulerResource } from '../models/SchedulerResource';
|
|
|
11
11
|
import { SchedulerItemHandle } from '../items/SchedulerItem';
|
|
12
12
|
import { IntlService } from '@progress/kendo-vue-intl';
|
|
13
13
|
import { Fields } from '../models/Fields';
|
|
14
|
+
import { DataAction } from '../Scheduler';
|
|
15
|
+
import { InternalDataAction } from '../models/InternalDataAction';
|
|
14
16
|
/** @hidden */
|
|
15
17
|
export declare enum COLLECTION_ACTION {
|
|
16
18
|
add = 0,
|
|
@@ -27,11 +29,36 @@ export declare const last: <T>(arr: T[]) => T;
|
|
|
27
29
|
/** @hidden */
|
|
28
30
|
export declare const isMultiDay: (item: DataItem) => boolean;
|
|
29
31
|
/** @hidden */
|
|
32
|
+
export declare const crossesDayBoundary: (start: Date, end: Date, timezone: string | undefined) => boolean;
|
|
33
|
+
/** @hidden */
|
|
34
|
+
export declare const isTimedItemOnDaySlot: (item: {
|
|
35
|
+
isAllDay?: boolean;
|
|
36
|
+
range?: {
|
|
37
|
+
isAllDay?: boolean;
|
|
38
|
+
};
|
|
39
|
+
}, slot: HTMLElement) => boolean;
|
|
40
|
+
/** @hidden */
|
|
41
|
+
export declare const emitDataAction: (component: {
|
|
42
|
+
$props: {
|
|
43
|
+
onDataAction?: (action: DataAction, event?: any) => void;
|
|
44
|
+
};
|
|
45
|
+
$emit: (event: 'dataaction', action: DataAction, eventArgs?: any) => void;
|
|
46
|
+
confirmCustomEvents?: (action: InternalDataAction, complete: (action: InternalDataAction) => void) => boolean;
|
|
47
|
+
}, action: DataAction, event?: unknown, onComplete?: () => void) => void;
|
|
48
|
+
/** @hidden */
|
|
49
|
+
export declare const getSeriesMasterId: (item: DataItem, fields: Fields) => unknown;
|
|
50
|
+
/** @hidden */
|
|
51
|
+
export declare const findSeriesExceptions: (data: DataItem[], fields: Fields, masterId: unknown) => DataItem[];
|
|
52
|
+
/** @hidden */
|
|
53
|
+
export declare const toStandaloneEvent: (exception: DataItem, fields: Fields) => DataItem;
|
|
54
|
+
/** @hidden */
|
|
30
55
|
export declare const isGroupped: (resources: any) => boolean;
|
|
31
56
|
/**
|
|
32
57
|
* @hidden
|
|
33
58
|
*/
|
|
34
59
|
export declare function formatEventTime(intl: IntlService, start: Date, end: Date, isAllDay: boolean, allDayText?: string): string;
|
|
60
|
+
/** @hidden */
|
|
61
|
+
export declare function formatEventSummary(intl: IntlService, start: Date, end: Date, isAllDay: boolean, allDayText: string): string;
|
|
35
62
|
/**
|
|
36
63
|
* @hidden
|
|
37
64
|
* TODO Move to date-math
|
package/utils/main.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 h=require("vue"),g=require("@progress/kendo-date-math"),T=require("../views/common/utils.js"),S=require("@progress/kendo-vue-common"),C=require("@progress/kendo-data-query");var E=(e=>(e[e.add=0]="add",e[e.remove=1]="remove",e))(E||{});const y=new WeakMap,v=e=>{if(!e||typeof document=="undefined"||!document.body||!document.defaultView)return e;const t=document;let r=y.get(t);r||(r=new Map,y.set(t,r),queueMicrotask(()=>y.delete(t)));const s=r.get(e);if(s!==void 0)return s;const o=t.createElement("span");o.className="k-event",Object.assign(o.style,{position:"fixed",visibility:"hidden",pointerEvents:"none",width:"0",height:"0"}),o.style.setProperty("--kendo-scheduler-event-color",e),t.body.append(o);try{const n=t.defaultView.getComputedStyle(o).backgroundColor;return r.set(e,n),n}finally{o.remove()}},w=()=>{const e=h.ref(!1);return h.onMounted(()=>{e.value=!0}),t=>e.value?v(t):t},H=e=>e[0],P=e=>e[e.length-1],B=(e,t,r)=>{const s=g.ZonedDate.fromLocalDate(e,r),o=t.getTime()>e.getTime()?new Date(t.getTime()-1):t,n=g.ZonedDate.fromLocalDate(o,r);return g.getDate(s).getTime()!==g.getDate(n).getTime()},q=(e,t)=>{var r;return((r=e.range)==null?void 0:r.isAllDay)===!0&&!e.isAllDay&&t.dataset.slotAllday==="true"},z=(e,t,...r)=>{var i;const[s,o]=r,n=s===void 0?[]:[s],c=a=>{var u,d;e.$emit("dataaction",a,...n),(d=(u=e.$props).onDataAction)==null||d.call(u,a,...n),o==null||o()};(i=e.confirmCustomEvents)!=null&&i.call(e,t,c)||c(t)},G=(e,t)=>{const r=l(e,t.recurrenceId);return r!=null?r:l(e,t.id)},N=(e,t,r)=>e.filter(s=>{const o=l(s,t.recurrenceId);return o!=null&&o===r&&!l(s,t.recurrenceRule)}),O=(e,t)=>{const r=S.clone(e);return f(r,t.recurrenceId,null),f(r,t.recurrenceRule,null),f(r,t.originalStart,null),r},U=e=>{const t=new Set;return e.forEach(r=>{t.add(r.field)}),t.size===e.length};function V(e,t,r,s,o="all day"){const n={skeleton:"yMMMMEEEEdhm"},c={skeleton:"yMMMMEEEEd"},i="t",a=t.getFullYear()===r.getFullYear()&&t.getMonth()===r.getMonth()&&t.getDate()===r.getDate();if(s){const u=r.getHours()===0&&r.getMinutes()===0&&r.getSeconds()===0&&r.getTime()-t.getTime()===864e5;return a||u?`${e.formatDate(t,c)} (${o})`:`${e.formatDate(t,c)} to ${e.formatDate(r,c)} (${o})`}return a?`${e.formatDate(t,n)}–${e.formatDate(r,i)}`:`${e.formatDate(t,n)}-${e.formatDate(r,n)}`}function Y(e,t,r,s,o){const n={skeleton:"MMMMd"},c="t",i=r>t&&g.getDate(r).getTime()===r.getTime()?g.addDays(r,-1):r,a=g.getDate(t).getTime()===g.getDate(i).getTime(),u=e.formatDate(t,n);if(s)return a?`${u}, ${o}`:`${u} - ${e.formatDate(i,n)}, ${o}`;const d=e.formatDate(t,c),m=e.formatDate(r,c);return a?`${u}, ${d} - ${m}`:`${u}, ${d} - ${e.formatDate(r,n)}, ${m}`}const $=(e,t,r,s=0)=>{if(s===r)return null;let o=null;const n=document.elementFromPoint(e,t);if(!n)return o;if(n.getAttribute("data-slot")==="true")return n;{const i=n.style.pointerEvents;n.style.pointerEvents="none",o=$(e,t,r,s+1),n.style.pointerEvents=i}return o},l=(e,t)=>S.getter(t)(e),f=(e,t,r)=>{if(t)return S.setter(t)(e,r)},j=e=>e!=null;function Z(e){return new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()))}const _=(e,t,r)=>{const s=A(e,t)?l(e,t.id):l(e,t.recurrenceId);return r.find(o=>l(o,t.id)===s)},A=(e,t)=>{const r=l(e,t.id),s=l(e,t.recurrenceId),o=l(e,t.recurrenceRule);return!!(r&&o&&s==null)},x=(e,t)=>Math.max(e.getTime(),t.getTime()),I=(e,t)=>Math.min(e.getTime(),t.getTime()),p=(e,t,r,s,o=!1)=>o?x(t,s)-I(e,r)<=t.getTime()-e.getTime()+(s.getTime()-r.getTime()):x(t,s)-I(e,r)<t.getTime()-e.getTime()+(s.getTime()-r.getTime()),F={id:"id",start:"start",startTimezone:"startTimezone",originalStart:"originalStart",end:"end",endTimezone:"endTimezone",isAllDay:"isAllDay",title:"title",description:"description",recurrenceRule:"recurrenceRule",recurrenceId:"recurrenceId",recurrenceExceptions:"recurrenceExceptions",readonly:"readonly"},Q=e=>({fields:{...F,...e}}),W=(e,t,r)=>(t.getHours()<e.getHours()||t.getHours()===e.getHours()&&t.getMinutes()<=e.getMinutes())&&(e.getHours()<r.getHours()||r.getHours()===e.getHours()&&e.getMinutes()<r.getMinutes()),J=(e,t)=>{const r=T.toGroupResources(e,t),s=T.toFlatGroupResources(r);return s.length===1?[{index:0,resources:(t||[]).reduce((o,n)=>[...o,...n.data.map(c=>({...c,field:n.field,valueField:n.valueField,colorField:n.colorField,multiple:n.multiple}))],[])}]:s.map((o,n)=>({index:n,resources:o}))},R=e=>e==null,K=e=>R(e)||e.trim&&e.trim().length===0,D=e=>{let t=0;const r=e.slice();return r.sort((s,o)=>s-o).forEach((s,o)=>{r[o]===o&&(t=o+1)}),t},X=(e,t,r,s=!1)=>{let o;return r.forEach(n=>{const c=[];t.sort((a,u)=>a.$props.start.getTime()-u.$props.start.getTime()).forEach(a=>{if((s||a.$props.isAllDay===n.cSlot.isAllDay)&&a.$props.range.index===n.cSlot.range.index&&a.$props.group.index===n.cSlot.group.index&&p(a.$props.start,a.$props.end,n.cSlot.start,n.cSlot.end)){const d=D(c);a===e&&o===void 0&&(o=d),c.splice(d,0,d)}})}),o},L=(e,t)=>{const r=new Set;return t.forEach(o=>{o._order!==void 0&&o._order!==null&&r.add(o._order)}),D(Array.from(r))},ee=(e,t,r=!1)=>{e.forEach(o=>{o.order=null}),t.forEach(o=>{const n=o.cSlot?o.cSlot:o;n.items.splice(0,n.items.length)});const s=[...e].sort((o,n)=>o.start.getTime()-n.start.getTime());t.forEach(o=>{const n=o.cSlot?o.cSlot:o,c=[];s.forEach(i=>{if((r||i.isAllDay===n.isAllDay)&&i.range.index===n.range.index&&(i.range.isAllDay===void 0||n.range.isAllDay===void 0||i.range.isAllDay===n.range.isAllDay)&&i.group.index===n.group.index&&p(i.start,i.end,n.start,n.end)){if(i.order!==null&&i.order!==void 0)c.includes(i.order)||(c.push(i.order),c.sort((u,d)=>u-d));else{const u=D(c);i.order=u,c.push(u),c.sort((d,m)=>d-m)}n.items.push(i)}})})},te=(e,t,r=!1)=>{e.forEach(s=>s.slots.splice(0,s.slots.length)),e.forEach(s=>{t.forEach(o=>{const n=o.cSlot?o.cSlot:o;(r||s.isAllDay===n.isAllDay)&&s.range.index===n.range.index&&(s.range.isAllDay===void 0||n.range.isAllDay===void 0||s.range.isAllDay===n.range.isAllDay)&&s.group.index===n.group.index&&p(s.start,s.end,n.start,n.end)&&s.slots.push(o)})})},re=function(e){return e.props.items.find(r=>r.order===0)||e.props.items[0]},k=(e,t,r)=>!!(e.uid===t.uid&&(e.occurrenceId===void 0||e.occurrenceId===t.occurrenceId)&&e.group.index===t.group.index&&e.range.index===t.range.index&&(r||e.isAllDay===t.isAllDay)),b=(e,t)=>{const r=e.filter(o=>o.element!==null);return C.orderBy(r,[{field:"group.index",dir:"asc"},{field:"range.index",dir:"asc"},t?{field:""}:{field:"isAllDay",dir:"desc"},{field:"start",dir:"asc"}])},oe=(e,t)=>e.start.getTime()===t.start.getTime()&&e.end.getTime()===t.end.getTime()&&e.index===t.index&&e.group.index===t.group.index&&e.range.index===t.range.index&&e.isAllDay===t.isAllDay,M=(e,t,r=!1)=>{const s=e,o=b(t,r);return{currentIndex:o.findIndex(c=>k(c,s,r)),sorted:o}},ne=(e,t,r=!1)=>{if(!e||!t)return null;const{currentIndex:s,sorted:o}=M(e,t,r)||{};return o[s]},se=(e,t,r=!1,s=!1)=>{const{currentIndex:o,sorted:n}=M(e,t,r);return n[o+(s?-1:1)]},ce=(e,t)=>(e.order||0)-(t.order||0);exports.COLLECTION_ACTION=E;exports.calculateOrder=X;exports.calculateProportionalOrder=L;exports.compareItems=k;exports.compareSlots=oe;exports.crossesDayBoundary=B;exports.defaultModelFields=F;exports.emitDataAction=z;exports.findCurrentItem=ne;exports.findFirstItem=re;exports.findMaster=_;exports.findMissing=D;exports.findNextItem=se;exports.findSeriesExceptions=N;exports.first=H;exports.formatEventSummary=Y;exports.formatEventTime=V;exports.getCurrentItemIndex=M;exports.getField=l;exports.getModelFields=Q;exports.getSchedulerResourceColor=v;exports.getSeriesMasterId=G;exports.getSortedSlots=b;exports.intersects=p;exports.isBlank=R;exports.isGroupped=U;exports.isInTimeRange=W;exports.isMaster=A;exports.isNullOrEmptyString=K;exports.isPresent=j;exports.isTimedItemOnDaySlot=q;exports.last=P;exports.mapItemsToSlots=te;exports.mapSlotsToItems=ee;exports.orderSort=ce;exports.setField=f;exports.slotDive=$;exports.toSchedulerGroups=J;exports.toStandaloneEvent=O;exports.toUTCDateTime=Z;exports.useSchedulerResourceColor=w;
|