@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
@@ -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 } from '@progress/kendo-vue-intl';
8
9
  /** @hidden */
@@ -31,10 +32,56 @@ var MonthViewBodyVue2 = {
31
32
  setActiveViewName: {
32
33
  default: null
33
34
  },
35
+ setSlots: {
36
+ default: null
37
+ },
34
38
  kendoIntlService: {
35
39
  default: null
36
40
  }
37
41
  },
42
+ provide: function provide() {
43
+ return {
44
+ ksSlots: this.ksSlots
45
+ };
46
+ },
47
+ data: function data() {
48
+ var _this = this;
49
+ var groupIndex = this.groupIndex !== undefined ? this.groupIndex : this.ri.groupIndex;
50
+ return {
51
+ ksSlots: {
52
+ cSlots: this.monthSlots.filter(function (slot) {
53
+ return slot.group.index === groupIndex && slot.range.index === _this.rangeIndex;
54
+ })
55
+ }
56
+ };
57
+ },
58
+ watch: {
59
+ currentCellSlots: function currentCellSlots(newValue) {
60
+ this.ksSlots.cSlots = newValue;
61
+ }
62
+ },
63
+ computed: {
64
+ currentCellSlots: function currentCellSlots() {
65
+ var _this = this;
66
+ var groupIndex = this.groupIndex !== undefined ? this.groupIndex : this.ri.groupIndex;
67
+ return this.monthSlots.filter(function (slot) {
68
+ return slot.group.index === groupIndex && slot.range.index === _this.rangeIndex;
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
+ },
38
85
  // @ts-ignore
39
86
  setup: !isV3 ? undefined : function () {
40
87
  var v3 = !!isV3;
@@ -44,7 +91,6 @@ var MonthViewBodyVue2 = {
44
91
  },
45
92
  // @ts-ignore
46
93
  render: function render(createElement) {
47
- var _this = this;
48
94
  var h = gh || createElement;
49
95
  this.intl = provideIntlService(this);
50
96
  var EditSlot = this.$props.editSlot || SchedulerEditSlot;
@@ -53,9 +99,7 @@ var MonthViewBodyVue2 = {
53
99
  return h("div", {
54
100
  "class": "k-scheduler-row",
55
101
  key: this.rangeIndex
56
- }, [this.monthSlots.filter(function (slot) {
57
- return slot.group.index === groupIndex && slot.range.index === _this.rangeIndex;
58
- }).map(function (slot, slotIndex, filtered) {
102
+ }, [this.currentCellSlots.map(function (slot, slotIndex, filtered) {
59
103
  return (
60
104
  // @ts-ignore function children
61
105
  h(EditSlot, {
@@ -64,15 +108,7 @@ var MonthViewBodyVue2 = {
64
108
  slotRender: this.$props.slotRender,
65
109
  viewSlot: that.$props.viewSlot,
66
110
  form: that.$props.form,
67
- index: slot.index,
68
- start: slot.start,
69
- end: slot.end,
70
- zonedStart: slot.zonedStart,
71
- zonedEnd: slot.zonedEnd,
72
- items: slot.items,
73
- group: slot.group,
74
- range: slot.range,
75
- isAllDay: slot.isAllDay,
111
+ index: slotIndex,
76
112
  navDay: true,
77
113
  itemsPerSlot: that.itemsPerSlot,
78
114
  expandable: {
@@ -84,17 +120,8 @@ var MonthViewBodyVue2 = {
84
120
  editable: that.$props.editable
85
121
  },
86
122
  viewSlot: that.$props.viewSlot,
87
- key: slotIndex,
88
123
  form: that.$props.form,
89
- index: slot.index,
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,
124
+ index: slotIndex,
98
125
  navDay: true,
99
126
  itemsPerSlot: that.itemsPerSlot,
100
127
  expandable: {
@@ -21,6 +21,34 @@ var MonthViewHeadVue2 = {
21
21
  default: null
22
22
  }
23
23
  },
24
+ provide: function provide() {
25
+ return {
26
+ ksSlots: this.ksSlots
27
+ };
28
+ },
29
+ data: function data() {
30
+ var _this = this;
31
+ return {
32
+ ksSlots: {
33
+ cSlots: this.monthSlots.filter(function (slot) {
34
+ return slot.group.index === _this.ri.groupIndex && slot.range.index === 0;
35
+ })
36
+ }
37
+ };
38
+ },
39
+ watch: {
40
+ currentCellSlots: function currentCellSlots(newValue) {
41
+ this.ksSlots.cSlots = newValue;
42
+ }
43
+ },
44
+ computed: {
45
+ currentCellSlots: function currentCellSlots() {
46
+ var _this = this;
47
+ return this.monthSlots.filter(function (slot) {
48
+ return slot.group.index === _this.ri.groupIndex && slot.range.index === 0;
49
+ });
50
+ }
51
+ },
24
52
  // @ts-ignore
25
53
  setup: !isV3 ? undefined : function () {
26
54
  var v3 = !!isV3;
@@ -30,14 +58,11 @@ var MonthViewHeadVue2 = {
30
58
  },
31
59
  // @ts-ignore
32
60
  render: function render(createElement) {
33
- var _this = this;
34
61
  var h = gh || createElement;
35
62
  return h("div", {
36
63
  "class": "k-scheduler-row",
37
64
  key: this.ri.groupIndex
38
- }, [this.monthSlots.filter(function (slot) {
39
- return slot.group.index === _this.ri.groupIndex && slot.range.index === 0;
40
- }).map(function (slot, slotIndex) {
65
+ }, [this.currentCellSlots.map(function (slot, slotIndex) {
41
66
  return (
42
67
  // @ts-ignore function children
43
68
  h(DateHeaderCell, {
@@ -3,7 +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
- var inject = allVue.inject;
6
+ import { COLLECTION_ACTION } from '../../utils/main';
7
7
  import { SchedulerEditSlot } from '../../slots/SchedulerEditSlot';
8
8
  import { isInTimeRange, intersects, first, last } from '../../utils/main';
9
9
  import { CurrentTimeMarker } from '../../components/CurrentTimeMarker';
@@ -30,8 +30,50 @@ var TimelineViewBodyVue2 = {
30
30
  },
31
31
  ks: {
32
32
  default: null
33
+ },
34
+ setSlots: {
35
+ default: null
33
36
  }
34
37
  },
38
+ provide: function provide() {
39
+ return {
40
+ ksSlots: this.ksSlots
41
+ };
42
+ },
43
+ data: function data() {
44
+ var timelineSlots = this.timelineSlots;
45
+ var groupIndex = this.groupIndex !== undefined ? this.groupIndex : this.ri.groupIndex;
46
+ return {
47
+ ksSlots: {
48
+ cSlots: this.calculateRanges(timelineSlots, groupIndex, this.ranges)
49
+ }
50
+ };
51
+ },
52
+ watch: {
53
+ currentCellSlots: function currentCellSlots(newValue) {
54
+ this.ksSlots.cSlots = newValue;
55
+ }
56
+ },
57
+ computed: {
58
+ currentCellSlots: function currentCellSlots() {
59
+ var timelineSlots = this.timelineSlots;
60
+ var groupIndex = this.groupIndex !== undefined ? this.groupIndex : this.ri.groupIndex;
61
+ return this.calculateRanges(timelineSlots, groupIndex, this.ranges);
62
+ }
63
+ },
64
+ destroyed: !!isV3 ? undefined : function () {
65
+ this.setSlots({
66
+ type: COLLECTION_ACTION.remove,
67
+ item: this
68
+ });
69
+ },
70
+ // @ts-ignore
71
+ unmounted: function unmounted() {
72
+ this.setSlots({
73
+ type: COLLECTION_ACTION.remove,
74
+ item: this
75
+ });
76
+ },
35
77
  // @ts-ignore
36
78
  setup: !isV3 ? undefined : function () {
37
79
  var v3 = !!isV3;
@@ -49,54 +91,33 @@ var TimelineViewBodyVue2 = {
49
91
  var editable = this.$props.editable;
50
92
  return h("div", {
51
93
  "class": "k-scheduler-row"
52
- }, [this.ranges.map(function (_, rangeIndex) {
53
- return this.timelineSlots.filter(function (s) {
54
- return s.group.index === groupIndex && s.range.index === rangeIndex;
55
- }).map(function (slot, slotIndex, filtered) {
56
- return h(SchedulerEditSlot, {
57
- key: "".concat(slot.start.getTime(), ":").concat(slot.group.index),
94
+ }, [this.currentCellSlots.map(function (cSlot, slotIndex, filtered) {
95
+ return h(SchedulerEditSlot, {
96
+ slotRender: that.$props.slotRender,
97
+ attrs: this.v3 ? undefined : {
58
98
  slotRender: that.$props.slotRender,
59
- attrs: this.v3 ? undefined : {
60
- slotRender: that.$props.slotRender,
61
- viewSlot: that.$props.viewSlot,
62
- index: slot.index,
63
- start: slot.start,
64
- end: slot.end,
65
- zonedStart: slot.zonedStart,
66
- zonedEnd: slot.zonedEnd,
67
- items: slot.items,
68
- group: slot.group,
69
- range: slot.range,
70
- isAllDay: slot.isAllDay,
71
- form: that.$props.form,
72
- isWorkHour: isInTimeRange(slot.zonedStart, that.workDayStart, that.workDayEnd),
73
- col: orientation === 'horizontal' ? rangeIndex * filtered.length + slotIndex + filtered.length * ranges.length * (groupIndex || 0) : rangeIndex * filtered.length + slotIndex,
74
- row: orientation === 'horizontal' ? 0 : groupIndex || 0,
75
- expandable: true,
76
- editable: editable
77
- },
78
99
  viewSlot: that.$props.viewSlot,
79
- index: slot.index,
80
- start: slot.start,
81
- end: slot.end,
82
- zonedStart: slot.zonedStart,
83
- zonedEnd: slot.zonedEnd,
84
- items: slot.items,
85
- group: slot.group,
86
- range: slot.range,
87
- isAllDay: slot.isAllDay,
100
+ index: slotIndex,
88
101
  form: that.$props.form,
89
- onDataaction: that.handleDataAction,
90
- on: this.v3 ? undefined : {
91
- "dataaction": that.handleDataAction
92
- },
93
- isWorkHour: isInTimeRange(slot.zonedStart, that.workDayStart, that.workDayEnd),
94
- col: orientation === 'horizontal' ? rangeIndex * filtered.length + slotIndex + filtered.length * ranges.length * (groupIndex || 0) : rangeIndex * filtered.length + slotIndex,
102
+ isWorkHour: isInTimeRange(cSlot.zonedStart, that.workDayStart, that.workDayEnd),
103
+ col: orientation === 'horizontal' ? cSlot.range.index * filtered.length + slotIndex + filtered.length * ranges.length * (groupIndex || 0) : cSlot.range.index * filtered.length + slotIndex,
95
104
  row: orientation === 'horizontal' ? 0 : groupIndex || 0,
96
105
  expandable: true,
97
106
  editable: editable
98
- });
99
- }, true);
107
+ },
108
+ viewSlot: that.$props.viewSlot,
109
+ index: slotIndex,
110
+ form: that.$props.form,
111
+ onDataaction: that.handleDataAction,
112
+ on: this.v3 ? undefined : {
113
+ "dataaction": that.handleDataAction
114
+ },
115
+ isWorkHour: isInTimeRange(cSlot.zonedStart, that.workDayStart, that.workDayEnd),
116
+ col: orientation === 'horizontal' ? cSlot.range.index * filtered.length + slotIndex + filtered.length * ranges.length * (groupIndex || 0) : cSlot.range.index * filtered.length + slotIndex,
117
+ row: orientation === 'horizontal' ? 0 : groupIndex || 0,
118
+ expandable: true,
119
+ editable: editable
120
+ });
100
121
  }, this), this.$props.currentTimeMarker && intersects(first(ranges).start, last(ranges).end, new Date(), new Date(), true) && h(CurrentTimeMarker, {
101
122
  groupIndex: groupIndex,
102
123
  attrs: this.v3 ? undefined : {
@@ -109,6 +130,13 @@ var TimelineViewBodyVue2 = {
109
130
  methods: {
110
131
  handleDataAction: function handleDataAction(action) {
111
132
  this.$emit('dataaction', action);
133
+ },
134
+ calculateRanges: function calculateRanges(timelineSlots, groupIndex, ranges) {
135
+ return ranges.map(function (_, rangeIndex) {
136
+ return timelineSlots.filter(function (s) {
137
+ return s.group.index === groupIndex && s.range.index === rangeIndex;
138
+ });
139
+ }).flat();
112
140
  }
113
141
  }
114
142
  };
@@ -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);