@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
@@ -98,8 +98,9 @@ var CurrentTimeMarkerArrowVue2 = {
98
98
  if (!this.bv.slots) {
99
99
  return;
100
100
  }
101
+ var groupIndex = this.$props.groupIndex;
101
102
  var sameTimeSlots = this.bv.slots.filter(function (s) {
102
- return (_this.$props.groupIndex === undefined || _this.$props.groupIndex === null || s.group.index === _this.$props.groupIndex) && (_this.$props.vertical ? (0, main_1.intersects)(new Date(), new Date(), s.start, s.end, true) : (0, main_1.isInTimeRange)(new Date(), s.start, s.end)) && !s.isAllDay;
103
+ return (groupIndex === undefined || groupIndex === null || s.cSlot.group.index === groupIndex) && (_this.$props.vertical ? (0, main_1.intersects)(new Date(), new Date(), s.cSlot.start, s.cSlot.end, true) : (0, main_1.isInTimeRange)(new Date(), s.cSlot.start, s.cSlot.end)) && !s.isAllDay;
103
104
  });
104
105
  if (sameTimeSlots && sameTimeSlots.length && this.$el) {
105
106
  var firstSlot = (0, main_1.first)(sameTimeSlots);
@@ -108,8 +109,8 @@ var CurrentTimeMarkerArrowVue2 = {
108
109
  }
109
110
  var rect = (0, utils_1.getRect)(firstSlot.$el);
110
111
  var arrowRect = (0, utils_1.getRect)(this.arrowRef);
111
- var pxPerMillisecond = (this.$props.vertical ? rect.width : rect.height) / (firstSlot.end.getTime() - firstSlot.start.getTime());
112
- var offset = (Date.now() - setTime(new Date(), firstSlot.start).getTime()) * pxPerMillisecond;
112
+ var pxPerMillisecond = (this.$props.vertical ? rect.width : rect.height) / (firstSlot.cSlot.end.getTime() - firstSlot.cSlot.start.getTime());
113
+ var offset = (Date.now() - setTime(new Date(), firstSlot.cSlot.start).getTime()) * pxPerMillisecond;
113
114
  var rtl = this.$props.dir === 'rtl';
114
115
  var top_1 = this.$props.vertical ? rect.top : rect.top + offset - arrowRect.height / 2;
115
116
  var horizontalDimension = rtl ? 'right' : 'left';
@@ -27,13 +27,12 @@ var useSlotExpand = function useSlotExpand(slot, _scheduler, config) {
27
27
  return;
28
28
  }
29
29
  var element = slot.$el;
30
- var props = slot.$props;
31
30
  if (!element || !slot.bv.items.length) {
32
31
  return;
33
32
  }
34
33
  var slotPadding = (0, utils_1.getPadding)(element);
35
34
  var highest = 0;
36
- var existing = props.items.filter(function (i) {
35
+ var existing = slot.cSlot.items.filter(function (i) {
37
36
  return i.refTo;
38
37
  });
39
38
  existing.forEach(function (item) {
@@ -962,7 +962,7 @@ var SchedulerEditItemVue2 = {
962
962
  }];
963
963
  case kendo_vue_common_1.Keys.up:
964
964
  nextSlot = this.bv.slots.find(function (s) {
965
- return (0, main_2.compareSlots)(s, props.slots[0]);
965
+ return (0, main_2.compareSlots)(s.cSlot, props.slots[0]);
966
966
  });
967
967
  return [Boolean(props.slots.length && nextSlot) && {
968
968
  type: main_1.SLOTS_FOCUS_ACTION.up,
@@ -970,7 +970,7 @@ var SchedulerEditItemVue2 = {
970
970
  }];
971
971
  case kendo_vue_common_1.Keys.right:
972
972
  nextSlot = this.bv.slots.find(function (s) {
973
- return (0, main_2.compareSlots)(s, props.slots[0]);
973
+ return (0, main_2.compareSlots)(s.cSlot, props.slots[0]);
974
974
  });
975
975
  return [Boolean(props.slots.length && nextSlot) && {
976
976
  type: main_1.SLOTS_FOCUS_ACTION.right,
@@ -978,7 +978,7 @@ var SchedulerEditItemVue2 = {
978
978
  }];
979
979
  case kendo_vue_common_1.Keys.down:
980
980
  nextSlot = this.bv.slots.find(function (s) {
981
- return (0, main_2.compareSlots)(s, props.slots[props.slots.length - 1]);
981
+ return (0, main_2.compareSlots)(s.cSlot, props.slots[props.slots.length - 1]);
982
982
  });
983
983
  return [Boolean(props.slots.length && nextSlot) && {
984
984
  type: main_1.SLOTS_FOCUS_ACTION.down,
@@ -986,7 +986,7 @@ var SchedulerEditItemVue2 = {
986
986
  }];
987
987
  case kendo_vue_common_1.Keys.left:
988
988
  nextSlot = this.bv.slots.find(function (s) {
989
- return (0, main_2.compareSlots)(s, props.slots[0]);
989
+ return (0, main_2.compareSlots)(s.cSlot.cSlot, props.slots[0]);
990
990
  });
991
991
  return [Boolean(props.slots.length && nextSlot) && {
992
992
  type: main_1.SLOTS_FOCUS_ACTION.left,
@@ -199,7 +199,10 @@ var SchedulerViewItemVue2 = {
199
199
  id: this.id,
200
200
  tabIndex: this.tabIndex,
201
201
  className: this.className,
202
- itemStyle: this.itemStyle,
202
+ itemStyle: __assign({
203
+ visibility: this.visible ? undefined : 'hidden',
204
+ display: this.display ? undefined : 'none'
205
+ }, this.$props.itemStyle),
203
206
  editable: this.editable,
204
207
  selected: this.selected,
205
208
  vertical: this.vertical,
@@ -214,6 +217,7 @@ var SchedulerViewItemVue2 = {
214
217
  resizeItem: this.resizeItem,
215
218
  removeItem: this.removeItem,
216
219
  maxSiblingsPerSlot: this.maxSiblingsPerSlot
220
+ // Keyboard
217
221
  },
218
222
  item: this.item,
219
223
  uid: this.uid,
@@ -243,7 +247,10 @@ var SchedulerViewItemVue2 = {
243
247
  id: this.id,
244
248
  tabIndex: this.tabIndex,
245
249
  className: this.className,
246
- itemStyle: this.itemStyle,
250
+ itemStyle: __assign({
251
+ visibility: this.visible ? undefined : 'hidden',
252
+ display: this.display ? undefined : 'none'
253
+ }, this.$props.itemStyle),
247
254
  editable: this.editable,
248
255
  selected: this.selected,
249
256
  vertical: this.vertical,
@@ -258,12 +265,6 @@ var SchedulerViewItemVue2 = {
258
265
  resizeItem: this.resizeItem,
259
266
  removeItem: this.removeItem,
260
267
  maxSiblingsPerSlot: this.maxSiblingsPerSlot,
261
- style: __assign({
262
- visibility: this.visible ? undefined : 'hidden',
263
- display: this.display ? undefined : 'none'
264
- }, this.$props.itemStyle)
265
- // Keyboard
266
- ,
267
268
  onKeydown: this.handleKeyDown,
268
269
  on: this.v3 ? undefined : {
269
270
  "keydown": this.handleKeyDown,
@@ -458,7 +459,7 @@ var SchedulerViewItemVue2 = {
458
459
  var most = 1;
459
460
  slots.forEach(function (slot) {
460
461
  var itemsInSlot = items.filter(function (i) {
461
- return _this.inSlot(slot.$props, i.$props);
462
+ return _this.inSlot(slot.cSlot, i.$props);
462
463
  });
463
464
  if (itemsInSlot.length > most) {
464
465
  most = itemsInSlot.length;
@@ -470,7 +471,7 @@ var SchedulerViewItemVue2 = {
470
471
  var _this = this;
471
472
  var siblings = slots.map(function (slot) {
472
473
  return items.filter(function (i) {
473
- return _this.inSlot(slot.$props, i.$props);
474
+ return _this.inSlot(slot.cSlot, i.$props);
474
475
  });
475
476
  });
476
477
  return siblings;
@@ -484,15 +485,15 @@ var SchedulerViewItemVue2 = {
484
485
  return;
485
486
  }
486
487
  var slots = (this.bv.slots || []).filter(function (slot) {
487
- return slot && _this.inSlot(slot.$props, _this.$props);
488
+ return slot && _this.inSlot(slot.cSlot, _this.$props);
488
489
  });
489
490
  if (slots.length === 0) {
490
491
  this.display = false;
491
492
  return;
492
493
  }
493
494
  var firstSlot = (0, main_1.first)(slots.sort(function (a, b) {
494
- if (a.$props.start && b.$props.start) {
495
- return a.$props.start.getTime() - b.$props.start.getTime();
495
+ if (a.cSlot.start && b.start) {
496
+ return a.cSlot.start.getTime() - b.cSlot.start.getTime();
496
497
  }
497
498
  return true;
498
499
  }));
@@ -508,7 +509,7 @@ var SchedulerViewItemVue2 = {
508
509
  return;
509
510
  }
510
511
  var slots = (this.bv.slots || []).filter(function (slot) {
511
- return slot && _this.inSlot(slot.$props, _this.$props);
512
+ return slot && _this.inSlot(slot.cSlot, _this.$props);
512
513
  });
513
514
  var items = [];
514
515
  var dragItems = [];
@@ -8,7 +8,7 @@ exports.packageMetadata = {
8
8
  name: '@progress/kendo-vue-scheduler',
9
9
  productName: 'Kendo UI for Vue',
10
10
  productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],
11
- publishDate: 1675168959,
11
+ publishDate: 1676471569,
12
12
  version: '',
13
13
  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'
14
14
  };
@@ -86,6 +86,9 @@ var SchedulerEditSlotVue2 = {
86
86
  },
87
87
  dispatchSelectedSlots: {
88
88
  default: null
89
+ },
90
+ ksSlots: {
91
+ default: {}
89
92
  }
90
93
  },
91
94
  data: function data() {
@@ -94,9 +97,12 @@ var SchedulerEditSlotVue2 = {
94
97
  };
95
98
  },
96
99
  computed: {
100
+ cSlot: function cSlot() {
101
+ return this.ksSlots.cSlots ? this.ksSlots.cSlots[this.index] : {};
102
+ },
97
103
  currentTabIndex: function currentTabIndex() {
98
- var isFirst = this.bv.slots.length && (0, main_1.compareSlots)(this.bv.slots[0], this);
99
- 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;
104
+ var isFirst = this.bv.slots.length && (0, main_1.compareSlots)(this.bv.slots[0].cSlot, this.cSlot);
105
+ 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;
100
106
  },
101
107
  computedEditable: function computedEditable() {
102
108
  return (0, main_2.useEditable)(this.$props.editable);
@@ -138,7 +144,7 @@ var SchedulerEditSlotVue2 = {
138
144
  navDay = _a.navDay,
139
145
  itemsPerSlot = _a.itemsPerSlot;
140
146
  var selected = this.bv.selectedSlots.some(function (s) {
141
- return (0, main_1.compareSlots)(s, _this);
147
+ return (0, main_1.compareSlots)(s.cSlot, _this.cSlot);
142
148
  });
143
149
  var editSlotRender;
144
150
  var editSlotRenderDefaultRendering =
@@ -228,14 +234,14 @@ var SchedulerEditSlotVue2 = {
228
234
  },
229
235
  createDataItemFromSlot: function createDataItemFromSlot() {
230
236
  var dataItem = {};
231
- (0, main_1.setField)(dataItem, this.ks.fields.start, new Date(this.$props.start.getTime()));
232
- (0, main_1.setField)(dataItem, this.ks.fields.end, new Date(this.$props.end.getTime()));
233
- (0, main_1.setField)(dataItem, this.ks.fields.isAllDay, this.$props.isAllDay);
234
- if (this.$props.group.resources.length) {
235
- for (var idx = 0; idx < this.$props.group.resources.length; idx++) {
236
- var resource = this.$props.group.resources[idx];
237
- if ((0, main_1.isGroupped)(this.$props.group.resources)) {
238
- var value = (0, main_1.getField)(this.$props.group.resources[idx], resource.valueField);
237
+ (0, main_1.setField)(dataItem, this.ks.fields.start, new Date(this.cSlot.start.getTime()));
238
+ (0, main_1.setField)(dataItem, this.ks.fields.end, new Date(this.cSlot.end.getTime()));
239
+ (0, main_1.setField)(dataItem, this.ks.fields.isAllDay, this.cSlot.isAllDay);
240
+ if (this.cSlot.group.resources.length) {
241
+ for (var idx = 0; idx < this.cSlot.group.resources.length; idx++) {
242
+ var resource = this.cSlot.group.resources[idx];
243
+ if ((0, main_1.isGroupped)(this.cSlot.group.resources)) {
244
+ var value = (0, main_1.getField)(this.cSlot.group.resources[idx], resource.valueField);
239
245
  (0, main_1.setField)(dataItem, resource.field, resource.multiple ? [value] : value);
240
246
  } else {
241
247
  (0, main_1.setField)(dataItem, resource.field, resource.multiple ? [] : undefined);
@@ -82,6 +82,9 @@ var SchedulerSlotVue2 = {
82
82
  formItem: Object
83
83
  },
84
84
  computed: {
85
+ cSlot: function cSlot() {
86
+ return this.ksSlots.cSlots ? this.ksSlots.cSlots[this.index] : {};
87
+ },
85
88
  currentTabIndex: function currentTabIndex() {
86
89
  return this.$props.tabIndex !== undefined ? this.$props.tabIndex === null ? undefined : this.$props.tabIndex : this.$props.selected ? 0 : -1;
87
90
  },
@@ -117,14 +120,11 @@ var SchedulerSlotVue2 = {
117
120
  },
118
121
  ksEditFormClose: {
119
122
  default: null
123
+ },
124
+ ksSlots: {
125
+ default: {}
120
126
  }
121
127
  },
122
- created: function created() {
123
- this.setSlots({
124
- type: main_1.COLLECTION_ACTION.add,
125
- item: this
126
- });
127
- },
128
128
  data: function data() {
129
129
  return {
130
130
  hasMounted: false
@@ -132,17 +132,8 @@ var SchedulerSlotVue2 = {
132
132
  },
133
133
  mounted: function mounted() {
134
134
  this.hasMounted = true;
135
- },
136
- destroyed: !!isV3 ? undefined : function () {
137
135
  this.setSlots({
138
- type: main_1.COLLECTION_ACTION.remove,
139
- item: this
140
- });
141
- },
142
- // @ts-ignore
143
- unmounted: function unmounted() {
144
- this.setSlots({
145
- type: main_1.COLLECTION_ACTION.remove,
136
+ type: main_1.COLLECTION_ACTION.add,
146
137
  item: this
147
138
  });
148
139
  },
@@ -159,6 +150,7 @@ var SchedulerSlotVue2 = {
159
150
  this.intl = (0, kendo_vue_intl_1.provideIntlService)(this);
160
151
  var defaultSlot = (0, kendo_vue_common_1.getDefaultSlots)(this);
161
152
  return h("div", {
153
+ // key={`${this.cSlot.start.getTime()}:${this.cSlot.group.index}`}
162
154
  id: this.$props.id,
163
155
  attrs: this.v3 ? undefined : {
164
156
  id: this.$props.id,
@@ -167,12 +159,12 @@ var SchedulerSlotVue2 = {
167
159
  ,
168
160
 
169
161
  "data-slot": true,
170
- "data-slot-allday": this.$props.isAllDay,
171
- "data-slot-start": this.$props.start.getTime(),
172
- "data-slot-end": this.$props.end.getTime(),
173
- "data-slot-group": this.$props.group.index,
174
- "data-slot-range": this.$props.range.index,
175
- "data-slot-index": this.$props.index
162
+ "data-slot-allday": this.cSlot.isAllDay,
163
+ "data-slot-start": this.cSlot.start.getTime(),
164
+ "data-slot-end": this.cSlot.end.getTime(),
165
+ "data-slot-group": this.cSlot.group.index,
166
+ "data-slot-range": this.cSlot.range.index,
167
+ "data-slot-index": this.cSlot.index
176
168
  },
177
169
  style: {
178
170
  userSelect: 'none'
@@ -208,15 +200,15 @@ var SchedulerSlotVue2 = {
208
200
  onKeypress: this.handleKeyPress,
209
201
  onKeyup: this.handleKeyUp,
210
202
  "data-slot": true,
211
- "data-slot-allday": this.$props.isAllDay,
212
- "data-slot-start": this.$props.start.getTime(),
213
- "data-slot-end": this.$props.end.getTime(),
214
- "data-slot-group": this.$props.group.index,
215
- "data-slot-range": this.$props.range.index,
216
- "data-slot-index": this.$props.index
203
+ "data-slot-allday": this.cSlot.isAllDay,
204
+ "data-slot-start": this.cSlot.start.getTime(),
205
+ "data-slot-end": this.cSlot.end.getTime(),
206
+ "data-slot-group": this.cSlot.group.index,
207
+ "data-slot-range": this.cSlot.range.index,
208
+ "data-slot-index": this.cSlot.index
217
209
  }, [this.navDay && h("span", {
218
210
  "class": "k-link k-nav-day"
219
- }, [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_1.ShowMoreItemsButton, {
211
+ }, [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_1.ShowMoreItemsButton, {
220
212
  onClick: this.handleShowMoreItemsClick,
221
213
  on: this.v3 ? undefined : {
222
214
  "click": this.handleShowMoreItemsClick
@@ -244,7 +236,7 @@ var SchedulerSlotVue2 = {
244
236
  this.$emit('focus', {
245
237
  event: event,
246
238
  target: {
247
- props: __assign({}, this.$props),
239
+ props: __assign({}, this.cSlot),
248
240
  element: this.$el
249
241
  }
250
242
  });
@@ -253,7 +245,7 @@ var SchedulerSlotVue2 = {
253
245
  this.$emit('blur', {
254
246
  event: event,
255
247
  target: {
256
- props: __assign({}, this.$props),
248
+ props: __assign({}, this.cSlot),
257
249
  element: this.$el
258
250
  }
259
251
  });
@@ -262,7 +254,7 @@ var SchedulerSlotVue2 = {
262
254
  var args = {
263
255
  event: event,
264
256
  target: {
265
- props: __assign({}, this.$props),
257
+ props: __assign({}, this.cSlot),
266
258
  element: this.$el
267
259
  }
268
260
  };
@@ -273,7 +265,7 @@ var SchedulerSlotVue2 = {
273
265
  this.$emit('mouseover', {
274
266
  event: event,
275
267
  target: {
276
- props: __assign({}, this.$props),
268
+ props: __assign({}, this.cSlot),
277
269
  element: this.$el
278
270
  }
279
271
  });
@@ -282,7 +274,7 @@ var SchedulerSlotVue2 = {
282
274
  this.$emit('mouseout', {
283
275
  event: event,
284
276
  target: {
285
- props: __assign({}, this.$props),
277
+ props: __assign({}, this.cSlot),
286
278
  element: this.$el
287
279
  }
288
280
  });
@@ -291,7 +283,7 @@ var SchedulerSlotVue2 = {
291
283
  this.$emit('mouseenter', {
292
284
  event: event,
293
285
  target: {
294
- props: __assign({}, this.$props),
286
+ props: __assign({}, this.cSlot),
295
287
  element: this.$el
296
288
  }
297
289
  });
@@ -300,7 +292,7 @@ var SchedulerSlotVue2 = {
300
292
  this.$emit('mouseleave', {
301
293
  event: event,
302
294
  target: {
303
- props: __assign({}, this.$props),
295
+ props: __assign({}, this.cSlot),
304
296
  element: this.$el
305
297
  }
306
298
  });
@@ -309,7 +301,7 @@ var SchedulerSlotVue2 = {
309
301
  var args = {
310
302
  event: event,
311
303
  target: {
312
- props: __assign({}, this.$props),
304
+ props: __assign({}, this.cSlot),
313
305
  element: this.$el
314
306
  }
315
307
  };
@@ -320,7 +312,7 @@ var SchedulerSlotVue2 = {
320
312
  this.$emit('keydown', {
321
313
  event: event,
322
314
  target: {
323
- props: __assign({}, this.$props),
315
+ props: __assign({}, this.cSlot),
324
316
  element: this.$el
325
317
  }
326
318
  });
@@ -329,7 +321,7 @@ var SchedulerSlotVue2 = {
329
321
  this.$emit('keypress', {
330
322
  event: event,
331
323
  target: {
332
- props: __assign({}, this.$props),
324
+ props: __assign({}, this.cSlot),
333
325
  element: this.$el
334
326
  }
335
327
  });
@@ -338,7 +330,7 @@ var SchedulerSlotVue2 = {
338
330
  this.$emit('keyup', {
339
331
  event: event,
340
332
  target: {
341
- props: __assign({}, this.$props),
333
+ props: __assign({}, this.cSlot),
342
334
  element: this.$el
343
335
  }
344
336
  });
@@ -69,6 +69,9 @@ var SchedulerViewSlotVue2 = {
69
69
  },
70
70
  bv: {
71
71
  default: null
72
+ },
73
+ ksSlots: {
74
+ default: {}
72
75
  }
73
76
  },
74
77
  data: function data() {
@@ -76,6 +79,11 @@ var SchedulerViewSlotVue2 = {
76
79
  timeout: undefined
77
80
  };
78
81
  },
82
+ computed: {
83
+ cSlot: function cSlot() {
84
+ return this.ksSlots.cSlots ? this.ksSlots.cSlots[this.index] : {};
85
+ }
86
+ },
79
87
  updated: function updated() {
80
88
  var that = this;
81
89
  this.$nextTick(function () {
@@ -9,10 +9,11 @@ var Vue = require("vue");
9
9
  var allVue = Vue;
10
10
  var gh = allVue.h;
11
11
  var isV3 = allVue.version && allVue.version[0] === '3';
12
+ var main_1 = require("../../utils/main");
12
13
  var SchedulerEditSlot_1 = require("../../slots/SchedulerEditSlot");
13
14
  var kendo_vue_intl_1 = require("@progress/kendo-vue-intl");
14
15
  var SchedulerEditTask_1 = require("../../tasks/SchedulerEditTask");
15
- var main_1 = require("../../messages/main");
16
+ var main_2 = require("../../messages/main");
16
17
  var kendo_vue_common_1 = require("@progress/kendo-vue-common");
17
18
  var kendo_svg_icons_1 = require("@progress/kendo-svg-icons");
18
19
  /**
@@ -40,13 +41,53 @@ var AgendaViewBodyVue2 = {
40
41
  },
41
42
  kendoLocalizationService: {
42
43
  default: null
44
+ },
45
+ setSlots: {
46
+ default: null
43
47
  }
44
48
  },
49
+ provide: function provide() {
50
+ return {
51
+ ksSlots: this.ksSlots
52
+ };
53
+ },
45
54
  data: function data() {
55
+ var _this = this;
46
56
  return {
47
- hasMounted: false
57
+ hasMounted: false,
58
+ ksSlots: {
59
+ cSlots: this.agendaSlots.filter(function (slot) {
60
+ return slot.group.index === (_this.ri.groupIndex || 0);
61
+ })
62
+ }
48
63
  };
49
64
  },
65
+ watch: {
66
+ currentCellSlots: function currentCellSlots(newValue) {
67
+ this.ksSlots.cSlots = newValue;
68
+ }
69
+ },
70
+ computed: {
71
+ currentCellSlots: function currentCellSlots() {
72
+ var _this = this;
73
+ return this.agendaSlots.filter(function (slot) {
74
+ return slot.group.index === (_this.ri.groupIndex || 0);
75
+ });
76
+ }
77
+ },
78
+ destroyed: !!isV3 ? undefined : function () {
79
+ this.setSlots({
80
+ type: main_1.COLLECTION_ACTION.remove,
81
+ item: this
82
+ });
83
+ },
84
+ // @ts-ignore
85
+ unmounted: function unmounted() {
86
+ this.setSlots({
87
+ type: main_1.COLLECTION_ACTION.remove,
88
+ item: this
89
+ });
90
+ },
50
91
  mounted: function mounted() {
51
92
  this.hasMounted = true;
52
93
  },
@@ -59,7 +100,6 @@ var AgendaViewBodyVue2 = {
59
100
  },
60
101
  // @ts-ignore
61
102
  render: function render(createElement) {
62
- var _this = this;
63
103
  var h = gh || createElement;
64
104
  this.intl = (0, kendo_vue_intl_1.provideIntlService)(this);
65
105
  var EditSlot = this.$props.editSlot || SchedulerEditSlot_1.SchedulerEditSlot;
@@ -67,9 +107,7 @@ var AgendaViewBodyVue2 = {
67
107
  var localization = (0, kendo_vue_intl_1.provideLocalizationService)(this);
68
108
  return h("div", {
69
109
  "class": "k-scheduler-body"
70
- }, [this.items.length && this.agendaSlots.filter(function (slot) {
71
- return slot.group.index === (_this.ri.groupIndex || 0);
72
- }).map(function (slot, slotIndex, filtered) {
110
+ }, [this.currentCellSlots.map(function (slot, slotIndex, filtered) {
73
111
  var _this2 = this;
74
112
  return h("div", {
75
113
  "class": "k-scheduler-row k-scheduler-content",
@@ -77,30 +115,14 @@ var AgendaViewBodyVue2 = {
77
115
  }, [
78
116
  // @ts-ignore function children
79
117
  h(EditSlot, {
80
- index: slot.index,
118
+ index: slotIndex,
81
119
  attrs: this.v3 ? undefined : {
82
- index: slot.index,
83
- start: slot.start,
84
- end: slot.end,
85
- zonedStart: slot.zonedStart,
86
- zonedEnd: slot.zonedEnd,
87
- items: slot.items,
88
- group: slot.group,
89
- range: slot.range,
90
- isAllDay: slot.isAllDay,
120
+ index: slotIndex,
91
121
  editable: this.$props.editable,
92
122
  row: filtered.length * (this.ri.groupIndex || 0) + slotIndex,
93
123
  col: 0,
94
124
  viewSlot: this.$props.viewSlot
95
125
  },
96
- start: slot.start,
97
- end: slot.end,
98
- zonedStart: slot.zonedStart,
99
- zonedEnd: slot.zonedEnd,
100
- items: slot.items,
101
- group: slot.group,
102
- range: slot.range,
103
- isAllDay: slot.isAllDay,
104
126
  editable: this.$props.editable,
105
127
  row: filtered.length * (this.ri.groupIndex || 0) + slotIndex,
106
128
  col: 0,
@@ -139,7 +161,7 @@ var AgendaViewBodyVue2 = {
139
161
  icon: kendo_svg_icons_1.caretAltLeftIcon
140
162
  },
141
163
  icon: kendo_svg_icons_1.caretAltLeftIcon
142
- }), item.isAllDay ? localization.toLanguageString(main_1.allDay, main_1.messages[main_1.allDay]) : getTimeFormat(this.intl, item), item.head && h(kendo_vue_common_1.Icon, {
164
+ }), item.isAllDay ? localization.toLanguageString(main_2.allDay, main_2.messages[main_2.allDay]) : getTimeFormat(this.intl, item), item.head && h(kendo_vue_common_1.Icon, {
143
165
  name: "caret-alt-right",
144
166
  attrs: this.v3 ? undefined : {
145
167
  name: "caret-alt-right",
@@ -215,7 +237,7 @@ var AgendaViewBodyVue2 = {
215
237
  })])]);
216
238
  }, this) : h("div", {
217
239
  "class": "k-scheduler-cell k-heading-cell k-group-cell"
218
- }, [localization.toLanguageString(main_1.noEvents, main_1.messages[main_1.noEvents])])])]);
240
+ }, [localization.toLanguageString(main_2.noEvents, main_2.messages[main_2.noEvents])])])]);
219
241
  }, this)]);
220
242
  },
221
243
  methods: {