@progress/kendo-vue-scheduler 3.2.10 → 3.3.0-dev.202205091534

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 (38) hide show
  1. package/dist/cdn/js/kendo-vue-scheduler.js +2 -2
  2. package/dist/es/Scheduler.js +11 -9
  3. package/dist/es/components/SchedulerForm.d.ts +1 -0
  4. package/dist/es/components/SchedulerForm.js +16 -2
  5. package/dist/es/components/SchedulerOccurrenceDialog.js +17 -1
  6. package/dist/es/components/SchedulerRemoveDialog.js +18 -2
  7. package/dist/es/editors/ZonedDateTime.js +5 -1
  8. package/dist/es/hooks/use-items-focus.d.ts +1 -0
  9. package/dist/es/hooks/use-items-focus.js +18 -1
  10. package/dist/es/items/SchedulerEditItem.js +39 -86
  11. package/dist/es/items/SchedulerItem.js +57 -73
  12. package/dist/es/package-metadata.js +1 -1
  13. package/dist/es/slots/SchedulerEditSlot.js +20 -8
  14. package/dist/es/slots/SchedulerViewSlot.js +2 -2
  15. package/dist/es/tasks/SchedulerEditTask.js +3 -2
  16. package/dist/es/utils/index.d.ts +8 -0
  17. package/dist/es/utils/index.js +32 -12
  18. package/dist/es/views/common/SchedulerDrag.js +39 -48
  19. package/dist/es/views/common/SchedulerResize.js +39 -42
  20. package/dist/npm/Scheduler.js +12 -9
  21. package/dist/npm/components/SchedulerForm.d.ts +1 -0
  22. package/dist/npm/components/SchedulerForm.js +15 -1
  23. package/dist/npm/components/SchedulerOccurrenceDialog.js +18 -1
  24. package/dist/npm/components/SchedulerRemoveDialog.js +19 -2
  25. package/dist/npm/editors/ZonedDateTime.js +5 -1
  26. package/dist/npm/hooks/use-items-focus.d.ts +1 -0
  27. package/dist/npm/hooks/use-items-focus.js +17 -0
  28. package/dist/npm/items/SchedulerEditItem.js +34 -81
  29. package/dist/npm/items/SchedulerItem.js +57 -73
  30. package/dist/npm/package-metadata.js +1 -1
  31. package/dist/npm/slots/SchedulerEditSlot.js +19 -6
  32. package/dist/npm/slots/SchedulerViewSlot.js +2 -2
  33. package/dist/npm/tasks/SchedulerEditTask.js +3 -2
  34. package/dist/npm/utils/index.d.ts +8 -0
  35. package/dist/npm/utils/index.js +33 -13
  36. package/dist/npm/views/common/SchedulerDrag.js +39 -48
  37. package/dist/npm/views/common/SchedulerResize.js +39 -42
  38. package/package.json +12 -12
@@ -105,14 +105,6 @@ var SchedulerItemVue2 = {
105
105
  default: undefined
106
106
  }
107
107
  },
108
- data: function data() {
109
- return {
110
- resizeEast: null,
111
- resizeWest: null,
112
- resizeNorth: null,
113
- resizeSouth: null
114
- };
115
- },
116
108
  inject: {
117
109
  kendoLocalizationService: {
118
110
  default: null
@@ -146,6 +138,9 @@ var SchedulerItemVue2 = {
146
138
  }
147
139
  },
148
140
  computed: {
141
+ currentEditable: function currentEditable() {
142
+ return useEditable(this.$props.editable);
143
+ },
149
144
  resource: function resource() {
150
145
  return this.$props.group.resources.find(function (r) {
151
146
  return Boolean(r.colorField && r[r.colorField] !== '' && r[r.colorField] !== undefined);
@@ -162,7 +157,7 @@ var SchedulerItemVue2 = {
162
157
 
163
158
  return _a = {
164
159
  'k-event': !this.$props.resizeHint,
165
- 'k-state-selected': this.$props.selected && this.editable.select,
160
+ 'k-state-selected': this.$props.selected && this.currentEditable.select,
166
161
  'k-event-drag-hint': this.$props.dragHint,
167
162
  'k-scheduler-marquee': this.$props.resizeHint,
168
163
  'k-marquee': this.$props.resizeHint,
@@ -220,7 +215,6 @@ var SchedulerItemVue2 = {
220
215
 
221
216
  var h = gh || createElement;
222
217
  var defaultSlot = getDefaultSlots(this);
223
- var editable = useEditable(this.$props.editable);
224
218
  this.intl = provideIntlService(this);
225
219
  var localization = provideLocalizationService(this);
226
220
  var deleteMessage = localization.toLanguageString(deleteTitle, messages[deleteTitle]);
@@ -293,7 +287,7 @@ var SchedulerItemVue2 = {
293
287
  "class": "k-icon k-i-reload"
294
288
  }), !_this.$props.isRecurring && _this.$props.isException && h("span", {
295
289
  "class": "k-icon k-i-non-recurrence"
296
- })]), _this.formItem && !_this.showOccurrenceDialog && editable.edit && h(SchedulerForm, {
290
+ })]), _this.formItem && !_this.showOccurrenceDialog && _this.currentEditable.edit && h(SchedulerForm, {
297
291
  dataItem: _this.formItem,
298
292
  attrs: _this.v3 ? undefined : {
299
293
  dataItem: _this.formItem
@@ -321,7 +315,7 @@ var SchedulerItemVue2 = {
321
315
  },
322
316
  onOccurrenceclose: _this.ksOccurrenceClick,
323
317
  onSeriesclose: _this.ksSeriesClick
324
- }), _this.showRemoveDialog && _this.removeItem && editable.remove && h(SchedulerRemoveDialog, {
318
+ }), _this.showRemoveDialog && _this.removeItem && _this.currentEditable.remove && h(SchedulerRemoveDialog, {
325
319
  dataItem: _this.removeItem,
326
320
  attrs: _this.v3 ? undefined : {
327
321
  dataItem: _this.removeItem
@@ -336,7 +330,7 @@ var SchedulerItemVue2 = {
336
330
  onConfirm: _this.ksRemoveConfirm
337
331
  }), defaultSlot, !_this.$props.resizeHint && h("span", {
338
332
  "class": "k-event-actions"
339
- }, [editable.remove && h("a", {
333
+ }, [_this.currentEditable.remove && h("a", {
340
334
  tabIndex: -1,
341
335
  attrs: _this.v3 ? undefined : {
342
336
  tabIndex: -1,
@@ -356,7 +350,7 @@ var SchedulerItemVue2 = {
356
350
  "class": "k-icon k-i-close"
357
351
  })]), _this.$props.head && h("span", {
358
352
  "class": "k-icon k-i-arrow-60-right"
359
- })]), editable.resize && _this.$props.vertical && [// @ts-ignore function children
353
+ })]), _this.currentEditable.resize && _this.$props.vertical && [// @ts-ignore function children
360
354
  h(Draggable, {
361
355
  onPress: _this.handleResizePress,
362
356
  on: _this.v3 ? undefined : {
@@ -368,12 +362,10 @@ var SchedulerItemVue2 = {
368
362
  onRelease: _this.handleResizeRelease
369
363
  }, _this.v3 ? function () {
370
364
  return [h("span", {
371
- "class": "k-resize-handle k-resize-n",
372
- ref: _this.resizeNorth
365
+ "class": "k-resize-handle k-resize-n"
373
366
  })];
374
367
  } : [h("span", {
375
- "class": "k-resize-handle k-resize-n",
376
- ref: _this.resizeNorth
368
+ "class": "k-resize-handle k-resize-n"
377
369
  })]), // @ts-ignore function children
378
370
  h(Draggable, {
379
371
  onPress: _this.handleResizePress,
@@ -386,13 +378,11 @@ var SchedulerItemVue2 = {
386
378
  onRelease: _this.handleResizeRelease
387
379
  }, _this.v3 ? function () {
388
380
  return [h("span", {
389
- "class": "k-resize-handle k-resize-s",
390
- ref: _this.resizeSouth
381
+ "class": "k-resize-handle k-resize-s"
391
382
  })];
392
383
  } : [h("span", {
393
- "class": "k-resize-handle k-resize-s",
394
- ref: _this.resizeSouth
395
- })])], editable.resize && !_this.$props.vertical && [// @ts-ignore function children
384
+ "class": "k-resize-handle k-resize-s"
385
+ })])], _this.currentEditable.resize && !_this.$props.vertical && [// @ts-ignore function children
396
386
  h(Draggable, {
397
387
  onPress: _this.handleResizePress,
398
388
  on: _this.v3 ? undefined : {
@@ -404,12 +394,10 @@ var SchedulerItemVue2 = {
404
394
  onRelease: _this.handleResizeRelease
405
395
  }, _this.v3 ? function () {
406
396
  return [h("span", {
407
- "class": "k-resize-handle k-resize-w",
408
- ref: _this.resizeWest
397
+ "class": "k-resize-handle k-resize-w"
409
398
  })];
410
399
  } : [h("span", {
411
- "class": "k-resize-handle k-resize-w",
412
- ref: _this.resizeWest
400
+ "class": "k-resize-handle k-resize-w"
413
401
  })]), // @ts-ignore function children
414
402
  h(Draggable, {
415
403
  onPress: _this.handleResizePress,
@@ -422,12 +410,10 @@ var SchedulerItemVue2 = {
422
410
  onRelease: _this.handleResizeRelease
423
411
  }, _this.v3 ? function () {
424
412
  return [h("span", {
425
- "class": "k-resize-handle k-resize-e",
426
- ref: _this.resizeEast
413
+ "class": "k-resize-handle k-resize-e"
427
414
  })];
428
415
  } : [h("span", {
429
- "class": "k-resize-handle k-resize-e",
430
- ref: _this.resizeEast
416
+ "class": "k-resize-handle k-resize-e"
431
417
  })])], _this.$props.resizeHint && [h("div", {
432
418
  "class": "k-marquee-color",
433
419
  style: {
@@ -494,7 +480,7 @@ var SchedulerItemVue2 = {
494
480
  "class": "k-icon k-i-reload"
495
481
  }), !_this.$props.isRecurring && _this.$props.isException && h("span", {
496
482
  "class": "k-icon k-i-non-recurrence"
497
- })]), _this.formItem && !_this.showOccurrenceDialog && editable.edit && h(SchedulerForm, {
483
+ })]), _this.formItem && !_this.showOccurrenceDialog && _this.currentEditable.edit && h(SchedulerForm, {
498
484
  dataItem: _this.formItem,
499
485
  attrs: _this.v3 ? undefined : {
500
486
  dataItem: _this.formItem
@@ -522,7 +508,7 @@ var SchedulerItemVue2 = {
522
508
  },
523
509
  onOccurrenceclose: _this.ksOccurrenceClick,
524
510
  onSeriesclose: _this.ksSeriesClick
525
- }), _this.showRemoveDialog && _this.removeItem && editable.remove && h(SchedulerRemoveDialog, {
511
+ }), _this.showRemoveDialog && _this.removeItem && _this.currentEditable.remove && h(SchedulerRemoveDialog, {
526
512
  dataItem: _this.removeItem,
527
513
  attrs: _this.v3 ? undefined : {
528
514
  dataItem: _this.removeItem
@@ -537,7 +523,7 @@ var SchedulerItemVue2 = {
537
523
  onConfirm: _this.ksRemoveConfirm
538
524
  }), defaultSlot, !_this.$props.resizeHint && h("span", {
539
525
  "class": "k-event-actions"
540
- }, [editable.remove && h("a", {
526
+ }, [_this.currentEditable.remove && h("a", {
541
527
  tabIndex: -1,
542
528
  attrs: _this.v3 ? undefined : {
543
529
  tabIndex: -1,
@@ -557,7 +543,7 @@ var SchedulerItemVue2 = {
557
543
  "class": "k-icon k-i-close"
558
544
  })]), _this.$props.head && h("span", {
559
545
  "class": "k-icon k-i-arrow-60-right"
560
- })]), editable.resize && _this.$props.vertical && [h(Draggable, {
546
+ })]), _this.currentEditable.resize && _this.$props.vertical && [h(Draggable, {
561
547
  onPress: _this.handleResizePress,
562
548
  on: _this.v3 ? undefined : {
563
549
  "press": _this.handleResizePress,
@@ -568,12 +554,10 @@ var SchedulerItemVue2 = {
568
554
  onRelease: _this.handleResizeRelease
569
555
  }, _this.v3 ? function () {
570
556
  return [h("span", {
571
- "class": "k-resize-handle k-resize-n",
572
- ref: _this.resizeNorth
557
+ "class": "k-resize-handle k-resize-n"
573
558
  })];
574
559
  } : [h("span", {
575
- "class": "k-resize-handle k-resize-n",
576
- ref: _this.resizeNorth
560
+ "class": "k-resize-handle k-resize-n"
577
561
  })]), h(Draggable, {
578
562
  onPress: _this.handleResizePress,
579
563
  on: _this.v3 ? undefined : {
@@ -585,13 +569,11 @@ var SchedulerItemVue2 = {
585
569
  onRelease: _this.handleResizeRelease
586
570
  }, _this.v3 ? function () {
587
571
  return [h("span", {
588
- "class": "k-resize-handle k-resize-s",
589
- ref: _this.resizeSouth
572
+ "class": "k-resize-handle k-resize-s"
590
573
  })];
591
574
  } : [h("span", {
592
- "class": "k-resize-handle k-resize-s",
593
- ref: _this.resizeSouth
594
- })])], editable.resize && !_this.$props.vertical && [h(Draggable, {
575
+ "class": "k-resize-handle k-resize-s"
576
+ })])], _this.currentEditable.resize && !_this.$props.vertical && [h(Draggable, {
595
577
  onPress: _this.handleResizePress,
596
578
  on: _this.v3 ? undefined : {
597
579
  "press": _this.handleResizePress,
@@ -602,12 +584,10 @@ var SchedulerItemVue2 = {
602
584
  onRelease: _this.handleResizeRelease
603
585
  }, _this.v3 ? function () {
604
586
  return [h("span", {
605
- "class": "k-resize-handle k-resize-w",
606
- ref: _this.resizeWest
587
+ "class": "k-resize-handle k-resize-w"
607
588
  })];
608
589
  } : [h("span", {
609
- "class": "k-resize-handle k-resize-w",
610
- ref: _this.resizeWest
590
+ "class": "k-resize-handle k-resize-w"
611
591
  })]), h(Draggable, {
612
592
  onPress: _this.handleResizePress,
613
593
  on: _this.v3 ? undefined : {
@@ -619,12 +599,10 @@ var SchedulerItemVue2 = {
619
599
  onRelease: _this.handleResizeRelease
620
600
  }, _this.v3 ? function () {
621
601
  return [h("span", {
622
- "class": "k-resize-handle k-resize-e",
623
- ref: _this.resizeEast
602
+ "class": "k-resize-handle k-resize-e"
624
603
  })];
625
604
  } : [h("span", {
626
- "class": "k-resize-handle k-resize-e",
627
- ref: _this.resizeEast
605
+ "class": "k-resize-handle k-resize-e"
628
606
  })])], _this.$props.resizeHint && [h("div", {
629
607
  "class": "k-marquee-color",
630
608
  style: {
@@ -779,31 +757,37 @@ var SchedulerItemVue2 = {
779
757
  },
780
758
  // Drag Handlers
781
759
  handlePress: function handlePress(dragEvent) {
782
- this.$emit('press', {
783
- dragEvent: dragEvent,
784
- target: {
785
- props: __assign({}, this.$props),
786
- element: this.element
787
- }
788
- });
760
+ if (this.currentEditable.drag) {
761
+ this.$emit('press', {
762
+ dragEvent: dragEvent,
763
+ target: {
764
+ props: __assign({}, this.$props),
765
+ element: this.element
766
+ }
767
+ });
768
+ }
789
769
  },
790
770
  handleDrag: function handleDrag(dragEvent) {
791
- this.$emit('drag', {
792
- dragEvent: dragEvent,
793
- target: {
794
- props: __assign({}, this.$props),
795
- element: this.element
796
- }
797
- });
771
+ if (this.currentEditable.drag) {
772
+ this.$emit('drag', {
773
+ dragEvent: dragEvent,
774
+ target: {
775
+ props: __assign({}, this.$props),
776
+ element: this.element
777
+ }
778
+ });
779
+ }
798
780
  },
799
781
  handleRelease: function handleRelease(dragEvent) {
800
- this.$emit('release', {
801
- dragEvent: dragEvent,
802
- target: {
803
- props: __assign({}, this.$props),
804
- element: this.element
805
- }
806
- });
782
+ if (this.currentEditable.drag) {
783
+ this.$emit('release', {
784
+ dragEvent: dragEvent,
785
+ target: {
786
+ props: __assign({}, this.$props),
787
+ element: this.element
788
+ }
789
+ });
790
+ }
807
791
  },
808
792
  handleResizePress: function handleResizePress(dragEvent) {
809
793
  this.$emit('resizepress', {
@@ -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: 1651846094,
8
+ publishDate: 1652110200,
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
  };
@@ -5,10 +5,11 @@ var gh = allVue.h;
5
5
  var inject = allVue.inject;
6
6
  import { getDefaultSlots, getTemplate, Keys } from '@progress/kendo-vue-common';
7
7
  import { DATA_ACTION } from '../Scheduler';
8
- import { setField, getField, findFirstItem, isGroupped, compareSlots, findNextItem } from '../utils';
8
+ import { setField, getField, findFirstItem, isGroupped, compareSlots, findCurrentItem, getSortedSlots } from '../utils';
9
9
  import { SchedulerViewSlot } from './SchedulerViewSlot';
10
- import { SLOTS_FOCUS_ACTION, useEditable } from '../hooks';
11
- import { SLOTS_SELECT_ACTION } from '../hooks/use-slots-selection'; // tslint:enable:max-line-length
10
+ import { ITEMS_FOCUS_ACTION, SLOTS_FOCUS_ACTION, useEditable } from '../hooks';
11
+ import { SLOTS_SELECT_ACTION } from '../hooks/use-slots-selection';
12
+ import { ITEMS_SELECT_ACTION } from '../main'; // tslint:enable:max-line-length
12
13
 
13
14
  var SchedulerEditSlotVue2 = {
14
15
  name: 'KendoSchedulerEditSlot',
@@ -65,6 +66,12 @@ var SchedulerEditSlotVue2 = {
65
66
  ks: {
66
67
  default: null
67
68
  },
69
+ dispatchSelectedItems: {
70
+ default: null
71
+ },
72
+ dispatchFocusedItems: {
73
+ default: null
74
+ },
68
75
  dispatchFocusedSlots: {
69
76
  default: null
70
77
  },
@@ -309,7 +316,16 @@ var SchedulerEditSlotVue2 = {
309
316
  break;
310
317
 
311
318
  case Keys.tab:
312
- nextItem = findNextItem(findFirstItem(event.target), this.bv.items, false);
319
+ var fi = findFirstItem(event.target);
320
+ nextItem = fi ? findCurrentItem(fi, this.bv.items, false) : getSortedSlots(this.bv.items, this.ignoreIsAllDay)[0];
321
+ this.dispatchFocusedItems({
322
+ type: ITEMS_FOCUS_ACTION.current,
323
+ item: nextItem
324
+ }, event.event);
325
+ this.dispatchSelectedItems({
326
+ type: ITEMS_SELECT_ACTION.select,
327
+ item: nextItem
328
+ }, event);
313
329
  break;
314
330
 
315
331
  default:
@@ -318,10 +334,6 @@ var SchedulerEditSlotVue2 = {
318
334
 
319
335
  if (nextItem) {
320
336
  event.event.preventDefault();
321
-
322
- if (nextItem.element) {
323
- nextItem.element.focus();
324
- }
325
337
  }
326
338
  },
327
339
  handleEditFormSubmit: function handleEditFormSubmit(event) {
@@ -65,13 +65,13 @@ var SchedulerViewSlotVue2 = {
65
65
  updated: function updated() {
66
66
  var that = this;
67
67
  this.$nextTick(function () {
68
- useSlotExpand(that, that.ks.scheduler, that.$props.expandable);
68
+ useSlotExpand(that, that.ks.scheduler.$el, that.$props.expandable);
69
69
  });
70
70
  },
71
71
  mounted: function mounted() {
72
72
  var that = this;
73
73
  this.$nextTick(function () {
74
- useSlotExpand(that, that.ks.scheduler, that.$props.expandable);
74
+ useSlotExpand(that, that.ks.scheduler.$el, that.$props.expandable);
75
75
  });
76
76
  },
77
77
  // @ts-ignore
@@ -101,7 +101,6 @@ var SchedulerEditTaskVue2 = {
101
101
  showRemoveDialog: false,
102
102
  showOccurrenceDialog: false
103
103
  },
104
- currentEditable: false,
105
104
  currentSeries: null,
106
105
  currentRemoveItem: null,
107
106
  currentShowRemoveDialog: null,
@@ -120,6 +119,9 @@ var SchedulerEditTaskVue2 = {
120
119
  },
121
120
  compShowOccurrenceDialog: function compShowOccurrenceDialog() {
122
121
  return this.showOccurrenceDialog !== undefined ? this.showOccurrenceDialog : this.currentShowOccurrenceDialog;
122
+ },
123
+ currentEditable: function currentEditable() {
124
+ return useEditable(this.$props.editable);
123
125
  }
124
126
  },
125
127
  // @ts-ignore
@@ -147,7 +149,6 @@ var SchedulerEditTaskVue2 = {
147
149
  onShowRemoveDialogChange = _a.onShowRemoveDialogChange,
148
150
  taskProps = __rest(_a, ["refTo", "viewTask", "removeDialog", "removeItem", "onRemoveItemChange", "occurrenceDialog", "showOccurrenceDialog", "onShowOccurrenceDialogChange", "showRemoveDialog", "onShowRemoveDialogChange"]);
149
151
 
150
- this.currentEditable = useEditable(this.$props.editable);
151
152
  return (// @ts-ignore function children
152
153
  h(SchedulerViewTask, {
153
154
  id: this.$props.id,
@@ -166,9 +166,17 @@ export declare const noop: (..._args: any) => void;
166
166
  export declare const findFirstItem: (current: any) => SchedulerItemHandle | null;
167
167
  /** @hidden */
168
168
  export declare const compareItems: (f: any, s: any, ignoreIsAllDay?: boolean) => boolean;
169
+ export declare const getSortedSlots: (all: any[], ignoreIsAllDay: boolean) => any[];
169
170
  /** @hidden */
170
171
  export declare const compareSlots: (f: any, s: any) => boolean;
171
172
  /** @hidden */
173
+ export declare const getCurrentItemIndex: (ref: any, all: any, ignoreIsAllDay?: boolean | undefined) => {
174
+ currentIndex: number;
175
+ sorted: any[];
176
+ };
177
+ /** @hidden */
178
+ export declare const findCurrentItem: (ref: any, all: any, ignoreIsAllDay?: boolean | undefined) => any;
179
+ /** @hidden */
172
180
  export declare const findNextItem: (ref: any, all: any, ignoreIsAllDay?: boolean | undefined, backwards?: boolean) => any;
173
181
  /**
174
182
  * @hidden
@@ -535,6 +535,16 @@ export var compareItems = function (f, s, ignoreIsAllDay) { return Boolean(f.uid
535
535
  && (f.group.index === s.group.index)
536
536
  && (f.range.index === s.range.index)
537
537
  && (ignoreIsAllDay || f.isAllDay === s.isAllDay)); };
538
+ export var getSortedSlots = function (all, ignoreIsAllDay) {
539
+ var filtered = all.filter(function (i) { return i.element !== null; });
540
+ var sorted = orderBy(filtered, [
541
+ { field: 'group.index', dir: 'asc' },
542
+ { field: 'range.index', dir: 'asc' },
543
+ (ignoreIsAllDay ? { field: '' } : { field: 'isAllDay', dir: 'desc' }),
544
+ { field: 'start', dir: 'asc' }
545
+ ]);
546
+ return sorted;
547
+ };
538
548
  /** @hidden */
539
549
  export var compareSlots = function (f, s) { return Boolean(f.start.getTime() === s.start.getTime()
540
550
  && f.end.getTime() === s.end.getTime()
@@ -543,22 +553,32 @@ export var compareSlots = function (f, s) { return Boolean(f.start.getTime() ===
543
553
  && f.range.index === s.range.index
544
554
  && f.isAllDay === s.isAllDay); };
545
555
  /** @hidden */
546
- export var findNextItem = function (ref, all, ignoreIsAllDay, backwards) {
556
+ export var getCurrentItemIndex = function (ref, all, ignoreIsAllDay) {
547
557
  if (ignoreIsAllDay === void 0) { ignoreIsAllDay = false; }
548
- if (backwards === void 0) { backwards = false; }
549
558
  var current = ref;
550
- if (!current || !all) {
551
- return null;
552
- }
553
- var filtered = all.filter(function (i) { return i.element !== null; });
554
- var sorted = orderBy(filtered, [
555
- { field: 'group.index', dir: 'asc' },
556
- { field: 'range.index', dir: 'asc' },
557
- (ignoreIsAllDay ? { field: '' } : { field: 'isAllDay', dir: 'desc' }),
558
- { field: 'start', dir: 'asc' }
559
- ]);
559
+ var sorted = getSortedSlots(all, ignoreIsAllDay);
560
560
  var currentIndex = sorted
561
561
  .findIndex(function (i) { return compareItems(i, current, ignoreIsAllDay); });
562
+ return {
563
+ currentIndex: currentIndex,
564
+ sorted: sorted
565
+ };
566
+ };
567
+ /** @hidden */
568
+ export var findCurrentItem = function (ref, all, ignoreIsAllDay) {
569
+ if (ignoreIsAllDay === void 0) { ignoreIsAllDay = false; }
570
+ if (!ref || !all) {
571
+ return null;
572
+ }
573
+ var _a = getCurrentItemIndex(ref, all, ignoreIsAllDay) || {}, currentIndex = _a.currentIndex, sorted = _a.sorted;
574
+ var next = sorted[currentIndex];
575
+ return next;
576
+ };
577
+ /** @hidden */
578
+ export var findNextItem = function (ref, all, ignoreIsAllDay, backwards) {
579
+ if (ignoreIsAllDay === void 0) { ignoreIsAllDay = false; }
580
+ if (backwards === void 0) { backwards = false; }
581
+ var _a = getCurrentItemIndex(ref, all, ignoreIsAllDay), currentIndex = _a.currentIndex, sorted = _a.sorted;
562
582
  var next = sorted[currentIndex + (backwards ? -1 : 1)];
563
583
  return next;
564
584
  };
@@ -64,54 +64,18 @@ var SchedulerDragVue2 = {
64
64
  },
65
65
  // @ts-ignore
66
66
  render: function render(createElement) {
67
- var h = gh || createElement; // const ranges = useSchedulerViewRangesContext();
68
- // const { timezone } = useSchedulerPropsContext();
69
- // const groups = useSchedulerGroupsContext();
70
- // const fields = useSchedulerFieldsContext();
71
- // const dateRange = useSchedulerDateRangeContext();
72
- // const [viewSlots] = useSchedulerViewSlotsContext();
73
-
67
+ var h = gh || createElement;
74
68
  var slots = (this.bv.slots || []).map(function (s) {
75
69
  return s;
76
70
  });
77
71
  mapItemsToSlots(this.items, slots);
78
- return (// fragment
79
- // <div>
80
- this.items.map(function (item, idx) {
81
- return h(SchedulerViewItem, {
82
- key: idx,
72
+ var itemsToRender = this.v3 ? this.items : this.items && this.items.length ? [this.items[0]] : [];
73
+ return itemsToRender.map(function (item, idx) {
74
+ return h(SchedulerViewItem, {
75
+ key: idx,
76
+ uid: item.uid,
77
+ attrs: this.v3 ? undefined : {
83
78
  uid: item.uid,
84
- attrs: this.v3 ? undefined : {
85
- uid: item.uid,
86
- start: item.start,
87
- end: item.end,
88
- originalStart: item.originalStart,
89
- startTimezone: item.startTimezone,
90
- endTimezone: item.endTimezone,
91
- isAllDay: item.isAllDay,
92
- title: item.title,
93
- description: item.description,
94
- occurrenceId: item.occurrenceId,
95
- recurrenceExceptions: item.recurrenceExceptions,
96
- recurrenceRule: item.recurrenceRule,
97
- recurrenceId: item.recurrenceId,
98
- dataItem: item.dataItem,
99
- itemRef: item.itemRef,
100
- head: item.head,
101
- tail: item.tail,
102
- order: item.order,
103
- zonedStart: item.zonedStart,
104
- zonedEnd: item.zonedEnd,
105
- slots: item.slots,
106
- group: item.group,
107
- range: item.range,
108
- isException: item.isException,
109
- isRecurring: item.isRecurring // item={this.$props.item}
110
- ,
111
- dragHint: true,
112
- vertical: this.$props.vertical,
113
- ignoreIsAllDay: this.$props.ignoreIsAllDay
114
- },
115
79
  start: item.start,
116
80
  end: item.end,
117
81
  originalStart: item.originalStart,
@@ -135,14 +99,41 @@ var SchedulerDragVue2 = {
135
99
  group: item.group,
136
100
  range: item.range,
137
101
  isException: item.isException,
138
- isRecurring: item.isRecurring,
102
+ isRecurring: item.isRecurring // item={this.$props.item}
103
+ ,
139
104
  dragHint: true,
140
105
  vertical: this.$props.vertical,
141
106
  ignoreIsAllDay: this.$props.ignoreIsAllDay
142
- });
143
- }, this) // </div>
144
-
145
- );
107
+ },
108
+ start: item.start,
109
+ end: item.end,
110
+ originalStart: item.originalStart,
111
+ startTimezone: item.startTimezone,
112
+ endTimezone: item.endTimezone,
113
+ isAllDay: item.isAllDay,
114
+ title: item.title,
115
+ description: item.description,
116
+ occurrenceId: item.occurrenceId,
117
+ recurrenceExceptions: item.recurrenceExceptions,
118
+ recurrenceRule: item.recurrenceRule,
119
+ recurrenceId: item.recurrenceId,
120
+ dataItem: item.dataItem,
121
+ itemRef: item.itemRef,
122
+ head: item.head,
123
+ tail: item.tail,
124
+ order: item.order,
125
+ zonedStart: item.zonedStart,
126
+ zonedEnd: item.zonedEnd,
127
+ slots: item.slots,
128
+ group: item.group,
129
+ range: item.range,
130
+ isException: item.isException,
131
+ isRecurring: item.isRecurring,
132
+ dragHint: true,
133
+ vertical: this.$props.vertical,
134
+ ignoreIsAllDay: this.$props.ignoreIsAllDay
135
+ });
136
+ }, this);
146
137
  }
147
138
  };
148
139
  var SchedulerDrag = SchedulerDragVue2;