@progress/kendo-vue-scheduler 3.2.5 → 3.2.7-dev.202205021145

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 (76) hide show
  1. package/dist/cdn/js/kendo-vue-scheduler.js +2 -2
  2. package/dist/es/components/BaseView.js +14 -12
  3. package/dist/es/components/SchedulerForm.js +1 -1
  4. package/dist/es/components/header/view-selector/ViewSelectorList.js +9 -7
  5. package/dist/es/editors/SchedulerFormEditor.js +25 -2
  6. package/dist/es/hooks/use-items-focus.js +8 -8
  7. package/dist/es/hooks/use-items-selection.js +11 -11
  8. package/dist/es/hooks/use-slots-focus.js +20 -20
  9. package/dist/es/hooks/use-slots-selection.js +4 -4
  10. package/dist/es/hooks/useSlotExpand.js +1 -1
  11. package/dist/es/items/SchedulerEditItem.d.ts +1 -1
  12. package/dist/es/items/SchedulerEditItem.js +145 -119
  13. package/dist/es/items/SchedulerItem.d.ts +1 -0
  14. package/dist/es/items/SchedulerItem.js +408 -167
  15. package/dist/es/items/SchedulerViewItem.d.ts +1 -0
  16. package/dist/es/items/SchedulerViewItem.js +17 -17
  17. package/dist/es/items/hooks/use-drag-item.js +5 -3
  18. package/dist/es/items/hooks/use-resize-item.d.ts +2 -4
  19. package/dist/es/items/hooks/use-resize-item.js +278 -176
  20. package/dist/es/models/SchedulerView.d.ts +2 -0
  21. package/dist/es/package-metadata.js +1 -1
  22. package/dist/es/slots/SchedulerEditSlot.js +36 -48
  23. package/dist/es/slots/SchedulerSlot.d.ts +2 -0
  24. package/dist/es/slots/SchedulerSlot.js +46 -3
  25. package/dist/es/slots/SchedulerViewSlot.js +33 -5
  26. package/dist/es/tasks/SchedulerEditTask.js +14 -64
  27. package/dist/es/tasks/SchedulerTask.d.ts +12 -2
  28. package/dist/es/tasks/SchedulerTask.js +54 -3
  29. package/dist/es/tasks/SchedulerViewTask.js +21 -3
  30. package/dist/es/utils/index.d.ts +4 -0
  31. package/dist/es/utils/index.js +23 -14
  32. package/dist/es/views/common/SchedulerDrag.js +1 -0
  33. package/dist/es/views/common/SchedulerResize.js +69 -21
  34. package/dist/es/views/common/VerticalResourceIterator.js +2 -2
  35. package/dist/es/views/day/DayView.js +2 -1
  36. package/dist/es/views/day/MultiDayView.d.ts +4 -0
  37. package/dist/es/views/day/MultiDayView.js +86 -15
  38. package/dist/es/views/week/WeekView.js +2 -1
  39. package/dist/npm/components/BaseView.js +14 -12
  40. package/dist/npm/components/SchedulerForm.js +1 -1
  41. package/dist/npm/components/header/view-selector/ViewSelectorList.js +9 -7
  42. package/dist/npm/editors/SchedulerFormEditor.js +25 -2
  43. package/dist/npm/hooks/use-items-focus.js +8 -8
  44. package/dist/npm/hooks/use-items-selection.js +11 -11
  45. package/dist/npm/hooks/use-slots-focus.js +20 -20
  46. package/dist/npm/hooks/use-slots-selection.js +4 -4
  47. package/dist/npm/hooks/useSlotExpand.js +1 -1
  48. package/dist/npm/items/SchedulerEditItem.d.ts +1 -1
  49. package/dist/npm/items/SchedulerEditItem.js +144 -118
  50. package/dist/npm/items/SchedulerItem.d.ts +1 -0
  51. package/dist/npm/items/SchedulerItem.js +407 -166
  52. package/dist/npm/items/SchedulerViewItem.d.ts +1 -0
  53. package/dist/npm/items/SchedulerViewItem.js +17 -17
  54. package/dist/npm/items/hooks/use-drag-item.js +5 -3
  55. package/dist/npm/items/hooks/use-resize-item.d.ts +2 -4
  56. package/dist/npm/items/hooks/use-resize-item.js +281 -176
  57. package/dist/npm/models/SchedulerView.d.ts +2 -0
  58. package/dist/npm/package-metadata.js +1 -1
  59. package/dist/npm/slots/SchedulerEditSlot.js +35 -48
  60. package/dist/npm/slots/SchedulerSlot.d.ts +2 -0
  61. package/dist/npm/slots/SchedulerSlot.js +47 -3
  62. package/dist/npm/slots/SchedulerViewSlot.js +33 -5
  63. package/dist/npm/tasks/SchedulerEditTask.js +14 -66
  64. package/dist/npm/tasks/SchedulerTask.d.ts +12 -2
  65. package/dist/npm/tasks/SchedulerTask.js +56 -3
  66. package/dist/npm/tasks/SchedulerViewTask.js +21 -3
  67. package/dist/npm/utils/index.d.ts +4 -0
  68. package/dist/npm/utils/index.js +24 -15
  69. package/dist/npm/views/common/SchedulerDrag.js +1 -0
  70. package/dist/npm/views/common/SchedulerResize.js +69 -21
  71. package/dist/npm/views/common/VerticalResourceIterator.js +2 -2
  72. package/dist/npm/views/day/DayView.js +2 -1
  73. package/dist/npm/views/day/MultiDayView.d.ts +4 -0
  74. package/dist/npm/views/day/MultiDayView.js +87 -15
  75. package/dist/npm/views/week/WeekView.js +2 -1
  76. package/package.json +12 -12
@@ -525,31 +525,40 @@ export var noop = function () {
525
525
  };
526
526
  /** @hidden */
527
527
  export var findFirstItem = function (current) {
528
- var next = current.$props.items.find(function (i) { return i.order === 0; }) || current.$props.items[0];
529
- return next && next.refTo.current;
528
+ var next = current.props.items.find(function (i) { return i.order === 0; }) || current.props.items[0];
529
+ return next;
530
530
  };
531
531
  /** @hidden */
532
+ export var compareItems = function (f, s, ignoreIsAllDay) { return Boolean(f.uid === s.uid
533
+ && ((f.occurrenceId === undefined) ||
534
+ f.occurrenceId === s.occurrenceId)
535
+ && (f.group.index === s.group.index)
536
+ && (f.range.index === s.range.index)
537
+ && (ignoreIsAllDay || f.isAllDay === s.isAllDay)); };
538
+ /** @hidden */
539
+ export var compareSlots = function (f, s) { return Boolean(f.start.getTime() === s.start.getTime()
540
+ && f.end.getTime() === s.end.getTime()
541
+ && f.index === s.index
542
+ && f.group.index === s.group.index
543
+ && f.range.index === s.range.index
544
+ && f.isAllDay === s.isAllDay); };
545
+ /** @hidden */
532
546
  export var findNextItem = function (ref, all, ignoreIsAllDay, backwards) {
533
547
  if (ignoreIsAllDay === void 0) { ignoreIsAllDay = false; }
534
548
  if (backwards === void 0) { backwards = false; }
535
- var current = ref.current;
549
+ var current = ref;
536
550
  if (!current || !all) {
537
551
  return null;
538
552
  }
539
- var filtered = all.filter(function (i) { return i.current !== null && i.current.element !== null; });
553
+ var filtered = all.filter(function (i) { return i.element !== null; });
540
554
  var sorted = orderBy(filtered, [
541
- { field: 'current.props.group.index', dir: 'asc' },
542
- { field: 'current.props.range.index', dir: 'asc' },
543
- (ignoreIsAllDay ? { field: '' } : { field: 'current.props.isAllDay', dir: 'desc' }),
544
- { field: 'current.props.start', dir: 'asc' }
555
+ { field: 'group.index', dir: 'asc' },
556
+ { field: 'range.index', dir: 'asc' },
557
+ (ignoreIsAllDay ? { field: '' } : { field: 'isAllDay', dir: 'desc' }),
558
+ { field: 'start', dir: 'asc' }
545
559
  ]);
546
560
  var currentIndex = sorted
547
- .findIndex(function (i) { return i.current !== null && Boolean(i.current.props.uid === current.props.uid
548
- && ((i.current.props.occurrenceId === undefined) ||
549
- i.current.props.occurrenceId === current.props.occurrenceId)
550
- && (i.current.props.group.index === current.props.group.index)
551
- && (i.current.props.range.index === current.props.range.index)
552
- && (ignoreIsAllDay || i.current.props.isAllDay === current.props.isAllDay)); });
561
+ .findIndex(function (i) { return compareItems(i, current, ignoreIsAllDay); });
553
562
  var next = sorted[currentIndex + (backwards ? -1 : 1)];
554
563
  return next;
555
564
  };
@@ -17,6 +17,7 @@ import { mapItemsToSlots } from '../../utils'; // tslint:enable:max-line-length
17
17
 
18
18
  var SchedulerDragVue2 = {
19
19
  name: 'KendoSchedulerDrag',
20
+ inheritAttrs: false,
20
21
  props: {
21
22
  ignoreIsAllDay: Boolean,
22
23
  dataItem: Object,
@@ -20,6 +20,7 @@ var SchedulerResizeVue2 = {
20
20
  props: {
21
21
  ignoreIsAllDay: Boolean,
22
22
  dataItem: Object,
23
+ format: String,
23
24
  vertical: Boolean,
24
25
  viewItem: [String, Function, Object],
25
26
  item: {
@@ -32,13 +33,16 @@ var SchedulerResizeVue2 = {
32
33
  inject: {
33
34
  ks: {
34
35
  default: null
36
+ },
37
+ bv: {
38
+ default: null
35
39
  }
36
40
  },
37
41
  computed: {
38
42
  occurrences: function occurrences() {
39
43
  return toOccurrences([this.$props.dataItem], {
40
- dateRange: this.dateRange,
41
- fields: this.fields,
44
+ dateRange: this.ks.dateRange,
45
+ fields: this.ks.fields,
42
46
  timezone: this.ks.timezone
43
47
  });
44
48
  },
@@ -46,8 +50,8 @@ var SchedulerResizeVue2 = {
46
50
  return toItems(this.occurrences, {
47
51
  timezone: this.ks.timezone
48
52
  }, {
49
- groups: this.groups,
50
- ranges: this.ranges
53
+ groups: this.ks.groups,
54
+ ranges: this.bv.ranges
51
55
  });
52
56
  }
53
57
  },
@@ -60,36 +64,80 @@ var SchedulerResizeVue2 = {
60
64
  },
61
65
  // @ts-ignore
62
66
  render: function render(createElement) {
63
- var h = gh || createElement; // const ranges = useSchedulerViewRangesContext();
64
- // const { timezone } = useSchedulerPropsContext();
65
- // const groups = useSchedulerGroupsContext();
66
- // const fields = useSchedulerFieldsContext();
67
- // const dateRange = useSchedulerDateRangeContext();
68
- // const [viewSlots] = useSchedulerViewSlotsContext();
69
-
70
- var slots = (this.viewSlots || []).map(function (s) {
71
- return s.current.props;
67
+ var h = gh || createElement;
68
+ var slots = (this.bv.slots || []).map(function (s) {
69
+ return s;
72
70
  });
73
71
  mapItemsToSlots(this.items, slots);
74
72
  return (// fragment
75
- h("div", [this.items.map(function (_item, idx) {
73
+ // <div>
74
+ this.items.map(function (item, idx) {
76
75
  return h(SchedulerViewItem, {
77
- key: idx // {...item}
78
- ,
79
- format: this.$props.format,
76
+ key: idx,
77
+ uid: item.uid,
80
78
  attrs: this.v3 ? undefined : {
81
- format: this.$props.format,
82
- item: this.$props.item,
79
+ uid: item.uid,
80
+ start: item.start,
81
+ end: item.end,
82
+ originalStart: item.originalStart,
83
+ startTimezone: item.startTimezone,
84
+ endTimezone: item.endTimezone,
85
+ isAllDay: item.isAllDay,
86
+ title: item.title,
87
+ description: item.description,
88
+ occurrenceId: item.occurrenceId,
89
+ recurrenceExceptions: item.recurrenceExceptions,
90
+ recurrenceRule: item.recurrenceRule,
91
+ recurrenceId: item.recurrenceId,
92
+ dataItem: item.dataItem,
93
+ itemRef: item.itemRef,
94
+ head: item.head,
95
+ tail: item.tail,
96
+ order: item.order,
97
+ zonedStart: item.zonedStart,
98
+ zonedEnd: item.zonedEnd,
99
+ slots: item.slots,
100
+ group: item.group,
101
+ range: item.range,
102
+ isException: item.isException,
103
+ isRecurring: item.isRecurring,
104
+ format: this.format // item={this.$props.item}
105
+ ,
83
106
  resizeHint: true,
84
107
  vertical: this.$props.vertical,
85
108
  ignoreIsAllDay: this.$props.ignoreIsAllDay
86
109
  },
87
- item: this.$props.item,
110
+ start: item.start,
111
+ end: item.end,
112
+ originalStart: item.originalStart,
113
+ startTimezone: item.startTimezone,
114
+ endTimezone: item.endTimezone,
115
+ isAllDay: item.isAllDay,
116
+ title: item.title,
117
+ description: item.description,
118
+ occurrenceId: item.occurrenceId,
119
+ recurrenceExceptions: item.recurrenceExceptions,
120
+ recurrenceRule: item.recurrenceRule,
121
+ recurrenceId: item.recurrenceId,
122
+ dataItem: item.dataItem,
123
+ itemRef: item.itemRef,
124
+ head: item.head,
125
+ tail: item.tail,
126
+ order: item.order,
127
+ zonedStart: item.zonedStart,
128
+ zonedEnd: item.zonedEnd,
129
+ slots: item.slots,
130
+ group: item.group,
131
+ range: item.range,
132
+ isException: item.isException,
133
+ isRecurring: item.isRecurring,
134
+ format: this.format,
88
135
  resizeHint: true,
89
136
  vertical: this.$props.vertical,
90
137
  ignoreIsAllDay: this.$props.ignoreIsAllDay
91
138
  });
92
- }, this)])
139
+ }, this) // </div>
140
+
93
141
  );
94
142
  }
95
143
  };
@@ -105,7 +105,7 @@ var VerticalResourceIteratorVue2 = {
105
105
  numberOfDays: more.numberOfDays,
106
106
  workWeekStart: more.workWeekStart,
107
107
  workWeekEnd: more.workWeekEnd,
108
- editable: this.$props.editable
108
+ editable: more.editable
109
109
  },
110
110
  groupIndex: currentGroupIndex,
111
111
  onDataaction: this.handleDataAction,
@@ -122,7 +122,7 @@ var VerticalResourceIteratorVue2 = {
122
122
  numberOfDays: more.numberOfDays,
123
123
  workWeekStart: more.workWeekStart,
124
124
  workWeekEnd: more.workWeekEnd,
125
- editable: this.$props.editable
125
+ editable: more.editable
126
126
  });
127
127
  }, this) : null;
128
128
  };
@@ -92,7 +92,8 @@ var DayViewVue2 = {
92
92
  editable: {
93
93
  type: [Boolean, Object],
94
94
  default: false
95
- }
95
+ },
96
+ format: String
96
97
  },
97
98
  inject: {
98
99
  kendoLocalizationService: {
@@ -106,6 +106,10 @@ export interface MultiDayViewProps extends SchedulerViewProps {
106
106
  * Overrides the `dragItem` prop of the Scheduler for the specified view only.
107
107
  */
108
108
  dragItem?: any;
109
+ /**
110
+ * Overrides the `resizeItem` prop of the Scheduler for the specified view only.
111
+ */
112
+ resizeItem?: any;
109
113
  /**
110
114
  * Overrides the `viewItem` prop of the Scheduler for the specified view only.
111
115
  */
@@ -51,6 +51,7 @@ import { SchedulerDrag } from '../../views/common/SchedulerDrag';
51
51
  import { SchedulerEditSlot } from '../../slots/SchedulerEditSlot';
52
52
  import { SchedulerEditItem } from '../../items/SchedulerEditItem';
53
53
  import { CurrentTimeMarker } from '../../components/CurrentTimeMarket';
54
+ import { SchedulerResize } from '../common/SchedulerResize';
54
55
  var FIRST_INDEX = 0;
55
56
  export var GRID_OFFSET = 1; // tslint:enable:max-line-length
56
57
 
@@ -133,6 +134,16 @@ var MultiDayViewVue2 = {
133
134
  return undefined;
134
135
  }
135
136
  },
137
+ resizeItem: {
138
+ type: Object,
139
+ default: function _default() {
140
+ return undefined;
141
+ }
142
+ },
143
+ format: {
144
+ type: String,
145
+ default: 't'
146
+ },
136
147
  // showCurrentTime: {
137
148
  // type: Boolean,
138
149
  // default: true
@@ -254,11 +265,15 @@ var MultiDayViewVue2 = {
254
265
  },
255
266
  compDragItem: function compDragItem() {
256
267
  return this.dragItem !== undefined ? this.dragItem : this.currentDragItem;
268
+ },
269
+ compResizeItem: function compResizeItem() {
270
+ return this.resizeItem !== undefined ? this.resizeItem : this.currentResizeItem;
257
271
  }
258
272
  },
259
273
  data: function data() {
260
274
  return {
261
- currentDragItem: undefined
275
+ currentDragItem: undefined,
276
+ currentResizeItem: undefined
262
277
  };
263
278
  },
264
279
  created: function created() {
@@ -322,6 +337,41 @@ var MultiDayViewVue2 = {
322
337
  }));
323
338
  };
324
339
 
340
+ var resizeItemClue = function resizeItemClue(vertical) {
341
+ return this.compResizeItem && this.editable.resize && (Array.isArray(this.compResizeItem) ? this.compResizeItem.map(function (ri, idx) {
342
+ return h(SchedulerResize, {
343
+ key: idx,
344
+ format: this.$props.format // ignoreIsAllDay={ignoreIsAllDay}
345
+ ,
346
+ attrs: this.v3 ? undefined : {
347
+ format: this.$props.format,
348
+ dataItem: ri,
349
+ viewItem: this.$props.viewItem,
350
+ item: this.$props.item,
351
+ vertical: vertical
352
+ },
353
+ dataItem: ri,
354
+ viewItem: this.$props.viewItem,
355
+ item: this.$props.item,
356
+ vertical: vertical
357
+ });
358
+ }, this) : h(SchedulerResize, {
359
+ format: this.$props.format // ignoreIsAllDay={ignoreIsAllDay}
360
+ ,
361
+ attrs: this.v3 ? undefined : {
362
+ format: this.$props.format,
363
+ dataItem: this.compResizeItem,
364
+ viewItem: this.$props.viewItem,
365
+ item: this.$props.item,
366
+ vertical: vertical
367
+ },
368
+ dataItem: this.compResizeItem,
369
+ viewItem: this.$props.viewItem,
370
+ item: this.$props.item,
371
+ vertical: vertical
372
+ }));
373
+ };
374
+
325
375
  return (// @ts-ignore function children
326
376
  h(BaseView, {
327
377
  id: this.$props.id,
@@ -487,16 +537,18 @@ var MultiDayViewVue2 = {
487
537
  form: this.$props.form,
488
538
  onDataaction: this.handleDataAction,
489
539
  on: this.v3 ? undefined : {
490
- "dataaction": this.handleDataAction
540
+ "dataaction": this.handleDataAction,
541
+ "dragitemchange": this.handleDragItemChange,
542
+ "resizeitemchange": this.handleResizeItemChange
491
543
  },
544
+ onDragitemchange: this.handleDragItemChange,
545
+ onResizeitemchange: this.handleResizeItemChange,
492
546
  item: this.$props.item,
493
547
  viewItem: this.$props.viewItem,
494
548
  editable: this.$props.editable,
495
549
  vertical: false
496
550
  });
497
- }, _this2) // ,
498
- // dragItemClue.call(this, false)
499
- ] : // @ts-ignore function children
551
+ }, _this2), _this2.compDragItem && _this2.compDragItem.isAllDay && dragItemClue.call(_this2, false), _this2.compResizeItem && _this2.compResizeItem.isAllDay && resizeItemClue.call(_this2, false)] : // @ts-ignore function children
500
552
  h(VerticalResourceIterator, {
501
553
  group: _this2.ks.props.group,
502
554
  attrs: _this2.v3 ? undefined : {
@@ -762,15 +814,19 @@ var MultiDayViewVue2 = {
762
814
  isRecurring: item.isRecurring,
763
815
  onDataaction: this.handleDataAction,
764
816
  on: this.v3 ? undefined : {
765
- "dataaction": this.handleDataAction
817
+ "dataaction": this.handleDataAction,
818
+ "dragitemchange": this.handleDragItemChange,
819
+ "resizeitemchange": this.handleResizeItemChange
766
820
  },
821
+ onDragitemchange: this.handleDragItemChange,
822
+ onResizeitemchange: this.handleResizeItemChange,
767
823
  viewItem: this.$props.viewItem,
768
824
  item: this.$props.item,
769
825
  form: this.$props.form,
770
826
  editable: this.$props.editable,
771
827
  vertical: false
772
828
  });
773
- }, _this2)], timeItems.map(function (item) {
829
+ }, _this2), _this2.compDragItem && _this2.compDragItem.isAllDay && dragItemClue.call(_this2, true), _this2.compResizeItem && _this2.compResizeItem.isAllDay && resizeItemClue.call(_this2, true)], timeItems.map(function (item) {
774
830
  return h(EditItem, {
775
831
  key: item.isRecurring ? item.uid + ":" + item.group.index + ":" + item.range.index + ":" + item.originalStart : item.uid + ":" + item.group.index + ":" + item.range.index,
776
832
  uid: item.uid,
@@ -835,16 +891,18 @@ var MultiDayViewVue2 = {
835
891
  onDataaction: this.handleDataAction,
836
892
  on: this.v3 ? undefined : {
837
893
  "dataaction": this.handleDataAction,
838
- "dragitemchange": this.handleDragItemChange
894
+ "dragitemchange": this.handleDragItemChange,
895
+ "resizeitemchange": this.handleResizeItemChange
839
896
  },
840
897
  onDragitemchange: this.handleDragItemChange,
898
+ onResizeitemchange: this.handleResizeItemChange,
841
899
  viewItem: this.$props.viewItem,
842
900
  item: this.$props.item,
843
901
  form: this.$props.form,
844
902
  editable: this.$props.editable,
845
903
  vertical: true
846
904
  });
847
- }, _this2), dragItemClue.call(_this2, true)])];
905
+ }, _this2), _this2.compDragItem && !_this2.compDragItem.isAllDay && dragItemClue.call(_this2, true), _this2.compResizeItem && !_this2.compResizeItem.isAllDay && resizeItemClue.call(_this2, true)])];
848
906
  } : [h("div", {
849
907
  "class": "k-scheduler-head"
850
908
  }, [_this2.ks.orientation === 'horizontal' ? [h(HorizontalResourceIterator, {
@@ -994,14 +1052,18 @@ var MultiDayViewVue2 = {
994
1052
  form: this.$props.form,
995
1053
  onDataaction: this.handleDataAction,
996
1054
  on: this.v3 ? undefined : {
997
- "dataaction": this.handleDataAction
1055
+ "dataaction": this.handleDataAction,
1056
+ "dragitemchange": this.handleDragItemChange,
1057
+ "resizeitemchange": this.handleResizeItemChange
998
1058
  },
1059
+ onDragitemchange: this.handleDragItemChange,
1060
+ onResizeitemchange: this.handleResizeItemChange,
999
1061
  item: this.$props.item,
1000
1062
  viewItem: this.$props.viewItem,
1001
1063
  editable: this.$props.editable,
1002
1064
  vertical: false
1003
1065
  });
1004
- }, _this2)] : h(VerticalResourceIterator, {
1066
+ }, _this2), _this2.compDragItem && _this2.compDragItem.isAllDay && dragItemClue.call(_this2, false), _this2.compResizeItem && _this2.compResizeItem.isAllDay && resizeItemClue.call(_this2, false)] : h(VerticalResourceIterator, {
1005
1067
  group: _this2.ks.props.group,
1006
1068
  attrs: _this2.v3 ? undefined : {
1007
1069
  group: _this2.ks.props.group,
@@ -1253,15 +1315,19 @@ var MultiDayViewVue2 = {
1253
1315
  isRecurring: item.isRecurring,
1254
1316
  onDataaction: this.handleDataAction,
1255
1317
  on: this.v3 ? undefined : {
1256
- "dataaction": this.handleDataAction
1318
+ "dataaction": this.handleDataAction,
1319
+ "dragitemchange": this.handleDragItemChange,
1320
+ "resizeitemchange": this.handleResizeItemChange
1257
1321
  },
1322
+ onDragitemchange: this.handleDragItemChange,
1323
+ onResizeitemchange: this.handleResizeItemChange,
1258
1324
  viewItem: this.$props.viewItem,
1259
1325
  item: this.$props.item,
1260
1326
  form: this.$props.form,
1261
1327
  editable: this.$props.editable,
1262
1328
  vertical: false
1263
1329
  });
1264
- }, _this2)], timeItems.map(function (item) {
1330
+ }, _this2), _this2.compDragItem && _this2.compDragItem.isAllDay && dragItemClue.call(_this2, true), _this2.compResizeItem && _this2.compResizeItem.isAllDay && resizeItemClue.call(_this2, true)], timeItems.map(function (item) {
1265
1331
  return h(EditItem, {
1266
1332
  key: item.isRecurring ? item.uid + ":" + item.group.index + ":" + item.range.index + ":" + item.originalStart : item.uid + ":" + item.group.index + ":" + item.range.index,
1267
1333
  uid: item.uid,
@@ -1326,16 +1392,18 @@ var MultiDayViewVue2 = {
1326
1392
  onDataaction: this.handleDataAction,
1327
1393
  on: this.v3 ? undefined : {
1328
1394
  "dataaction": this.handleDataAction,
1329
- "dragitemchange": this.handleDragItemChange
1395
+ "dragitemchange": this.handleDragItemChange,
1396
+ "resizeitemchange": this.handleResizeItemChange
1330
1397
  },
1331
1398
  onDragitemchange: this.handleDragItemChange,
1399
+ onResizeitemchange: this.handleResizeItemChange,
1332
1400
  viewItem: this.$props.viewItem,
1333
1401
  item: this.$props.item,
1334
1402
  form: this.$props.form,
1335
1403
  editable: this.$props.editable,
1336
1404
  vertical: true
1337
1405
  });
1338
- }, _this2), dragItemClue.call(_this2, true)])])
1406
+ }, _this2), _this2.compDragItem && !_this2.compDragItem.isAllDay && dragItemClue.call(_this2, true), _this2.compResizeItem && !_this2.compResizeItem.isAllDay && resizeItemClue.call(_this2, true)])])
1339
1407
  );
1340
1408
  },
1341
1409
  methods: {
@@ -1344,6 +1412,9 @@ var MultiDayViewVue2 = {
1344
1412
  },
1345
1413
  handleDragItemChange: function handleDragItemChange(item) {
1346
1414
  this.currentDragItem = item;
1415
+ },
1416
+ handleResizeItemChange: function handleResizeItemChange(item) {
1417
+ this.currentResizeItem = item;
1347
1418
  }
1348
1419
  }
1349
1420
  };
@@ -90,7 +90,8 @@ var WeekViewVue2 = {
90
90
  editable: {
91
91
  type: [Boolean, Object],
92
92
  default: false
93
- }
93
+ },
94
+ format: String
94
95
  },
95
96
  inject: {
96
97
  kendoLocalizationService: {
@@ -42,10 +42,10 @@ var BaseViewVue2 = {
42
42
  bv: this.bv,
43
43
  setItems: this.dispatchItems,
44
44
  setSlots: this.dispatchSlots,
45
- setSelectedSlots: use_slots_selection_1.dispatchSelectedSlots,
46
- setSelectedItems: use_items_selection_1.dispatchSelectedItems,
47
- setFocusedItems: hooks_1.dispatchFocusedItems,
48
- setFocusedSlots: hooks_1.dispatchFocusedSlots // setActiveViewName: this.handleActiveViewNameChange
45
+ dispatchSelectedSlots: this.handleSchedulerSlotsSelectAction,
46
+ dispatchSelectedItems: this.handleSchedulerItemsSelectAction,
47
+ dispatchFocusedItems: this.setFocusedItems,
48
+ dispatchFocusedSlots: this.setFocusedSlots // setActiveViewName: this.handleActiveViewNameChange
49
49
 
50
50
  };
51
51
  },
@@ -107,21 +107,23 @@ var BaseViewVue2 = {
107
107
  });
108
108
  },
109
109
  handleSchedulerItemsSelectAction: function handleSchedulerItemsSelectAction(action, event) {
110
- this.dispatchSelectedSlots({
110
+ use_slots_selection_1.dispatchSelectedSlots.call(this, {
111
111
  type: use_slots_selection_1.SLOTS_SELECT_ACTION.reset
112
112
  });
113
- this.dispatchSelectedItems(action, event);
113
+ use_items_selection_1.dispatchSelectedItems.call(this, action, event);
114
114
  },
115
115
  handleSchedulerSlotsSelectAction: function handleSchedulerSlotsSelectAction(action, event) {
116
- this.dispatchSelectedItems({
116
+ use_items_selection_1.dispatchSelectedItems.call(this, {
117
117
  type: use_items_selection_1.ITEMS_SELECT_ACTION.reset
118
118
  }, event);
119
- this.dispatchSelectedSlots(action);
119
+ use_slots_selection_1.dispatchSelectedSlots.call(this, action);
120
+ },
121
+ setFocusedItems: function setFocusedItems(action, event) {
122
+ hooks_1.dispatchFocusedItems.call(this, action, event);
123
+ },
124
+ setFocusedSlots: function setFocusedSlots(action, event) {
125
+ hooks_1.dispatchFocusedSlots.call(this, action, event);
120
126
  },
121
- dispatchSelectedSlots: use_slots_selection_1.dispatchSelectedSlots,
122
- dispatchSelectedItems: use_items_selection_1.dispatchSelectedItems,
123
- dispatchFocusedItems: hooks_1.dispatchFocusedItems,
124
- dispatchFocusedSlots: hooks_1.dispatchFocusedSlots,
125
127
  dispatchItems: function dispatchItems(action) {
126
128
  switch (action.type) {
127
129
  case utils_1.COLLECTION_ACTION.add:
@@ -309,7 +309,7 @@ var SchedulerFormVue2 = {
309
309
  result[this.ks.fields.end] = [this.requiredValidator(formValueGetter(this.ks.fields.start)), this.endAfterStartValidator(formValueGetter(this.ks.fields.start), formValueGetter)].filter(Boolean).reduce(function (current, acc) {
310
310
  return current || acc;
311
311
  }, '');
312
- var additionalValidator = this.ksValidator(_dataItem, formValueGetter);
312
+ var additionalValidator = this.ksValidator(formValueGetter);
313
313
  return __assign(__assign({}, result), additionalValidator);
314
314
  }
315
315
  }
@@ -97,14 +97,9 @@ var ViewSelectorListVue2 = {
97
97
  }, [activeView && this.media === 'mobile' && // @ts-ignore function children
98
98
  h(kendo_vue_buttons_1.DropDownButton, {
99
99
  "class": "k-views-dropdown",
100
- onItemclick: this.handleItemClick,
101
- on: this.v3 ? undefined : {
102
- "itemclick": this.handleItemClick
103
- },
104
- popupSettings: {
105
- popupClass: 'k-scheduler-toolbar'
106
- },
100
+ tabIndex: -1,
107
101
  attrs: this.v3 ? undefined : {
102
+ tabIndex: -1,
108
103
  popupSettings: {
109
104
  popupClass: 'k-scheduler-toolbar'
110
105
  },
@@ -120,6 +115,13 @@ var ViewSelectorListVue2 = {
120
115
  }, this),
121
116
  text: activeView.title || activeName
122
117
  },
118
+ onItemclick: this.handleItemClick,
119
+ on: this.v3 ? undefined : {
120
+ "itemclick": this.handleItemClick
121
+ },
122
+ popupSettings: {
123
+ popupClass: 'k-scheduler-toolbar'
124
+ },
123
125
  textField: "title",
124
126
  items: views.map(function (v) {
125
127
  var nameTitle = 'scheduler.' + v.name + 'ViewTitle';
@@ -640,6 +640,8 @@ var SchedulerFormEditorVue2 = {
640
640
  }, _this.v3 ? function () {
641
641
  return [_this.kendoForm.errors[_this.ks.fields.description]];
642
642
  } : [_this.kendoForm.errors[_this.ks.fields.description]])])]), (_this.ks.props.resources || []).map(function (resource) {
643
+ var _this2 = this;
644
+
643
645
  return h("div", {
644
646
  key: resource.field
645
647
  }, [h("div", {
@@ -673,7 +675,17 @@ var SchedulerFormEditorVue2 = {
673
675
  textField: resource.textField,
674
676
  valueField: resource.valueField,
675
677
  colorField: resource.colorField
676
- })])]);
678
+ }), this.kendoForm.errors[resource.field] && // @ts-ignore function children
679
+ h(kendo_vue_form_1.Field, {
680
+ name: resource.field,
681
+ attrs: this.v3 ? undefined : {
682
+ name: resource.field,
683
+ component: kendo_vue_labels_1.Error
684
+ },
685
+ component: kendo_vue_labels_1.Error
686
+ }, this.v3 ? function () {
687
+ return [_this2.kendoForm.errors[resource.field]];
688
+ } : [_this2.kendoForm.errors[resource.field]])])]);
677
689
  }, _this), defaultSlots];
678
690
  } : [h("div", {
679
691
  "class": "k-form-field"
@@ -992,6 +1004,8 @@ var SchedulerFormEditorVue2 = {
992
1004
  }, _this.v3 ? function () {
993
1005
  return [_this.kendoForm.errors[_this.ks.fields.description]];
994
1006
  } : [_this.kendoForm.errors[_this.ks.fields.description]])])]), (_this.ks.props.resources || []).map(function (resource) {
1007
+ var _this2 = this;
1008
+
995
1009
  return h("div", {
996
1010
  key: resource.field
997
1011
  }, [h("div", {
@@ -1024,7 +1038,16 @@ var SchedulerFormEditorVue2 = {
1024
1038
  textField: resource.textField,
1025
1039
  valueField: resource.valueField,
1026
1040
  colorField: resource.colorField
1027
- })])]);
1041
+ }), this.kendoForm.errors[resource.field] && h(kendo_vue_form_1.Field, {
1042
+ name: resource.field,
1043
+ attrs: this.v3 ? undefined : {
1044
+ name: resource.field,
1045
+ component: kendo_vue_labels_1.Error
1046
+ },
1047
+ component: kendo_vue_labels_1.Error
1048
+ }, this.v3 ? function () {
1049
+ return [_this2.kendoForm.errors[resource.field]];
1050
+ } : [_this2.kendoForm.errors[resource.field]])])]);
1028
1051
  }, _this), defaultSlots])
1029
1052
  );
1030
1053
  },
@@ -28,15 +28,15 @@ exports.dispatchFocusedItems = function (action, event) {
28
28
  switch (action.type) {
29
29
  case ITEMS_FOCUS_ACTION.next:
30
30
  {
31
- if (!action.item || !action.item.current || !this.items) {
31
+ if (!action.item || !this.bv.items) {
32
32
  return;
33
33
  }
34
34
 
35
- var next = utils_1.findNextItem(action.item, this.items, action.ignoreIsAllDay, false);
35
+ var next = utils_1.findNextItem(action.item, this.bv.items, action.ignoreIsAllDay, false);
36
36
 
37
- if (next && next.current && next.current.element) {
37
+ if (next && next.element) {
38
38
  event.preventDefault();
39
- next.current.element.focus();
39
+ next.element.focus();
40
40
  }
41
41
 
42
42
  break;
@@ -44,15 +44,15 @@ exports.dispatchFocusedItems = function (action, event) {
44
44
 
45
45
  case ITEMS_FOCUS_ACTION.prev:
46
46
  {
47
- if (!action.item || !action.item.current || !this.items) {
47
+ if (!action.item || !this.bv.items) {
48
48
  return;
49
49
  }
50
50
 
51
- var next = utils_1.findNextItem(action.item, this.items, action.ignoreIsAllDay, true);
51
+ var next = utils_1.findNextItem(action.item, this.bv.items, action.ignoreIsAllDay, true);
52
52
 
53
- if (next && next.current && next.current.element) {
53
+ if (next && next.element) {
54
54
  event.preventDefault();
55
- next.current.element.focus();
55
+ next.element.focus();
56
56
  }
57
57
 
58
58
  break;