@progress/kendo-vue-scheduler 3.8.3 → 3.8.4-dev.202302151437

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 (56) hide show
  1. package/dist/cdn/js/kendo-vue-scheduler.js +1 -1
  2. package/dist/es/components/BaseView.js +1 -2
  3. package/dist/es/components/CurrentTimeMarker.js +4 -3
  4. package/dist/es/components/CurrentTimeMarkerArrow.js +4 -3
  5. package/dist/es/hooks/useSlotExpand.js +1 -2
  6. package/dist/es/items/SchedulerEditItem.js +4 -4
  7. package/dist/es/items/SchedulerViewItem.js +15 -14
  8. package/dist/es/package-metadata.js +1 -1
  9. package/dist/es/slots/SchedulerEditSlot.js +17 -11
  10. package/dist/es/slots/SchedulerSlot.js +32 -40
  11. package/dist/es/slots/SchedulerViewSlot.js +8 -0
  12. package/dist/es/views/agenda/AgendaViewBody.js +45 -23
  13. package/dist/es/views/day/DayViewAllDaySlots.js +72 -41
  14. package/dist/es/views/day/DayViewMiddleRow.js +73 -43
  15. package/dist/es/views/day/DayViewVerticalRow.js +70 -43
  16. package/dist/es/views/day/DayViewVerticalSlotsRow.js +74 -44
  17. package/dist/es/views/month/MonthViewBody.js +50 -23
  18. package/dist/es/views/month/MonthViewHead.js +29 -4
  19. package/dist/es/views/time/TimelineViewBody.js +71 -43
  20. package/dist/esm/components/BaseView.js +1 -2
  21. package/dist/esm/components/CurrentTimeMarker.js +4 -3
  22. package/dist/esm/components/CurrentTimeMarkerArrow.js +4 -3
  23. package/dist/esm/hooks/useSlotExpand.js +1 -2
  24. package/dist/esm/items/SchedulerEditItem.js +4 -4
  25. package/dist/esm/items/SchedulerViewItem.js +15 -14
  26. package/dist/esm/package-metadata.js +1 -1
  27. package/dist/esm/slots/SchedulerEditSlot.js +17 -11
  28. package/dist/esm/slots/SchedulerSlot.js +32 -40
  29. package/dist/esm/slots/SchedulerViewSlot.js +8 -0
  30. package/dist/esm/views/agenda/AgendaViewBody.js +45 -23
  31. package/dist/esm/views/day/DayViewAllDaySlots.js +72 -41
  32. package/dist/esm/views/day/DayViewMiddleRow.js +73 -43
  33. package/dist/esm/views/day/DayViewVerticalRow.js +70 -43
  34. package/dist/esm/views/day/DayViewVerticalSlotsRow.js +74 -44
  35. package/dist/esm/views/month/MonthViewBody.js +50 -23
  36. package/dist/esm/views/month/MonthViewHead.js +29 -4
  37. package/dist/esm/views/time/TimelineViewBody.js +71 -43
  38. package/dist/npm/components/BaseView.js +1 -2
  39. package/dist/npm/components/CurrentTimeMarker.js +4 -3
  40. package/dist/npm/components/CurrentTimeMarkerArrow.js +4 -3
  41. package/dist/npm/hooks/useSlotExpand.js +1 -2
  42. package/dist/npm/items/SchedulerEditItem.js +4 -4
  43. package/dist/npm/items/SchedulerViewItem.js +15 -14
  44. package/dist/npm/package-metadata.js +1 -1
  45. package/dist/npm/slots/SchedulerEditSlot.js +17 -11
  46. package/dist/npm/slots/SchedulerSlot.js +32 -40
  47. package/dist/npm/slots/SchedulerViewSlot.js +8 -0
  48. package/dist/npm/views/agenda/AgendaViewBody.js +48 -26
  49. package/dist/npm/views/day/DayViewAllDaySlots.js +72 -41
  50. package/dist/npm/views/day/DayViewMiddleRow.js +75 -45
  51. package/dist/npm/views/day/DayViewVerticalRow.js +70 -43
  52. package/dist/npm/views/day/DayViewVerticalSlotsRow.js +76 -46
  53. package/dist/npm/views/month/MonthViewBody.js +50 -23
  54. package/dist/npm/views/month/MonthViewHead.js +29 -4
  55. package/dist/npm/views/time/TimelineViewBody.js +73 -45
  56. package/package.json +12 -12
@@ -127,8 +127,7 @@ var BaseViewVue2 = {
127
127
  this.bv.slots.push(action.item);
128
128
  break;
129
129
  case COLLECTION_ACTION.remove:
130
- var index = this.bv.slots.indexOf(action.item);
131
- this.bv.slots.splice(index, 1);
130
+ this.bv.slots = [];
132
131
  break;
133
132
  default:
134
133
  break;
@@ -114,8 +114,9 @@ var CurrentTimeMarkerVue2 = {
114
114
  if (!this.bv.slots) {
115
115
  return;
116
116
  }
117
+ var groupIndex = this.$props.groupIndex;
117
118
  var sameTimeSlots = this.bv.slots.filter(function (s) {
118
- return (_this.$props.groupIndex === undefined || _this.$props.groupIndex === null || s.group.index === _this.$props.groupIndex) && (_this.$props.vertical ? intersects(new Date(), new Date(), s.start, s.end, true) : isInTimeRange(new Date(), s.start, s.end)) && !s.isAllDay;
119
+ return (groupIndex === undefined || groupIndex === null || s.cSlot.group.index === groupIndex) && (_this.$props.vertical ? intersects(new Date(), new Date(), s.cSlot.start, s.cSlot.end, true) : isInTimeRange(new Date(), s.cSlot.start, s.cSlot.end)) && !s.isAllDay;
119
120
  });
120
121
  if (sameTimeSlots && sameTimeSlots.length && this.line) {
121
122
  var firstSlot = first(sameTimeSlots);
@@ -125,8 +126,8 @@ var CurrentTimeMarkerVue2 = {
125
126
  var size = this.$props.vertical ? combineHeights(sameTimeSlots) : combineWidths(sameTimeSlots);
126
127
  var rect = getRect(firstSlot.$el);
127
128
  var arrowRect = getRect(this.arrowRef);
128
- var pxPerMillisecond = (this.$props.vertical ? rect.width : rect.height) / (firstSlot.end.getTime() - firstSlot.start.getTime());
129
- var offset = (Date.now() - setTime(new Date(), firstSlot.start).getTime()) * pxPerMillisecond;
129
+ var pxPerMillisecond = (this.$props.vertical ? rect.width : rect.height) / (firstSlot.cSlot.end.getTime() - firstSlot.cSlot.start.getTime());
130
+ var offset = (Date.now() - setTime(new Date(), firstSlot.cSlot.start).getTime()) * pxPerMillisecond;
130
131
  var rtl = this.$props.dir === 'rtl';
131
132
  var top_1 = this.$props.vertical ? rect.top : rect.top + offset - arrowRect.height / 2;
132
133
  var horizontalDimension = rtl ? 'right' : 'left';
@@ -92,8 +92,9 @@ var CurrentTimeMarkerArrowVue2 = {
92
92
  if (!this.bv.slots) {
93
93
  return;
94
94
  }
95
+ var groupIndex = this.$props.groupIndex;
95
96
  var sameTimeSlots = this.bv.slots.filter(function (s) {
96
- return (_this.$props.groupIndex === undefined || _this.$props.groupIndex === null || s.group.index === _this.$props.groupIndex) && (_this.$props.vertical ? intersects(new Date(), new Date(), s.start, s.end, true) : isInTimeRange(new Date(), s.start, s.end)) && !s.isAllDay;
97
+ return (groupIndex === undefined || groupIndex === null || s.cSlot.group.index === groupIndex) && (_this.$props.vertical ? intersects(new Date(), new Date(), s.cSlot.start, s.cSlot.end, true) : isInTimeRange(new Date(), s.cSlot.start, s.cSlot.end)) && !s.isAllDay;
97
98
  });
98
99
  if (sameTimeSlots && sameTimeSlots.length && this.$el) {
99
100
  var firstSlot = first(sameTimeSlots);
@@ -102,8 +103,8 @@ var CurrentTimeMarkerArrowVue2 = {
102
103
  }
103
104
  var rect = getRect(firstSlot.$el);
104
105
  var arrowRect = getRect(this.arrowRef);
105
- var pxPerMillisecond = (this.$props.vertical ? rect.width : rect.height) / (firstSlot.end.getTime() - firstSlot.start.getTime());
106
- var offset = (Date.now() - setTime(new Date(), firstSlot.start).getTime()) * pxPerMillisecond;
106
+ var pxPerMillisecond = (this.$props.vertical ? rect.width : rect.height) / (firstSlot.cSlot.end.getTime() - firstSlot.cSlot.start.getTime());
107
+ var offset = (Date.now() - setTime(new Date(), firstSlot.cSlot.start).getTime()) * pxPerMillisecond;
107
108
  var rtl = this.$props.dir === 'rtl';
108
109
  var top_1 = this.$props.vertical ? rect.top : rect.top + offset - arrowRect.height / 2;
109
110
  var horizontalDimension = rtl ? 'right' : 'left';
@@ -21,13 +21,12 @@ export var useSlotExpand = function useSlotExpand(slot, _scheduler, config) {
21
21
  return;
22
22
  }
23
23
  var element = slot.$el;
24
- var props = slot.$props;
25
24
  if (!element || !slot.bv.items.length) {
26
25
  return;
27
26
  }
28
27
  var slotPadding = getPadding(element);
29
28
  var highest = 0;
30
- var existing = props.items.filter(function (i) {
29
+ var existing = slot.cSlot.items.filter(function (i) {
31
30
  return i.refTo;
32
31
  });
33
32
  existing.forEach(function (item) {
@@ -956,7 +956,7 @@ var SchedulerEditItemVue2 = {
956
956
  }];
957
957
  case Keys.up:
958
958
  nextSlot = this.bv.slots.find(function (s) {
959
- return compareSlots(s, props.slots[0]);
959
+ return compareSlots(s.cSlot, props.slots[0]);
960
960
  });
961
961
  return [Boolean(props.slots.length && nextSlot) && {
962
962
  type: SLOTS_FOCUS_ACTION.up,
@@ -964,7 +964,7 @@ var SchedulerEditItemVue2 = {
964
964
  }];
965
965
  case Keys.right:
966
966
  nextSlot = this.bv.slots.find(function (s) {
967
- return compareSlots(s, props.slots[0]);
967
+ return compareSlots(s.cSlot, props.slots[0]);
968
968
  });
969
969
  return [Boolean(props.slots.length && nextSlot) && {
970
970
  type: SLOTS_FOCUS_ACTION.right,
@@ -972,7 +972,7 @@ var SchedulerEditItemVue2 = {
972
972
  }];
973
973
  case Keys.down:
974
974
  nextSlot = this.bv.slots.find(function (s) {
975
- return compareSlots(s, props.slots[props.slots.length - 1]);
975
+ return compareSlots(s.cSlot, props.slots[props.slots.length - 1]);
976
976
  });
977
977
  return [Boolean(props.slots.length && nextSlot) && {
978
978
  type: SLOTS_FOCUS_ACTION.down,
@@ -980,7 +980,7 @@ var SchedulerEditItemVue2 = {
980
980
  }];
981
981
  case Keys.left:
982
982
  nextSlot = this.bv.slots.find(function (s) {
983
- return compareSlots(s, props.slots[0]);
983
+ return compareSlots(s.cSlot.cSlot, props.slots[0]);
984
984
  });
985
985
  return [Boolean(props.slots.length && nextSlot) && {
986
986
  type: SLOTS_FOCUS_ACTION.left,
@@ -193,7 +193,10 @@ var SchedulerViewItemVue2 = {
193
193
  id: this.id,
194
194
  tabIndex: this.tabIndex,
195
195
  className: this.className,
196
- itemStyle: this.itemStyle,
196
+ itemStyle: __assign({
197
+ visibility: this.visible ? undefined : 'hidden',
198
+ display: this.display ? undefined : 'none'
199
+ }, this.$props.itemStyle),
197
200
  editable: this.editable,
198
201
  selected: this.selected,
199
202
  vertical: this.vertical,
@@ -208,6 +211,7 @@ var SchedulerViewItemVue2 = {
208
211
  resizeItem: this.resizeItem,
209
212
  removeItem: this.removeItem,
210
213
  maxSiblingsPerSlot: this.maxSiblingsPerSlot
214
+ // Keyboard
211
215
  },
212
216
  item: this.item,
213
217
  uid: this.uid,
@@ -237,7 +241,10 @@ var SchedulerViewItemVue2 = {
237
241
  id: this.id,
238
242
  tabIndex: this.tabIndex,
239
243
  className: this.className,
240
- itemStyle: this.itemStyle,
244
+ itemStyle: __assign({
245
+ visibility: this.visible ? undefined : 'hidden',
246
+ display: this.display ? undefined : 'none'
247
+ }, this.$props.itemStyle),
241
248
  editable: this.editable,
242
249
  selected: this.selected,
243
250
  vertical: this.vertical,
@@ -252,12 +259,6 @@ var SchedulerViewItemVue2 = {
252
259
  resizeItem: this.resizeItem,
253
260
  removeItem: this.removeItem,
254
261
  maxSiblingsPerSlot: this.maxSiblingsPerSlot,
255
- style: __assign({
256
- visibility: this.visible ? undefined : 'hidden',
257
- display: this.display ? undefined : 'none'
258
- }, this.$props.itemStyle)
259
- // Keyboard
260
- ,
261
262
  onKeydown: this.handleKeyDown,
262
263
  on: this.v3 ? undefined : {
263
264
  "keydown": this.handleKeyDown,
@@ -452,7 +453,7 @@ var SchedulerViewItemVue2 = {
452
453
  var most = 1;
453
454
  slots.forEach(function (slot) {
454
455
  var itemsInSlot = items.filter(function (i) {
455
- return _this.inSlot(slot.$props, i.$props);
456
+ return _this.inSlot(slot.cSlot, i.$props);
456
457
  });
457
458
  if (itemsInSlot.length > most) {
458
459
  most = itemsInSlot.length;
@@ -464,7 +465,7 @@ var SchedulerViewItemVue2 = {
464
465
  var _this = this;
465
466
  var siblings = slots.map(function (slot) {
466
467
  return items.filter(function (i) {
467
- return _this.inSlot(slot.$props, i.$props);
468
+ return _this.inSlot(slot.cSlot, i.$props);
468
469
  });
469
470
  });
470
471
  return siblings;
@@ -478,15 +479,15 @@ var SchedulerViewItemVue2 = {
478
479
  return;
479
480
  }
480
481
  var slots = (this.bv.slots || []).filter(function (slot) {
481
- return slot && _this.inSlot(slot.$props, _this.$props);
482
+ return slot && _this.inSlot(slot.cSlot, _this.$props);
482
483
  });
483
484
  if (slots.length === 0) {
484
485
  this.display = false;
485
486
  return;
486
487
  }
487
488
  var firstSlot = first(slots.sort(function (a, b) {
488
- if (a.$props.start && b.$props.start) {
489
- return a.$props.start.getTime() - b.$props.start.getTime();
489
+ if (a.cSlot.start && b.start) {
490
+ return a.cSlot.start.getTime() - b.cSlot.start.getTime();
490
491
  }
491
492
  return true;
492
493
  }));
@@ -502,7 +503,7 @@ var SchedulerViewItemVue2 = {
502
503
  return;
503
504
  }
504
505
  var slots = (this.bv.slots || []).filter(function (slot) {
505
- return slot && _this.inSlot(slot.$props, _this.$props);
506
+ return slot && _this.inSlot(slot.cSlot, _this.$props);
506
507
  });
507
508
  var items = [];
508
509
  var dragItems = [];
@@ -5,7 +5,7 @@ export var packageMetadata = {
5
5
  name: '@progress/kendo-vue-scheduler',
6
6
  productName: 'Kendo UI for Vue',
7
7
  productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],
8
- publishDate: 1675168959,
8
+ publishDate: 1676471569,
9
9
  version: '',
10
10
  licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'
11
11
  };
@@ -80,6 +80,9 @@ var SchedulerEditSlotVue2 = {
80
80
  },
81
81
  dispatchSelectedSlots: {
82
82
  default: null
83
+ },
84
+ ksSlots: {
85
+ default: {}
83
86
  }
84
87
  },
85
88
  data: function data() {
@@ -88,9 +91,12 @@ var SchedulerEditSlotVue2 = {
88
91
  };
89
92
  },
90
93
  computed: {
94
+ cSlot: function cSlot() {
95
+ return this.ksSlots.cSlots ? this.ksSlots.cSlots[this.index] : {};
96
+ },
91
97
  currentTabIndex: function currentTabIndex() {
92
- var isFirst = this.bv.slots.length && compareSlots(this.bv.slots[0], this);
93
- return this.$props.tabIndex !== undefined ? this.$props.tabIndex === null ? undefined : this.$props.tabIndex : this.bv.selectedSlots.length === 0 ? isFirst && this.items.length === 0 ? 0 : undefined : undefined;
98
+ var isFirst = this.bv.slots.length && compareSlots(this.bv.slots[0].cSlot, this.cSlot);
99
+ return this.$props.tabIndex !== undefined ? this.$props.tabIndex === null ? undefined : this.$props.tabIndex : this.bv.selectedSlots.length === 0 ? isFirst && this.cSlot.items.length === 0 ? 0 : undefined : undefined;
94
100
  },
95
101
  computedEditable: function computedEditable() {
96
102
  return useEditable(this.$props.editable);
@@ -132,7 +138,7 @@ var SchedulerEditSlotVue2 = {
132
138
  navDay = _a.navDay,
133
139
  itemsPerSlot = _a.itemsPerSlot;
134
140
  var selected = this.bv.selectedSlots.some(function (s) {
135
- return compareSlots(s, _this);
141
+ return compareSlots(s.cSlot, _this.cSlot);
136
142
  });
137
143
  var editSlotRender;
138
144
  var editSlotRenderDefaultRendering =
@@ -222,14 +228,14 @@ var SchedulerEditSlotVue2 = {
222
228
  },
223
229
  createDataItemFromSlot: function createDataItemFromSlot() {
224
230
  var dataItem = {};
225
- setField(dataItem, this.ks.fields.start, new Date(this.$props.start.getTime()));
226
- setField(dataItem, this.ks.fields.end, new Date(this.$props.end.getTime()));
227
- setField(dataItem, this.ks.fields.isAllDay, this.$props.isAllDay);
228
- if (this.$props.group.resources.length) {
229
- for (var idx = 0; idx < this.$props.group.resources.length; idx++) {
230
- var resource = this.$props.group.resources[idx];
231
- if (isGroupped(this.$props.group.resources)) {
232
- var value = getField(this.$props.group.resources[idx], resource.valueField);
231
+ setField(dataItem, this.ks.fields.start, new Date(this.cSlot.start.getTime()));
232
+ setField(dataItem, this.ks.fields.end, new Date(this.cSlot.end.getTime()));
233
+ setField(dataItem, this.ks.fields.isAllDay, this.cSlot.isAllDay);
234
+ if (this.cSlot.group.resources.length) {
235
+ for (var idx = 0; idx < this.cSlot.group.resources.length; idx++) {
236
+ var resource = this.cSlot.group.resources[idx];
237
+ if (isGroupped(this.cSlot.group.resources)) {
238
+ var value = getField(this.cSlot.group.resources[idx], resource.valueField);
233
239
  setField(dataItem, resource.field, resource.multiple ? [value] : value);
234
240
  } else {
235
241
  setField(dataItem, resource.field, resource.multiple ? [] : undefined);
@@ -76,6 +76,9 @@ var SchedulerSlotVue2 = {
76
76
  formItem: Object
77
77
  },
78
78
  computed: {
79
+ cSlot: function cSlot() {
80
+ return this.ksSlots.cSlots ? this.ksSlots.cSlots[this.index] : {};
81
+ },
79
82
  currentTabIndex: function currentTabIndex() {
80
83
  return this.$props.tabIndex !== undefined ? this.$props.tabIndex === null ? undefined : this.$props.tabIndex : this.$props.selected ? 0 : -1;
81
84
  },
@@ -111,14 +114,11 @@ var SchedulerSlotVue2 = {
111
114
  },
112
115
  ksEditFormClose: {
113
116
  default: null
117
+ },
118
+ ksSlots: {
119
+ default: {}
114
120
  }
115
121
  },
116
- created: function created() {
117
- this.setSlots({
118
- type: COLLECTION_ACTION.add,
119
- item: this
120
- });
121
- },
122
122
  data: function data() {
123
123
  return {
124
124
  hasMounted: false
@@ -126,17 +126,8 @@ var SchedulerSlotVue2 = {
126
126
  },
127
127
  mounted: function mounted() {
128
128
  this.hasMounted = true;
129
- },
130
- destroyed: !!isV3 ? undefined : function () {
131
129
  this.setSlots({
132
- type: COLLECTION_ACTION.remove,
133
- item: this
134
- });
135
- },
136
- // @ts-ignore
137
- unmounted: function unmounted() {
138
- this.setSlots({
139
- type: COLLECTION_ACTION.remove,
130
+ type: COLLECTION_ACTION.add,
140
131
  item: this
141
132
  });
142
133
  },
@@ -153,6 +144,7 @@ var SchedulerSlotVue2 = {
153
144
  this.intl = provideIntlService(this);
154
145
  var defaultSlot = getDefaultSlots(this);
155
146
  return h("div", {
147
+ // key={`${this.cSlot.start.getTime()}:${this.cSlot.group.index}`}
156
148
  id: this.$props.id,
157
149
  attrs: this.v3 ? undefined : {
158
150
  id: this.$props.id,
@@ -161,12 +153,12 @@ var SchedulerSlotVue2 = {
161
153
  ,
162
154
 
163
155
  "data-slot": true,
164
- "data-slot-allday": this.$props.isAllDay,
165
- "data-slot-start": this.$props.start.getTime(),
166
- "data-slot-end": this.$props.end.getTime(),
167
- "data-slot-group": this.$props.group.index,
168
- "data-slot-range": this.$props.range.index,
169
- "data-slot-index": this.$props.index
156
+ "data-slot-allday": this.cSlot.isAllDay,
157
+ "data-slot-start": this.cSlot.start.getTime(),
158
+ "data-slot-end": this.cSlot.end.getTime(),
159
+ "data-slot-group": this.cSlot.group.index,
160
+ "data-slot-range": this.cSlot.range.index,
161
+ "data-slot-index": this.cSlot.index
170
162
  },
171
163
  style: {
172
164
  userSelect: 'none'
@@ -202,15 +194,15 @@ var SchedulerSlotVue2 = {
202
194
  onKeypress: this.handleKeyPress,
203
195
  onKeyup: this.handleKeyUp,
204
196
  "data-slot": true,
205
- "data-slot-allday": this.$props.isAllDay,
206
- "data-slot-start": this.$props.start.getTime(),
207
- "data-slot-end": this.$props.end.getTime(),
208
- "data-slot-group": this.$props.group.index,
209
- "data-slot-range": this.$props.range.index,
210
- "data-slot-index": this.$props.index
197
+ "data-slot-allday": this.cSlot.isAllDay,
198
+ "data-slot-start": this.cSlot.start.getTime(),
199
+ "data-slot-end": this.cSlot.end.getTime(),
200
+ "data-slot-group": this.cSlot.group.index,
201
+ "data-slot-range": this.cSlot.range.index,
202
+ "data-slot-index": this.cSlot.index
211
203
  }, [this.navDay && h("span", {
212
204
  "class": "k-link k-nav-day"
213
- }, [this.intl.formatDate(new Date(this.end.getTime() - (this.end.getTime() - this.start.getTime()) / 2), DAY_FORMAT)]), this.hasMounted && this.itemsPerSlot < this.items.length && h(ShowMoreItemsButton, {
205
+ }, [this.intl.formatDate(new Date(this.cSlot.end.getTime() - (this.cSlot.end.getTime() - this.cSlot.start.getTime()) / 2), DAY_FORMAT)]), this.hasMounted && this.itemsPerSlot < this.cSlot.items.length && h(ShowMoreItemsButton, {
214
206
  onClick: this.handleShowMoreItemsClick,
215
207
  on: this.v3 ? undefined : {
216
208
  "click": this.handleShowMoreItemsClick
@@ -238,7 +230,7 @@ var SchedulerSlotVue2 = {
238
230
  this.$emit('focus', {
239
231
  event: event,
240
232
  target: {
241
- props: __assign({}, this.$props),
233
+ props: __assign({}, this.cSlot),
242
234
  element: this.$el
243
235
  }
244
236
  });
@@ -247,7 +239,7 @@ var SchedulerSlotVue2 = {
247
239
  this.$emit('blur', {
248
240
  event: event,
249
241
  target: {
250
- props: __assign({}, this.$props),
242
+ props: __assign({}, this.cSlot),
251
243
  element: this.$el
252
244
  }
253
245
  });
@@ -256,7 +248,7 @@ var SchedulerSlotVue2 = {
256
248
  var args = {
257
249
  event: event,
258
250
  target: {
259
- props: __assign({}, this.$props),
251
+ props: __assign({}, this.cSlot),
260
252
  element: this.$el
261
253
  }
262
254
  };
@@ -267,7 +259,7 @@ var SchedulerSlotVue2 = {
267
259
  this.$emit('mouseover', {
268
260
  event: event,
269
261
  target: {
270
- props: __assign({}, this.$props),
262
+ props: __assign({}, this.cSlot),
271
263
  element: this.$el
272
264
  }
273
265
  });
@@ -276,7 +268,7 @@ var SchedulerSlotVue2 = {
276
268
  this.$emit('mouseout', {
277
269
  event: event,
278
270
  target: {
279
- props: __assign({}, this.$props),
271
+ props: __assign({}, this.cSlot),
280
272
  element: this.$el
281
273
  }
282
274
  });
@@ -285,7 +277,7 @@ var SchedulerSlotVue2 = {
285
277
  this.$emit('mouseenter', {
286
278
  event: event,
287
279
  target: {
288
- props: __assign({}, this.$props),
280
+ props: __assign({}, this.cSlot),
289
281
  element: this.$el
290
282
  }
291
283
  });
@@ -294,7 +286,7 @@ var SchedulerSlotVue2 = {
294
286
  this.$emit('mouseleave', {
295
287
  event: event,
296
288
  target: {
297
- props: __assign({}, this.$props),
289
+ props: __assign({}, this.cSlot),
298
290
  element: this.$el
299
291
  }
300
292
  });
@@ -303,7 +295,7 @@ var SchedulerSlotVue2 = {
303
295
  var args = {
304
296
  event: event,
305
297
  target: {
306
- props: __assign({}, this.$props),
298
+ props: __assign({}, this.cSlot),
307
299
  element: this.$el
308
300
  }
309
301
  };
@@ -314,7 +306,7 @@ var SchedulerSlotVue2 = {
314
306
  this.$emit('keydown', {
315
307
  event: event,
316
308
  target: {
317
- props: __assign({}, this.$props),
309
+ props: __assign({}, this.cSlot),
318
310
  element: this.$el
319
311
  }
320
312
  });
@@ -323,7 +315,7 @@ var SchedulerSlotVue2 = {
323
315
  this.$emit('keypress', {
324
316
  event: event,
325
317
  target: {
326
- props: __assign({}, this.$props),
318
+ props: __assign({}, this.cSlot),
327
319
  element: this.$el
328
320
  }
329
321
  });
@@ -332,7 +324,7 @@ var SchedulerSlotVue2 = {
332
324
  this.$emit('keyup', {
333
325
  event: event,
334
326
  target: {
335
- props: __assign({}, this.$props),
327
+ props: __assign({}, this.cSlot),
336
328
  element: this.$el
337
329
  }
338
330
  });
@@ -63,6 +63,9 @@ var SchedulerViewSlotVue2 = {
63
63
  },
64
64
  bv: {
65
65
  default: null
66
+ },
67
+ ksSlots: {
68
+ default: {}
66
69
  }
67
70
  },
68
71
  data: function data() {
@@ -70,6 +73,11 @@ var SchedulerViewSlotVue2 = {
70
73
  timeout: undefined
71
74
  };
72
75
  },
76
+ computed: {
77
+ cSlot: function cSlot() {
78
+ return this.ksSlots.cSlots ? this.ksSlots.cSlots[this.index] : {};
79
+ }
80
+ },
73
81
  updated: function updated() {
74
82
  var that = this;
75
83
  this.$nextTick(function () {
@@ -3,6 +3,7 @@ import * as Vue from 'vue';
3
3
  var allVue = Vue;
4
4
  var gh = allVue.h;
5
5
  var isV3 = allVue.version && allVue.version[0] === '3';
6
+ import { COLLECTION_ACTION } from '../../utils/main';
6
7
  import { SchedulerEditSlot } from '../../slots/SchedulerEditSlot';
7
8
  import { provideIntlService, provideLocalizationService } from '@progress/kendo-vue-intl';
8
9
  import { SchedulerEditTask } from '../../tasks/SchedulerEditTask';
@@ -34,13 +35,53 @@ var AgendaViewBodyVue2 = {
34
35
  },
35
36
  kendoLocalizationService: {
36
37
  default: null
38
+ },
39
+ setSlots: {
40
+ default: null
37
41
  }
38
42
  },
43
+ provide: function provide() {
44
+ return {
45
+ ksSlots: this.ksSlots
46
+ };
47
+ },
39
48
  data: function data() {
49
+ var _this = this;
40
50
  return {
41
- hasMounted: false
51
+ hasMounted: false,
52
+ ksSlots: {
53
+ cSlots: this.agendaSlots.filter(function (slot) {
54
+ return slot.group.index === (_this.ri.groupIndex || 0);
55
+ })
56
+ }
42
57
  };
43
58
  },
59
+ watch: {
60
+ currentCellSlots: function currentCellSlots(newValue) {
61
+ this.ksSlots.cSlots = newValue;
62
+ }
63
+ },
64
+ computed: {
65
+ currentCellSlots: function currentCellSlots() {
66
+ var _this = this;
67
+ return this.agendaSlots.filter(function (slot) {
68
+ return slot.group.index === (_this.ri.groupIndex || 0);
69
+ });
70
+ }
71
+ },
72
+ destroyed: !!isV3 ? undefined : function () {
73
+ this.setSlots({
74
+ type: COLLECTION_ACTION.remove,
75
+ item: this
76
+ });
77
+ },
78
+ // @ts-ignore
79
+ unmounted: function unmounted() {
80
+ this.setSlots({
81
+ type: COLLECTION_ACTION.remove,
82
+ item: this
83
+ });
84
+ },
44
85
  mounted: function mounted() {
45
86
  this.hasMounted = true;
46
87
  },
@@ -53,7 +94,6 @@ var AgendaViewBodyVue2 = {
53
94
  },
54
95
  // @ts-ignore
55
96
  render: function render(createElement) {
56
- var _this = this;
57
97
  var h = gh || createElement;
58
98
  this.intl = provideIntlService(this);
59
99
  var EditSlot = this.$props.editSlot || SchedulerEditSlot;
@@ -61,9 +101,7 @@ var AgendaViewBodyVue2 = {
61
101
  var localization = provideLocalizationService(this);
62
102
  return h("div", {
63
103
  "class": "k-scheduler-body"
64
- }, [this.items.length && this.agendaSlots.filter(function (slot) {
65
- return slot.group.index === (_this.ri.groupIndex || 0);
66
- }).map(function (slot, slotIndex, filtered) {
104
+ }, [this.currentCellSlots.map(function (slot, slotIndex, filtered) {
67
105
  var _this2 = this;
68
106
  return h("div", {
69
107
  "class": "k-scheduler-row k-scheduler-content",
@@ -71,30 +109,14 @@ var AgendaViewBodyVue2 = {
71
109
  }, [
72
110
  // @ts-ignore function children
73
111
  h(EditSlot, {
74
- index: slot.index,
112
+ index: slotIndex,
75
113
  attrs: this.v3 ? undefined : {
76
- index: slot.index,
77
- start: slot.start,
78
- end: slot.end,
79
- zonedStart: slot.zonedStart,
80
- zonedEnd: slot.zonedEnd,
81
- items: slot.items,
82
- group: slot.group,
83
- range: slot.range,
84
- isAllDay: slot.isAllDay,
114
+ index: slotIndex,
85
115
  editable: this.$props.editable,
86
116
  row: filtered.length * (this.ri.groupIndex || 0) + slotIndex,
87
117
  col: 0,
88
118
  viewSlot: this.$props.viewSlot
89
119
  },
90
- start: slot.start,
91
- end: slot.end,
92
- zonedStart: slot.zonedStart,
93
- zonedEnd: slot.zonedEnd,
94
- items: slot.items,
95
- group: slot.group,
96
- range: slot.range,
97
- isAllDay: slot.isAllDay,
98
120
  editable: this.$props.editable,
99
121
  row: filtered.length * (this.ri.groupIndex || 0) + slotIndex,
100
122
  col: 0,