@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
@@ -122,14 +122,6 @@ var SchedulerItemVue2 = {
122
122
  default: undefined
123
123
  }
124
124
  },
125
- data: function data() {
126
- return {
127
- resizeEast: null,
128
- resizeWest: null,
129
- resizeNorth: null,
130
- resizeSouth: null
131
- };
132
- },
133
125
  inject: {
134
126
  kendoLocalizationService: {
135
127
  default: null
@@ -163,6 +155,9 @@ var SchedulerItemVue2 = {
163
155
  }
164
156
  },
165
157
  computed: {
158
+ currentEditable: function currentEditable() {
159
+ return hooks_1.useEditable(this.$props.editable);
160
+ },
166
161
  resource: function resource() {
167
162
  return this.$props.group.resources.find(function (r) {
168
163
  return Boolean(r.colorField && r[r.colorField] !== '' && r[r.colorField] !== undefined);
@@ -179,7 +174,7 @@ var SchedulerItemVue2 = {
179
174
 
180
175
  return _a = {
181
176
  'k-event': !this.$props.resizeHint,
182
- 'k-state-selected': this.$props.selected && this.editable.select,
177
+ 'k-state-selected': this.$props.selected && this.currentEditable.select,
183
178
  'k-event-drag-hint': this.$props.dragHint,
184
179
  'k-scheduler-marquee': this.$props.resizeHint,
185
180
  'k-marquee': this.$props.resizeHint,
@@ -237,7 +232,6 @@ var SchedulerItemVue2 = {
237
232
 
238
233
  var h = gh || createElement;
239
234
  var defaultSlot = kendo_vue_common_1.getDefaultSlots(this);
240
- var editable = hooks_1.useEditable(this.$props.editable);
241
235
  this.intl = kendo_vue_intl_1.provideIntlService(this);
242
236
  var localization = kendo_vue_intl_1.provideLocalizationService(this);
243
237
  var deleteMessage = localization.toLanguageString(messages_1.deleteTitle, messages_1.messages[messages_1.deleteTitle]);
@@ -310,7 +304,7 @@ var SchedulerItemVue2 = {
310
304
  "class": "k-icon k-i-reload"
311
305
  }), !_this.$props.isRecurring && _this.$props.isException && h("span", {
312
306
  "class": "k-icon k-i-non-recurrence"
313
- })]), _this.formItem && !_this.showOccurrenceDialog && editable.edit && h(SchedulerForm_1.SchedulerForm, {
307
+ })]), _this.formItem && !_this.showOccurrenceDialog && _this.currentEditable.edit && h(SchedulerForm_1.SchedulerForm, {
314
308
  dataItem: _this.formItem,
315
309
  attrs: _this.v3 ? undefined : {
316
310
  dataItem: _this.formItem
@@ -338,7 +332,7 @@ var SchedulerItemVue2 = {
338
332
  },
339
333
  onOccurrenceclose: _this.ksOccurrenceClick,
340
334
  onSeriesclose: _this.ksSeriesClick
341
- }), _this.showRemoveDialog && _this.removeItem && editable.remove && h(SchedulerRemoveDialog_1.SchedulerRemoveDialog, {
335
+ }), _this.showRemoveDialog && _this.removeItem && _this.currentEditable.remove && h(SchedulerRemoveDialog_1.SchedulerRemoveDialog, {
342
336
  dataItem: _this.removeItem,
343
337
  attrs: _this.v3 ? undefined : {
344
338
  dataItem: _this.removeItem
@@ -353,7 +347,7 @@ var SchedulerItemVue2 = {
353
347
  onConfirm: _this.ksRemoveConfirm
354
348
  }), defaultSlot, !_this.$props.resizeHint && h("span", {
355
349
  "class": "k-event-actions"
356
- }, [editable.remove && h("a", {
350
+ }, [_this.currentEditable.remove && h("a", {
357
351
  tabIndex: -1,
358
352
  attrs: _this.v3 ? undefined : {
359
353
  tabIndex: -1,
@@ -373,7 +367,7 @@ var SchedulerItemVue2 = {
373
367
  "class": "k-icon k-i-close"
374
368
  })]), _this.$props.head && h("span", {
375
369
  "class": "k-icon k-i-arrow-60-right"
376
- })]), editable.resize && _this.$props.vertical && [// @ts-ignore function children
370
+ })]), _this.currentEditable.resize && _this.$props.vertical && [// @ts-ignore function children
377
371
  h(kendo_vue_common_1.Draggable, {
378
372
  onPress: _this.handleResizePress,
379
373
  on: _this.v3 ? undefined : {
@@ -385,12 +379,10 @@ var SchedulerItemVue2 = {
385
379
  onRelease: _this.handleResizeRelease
386
380
  }, _this.v3 ? function () {
387
381
  return [h("span", {
388
- "class": "k-resize-handle k-resize-n",
389
- ref: _this.resizeNorth
382
+ "class": "k-resize-handle k-resize-n"
390
383
  })];
391
384
  } : [h("span", {
392
- "class": "k-resize-handle k-resize-n",
393
- ref: _this.resizeNorth
385
+ "class": "k-resize-handle k-resize-n"
394
386
  })]), // @ts-ignore function children
395
387
  h(kendo_vue_common_1.Draggable, {
396
388
  onPress: _this.handleResizePress,
@@ -403,13 +395,11 @@ var SchedulerItemVue2 = {
403
395
  onRelease: _this.handleResizeRelease
404
396
  }, _this.v3 ? function () {
405
397
  return [h("span", {
406
- "class": "k-resize-handle k-resize-s",
407
- ref: _this.resizeSouth
398
+ "class": "k-resize-handle k-resize-s"
408
399
  })];
409
400
  } : [h("span", {
410
- "class": "k-resize-handle k-resize-s",
411
- ref: _this.resizeSouth
412
- })])], editable.resize && !_this.$props.vertical && [// @ts-ignore function children
401
+ "class": "k-resize-handle k-resize-s"
402
+ })])], _this.currentEditable.resize && !_this.$props.vertical && [// @ts-ignore function children
413
403
  h(kendo_vue_common_1.Draggable, {
414
404
  onPress: _this.handleResizePress,
415
405
  on: _this.v3 ? undefined : {
@@ -421,12 +411,10 @@ var SchedulerItemVue2 = {
421
411
  onRelease: _this.handleResizeRelease
422
412
  }, _this.v3 ? function () {
423
413
  return [h("span", {
424
- "class": "k-resize-handle k-resize-w",
425
- ref: _this.resizeWest
414
+ "class": "k-resize-handle k-resize-w"
426
415
  })];
427
416
  } : [h("span", {
428
- "class": "k-resize-handle k-resize-w",
429
- ref: _this.resizeWest
417
+ "class": "k-resize-handle k-resize-w"
430
418
  })]), // @ts-ignore function children
431
419
  h(kendo_vue_common_1.Draggable, {
432
420
  onPress: _this.handleResizePress,
@@ -439,12 +427,10 @@ var SchedulerItemVue2 = {
439
427
  onRelease: _this.handleResizeRelease
440
428
  }, _this.v3 ? function () {
441
429
  return [h("span", {
442
- "class": "k-resize-handle k-resize-e",
443
- ref: _this.resizeEast
430
+ "class": "k-resize-handle k-resize-e"
444
431
  })];
445
432
  } : [h("span", {
446
- "class": "k-resize-handle k-resize-e",
447
- ref: _this.resizeEast
433
+ "class": "k-resize-handle k-resize-e"
448
434
  })])], _this.$props.resizeHint && [h("div", {
449
435
  "class": "k-marquee-color",
450
436
  style: {
@@ -511,7 +497,7 @@ var SchedulerItemVue2 = {
511
497
  "class": "k-icon k-i-reload"
512
498
  }), !_this.$props.isRecurring && _this.$props.isException && h("span", {
513
499
  "class": "k-icon k-i-non-recurrence"
514
- })]), _this.formItem && !_this.showOccurrenceDialog && editable.edit && h(SchedulerForm_1.SchedulerForm, {
500
+ })]), _this.formItem && !_this.showOccurrenceDialog && _this.currentEditable.edit && h(SchedulerForm_1.SchedulerForm, {
515
501
  dataItem: _this.formItem,
516
502
  attrs: _this.v3 ? undefined : {
517
503
  dataItem: _this.formItem
@@ -539,7 +525,7 @@ var SchedulerItemVue2 = {
539
525
  },
540
526
  onOccurrenceclose: _this.ksOccurrenceClick,
541
527
  onSeriesclose: _this.ksSeriesClick
542
- }), _this.showRemoveDialog && _this.removeItem && editable.remove && h(SchedulerRemoveDialog_1.SchedulerRemoveDialog, {
528
+ }), _this.showRemoveDialog && _this.removeItem && _this.currentEditable.remove && h(SchedulerRemoveDialog_1.SchedulerRemoveDialog, {
543
529
  dataItem: _this.removeItem,
544
530
  attrs: _this.v3 ? undefined : {
545
531
  dataItem: _this.removeItem
@@ -554,7 +540,7 @@ var SchedulerItemVue2 = {
554
540
  onConfirm: _this.ksRemoveConfirm
555
541
  }), defaultSlot, !_this.$props.resizeHint && h("span", {
556
542
  "class": "k-event-actions"
557
- }, [editable.remove && h("a", {
543
+ }, [_this.currentEditable.remove && h("a", {
558
544
  tabIndex: -1,
559
545
  attrs: _this.v3 ? undefined : {
560
546
  tabIndex: -1,
@@ -574,7 +560,7 @@ var SchedulerItemVue2 = {
574
560
  "class": "k-icon k-i-close"
575
561
  })]), _this.$props.head && h("span", {
576
562
  "class": "k-icon k-i-arrow-60-right"
577
- })]), editable.resize && _this.$props.vertical && [h(kendo_vue_common_1.Draggable, {
563
+ })]), _this.currentEditable.resize && _this.$props.vertical && [h(kendo_vue_common_1.Draggable, {
578
564
  onPress: _this.handleResizePress,
579
565
  on: _this.v3 ? undefined : {
580
566
  "press": _this.handleResizePress,
@@ -585,12 +571,10 @@ var SchedulerItemVue2 = {
585
571
  onRelease: _this.handleResizeRelease
586
572
  }, _this.v3 ? function () {
587
573
  return [h("span", {
588
- "class": "k-resize-handle k-resize-n",
589
- ref: _this.resizeNorth
574
+ "class": "k-resize-handle k-resize-n"
590
575
  })];
591
576
  } : [h("span", {
592
- "class": "k-resize-handle k-resize-n",
593
- ref: _this.resizeNorth
577
+ "class": "k-resize-handle k-resize-n"
594
578
  })]), h(kendo_vue_common_1.Draggable, {
595
579
  onPress: _this.handleResizePress,
596
580
  on: _this.v3 ? undefined : {
@@ -602,13 +586,11 @@ var SchedulerItemVue2 = {
602
586
  onRelease: _this.handleResizeRelease
603
587
  }, _this.v3 ? function () {
604
588
  return [h("span", {
605
- "class": "k-resize-handle k-resize-s",
606
- ref: _this.resizeSouth
589
+ "class": "k-resize-handle k-resize-s"
607
590
  })];
608
591
  } : [h("span", {
609
- "class": "k-resize-handle k-resize-s",
610
- ref: _this.resizeSouth
611
- })])], editable.resize && !_this.$props.vertical && [h(kendo_vue_common_1.Draggable, {
592
+ "class": "k-resize-handle k-resize-s"
593
+ })])], _this.currentEditable.resize && !_this.$props.vertical && [h(kendo_vue_common_1.Draggable, {
612
594
  onPress: _this.handleResizePress,
613
595
  on: _this.v3 ? undefined : {
614
596
  "press": _this.handleResizePress,
@@ -619,12 +601,10 @@ var SchedulerItemVue2 = {
619
601
  onRelease: _this.handleResizeRelease
620
602
  }, _this.v3 ? function () {
621
603
  return [h("span", {
622
- "class": "k-resize-handle k-resize-w",
623
- ref: _this.resizeWest
604
+ "class": "k-resize-handle k-resize-w"
624
605
  })];
625
606
  } : [h("span", {
626
- "class": "k-resize-handle k-resize-w",
627
- ref: _this.resizeWest
607
+ "class": "k-resize-handle k-resize-w"
628
608
  })]), h(kendo_vue_common_1.Draggable, {
629
609
  onPress: _this.handleResizePress,
630
610
  on: _this.v3 ? undefined : {
@@ -636,12 +616,10 @@ var SchedulerItemVue2 = {
636
616
  onRelease: _this.handleResizeRelease
637
617
  }, _this.v3 ? function () {
638
618
  return [h("span", {
639
- "class": "k-resize-handle k-resize-e",
640
- ref: _this.resizeEast
619
+ "class": "k-resize-handle k-resize-e"
641
620
  })];
642
621
  } : [h("span", {
643
- "class": "k-resize-handle k-resize-e",
644
- ref: _this.resizeEast
622
+ "class": "k-resize-handle k-resize-e"
645
623
  })])], _this.$props.resizeHint && [h("div", {
646
624
  "class": "k-marquee-color",
647
625
  style: {
@@ -796,31 +774,37 @@ var SchedulerItemVue2 = {
796
774
  },
797
775
  // Drag Handlers
798
776
  handlePress: function handlePress(dragEvent) {
799
- this.$emit('press', {
800
- dragEvent: dragEvent,
801
- target: {
802
- props: __assign({}, this.$props),
803
- element: this.element
804
- }
805
- });
777
+ if (this.currentEditable.drag) {
778
+ this.$emit('press', {
779
+ dragEvent: dragEvent,
780
+ target: {
781
+ props: __assign({}, this.$props),
782
+ element: this.element
783
+ }
784
+ });
785
+ }
806
786
  },
807
787
  handleDrag: function handleDrag(dragEvent) {
808
- this.$emit('drag', {
809
- dragEvent: dragEvent,
810
- target: {
811
- props: __assign({}, this.$props),
812
- element: this.element
813
- }
814
- });
788
+ if (this.currentEditable.drag) {
789
+ this.$emit('drag', {
790
+ dragEvent: dragEvent,
791
+ target: {
792
+ props: __assign({}, this.$props),
793
+ element: this.element
794
+ }
795
+ });
796
+ }
815
797
  },
816
798
  handleRelease: function handleRelease(dragEvent) {
817
- this.$emit('release', {
818
- dragEvent: dragEvent,
819
- target: {
820
- props: __assign({}, this.$props),
821
- element: this.element
822
- }
823
- });
799
+ if (this.currentEditable.drag) {
800
+ this.$emit('release', {
801
+ dragEvent: dragEvent,
802
+ target: {
803
+ props: __assign({}, this.$props),
804
+ element: this.element
805
+ }
806
+ });
807
+ }
824
808
  },
825
809
  handleResizePress: function handleResizePress(dragEvent) {
826
810
  this.$emit('resizepress', {
@@ -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: 1651846094,
11
+ publishDate: 1652110200,
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
  };
@@ -21,7 +21,9 @@ var SchedulerViewSlot_1 = require("./SchedulerViewSlot");
21
21
 
22
22
  var hooks_1 = require("../hooks");
23
23
 
24
- var use_slots_selection_1 = require("../hooks/use-slots-selection"); // tslint:enable:max-line-length
24
+ var use_slots_selection_1 = require("../hooks/use-slots-selection");
25
+
26
+ var main_1 = require("../main"); // tslint:enable:max-line-length
25
27
 
26
28
 
27
29
  var SchedulerEditSlotVue2 = {
@@ -79,6 +81,12 @@ var SchedulerEditSlotVue2 = {
79
81
  ks: {
80
82
  default: null
81
83
  },
84
+ dispatchSelectedItems: {
85
+ default: null
86
+ },
87
+ dispatchFocusedItems: {
88
+ default: null
89
+ },
82
90
  dispatchFocusedSlots: {
83
91
  default: null
84
92
  },
@@ -323,7 +331,16 @@ var SchedulerEditSlotVue2 = {
323
331
  break;
324
332
 
325
333
  case kendo_vue_common_1.Keys.tab:
326
- nextItem = utils_1.findNextItem(utils_1.findFirstItem(event.target), this.bv.items, false);
334
+ var fi = utils_1.findFirstItem(event.target);
335
+ nextItem = fi ? utils_1.findCurrentItem(fi, this.bv.items, false) : utils_1.getSortedSlots(this.bv.items, this.ignoreIsAllDay)[0];
336
+ this.dispatchFocusedItems({
337
+ type: hooks_1.ITEMS_FOCUS_ACTION.current,
338
+ item: nextItem
339
+ }, event.event);
340
+ this.dispatchSelectedItems({
341
+ type: main_1.ITEMS_SELECT_ACTION.select,
342
+ item: nextItem
343
+ }, event);
327
344
  break;
328
345
 
329
346
  default:
@@ -332,10 +349,6 @@ var SchedulerEditSlotVue2 = {
332
349
 
333
350
  if (nextItem) {
334
351
  event.event.preventDefault();
335
-
336
- if (nextItem.element) {
337
- nextItem.element.focus();
338
- }
339
352
  }
340
353
  },
341
354
  handleEditFormSubmit: function handleEditFormSubmit(event) {
@@ -76,13 +76,13 @@ var SchedulerViewSlotVue2 = {
76
76
  updated: function updated() {
77
77
  var that = this;
78
78
  this.$nextTick(function () {
79
- hooks_1.useSlotExpand(that, that.ks.scheduler, that.$props.expandable);
79
+ hooks_1.useSlotExpand(that, that.ks.scheduler.$el, that.$props.expandable);
80
80
  });
81
81
  },
82
82
  mounted: function mounted() {
83
83
  var that = this;
84
84
  this.$nextTick(function () {
85
- hooks_1.useSlotExpand(that, that.ks.scheduler, that.$props.expandable);
85
+ hooks_1.useSlotExpand(that, that.ks.scheduler.$el, that.$props.expandable);
86
86
  });
87
87
  },
88
88
  // @ts-ignore
@@ -114,7 +114,6 @@ var SchedulerEditTaskVue2 = {
114
114
  showRemoveDialog: false,
115
115
  showOccurrenceDialog: false
116
116
  },
117
- currentEditable: false,
118
117
  currentSeries: null,
119
118
  currentRemoveItem: null,
120
119
  currentShowRemoveDialog: null,
@@ -133,6 +132,9 @@ var SchedulerEditTaskVue2 = {
133
132
  },
134
133
  compShowOccurrenceDialog: function compShowOccurrenceDialog() {
135
134
  return this.showOccurrenceDialog !== undefined ? this.showOccurrenceDialog : this.currentShowOccurrenceDialog;
135
+ },
136
+ currentEditable: function currentEditable() {
137
+ return hooks_1.useEditable(this.$props.editable);
136
138
  }
137
139
  },
138
140
  // @ts-ignore
@@ -160,7 +162,6 @@ var SchedulerEditTaskVue2 = {
160
162
  onShowRemoveDialogChange = _a.onShowRemoveDialogChange,
161
163
  taskProps = __rest(_a, ["refTo", "viewTask", "removeDialog", "removeItem", "onRemoveItemChange", "occurrenceDialog", "showOccurrenceDialog", "onShowOccurrenceDialogChange", "showRemoveDialog", "onShowRemoveDialogChange"]);
162
164
 
163
- this.currentEditable = hooks_1.useEditable(this.$props.editable);
164
165
  return (// @ts-ignore function children
165
166
  h(SchedulerViewTask_1.SchedulerViewTask, {
166
167
  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
@@ -18,7 +18,7 @@ var __spreadArrays = (this && this.__spreadArrays) || function () {
18
18
  return r;
19
19
  };
20
20
  Object.defineProperty(exports, "__esModule", { value: true });
21
- exports.orderSort = exports.findNextItem = exports.compareSlots = exports.compareItems = exports.findFirstItem = exports.noop = exports.mapItemsToSlots = exports.mapSlotsToItems = exports.calculateOrder = exports.findMissing = exports.shallowCompare = exports.extractResources = exports.extractResourceFields = exports.extractGroups = exports.setTime = exports.isNullOrEmptyString = exports.isBlank = exports.generateResourceFields = exports.toSchedulerResources = exports.toSchedulerGroups = exports.isInTimeRange = exports.getModelFields = exports.defaultModelFields = exports.roundAllDayEnd = exports.intersects = exports.isException = exports.buildException = exports.isMaster = exports.findMaster = exports.groupResources = exports.isRecurring = exports.isRecurringException = exports.toInvariantTime = exports.toUTCDateTime = exports.getUTCDate = exports.toUTCDate = exports.isRecurringMaster = exports.isPresent = exports.assignFields = exports.assignField = exports.setField = exports.getField = exports.slotDive = exports.getToday = exports.dateWithTime = exports.addUTCDays = exports.formatEventTime = exports.isGroupped = exports.isMultiDay = exports.last = exports.first = exports.COLLECTION_ACTION = void 0;
21
+ exports.orderSort = exports.findNextItem = exports.findCurrentItem = exports.getCurrentItemIndex = exports.compareSlots = exports.getSortedSlots = exports.compareItems = exports.findFirstItem = exports.noop = exports.mapItemsToSlots = exports.mapSlotsToItems = exports.calculateOrder = exports.findMissing = exports.shallowCompare = exports.extractResources = exports.extractResourceFields = exports.extractGroups = exports.setTime = exports.isNullOrEmptyString = exports.isBlank = exports.generateResourceFields = exports.toSchedulerResources = exports.toSchedulerGroups = exports.isInTimeRange = exports.getModelFields = exports.defaultModelFields = exports.roundAllDayEnd = exports.intersects = exports.isException = exports.buildException = exports.isMaster = exports.findMaster = exports.groupResources = exports.isRecurring = exports.isRecurringException = exports.toInvariantTime = exports.toUTCDateTime = exports.getUTCDate = exports.toUTCDate = exports.isRecurringMaster = exports.isPresent = exports.assignFields = exports.assignField = exports.setField = exports.getField = exports.slotDive = exports.getToday = exports.dateWithTime = exports.addUTCDays = exports.formatEventTime = exports.isGroupped = exports.isMultiDay = exports.last = exports.first = exports.COLLECTION_ACTION = void 0;
22
22
  var kendo_date_math_1 = require("@progress/kendo-date-math");
23
23
  var utils_1 = require("../views/common/utils");
24
24
  var kendo_vue_common_1 = require("@progress/kendo-vue-common");
@@ -545,6 +545,16 @@ exports.compareItems = function (f, s, ignoreIsAllDay) { return Boolean(f.uid ==
545
545
  && (f.group.index === s.group.index)
546
546
  && (f.range.index === s.range.index)
547
547
  && (ignoreIsAllDay || f.isAllDay === s.isAllDay)); };
548
+ exports.getSortedSlots = function (all, ignoreIsAllDay) {
549
+ var filtered = all.filter(function (i) { return i.element !== null; });
550
+ var sorted = kendo_data_query_1.orderBy(filtered, [
551
+ { field: 'group.index', dir: 'asc' },
552
+ { field: 'range.index', dir: 'asc' },
553
+ (ignoreIsAllDay ? { field: '' } : { field: 'isAllDay', dir: 'desc' }),
554
+ { field: 'start', dir: 'asc' }
555
+ ]);
556
+ return sorted;
557
+ };
548
558
  /** @hidden */
549
559
  exports.compareSlots = function (f, s) { return Boolean(f.start.getTime() === s.start.getTime()
550
560
  && f.end.getTime() === s.end.getTime()
@@ -553,22 +563,32 @@ exports.compareSlots = function (f, s) { return Boolean(f.start.getTime() === s.
553
563
  && f.range.index === s.range.index
554
564
  && f.isAllDay === s.isAllDay); };
555
565
  /** @hidden */
556
- exports.findNextItem = function (ref, all, ignoreIsAllDay, backwards) {
566
+ exports.getCurrentItemIndex = function (ref, all, ignoreIsAllDay) {
557
567
  if (ignoreIsAllDay === void 0) { ignoreIsAllDay = false; }
558
- if (backwards === void 0) { backwards = false; }
559
568
  var current = ref;
560
- if (!current || !all) {
561
- return null;
562
- }
563
- var filtered = all.filter(function (i) { return i.element !== null; });
564
- var sorted = kendo_data_query_1.orderBy(filtered, [
565
- { field: 'group.index', dir: 'asc' },
566
- { field: 'range.index', dir: 'asc' },
567
- (ignoreIsAllDay ? { field: '' } : { field: 'isAllDay', dir: 'desc' }),
568
- { field: 'start', dir: 'asc' }
569
- ]);
569
+ var sorted = exports.getSortedSlots(all, ignoreIsAllDay);
570
570
  var currentIndex = sorted
571
571
  .findIndex(function (i) { return exports.compareItems(i, current, ignoreIsAllDay); });
572
+ return {
573
+ currentIndex: currentIndex,
574
+ sorted: sorted
575
+ };
576
+ };
577
+ /** @hidden */
578
+ exports.findCurrentItem = function (ref, all, ignoreIsAllDay) {
579
+ if (ignoreIsAllDay === void 0) { ignoreIsAllDay = false; }
580
+ if (!ref || !all) {
581
+ return null;
582
+ }
583
+ var _a = exports.getCurrentItemIndex(ref, all, ignoreIsAllDay) || {}, currentIndex = _a.currentIndex, sorted = _a.sorted;
584
+ var next = sorted[currentIndex];
585
+ return next;
586
+ };
587
+ /** @hidden */
588
+ exports.findNextItem = function (ref, all, ignoreIsAllDay, backwards) {
589
+ if (ignoreIsAllDay === void 0) { ignoreIsAllDay = false; }
590
+ if (backwards === void 0) { backwards = false; }
591
+ var _a = exports.getCurrentItemIndex(ref, all, ignoreIsAllDay), currentIndex = _a.currentIndex, sorted = _a.sorted;
572
592
  var next = sorted[currentIndex + (backwards ? -1 : 1)];
573
593
  return next;
574
594
  };
@@ -76,54 +76,18 @@ var SchedulerDragVue2 = {
76
76
  },
77
77
  // @ts-ignore
78
78
  render: function render(createElement) {
79
- var h = gh || createElement; // const ranges = useSchedulerViewRangesContext();
80
- // const { timezone } = useSchedulerPropsContext();
81
- // const groups = useSchedulerGroupsContext();
82
- // const fields = useSchedulerFieldsContext();
83
- // const dateRange = useSchedulerDateRangeContext();
84
- // const [viewSlots] = useSchedulerViewSlotsContext();
85
-
79
+ var h = gh || createElement;
86
80
  var slots = (this.bv.slots || []).map(function (s) {
87
81
  return s;
88
82
  });
89
83
  utils_1.mapItemsToSlots(this.items, slots);
90
- return (// fragment
91
- // <div>
92
- this.items.map(function (item, idx) {
93
- return h(SchedulerViewItem_1.SchedulerViewItem, {
94
- key: idx,
84
+ var itemsToRender = this.v3 ? this.items : this.items && this.items.length ? [this.items[0]] : [];
85
+ return itemsToRender.map(function (item, idx) {
86
+ return h(SchedulerViewItem_1.SchedulerViewItem, {
87
+ key: idx,
88
+ uid: item.uid,
89
+ attrs: this.v3 ? undefined : {
95
90
  uid: item.uid,
96
- attrs: this.v3 ? undefined : {
97
- uid: item.uid,
98
- start: item.start,
99
- end: item.end,
100
- originalStart: item.originalStart,
101
- startTimezone: item.startTimezone,
102
- endTimezone: item.endTimezone,
103
- isAllDay: item.isAllDay,
104
- title: item.title,
105
- description: item.description,
106
- occurrenceId: item.occurrenceId,
107
- recurrenceExceptions: item.recurrenceExceptions,
108
- recurrenceRule: item.recurrenceRule,
109
- recurrenceId: item.recurrenceId,
110
- dataItem: item.dataItem,
111
- itemRef: item.itemRef,
112
- head: item.head,
113
- tail: item.tail,
114
- order: item.order,
115
- zonedStart: item.zonedStart,
116
- zonedEnd: item.zonedEnd,
117
- slots: item.slots,
118
- group: item.group,
119
- range: item.range,
120
- isException: item.isException,
121
- isRecurring: item.isRecurring // item={this.$props.item}
122
- ,
123
- dragHint: true,
124
- vertical: this.$props.vertical,
125
- ignoreIsAllDay: this.$props.ignoreIsAllDay
126
- },
127
91
  start: item.start,
128
92
  end: item.end,
129
93
  originalStart: item.originalStart,
@@ -147,14 +111,41 @@ var SchedulerDragVue2 = {
147
111
  group: item.group,
148
112
  range: item.range,
149
113
  isException: item.isException,
150
- isRecurring: item.isRecurring,
114
+ isRecurring: item.isRecurring // item={this.$props.item}
115
+ ,
151
116
  dragHint: true,
152
117
  vertical: this.$props.vertical,
153
118
  ignoreIsAllDay: this.$props.ignoreIsAllDay
154
- });
155
- }, this) // </div>
156
-
157
- );
119
+ },
120
+ start: item.start,
121
+ end: item.end,
122
+ originalStart: item.originalStart,
123
+ startTimezone: item.startTimezone,
124
+ endTimezone: item.endTimezone,
125
+ isAllDay: item.isAllDay,
126
+ title: item.title,
127
+ description: item.description,
128
+ occurrenceId: item.occurrenceId,
129
+ recurrenceExceptions: item.recurrenceExceptions,
130
+ recurrenceRule: item.recurrenceRule,
131
+ recurrenceId: item.recurrenceId,
132
+ dataItem: item.dataItem,
133
+ itemRef: item.itemRef,
134
+ head: item.head,
135
+ tail: item.tail,
136
+ order: item.order,
137
+ zonedStart: item.zonedStart,
138
+ zonedEnd: item.zonedEnd,
139
+ slots: item.slots,
140
+ group: item.group,
141
+ range: item.range,
142
+ isException: item.isException,
143
+ isRecurring: item.isRecurring,
144
+ dragHint: true,
145
+ vertical: this.$props.vertical,
146
+ ignoreIsAllDay: this.$props.ignoreIsAllDay
147
+ });
148
+ }, this);
158
149
  }
159
150
  };
160
151
  exports.SchedulerDragVue2 = SchedulerDragVue2;