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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. package/Scheduler.d.ts +157 -56
  2. package/Scheduler.js +1 -1
  3. package/Scheduler.mjs +242 -214
  4. package/components/EventOverviewPopover.d.ts +62 -0
  5. package/components/EventOverviewPopover.js +8 -0
  6. package/components/EventOverviewPopover.mjs +191 -0
  7. package/components/MoreEventsPopover.d.ts +3 -1
  8. package/components/MoreEventsPopover.js +1 -1
  9. package/components/MoreEventsPopover.mjs +31 -27
  10. package/components/SchedulerActionButtons.js +1 -1
  11. package/components/SchedulerActionButtons.mjs +1 -0
  12. package/components/SchedulerForm.d.ts +412 -2
  13. package/components/SchedulerForm.js +1 -1
  14. package/components/SchedulerForm.mjs +162 -60
  15. package/components/SchedulerQuickCreateForm.d.ts +118 -0
  16. package/components/SchedulerQuickCreateForm.js +8 -0
  17. package/components/SchedulerQuickCreateForm.mjs +249 -0
  18. package/constants/main.d.ts +2 -0
  19. package/constants/main.js +1 -1
  20. package/constants/main.mjs +10 -9
  21. package/dist/cdn/js/kendo-vue-scheduler.js +1 -1
  22. package/editors/KeepResetCustomEventsDialog.d.ts +31 -0
  23. package/editors/KeepResetCustomEventsDialog.js +8 -0
  24. package/editors/KeepResetCustomEventsDialog.mjs +72 -0
  25. package/editors/SchedulerFormEditor.d.ts +151 -52
  26. package/editors/SchedulerFormEditor.js +1 -1
  27. package/editors/SchedulerFormEditor.mjs +192 -139
  28. package/editors/SchedulerRecurrenceDialog.d.ts +2 -2
  29. package/editors/SchedulerRecurrenceDialog.js +1 -1
  30. package/editors/SchedulerRecurrenceDialog.mjs +126 -131
  31. package/editors/ZonedSplitDateTime.d.ts +32 -3
  32. package/editors/ZonedSplitDateTime.js +1 -1
  33. package/editors/ZonedSplitDateTime.mjs +112 -47
  34. package/hooks/useCloseOnAnchorScrollOut.d.ts +10 -0
  35. package/hooks/useCloseOnAnchorScrollOut.js +8 -0
  36. package/hooks/useCloseOnAnchorScrollOut.mjs +43 -0
  37. package/hooks/useCustomEventsConfirmation.d.ts +20 -0
  38. package/hooks/useCustomEventsConfirmation.js +8 -0
  39. package/hooks/useCustomEventsConfirmation.mjs +48 -0
  40. package/hooks/useDeferredClick.d.ts +12 -0
  41. package/hooks/useDeferredClick.js +8 -0
  42. package/hooks/useDeferredClick.mjs +22 -0
  43. package/hooks/useExclusivePopover.d.ts +26 -0
  44. package/hooks/useExclusivePopover.js +8 -0
  45. package/hooks/useExclusivePopover.mjs +30 -0
  46. package/hooks/useRecurrenceSummary.d.ts +3 -0
  47. package/hooks/useRecurrenceSummary.js +1 -1
  48. package/hooks/useRecurrenceSummary.mjs +68 -41
  49. package/index.d.mts +4 -2
  50. package/index.d.ts +4 -2
  51. package/index.js +1 -1
  52. package/index.mjs +83 -78
  53. package/items/SchedulerEditItem.d.ts +116 -12
  54. package/items/SchedulerEditItem.js +1 -1
  55. package/items/SchedulerEditItem.mjs +212 -131
  56. package/items/SchedulerItem.d.ts +2 -1
  57. package/items/SchedulerItem.js +1 -1
  58. package/items/SchedulerItem.mjs +28 -23
  59. package/items/SchedulerProportionalViewItem.d.ts +1 -0
  60. package/items/SchedulerProportionalViewItem.js +1 -1
  61. package/items/SchedulerProportionalViewItem.mjs +83 -68
  62. package/items/SchedulerViewItem.d.ts +1 -0
  63. package/items/SchedulerViewItem.js +1 -1
  64. package/items/SchedulerViewItem.mjs +84 -75
  65. package/items/hooks/use-drag-item.js +1 -1
  66. package/items/hooks/use-drag-item.mjs +49 -48
  67. package/items/hooks/use-form-item.d.ts +1 -1
  68. package/items/hooks/use-remove-item.d.ts +1 -1
  69. package/items/hooks/use-resize-item.js +1 -1
  70. package/items/hooks/use-resize-item.mjs +74 -65
  71. package/messages/main.d.ts +42 -0
  72. package/messages/main.js +1 -1
  73. package/messages/main.mjs +303 -275
  74. package/models/InternalDataAction.d.ts +13 -0
  75. package/models/SchedulerView.d.ts +1 -1
  76. package/package-metadata.js +1 -1
  77. package/package-metadata.mjs +2 -2
  78. package/package.json +13 -12
  79. package/recurrence/RecurrenceEditor.js +1 -1
  80. package/recurrence/RecurrenceEditor.mjs +42 -42
  81. package/recurrence/common.d.ts +10 -0
  82. package/recurrence/common.js +1 -1
  83. package/recurrence/common.mjs +39 -35
  84. package/services/itemsService.d.ts +5 -2
  85. package/services/itemsService.js +1 -1
  86. package/services/itemsService.mjs +46 -33
  87. package/services/occurrenceService.js +1 -1
  88. package/services/occurrenceService.mjs +18 -18
  89. package/slots/SchedulerEditSlot.d.ts +70 -8
  90. package/slots/SchedulerEditSlot.js +1 -1
  91. package/slots/SchedulerEditSlot.mjs +222 -141
  92. package/slots/SchedulerSlot.js +1 -1
  93. package/slots/SchedulerSlot.mjs +20 -16
  94. package/slots/SchedulerViewSlot.d.ts +3 -0
  95. package/slots/SchedulerViewSlot.js +1 -1
  96. package/slots/SchedulerViewSlot.mjs +21 -15
  97. package/tasks/SchedulerEditTask.d.ts +13 -2
  98. package/tasks/SchedulerEditTask.js +1 -1
  99. package/tasks/SchedulerEditTask.mjs +45 -30
  100. package/utils/main.d.ts +27 -0
  101. package/utils/main.js +1 -1
  102. package/utils/main.mjs +172 -136
  103. package/views/agenda/AgendaView.d.ts +6 -2
  104. package/views/agenda/AgendaView.js +1 -1
  105. package/views/agenda/AgendaView.mjs +31 -29
  106. package/views/agenda/AgendaViewBody.d.ts +3 -3
  107. package/views/agenda/AgendaViewBody.js +1 -1
  108. package/views/agenda/AgendaViewBody.mjs +31 -29
  109. package/views/common/SchedulerDrag.d.ts +4 -2
  110. package/views/common/SchedulerDrag.js +1 -1
  111. package/views/common/SchedulerDrag.mjs +8 -7
  112. package/views/common/SchedulerResize.d.ts +4 -2
  113. package/views/common/SchedulerResize.js +1 -1
  114. package/views/common/SchedulerResize.mjs +14 -12
  115. package/views/common/VerticalResourceIterator.d.ts +3 -3
  116. package/views/common/VerticalResourceIterator.js +1 -1
  117. package/views/common/VerticalResourceIterator.mjs +34 -33
  118. package/views/day/DayView.d.ts +2 -0
  119. package/views/day/DayView.js +1 -1
  120. package/views/day/DayView.mjs +9 -7
  121. package/views/day/DayViewAllDaySlots.d.ts +7 -5
  122. package/views/day/DayViewAllDaySlots.js +1 -1
  123. package/views/day/DayViewAllDaySlots.mjs +24 -21
  124. package/views/day/DayViewMiddleRow.d.ts +7 -5
  125. package/views/day/DayViewMiddleRow.js +1 -1
  126. package/views/day/DayViewMiddleRow.mjs +18 -13
  127. package/views/day/DayViewVerticalRow.d.ts +7 -5
  128. package/views/day/DayViewVerticalRow.js +1 -1
  129. package/views/day/DayViewVerticalRow.mjs +23 -17
  130. package/views/day/DayViewVerticalSlotsRow.d.ts +7 -5
  131. package/views/day/DayViewVerticalSlotsRow.js +1 -1
  132. package/views/day/DayViewVerticalSlotsRow.mjs +34 -29
  133. package/views/day/MultiDayView.d.ts +13 -7
  134. package/views/day/MultiDayView.js +1 -1
  135. package/views/day/MultiDayView.mjs +108 -95
  136. package/views/month/MonthView.d.ts +15 -4
  137. package/views/month/MonthView.js +1 -1
  138. package/views/month/MonthView.mjs +105 -68
  139. package/views/month/MonthViewBody.d.ts +3 -3
  140. package/views/month/MonthViewBody.js +1 -1
  141. package/views/month/MonthViewBody.mjs +18 -16
  142. package/views/time/MultiDayTimelineView.d.ts +6 -4
  143. package/views/time/MultiDayTimelineView.js +1 -1
  144. package/views/time/MultiDayTimelineView.mjs +64 -63
  145. package/views/time/TimelineView.d.ts +2 -0
  146. package/views/time/TimelineView.js +1 -1
  147. package/views/time/TimelineView.mjs +5 -3
  148. package/views/time/TimelineViewBody.d.ts +7 -5
  149. package/views/time/TimelineViewBody.js +1 -1
  150. package/views/time/TimelineViewBody.mjs +29 -27
  151. package/views/week/WeekView.d.ts +2 -0
  152. package/views/week/WeekView.js +1 -1
  153. package/views/week/WeekView.mjs +11 -10
  154. package/views/week/WorkWeekView.d.ts +2 -0
  155. package/views/week/WorkWeekView.js +1 -1
  156. package/views/week/WorkWeekView.mjs +17 -16
@@ -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"),D=require("./SchedulerSlot.js"),s=require("@progress/kendo-vue-common"),i=require("../hooks/useSlotExpand.js");function $(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,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(),i.useSlotExpand(e,e.ks.scheduler.$el,e.$props.expandable)}),!(!this.ks.scheduler||!this.ks.scheduler.$el)&&s.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(()=>{i.useSlotExpand(t,t.ks.scheduler.$el,t.$props.expandable)})}},render(){const e=s.getDefaultSlots(this),{refTo:t,items:l,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:w,editable:g,className:k}=this.$props;let n;const x=o.createVNode(D.SchedulerSlot,{role:this.role,tabIndex:this.tabIndex,isAllDay:this.isAllDay,items:l,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:w,editable:g,formItem:this.formItem,onShowmoreitems:this.handleShowMoreItemsClick,onDoubleclick:this.handleDoubleClick,onKeydown:this.handleKeyDown,onFocus:this.handleFocus,selected:this.selected,slotStyle:this.$props.slotStyle,className:k},$(e)?e:{default:()=>[e]});return n=s.getTemplate.call(this,{h:o.h,template:this.$props.slotRender,defaultRendering:x,defaultSlots:e,additionalProps:this.cSlot,additionalListeners:{showmoreitems:this.handleShowMoreItemsClick}}),n},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)},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(()=>{i.useSlotExpand(e,e.ks.scheduler.$el,e.$props.expandable)})}}});exports.SchedulerViewSlot=O;
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 D, isVNode as $ } from "vue";
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]" && !$(e);
13
+ return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !D(e);
14
14
  }
15
- const T = /* @__PURE__ */ g({
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: n,
107
- group: l,
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: y,
120
- className: w
120
+ editable: k,
121
+ className: y
121
122
  } = this.$props;
122
123
  let i;
123
- const k = x(O, {
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: n,
129
- group: l,
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: y,
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: w
151
+ className: y
150
152
  }, z(e) ? e : {
151
153
  default: () => [e]
152
154
  });
153
155
  return i = N.call(this, {
154
- h: D,
156
+ h: $,
155
157
  template: this.$props.slotRender,
156
- defaultRendering: k,
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
- T as SchedulerViewSlot
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
- onDataaction?: (action: DataAction, event?: any) => void;
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"),n=require("./SchedulerViewTask.js"),o=require("../utils/main.js"),i=require("../constants/main.js"),c=require("../components/SchedulerOccurrenceDialog.js"),a=require("../components/SchedulerForm.js"),s=require("@progress/kendo-vue-common"),l=require("../hooks/useEditable.js");function h(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!r.isVNode(e)}const u=r.defineComponent({name:"KendoSchedulerEditTask",emits:["dataaction","showremovedialogchange","showoccurrencedialogchange","removeitemchange"],props:{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}},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}},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 l.useEditable(this.$props.editable)}},render(){const e=s.getDefaultSlots(this);return r.createVNode(r.Fragment,null,[r.createVNode(n.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},h(e)?e:{default:()=>[e]}),this.compFormItem&&!this.compShowOccurrenceDialog&&this.currentEditable.edit&&r.createVNode(a.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(c.SchedulerOccurrenceDialog,{dataItem:this.compFormItem,isRemove:!1,onClose:this.handleCancel,onOccurrenceclick:this.handleOccurrenceClick,onSeriesclick:this.handleSeriesClick},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;this.$emit("dataaction",{type:i.DATA_ACTION.update,series:this.compSeries,dataItem:t}),this.currentFormItem=null,this.currentSeries=null},handleFormDelete(e){this.currentFormItem=null,this.currentSeries=null,this.$emit("dataaction",{type:i.DATA_ACTION.remove,series:this.compSeries,dataItem:e})},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.currentSeries=null,this.currentFormItem=null,this.setRemoveItem(null,e),this.setShowRemoveDialog(!1,e),this.setShowOccurrenceDialog(!1,e)},handleRemoveConfirm(e){this.compRemoveItem&&this.$emit("dataaction",{type:i.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=o.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(o.findMaster(this.$props.dataItem,this.ks.fields,this.ks.dataItems)));this.setShowOccurrenceDialog(!1,e)}}});exports.SchedulerEditTask=u;
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 s, createVNode as r, Fragment as n, isVNode as c } from "vue";
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 o } from "../utils/main.mjs";
11
- import { DATA_ACTION as i } from "../constants/main.mjs";
12
- import { SchedulerOccurrenceDialog as l } from "../components/SchedulerOccurrenceDialog.mjs";
13
- import { SchedulerForm as h } from "../components/SchedulerForm.mjs";
14
- import { clone as m, getDefaultSlots as u } from "@progress/kendo-vue-common";
15
- import { useEditable as d } from "../hooks/useEditable.mjs";
16
- function p(e) {
17
- return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !c(e);
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 b = /* @__PURE__ */ s({
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 d(this.$props.editable);
133
+ return D(this.$props.editable);
127
134
  }
128
135
  },
129
136
  render() {
130
- const e = u(this);
131
- return r(n, null, [r(a, {
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
- }, p(e) ? e : {
168
+ }, f(e) ? e : {
162
169
  default: () => [e]
163
- }), this.compFormItem && !this.compShowOccurrenceDialog && this.currentEditable.edit && r(h, {
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(l, {
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.$emit("dataaction", {
206
- type: i.update,
207
- series: this.compSeries,
216
+ i(this, {
217
+ type: o.update,
218
+ series: this.compSeries === !0,
208
219
  dataItem: t
209
- }), this.currentFormItem = null, this.currentSeries = null;
220
+ }, void 0, () => {
221
+ this.currentFormItem = null, this.currentSeries = null;
222
+ });
210
223
  },
211
224
  handleFormDelete(e) {
212
- this.currentFormItem = null, this.currentSeries = null, this.$emit("dataaction", {
213
- type: i.remove,
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.$emit("dataaction", {
226
- type: i.remove,
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 = o(this.compRemoveItem, this.ks.fields, this.ks.dataItems);
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 = m(o(this.$props.dataItem, this.ks.fields, this.ks.dataItems)));
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
- b as SchedulerEditTask
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 y=require("vue");require("@progress/kendo-date-math");const S=require("../views/common/utils.js"),M=require("@progress/kendo-vue-common"),b=require("@progress/kendo-data-query");var D=(e=>(e[e.add=0]="add",e[e.remove=1]="remove",e))(D||{});const m=new WeakMap,T=e=>{if(!e||typeof document=="undefined"||!document.body||!document.defaultView)return e;const t=document;let r=m.get(t);r||(r=new Map,m.set(t,r),queueMicrotask(()=>m.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()}},k=()=>{const e=y.ref(!1);return y.onMounted(()=>{e.value=!0}),t=>e.value?T(t):t},C=e=>e[0],H=e=>e[e.length-1],w=e=>{const t=new Set;return e.forEach(r=>{t.add(r.field)}),t.size===e.length};function P(e,t,r,s,o="all day"){const n={skeleton:"yMMMMEEEEdhm"},i={skeleton:"yMMMMEEEEd"},c="t",l=t.getFullYear()===r.getFullYear()&&t.getMonth()===r.getMonth()&&t.getDate()===r.getDate();if(s){const d=r.getHours()===0&&r.getMinutes()===0&&r.getSeconds()===0&&r.getTime()-t.getTime()===864e5;return l||d?`${e.formatDate(t,i)} (${o})`:`${e.formatDate(t,i)} to ${e.formatDate(r,i)} (${o})`}return l?`${e.formatDate(t,n)}–${e.formatDate(r,c)}`:`${e.formatDate(t,n)}-${e.formatDate(r,n)}`}const I=(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 c=n.style.pointerEvents;n.style.pointerEvents="none",o=I(e,t,r,s+1),n.style.pointerEvents=c}return o},a=(e,t)=>M.getter(t)(e),q=(e,t,r)=>{if(t)return M.setter(t)(e,r)},G=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 B=(e,t,r)=>{const s=E(e,t)?a(e,t.id):a(e,t.recurrenceId);return r.find(o=>a(o,t.id)===s)},E=(e,t)=>{const r=a(e,t.id),s=a(e,t.recurrenceId),o=a(e,t.recurrenceRule);return!!(r&&o&&s==null)},h=(e,t)=>Math.max(e.getTime(),t.getTime()),x=(e,t)=>Math.min(e.getTime(),t.getTime()),g=(e,t,r,s,o=!1)=>o?h(t,s)-x(e,r)<=t.getTime()-e.getTime()+(s.getTime()-r.getTime()):h(t,s)-x(e,r)<t.getTime()-e.getTime()+(s.getTime()-r.getTime()),v={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"},N=e=>({fields:{...v,...e}}),U=(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()),V=(e,t)=>{const r=S.toGroupResources(e,t),s=S.toFlatGroupResources(r);return s.length===1?[{index:0,resources:(t||[]).reduce((o,n)=>[...o,...n.data.map(i=>({...i,field:n.field,valueField:n.valueField,colorField:n.colorField,multiple:n.multiple}))],[])}]:s.map((o,n)=>({index:n,resources:o}))},F=e=>e==null,Y=e=>F(e)||e.trim&&e.trim().length===0,f=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},j=(e,t,r,s=!1)=>{let o;return r.forEach(n=>{const i=[];t.sort((l,d)=>l.$props.start.getTime()-d.$props.start.getTime()).forEach(l=>{if((s||l.$props.isAllDay===n.cSlot.isAllDay)&&l.$props.range.index===n.cSlot.range.index&&l.$props.group.index===n.cSlot.group.index&&g(l.$props.start,l.$props.end,n.cSlot.start,n.cSlot.end)){const u=f(i);l===e&&o===void 0&&(o=u),i.splice(u,0,u)}})}),o},O=(e,t)=>{const r=new Set;return t.forEach(o=>{o._order!==void 0&&o._order!==null&&r.add(o._order)}),f(Array.from(r))},_=(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,i=[];s.forEach(c=>{if((r||c.isAllDay===n.isAllDay)&&c.range.index===n.range.index&&(c.range.isAllDay===void 0||n.range.isAllDay===void 0||c.range.isAllDay===n.range.isAllDay)&&c.group.index===n.group.index&&g(c.start,c.end,n.start,n.end)){if(c.order!==null&&c.order!==void 0)i.includes(c.order)||(i.push(c.order),i.sort((d,u)=>d-u));else{const d=f(i);c.order=d,i.push(d),i.sort((u,R)=>u-R)}n.items.push(c)}})})},Q=(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&&g(s.start,s.end,n.start,n.end)&&s.slots.push(o)})})},W=function(e){return e.props.items.find(r=>r.order===0)||e.props.items[0]},A=(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)),$=(e,t)=>{const r=e.filter(o=>o.element!==null);return b.orderBy(r,[{field:"group.index",dir:"asc"},{field:"range.index",dir:"asc"},t?{field:""}:{field:"isAllDay",dir:"desc"},{field:"start",dir:"asc"}])},J=(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,p=(e,t,r=!1)=>{const s=e,o=$(t,r);return{currentIndex:o.findIndex(i=>A(i,s,r)),sorted:o}},K=(e,t,r=!1)=>{if(!e||!t)return null;const{currentIndex:s,sorted:o}=p(e,t,r)||{};return o[s]},X=(e,t,r=!1,s=!1)=>{const{currentIndex:o,sorted:n}=p(e,t,r);return n[o+(s?-1:1)]},Z=(e,t)=>(e.order||0)-(t.order||0);exports.COLLECTION_ACTION=D;exports.calculateOrder=j;exports.calculateProportionalOrder=O;exports.compareItems=A;exports.compareSlots=J;exports.defaultModelFields=v;exports.findCurrentItem=K;exports.findFirstItem=W;exports.findMaster=B;exports.findMissing=f;exports.findNextItem=X;exports.first=C;exports.formatEventTime=P;exports.getCurrentItemIndex=p;exports.getField=a;exports.getModelFields=N;exports.getSchedulerResourceColor=T;exports.getSortedSlots=$;exports.intersects=g;exports.isBlank=F;exports.isGroupped=w;exports.isInTimeRange=U;exports.isMaster=E;exports.isNullOrEmptyString=Y;exports.isPresent=G;exports.last=H;exports.mapItemsToSlots=Q;exports.mapSlotsToItems=_;exports.orderSort=Z;exports.setField=q;exports.slotDive=I;exports.toSchedulerGroups=V;exports.toUTCDateTime=z;exports.useSchedulerResourceColor=k;
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;