@progress/kendo-vue-scheduler 3.2.6 → 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 (62) 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/header/view-selector/ViewSelectorList.js +9 -7
  4. package/dist/es/hooks/use-items-focus.js +8 -8
  5. package/dist/es/hooks/use-items-selection.js +11 -11
  6. package/dist/es/hooks/use-slots-focus.js +20 -20
  7. package/dist/es/hooks/use-slots-selection.js +4 -4
  8. package/dist/es/hooks/useSlotExpand.js +1 -1
  9. package/dist/es/items/SchedulerEditItem.d.ts +1 -1
  10. package/dist/es/items/SchedulerEditItem.js +145 -119
  11. package/dist/es/items/SchedulerItem.d.ts +1 -0
  12. package/dist/es/items/SchedulerItem.js +408 -167
  13. package/dist/es/items/SchedulerViewItem.d.ts +1 -0
  14. package/dist/es/items/SchedulerViewItem.js +17 -17
  15. package/dist/es/items/hooks/use-drag-item.js +5 -3
  16. package/dist/es/items/hooks/use-resize-item.d.ts +2 -4
  17. package/dist/es/items/hooks/use-resize-item.js +278 -176
  18. package/dist/es/models/SchedulerView.d.ts +2 -0
  19. package/dist/es/package-metadata.js +1 -1
  20. package/dist/es/slots/SchedulerEditSlot.js +21 -16
  21. package/dist/es/slots/SchedulerSlot.js +20 -1
  22. package/dist/es/slots/SchedulerViewSlot.js +30 -5
  23. package/dist/es/utils/index.d.ts +4 -0
  24. package/dist/es/utils/index.js +23 -14
  25. package/dist/es/views/common/SchedulerDrag.js +1 -0
  26. package/dist/es/views/common/SchedulerResize.js +69 -21
  27. package/dist/es/views/common/VerticalResourceIterator.js +2 -2
  28. package/dist/es/views/day/DayView.js +2 -1
  29. package/dist/es/views/day/MultiDayView.d.ts +4 -0
  30. package/dist/es/views/day/MultiDayView.js +86 -15
  31. package/dist/es/views/week/WeekView.js +2 -1
  32. package/dist/npm/components/BaseView.js +14 -12
  33. package/dist/npm/components/header/view-selector/ViewSelectorList.js +9 -7
  34. package/dist/npm/hooks/use-items-focus.js +8 -8
  35. package/dist/npm/hooks/use-items-selection.js +11 -11
  36. package/dist/npm/hooks/use-slots-focus.js +20 -20
  37. package/dist/npm/hooks/use-slots-selection.js +4 -4
  38. package/dist/npm/hooks/useSlotExpand.js +1 -1
  39. package/dist/npm/items/SchedulerEditItem.d.ts +1 -1
  40. package/dist/npm/items/SchedulerEditItem.js +144 -118
  41. package/dist/npm/items/SchedulerItem.d.ts +1 -0
  42. package/dist/npm/items/SchedulerItem.js +407 -166
  43. package/dist/npm/items/SchedulerViewItem.d.ts +1 -0
  44. package/dist/npm/items/SchedulerViewItem.js +17 -17
  45. package/dist/npm/items/hooks/use-drag-item.js +5 -3
  46. package/dist/npm/items/hooks/use-resize-item.d.ts +2 -4
  47. package/dist/npm/items/hooks/use-resize-item.js +281 -176
  48. package/dist/npm/models/SchedulerView.d.ts +2 -0
  49. package/dist/npm/package-metadata.js +1 -1
  50. package/dist/npm/slots/SchedulerEditSlot.js +20 -15
  51. package/dist/npm/slots/SchedulerSlot.js +20 -1
  52. package/dist/npm/slots/SchedulerViewSlot.js +30 -5
  53. package/dist/npm/utils/index.d.ts +4 -0
  54. package/dist/npm/utils/index.js +24 -15
  55. package/dist/npm/views/common/SchedulerDrag.js +1 -0
  56. package/dist/npm/views/common/SchedulerResize.js +69 -21
  57. package/dist/npm/views/common/VerticalResourceIterator.js +2 -2
  58. package/dist/npm/views/day/DayView.js +2 -1
  59. package/dist/npm/views/day/MultiDayView.d.ts +4 -0
  60. package/dist/npm/views/day/MultiDayView.js +87 -15
  61. package/dist/npm/views/week/WeekView.js +2 -1
  62. package/package.json +12 -12
@@ -30,6 +30,7 @@ export interface SchedulerViewItemHandle {
30
30
  * @hidden
31
31
  */
32
32
  export interface SchedulerViewItemState {
33
+ element: any;
33
34
  }
34
35
  /**
35
36
  * @hidden
@@ -111,6 +111,7 @@ var SchedulerViewItemVue2 = {
111
111
  },
112
112
  mounted: function mounted() {
113
113
  var that = this;
114
+ this.element = this.getElement();
114
115
  this.$nextTick(function () {
115
116
  that.align();
116
117
  that.position();
@@ -256,7 +257,7 @@ var SchedulerViewItemVue2 = {
256
257
  style: __assign({
257
258
  visibility: this.visible ? undefined : 'hidden',
258
259
  display: this.display ? undefined : 'none'
259
- }, this.$props.style) // Keyboard
260
+ }, this.$props.itemStyle) // Keyboard
260
261
  ,
261
262
  onKeydown: this.handleKeyDown,
262
263
  on: this.v3 ? undefined : {
@@ -274,7 +275,7 @@ var SchedulerViewItemVue2 = {
274
275
  "resizepress": this.handleResizePress,
275
276
  "resizeenddrag": this.handleResizeEndDrag,
276
277
  "resizestartdrag": this.handleResizeStartDrag,
277
- "resizeselease": this.handleResizeRelease
278
+ "resizerelease": this.handleResizeRelease
278
279
  },
279
280
  onKeyup: this.handleKeyUp // Focus
280
281
  ,
@@ -293,7 +294,7 @@ var SchedulerViewItemVue2 = {
293
294
  onResizepress: this.handleResizePress,
294
295
  onResizeenddrag: this.handleResizeEndDrag,
295
296
  onResizestartdrag: this.handleResizeStartDrag,
296
- onResizeselease: this.handleResizeRelease
297
+ onResizerelease: this.handleResizeRelease
297
298
  }, this.v3 ? function () {
298
299
  return [!_this2.$props.resizeHint && h("div", {
299
300
  title: _this2.itemTitle,
@@ -365,12 +366,15 @@ var SchedulerViewItemVue2 = {
365
366
  resizepress: this.handleResizePress,
366
367
  resizeenddrag: this.handleResizeEndDrag,
367
368
  resizestartdrag: this.handleResizeStartDrag,
368
- resizeselease: this.handleResizeRelease
369
+ resizerelease: this.handleResizeRelease
369
370
  }
370
371
  });
371
372
  return itemRender;
372
373
  },
373
374
  methods: {
375
+ getElement: function getElement() {
376
+ return this.$el.nodeType === 8 ? this.$el.parentElement : this.$el.nodeType === 3 ? this.$el.nextElementSibling : this.$el;
377
+ },
374
378
  // Focus Handlers
375
379
  handleFocus: function handleFocus(e) {
376
380
  this.$emit('focus', e);
@@ -469,9 +473,7 @@ var SchedulerViewItemVue2 = {
469
473
  align: function align() {
470
474
  var _this = this;
471
475
 
472
- var element = this.$el.nodeType === 8 ? this.$el.parentElement : this.$el;
473
-
474
- if (!element) {
476
+ if (!this.element) {
475
477
  return;
476
478
  }
477
479
 
@@ -497,14 +499,12 @@ var SchedulerViewItemVue2 = {
497
499
  }
498
500
 
499
501
  var rect = getRect(firstSlot.$el);
500
- setRect(element, rect);
502
+ setRect(this.element, rect);
501
503
  },
502
504
  position: function position() {
503
505
  var _this = this;
504
506
 
505
- var element = this.$el.nodeType === 8 ? this.$el.parentElement : this.$el;
506
-
507
- if (!element) {
507
+ if (!this.element) {
508
508
  return;
509
509
  }
510
510
 
@@ -531,18 +531,18 @@ var SchedulerViewItemVue2 = {
531
531
  var mostSiblingsInSlot = this.$props.dragHint || this.$props.resizeHint ? this.calculateMostSiblings(slots, this.$props.dragHint ? dragItems : resizeItems) : this.calculateMostSiblings(slots, items);
532
532
  var siblingsPerSlot = this.getSiblingsInAllSlots(slots, items);
533
533
  var topOffset = 0;
534
- var rect = getRect(element);
534
+ var rect = getRect(this.element);
535
535
  siblingsPerSlot.forEach(function (slot) {
536
536
  var currentOffset = 0;
537
- var currentSlot = slot.sort(function (a, b) {
537
+ var currentItem = slot.sort(function (a, b) {
538
538
  return a.$props.order - b.$props.order;
539
539
  });
540
- currentSlot.forEach(function (current) {
541
- if (intersects(current.$props.start, current.$props.end, _this.$props.start, _this.$props.end) && !(_this.$props.dragHint || _this.$props.resizeHint) && current.$props.maxSiblingsPerSlot && current.$props.maxSiblingsPerSlot > mostSiblingsInSlot && current.$el !== element) {
540
+ currentItem.forEach(function (current) {
541
+ if (intersects(current.$props.start, current.$props.end, _this.$props.start, _this.$props.end) && !(_this.$props.dragHint || _this.$props.resizeHint) && current.$props.maxSiblingsPerSlot && current.$props.maxSiblingsPerSlot > mostSiblingsInSlot && current.getElement() !== _this.element) {
542
542
  mostSiblingsInSlot = current.$props.maxSiblingsPerSlot;
543
543
  }
544
544
 
545
- var currentRect = getRect(current.$el);
545
+ var currentRect = getRect(current.getElement());
546
546
 
547
547
  if (current.$props.order !== null && current.$props.order < order) {
548
548
  currentOffset = (currentRect.top || rect.top) + currentRect.height - rect.top - BORDER_WIDTH * order + ITEMS_SPACING;
@@ -565,7 +565,7 @@ var SchedulerViewItemVue2 = {
565
565
  rect.left = this.$props.vertical ? rect.left + order * rect.width + BORDER_WIDTH * order : rect.left;
566
566
  rect.top = this.$props.vertical ? rect.top : rect.top + topOffset + BORDER_WIDTH * order;
567
567
  this.maxSiblingsPerSlot = mostSiblingsInSlot;
568
- setRect(element, rect);
568
+ setRect(this.element, rect);
569
569
  this.visible = true;
570
570
  this.display = true;
571
571
  },
@@ -188,13 +188,14 @@ export var useDragItem = function useDragItem(action) {
188
188
 
189
189
  case DRAG_ITEM_ACTION.complete:
190
190
  {
191
+ var currentDataItem = this.compDragItem;
191
192
  this.currentDragItem = null;
192
193
 
193
- if (this.compDragItem) {
194
+ if (currentDataItem) {
194
195
  this.$emit('dataaction', {
195
196
  type: DATA_ACTION.update,
196
197
  series: false,
197
- dataItem: this.compDragItem
198
+ dataItem: currentDataItem
198
199
  });
199
200
  }
200
201
 
@@ -204,9 +205,10 @@ export var useDragItem = function useDragItem(action) {
204
205
  case DRAG_ITEM_ACTION.completeOccurrence:
205
206
  {
206
207
  var newDataItem = Array.isArray(this.compDragItem) ? this.compDragItem.slice() : clone(this.compDragItem);
208
+ var currentDataItem = this.compDragItem;
207
209
  this.currentDragItem = null;
208
210
 
209
- if (this.compDragItem) {
211
+ if (currentDataItem) {
210
212
  this.$emit('dataaction', {
211
213
  type: DATA_ACTION.update,
212
214
  series: false,
@@ -1,4 +1,5 @@
1
1
  import { DataItem } from '../../models';
2
+ import { SchedulerEditItemAll } from '../SchedulerEditItem';
2
3
  /**
3
4
  * Represents the available `action` types for the `SchedulerItemResizeItemAction` objects.
4
5
  *
@@ -35,7 +36,4 @@ export interface SchedulerItemResizeItemAction {
35
36
  event?: any;
36
37
  }
37
38
  /** @hidden */
38
- export declare const useResizeItem: (_config: {
39
- dataItem: DataItem;
40
- onDataaction: any;
41
- }, _state: [DataItem, DataItem, any]) => any[];
39
+ export declare const useResizeItem: (this: SchedulerEditItemAll, action: SchedulerItemResizeItemAction, event: any) => void;
@@ -1,3 +1,20 @@
1
+ var __spreadArrays = this && this.__spreadArrays || function () {
2
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++) {
3
+ s += arguments[i].length;
4
+ }
5
+
6
+ for (var r = Array(s), k = 0, i = 0; i < il; i++) {
7
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {
8
+ r[k] = a[j];
9
+ }
10
+ }
11
+
12
+ return r;
13
+ };
14
+
15
+ import { clone } from '@progress/kendo-vue-common';
16
+ import { DATA_ACTION } from '../../Scheduler';
17
+ import { getField, setField, slotDive } from '../../utils';
1
18
  /**
2
19
  * Represents the available `action` types for the `SchedulerItemResizeItemAction` objects.
3
20
  *
@@ -13,6 +30,7 @@
13
30
  * - `RESIZE_ITEM_COMPLETE_SERIES`
14
31
  * - `RESIZE_ITEM_RESET`
15
32
  */
33
+
16
34
  export var RESIZE_ITEM_ACTION;
17
35
 
18
36
  (function (RESIZE_ITEM_ACTION) {
@@ -27,183 +45,267 @@ export var RESIZE_ITEM_ACTION;
27
45
  RESIZE_ITEM_ACTION["completeSeries"] = "RESIZE_ITEM_COMPLETE_SERIES";
28
46
  RESIZE_ITEM_ACTION["reset"] = "RESIZE_ITEM_RESET";
29
47
  })(RESIZE_ITEM_ACTION || (RESIZE_ITEM_ACTION = {}));
48
+
49
+ var oldSlot = null;
30
50
  /** @hidden */
31
51
 
52
+ export var useResizeItem = function useResizeItem(action, event) {
53
+ var _this = this;
54
+
55
+ var newResizeItem = this.compResizeItem;
56
+
57
+ switch (action.type) {
58
+ case RESIZE_ITEM_ACTION.set:
59
+ newResizeItem = action.payload;
60
+ break;
61
+
62
+ case RESIZE_ITEM_ACTION.reset:
63
+ newResizeItem = null;
64
+ break;
65
+
66
+ case RESIZE_ITEM_ACTION.start:
67
+ {
68
+ event.stopPropagation();
69
+ event.preventDefault();
70
+ var clientX = action.payload.x;
71
+ var clientY = action.payload.y;
72
+ var slot = slotDive(clientX, clientY, 7);
73
+
74
+ if (!slot) {
75
+ return;
76
+ }
77
+
78
+ if (slot === oldSlot) {
79
+ return;
80
+ }
81
+
82
+ var slotStart = slot.getAttribute('data-slot-start');
83
+ var newStart = new Date(Number(slotStart));
84
+ var dataItem = clone(this.dataItem);
85
+
86
+ if (newStart >= getField(dataItem, this.ks.fields.end)) {
87
+ return;
88
+ }
89
+
90
+ setField(dataItem, this.ks.fields.start, newStart);
91
+ oldSlot = slot;
92
+ newResizeItem = dataItem;
93
+ break;
94
+ }
95
+
96
+ case RESIZE_ITEM_ACTION.startDragSelected:
97
+ {
98
+ event.stopPropagation();
99
+ event.preventDefault();
100
+ var clientX = action.payload.x;
101
+ var clientY = action.payload.y;
102
+ var dataItem = clone(this.dataItem);
103
+ var slot = slotDive(clientX, clientY, 7);
104
+
105
+ if (!slot) {
106
+ return;
107
+ }
108
+
109
+ if (slot === oldSlot) {
110
+ return;
111
+ }
112
+
113
+ var slotStart = slot.getAttribute('data-slot-start');
114
+ var itemStart = new Date(getField(dataItem, this.ks.fields.start));
115
+ var newStart = new Date(Number(slotStart));
116
+ var distance_1 = newStart.getTime() - itemStart.getTime();
117
+ var unreachable_1 = false;
118
+ var newResizeItems = this.bv.selectedItems.map(function (si) {
119
+ if (!si) {
120
+ return null;
121
+ }
122
+
123
+ var selectedDataItem = clone(si.props.dataItem);
124
+ var selectedStart = new Date(si.props.start.getTime() + distance_1);
125
+
126
+ if (selectedStart >= getField(selectedDataItem, _this.ks.fields.end)) {
127
+ unreachable_1 = true;
128
+ return;
129
+ }
130
+
131
+ setField(selectedDataItem, _this.ks.fields.start, selectedStart);
132
+ return selectedDataItem;
133
+ }).filter(Boolean);
134
+
135
+ if (!unreachable_1) {
136
+ newResizeItem = __spreadArrays(newResizeItems);
137
+ }
138
+
139
+ break;
140
+ }
141
+
142
+ case RESIZE_ITEM_ACTION.startDrag:
143
+ {
144
+ var clientX = action.payload.x;
145
+ var clientY = action.payload.y;
146
+ var slot = slotDive(clientX, clientY, 7);
147
+
148
+ if (!slot) {
149
+ return;
150
+ }
151
+
152
+ if (slot === oldSlot) {
153
+ return;
154
+ }
155
+
156
+ var slotStart = slot.getAttribute('data-slot-start');
157
+ var newStart = new Date(Number(slotStart));
158
+ var dataItem = clone(this.dataItem);
159
+
160
+ if (newStart >= dataItem.end) {
161
+ return;
162
+ }
163
+
164
+ setField(dataItem, this.ks.fields.start, newStart);
165
+ oldSlot = slot;
166
+ newResizeItem = dataItem;
167
+ break;
168
+ }
169
+
170
+ case RESIZE_ITEM_ACTION.endDrag:
171
+ {
172
+ var clientX = action.payload.x;
173
+ var clientY = action.payload.y;
174
+ var slot = slotDive(clientX, clientY, 7);
175
+
176
+ if (!slot) {
177
+ return;
178
+ }
179
+
180
+ if (slot === oldSlot) {
181
+ return;
182
+ }
183
+
184
+ var slotEnd = slot.getAttribute('data-slot-end');
185
+ var newEnd = new Date(Number(slotEnd));
186
+ var dataItem = clone(this.dataItem);
187
+
188
+ if (newEnd <= dataItem.start) {
189
+ return;
190
+ }
191
+
192
+ setField(dataItem, this.ks.fields.end, newEnd);
193
+ oldSlot = slot;
194
+ newResizeItem = dataItem;
195
+ break;
196
+ }
197
+
198
+ case RESIZE_ITEM_ACTION.endDragSelected:
199
+ {
200
+ event.stopPropagation();
201
+ event.preventDefault();
202
+ var clientX = action.payload.x;
203
+ var clientY = action.payload.y;
204
+ var dataItem = clone(this.dataItem);
205
+ var slot = slotDive(clientX, clientY, 7);
206
+
207
+ if (!slot) {
208
+ return;
209
+ }
210
+
211
+ if (slot === oldSlot) {
212
+ return;
213
+ }
214
+
215
+ var slotEnd = slot.getAttribute('data-slot-start');
216
+ var itemEnd = new Date(getField(dataItem, this.ks.fields.end));
217
+ var newEnd = new Date(Number(slotEnd));
218
+ var distance_2 = newEnd.getTime() - itemEnd.getTime();
219
+ var unreachable_2;
220
+ var newResizeItems = this.bv.selectedItems.map(function (si) {
221
+ if (!si) {
222
+ return null;
223
+ }
224
+
225
+ var selectedDataItem = clone(si.props.dataItem);
226
+ var selectedEnd = new Date(si.props.end.getTime() + distance_2);
227
+
228
+ if (selectedEnd <= getField(selectedDataItem, _this.ks.fields.start)) {
229
+ unreachable_2 = true;
230
+ return;
231
+ }
232
+
233
+ setField(selectedDataItem, _this.ks.fields.end, selectedEnd);
234
+ return selectedDataItem;
235
+ }).filter(Boolean);
236
+
237
+ if (!unreachable_2) {
238
+ newResizeItem = __spreadArrays(newResizeItems);
239
+ }
240
+
241
+ break;
242
+ }
243
+
244
+ case RESIZE_ITEM_ACTION.complete:
245
+ {
246
+ newResizeItem = null;
247
+
248
+ if (this.compResizeItem) {
249
+ this.$emit('dataaction', {
250
+ type: DATA_ACTION.update,
251
+ series: false,
252
+ dataItem: this.compResizeItem
253
+ });
254
+ }
255
+
256
+ break;
257
+ }
258
+
259
+ case RESIZE_ITEM_ACTION.completeOccurrence:
260
+ {
261
+ newResizeItem = null;
262
+
263
+ if (this.compResizeItem) {
264
+ this.$emit('dataaction', {
265
+ type: DATA_ACTION.update,
266
+ series: false,
267
+ dataItem: this.compResizeItem
268
+ });
269
+ }
270
+
271
+ break;
272
+ }
273
+
274
+ case RESIZE_ITEM_ACTION.completeSeries:
275
+ {
276
+ newResizeItem = null;
277
+ var newDataItem = void 0;
278
+
279
+ if (Array.isArray(this.compResizeItem)) {
280
+ newDataItem = this.compResizeItem.map(function (item) {
281
+ var newItem = clone(item);
282
+ setField(newItem, _this.ks.fields.start, getField(item, _this.ks.fields.start));
283
+ setField(newItem, _this.ks.fields.end, getField(item, _this.ks.fields.end));
284
+ return newItem;
285
+ });
286
+ } else {
287
+ var newItem = clone(this.compResizeItem);
288
+ setField(newItem, this.ks.fields.start, getField(this.compResizeItem, this.ks.fields.start));
289
+ setField(newItem, this.ks.fields.end, getField(this.compResizeItem, this.ks.fields.end));
290
+ newDataItem = newItem;
291
+ }
292
+
293
+ if (newDataItem) {
294
+ this.$emit('dataaction', {
295
+ type: DATA_ACTION.update,
296
+ series: true,
297
+ dataItem: newDataItem
298
+ });
299
+ }
300
+
301
+ break;
302
+ }
303
+
304
+ default:
305
+ newResizeItem = null;
306
+ break;
307
+ }
32
308
 
33
- export var useResizeItem = function useResizeItem(_config, _state) {
34
- // const oldSlot = React.useRef<HTMLElement | null>(null);
35
- // const [resizeItem, setResizeItem] = useControlledState<DataItem | null | (DataItem | null)[]>(...state);
36
- // const [selectedItems] = useSchedulerViewSelectedItemsContext();
37
- // const fields = useSchedulerFieldsContext();
38
- // const handleDragItemAction = (action: SchedulerItemResizeItemAction, event: any) => {
39
- // let newResizeItem = resizeItem;
40
- // switch(action.type) {
41
- // case RESIZE_ITEM_ACTION.set:
42
- // newResizeItem = action.payload;
43
- // break;
44
- // case RESIZE_ITEM_ACTION.reset:
45
- // newResizeItem = null;
46
- // break;
47
- // case RESIZE_ITEM_ACTION.start: {
48
- // event.stopPropagation();
49
- // event.preventDefault();
50
- // const clientX = action.payload.x;
51
- // const clientY = action.payload.y;
52
- // const slot: HTMLElement | null = slotDive(clientX, clientY, 7);
53
- // if (!slot) { return; }
54
- // if (slot === oldSlot.current) { return; }
55
- // const slotStart = slot.getAttribute('data-slot-start');
56
- // const newStart = new Date(Number(slotStart));
57
- // const dataItem = clone(config.dataItem);
58
- // if (newStart >= getField(dataItem, fields.end)) { return; }
59
- // setField(dataItem, fields.start, newStart);
60
- // oldSlot.current = slot;
61
- // newResizeItem = dataItem;
62
- // break;
63
- // }
64
- // case RESIZE_ITEM_ACTION.startDragSelected: {
65
- // event.stopPropagation();
66
- // event.preventDefault();
67
- // const clientX = action.payload.x;
68
- // const clientY = action.payload.y;
69
- // const dataItem = clone(config.dataItem);
70
- // const slot: HTMLElement | null = slotDive(clientX, clientY, 7);
71
- // if (!slot) { return; }
72
- // if (slot === oldSlot.current) { return; }
73
- // const slotStart = slot.getAttribute('data-slot-start');
74
- // const itemStart = new Date(getField(dataItem, fields.start));
75
- // const newStart = new Date(Number(slotStart));
76
- // const distance = newStart.getTime() - itemStart.getTime();
77
- // let unreachable = false;
78
- // const newResizeItems = selectedItems.map((si) => {
79
- // if(!si.current) {return null;}
80
- // const selectedDataItem = clone(si.current.props.dataItem);
81
- // const selectedStart = new Date(si.current.props.start.getTime() + distance);
82
- // if(selectedStart >= getField(selectedDataItem, fields.end)) {
83
- // unreachable = true;
84
- // return;
85
- // }
86
- // setField(selectedDataItem, fields.start, selectedStart);
87
- // return selectedDataItem;
88
- // }).filter(Boolean);
89
- // if(!unreachable) {
90
- // newResizeItem = [...newResizeItems];
91
- // }
92
- // break;
93
- // }
94
- // case RESIZE_ITEM_ACTION.startDrag: {
95
- // const clientX = action.payload.x;
96
- // const clientY = action.payload.y;
97
- // const slot: HTMLElement | null = slotDive(clientX, clientY, 7);
98
- // if (!slot) { return; }
99
- // if (slot === oldSlot.current) { return; }
100
- // const slotStart = slot.getAttribute('data-slot-start');
101
- // const newStart = new Date(Number(slotStart));
102
- // const dataItem = clone(config.dataItem);
103
- // if (newStart >= dataItem.end) { return; }
104
- // setField(dataItem, fields.start, newStart);
105
- // oldSlot.current = slot;
106
- // newResizeItem = dataItem;
107
- // break;
108
- // }
109
- // case RESIZE_ITEM_ACTION.endDrag: {
110
- // const clientX = action.payload.x;
111
- // const clientY = action.payload.y;
112
- // const slot: HTMLElement | null = slotDive(clientX, clientY, 7);
113
- // if (!slot) { return; }
114
- // if (slot === oldSlot.current) { return; }
115
- // const slotEnd = slot.getAttribute('data-slot-end');
116
- // const newEnd = new Date(Number(slotEnd));
117
- // const dataItem = clone(config.dataItem);
118
- // if (newEnd <= dataItem.start) { return; }
119
- // setField(dataItem, fields.end, newEnd);
120
- // oldSlot.current = slot;
121
- // newResizeItem = dataItem;
122
- // break;
123
- // }
124
- // case RESIZE_ITEM_ACTION.endDragSelected: {
125
- // event.stopPropagation();
126
- // event.preventDefault();
127
- // const clientX = action.payload.x;
128
- // const clientY = action.payload.y;
129
- // const dataItem = clone(config.dataItem);
130
- // const slot: HTMLElement | null = slotDive(clientX, clientY, 7);
131
- // if (!slot) { return; }
132
- // if (slot === oldSlot.current) { return; }
133
- // const slotEnd = slot.getAttribute('data-slot-start');
134
- // const itemEnd = new Date(getField(dataItem, fields.end));
135
- // const newEnd = new Date(Number(slotEnd));
136
- // const distance = newEnd.getTime() - itemEnd.getTime();
137
- // let unreachable;
138
- // const newResizeItems = selectedItems.map((si) => {
139
- // if(!si.current) {return null;}
140
- // const selectedDataItem = clone(si.current.props.dataItem);
141
- // const selectedEnd = new Date(si.current.props.end.getTime() + distance);
142
- // if(selectedEnd <= getField(selectedDataItem, fields.start)) {
143
- // unreachable = true;
144
- // return;
145
- // }
146
- // setField(selectedDataItem, fields.end, selectedEnd);
147
- // return selectedDataItem;
148
- // }).filter(Boolean);
149
- // if(!unreachable) {
150
- // newResizeItem = [...newResizeItems];
151
- // }
152
- // break;
153
- // }
154
- // case RESIZE_ITEM_ACTION.complete: {
155
- // newResizeItem = null;
156
- // if(config.onDataAction && resizeItem) {
157
- // config.onDataAction.call(undefined,{
158
- // type: DATA_ACTION.update,
159
- // series: false,
160
- // dataItem: resizeItem
161
- // });
162
- // }
163
- // break;
164
- // }
165
- // case RESIZE_ITEM_ACTION.completeOccurrence: {
166
- // newResizeItem = null;
167
- // if(config.onDataAction && resizeItem) {
168
- // config.onDataAction.call(undefined,{
169
- // type: DATA_ACTION.update,
170
- // series: false,
171
- // dataItem: resizeItem
172
- // });
173
- // }
174
- // break;
175
- // }
176
- // case RESIZE_ITEM_ACTION.completeSeries: {
177
- // newResizeItem = null;
178
- // let newDataItem;
179
- // if(Array.isArray(resizeItem)) {
180
- // newDataItem = resizeItem.map((item) => {
181
- // const newItem = clone(item);
182
- // setField(newItem, fields.start, getField(item, fields.start));
183
- // setField(newItem, fields.end, getField(item, fields.end));
184
- // return newItem;
185
- // });
186
- // } else {
187
- // const newItem = clone(resizeItem);
188
- // setField(newItem, fields.start, getField(resizeItem, fields.start));
189
- // setField(newItem, fields.end, getField(resizeItem, fields.end));
190
- // newDataItem = newItem;
191
- // }
192
- // if(config.onDataAction && newDataItem) {
193
- // config.onDataAction.call(undefined,{
194
- // type: DATA_ACTION.update,
195
- // series: true,
196
- // dataItem: newDataItem
197
- // });
198
- // }
199
- // break;
200
- // }
201
- // default:
202
- // newResizeItem = null;
203
- // break;
204
- // }
205
- // setResizeItem(newResizeItem);
206
- // };
207
- // return [resizeItem, setResizeItem, handleDragItemAction];
208
- return [];
309
+ this.currentResizeItem = newResizeItem;
310
+ this.$emit('resizeitemchange', newResizeItem);
209
311
  };
@@ -67,6 +67,8 @@ export interface SchedulerViewProps {
67
67
  workWeekStart?: Day;
68
68
  /** @hidden */
69
69
  workWeekEnd?: Day;
70
+ /** @hidden */
71
+ format?: string;
70
72
  }
71
73
  /**
72
74
  * Represents a single Scheduler view.
@@ -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: 1650978689,
8
+ publishDate: 1651491665,
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
  };