@progress/kendo-vue-scheduler 3.3.1-dev.202205110620 → 3.3.2
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.
- package/dist/cdn/js/kendo-vue-scheduler.js +2 -2
- package/dist/es/Scheduler.d.ts +2 -0
- package/dist/es/Scheduler.js +3 -0
- package/dist/es/components/BaseView.d.ts +1 -1
- package/dist/es/components/BaseView.js +2 -2
- package/dist/es/items/SchedulerItem.js +281 -260
- package/dist/es/models/SchedulerView.d.ts +8 -0
- package/dist/es/package-metadata.js +1 -1
- package/dist/es/views/agenda/AgendaView.js +19 -3
- package/dist/es/views/day/DayView.js +5 -2
- package/dist/es/views/day/MultiDayView.d.ts +4 -0
- package/dist/es/views/day/MultiDayView.js +3 -2
- package/dist/es/views/month/MonthView.d.ts +4 -0
- package/dist/es/views/month/MonthView.js +115 -12
- package/dist/es/views/time/MultiDayTimelineView.d.ts +4 -0
- package/dist/es/views/time/MultiDayTimelineView.js +134 -9
- package/dist/es/views/time/TimelineView.js +19 -0
- package/dist/es/views/week/WeekView.js +3 -0
- package/dist/es/views/week/WorkWeekView.js +3 -0
- package/dist/npm/Scheduler.d.ts +2 -0
- package/dist/npm/Scheduler.js +3 -0
- package/dist/npm/components/BaseView.d.ts +1 -1
- package/dist/npm/components/BaseView.js +2 -2
- package/dist/npm/items/SchedulerItem.js +279 -258
- package/dist/npm/models/SchedulerView.d.ts +8 -0
- package/dist/npm/package-metadata.js +1 -1
- package/dist/npm/views/agenda/AgendaView.js +18 -2
- package/dist/npm/views/day/DayView.js +5 -2
- package/dist/npm/views/day/MultiDayView.d.ts +4 -0
- package/dist/npm/views/day/MultiDayView.js +3 -2
- package/dist/npm/views/month/MonthView.d.ts +4 -0
- package/dist/npm/views/month/MonthView.js +117 -12
- package/dist/npm/views/time/MultiDayTimelineView.d.ts +4 -0
- package/dist/npm/views/time/MultiDayTimelineView.js +136 -9
- package/dist/npm/views/time/TimelineView.js +19 -0
- package/dist/npm/views/week/WeekView.js +3 -0
- package/dist/npm/views/week/WorkWeekView.js +3 -0
- package/package.json +12 -12
|
@@ -69,6 +69,14 @@ export interface SchedulerViewProps {
|
|
|
69
69
|
workWeekEnd?: Day;
|
|
70
70
|
/** @hidden */
|
|
71
71
|
format?: string;
|
|
72
|
+
/**
|
|
73
|
+
* Overrides the `dragItem` prop of the Scheduler for the specified view only.
|
|
74
|
+
*/
|
|
75
|
+
dragItem?: any;
|
|
76
|
+
/**
|
|
77
|
+
* Overrides the `resizeItem` prop of the Scheduler for the specified view only.
|
|
78
|
+
*/
|
|
79
|
+
resizeItem?: any;
|
|
72
80
|
}
|
|
73
81
|
/**
|
|
74
82
|
* 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:
|
|
8
|
+
publishDate: 1653315548,
|
|
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
|
};
|
|
@@ -1,4 +1,20 @@
|
|
|
1
|
-
|
|
1
|
+
var __assign = this && this.__assign || function () {
|
|
2
|
+
__assign = Object.assign || function (t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
|
|
6
|
+
for (var p in s) {
|
|
7
|
+
if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
return t;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
return __assign.apply(this, arguments);
|
|
15
|
+
}; // @ts-ignore
|
|
16
|
+
|
|
17
|
+
|
|
2
18
|
import * as Vue from 'vue';
|
|
3
19
|
var allVue = Vue;
|
|
4
20
|
var gh = allVue.h;
|
|
@@ -158,12 +174,12 @@ var AgendaViewVue2 = {
|
|
|
158
174
|
id: this.$props.id,
|
|
159
175
|
attrs: this.v3 ? undefined : {
|
|
160
176
|
id: this.$props.id,
|
|
161
|
-
|
|
177
|
+
viewProps: __assign({}, this.$props),
|
|
162
178
|
baseSlots: this.items,
|
|
163
179
|
ranges: this.ranges
|
|
164
180
|
},
|
|
165
181
|
"class": 'k-scheduler-agendaview',
|
|
166
|
-
|
|
182
|
+
viewProps: __assign({}, this.$props),
|
|
167
183
|
baseSlots: this.items,
|
|
168
184
|
ranges: this.ranges
|
|
169
185
|
}, this.v3 ? function () {
|
|
@@ -90,6 +90,7 @@ var DayViewVue2 = {
|
|
|
90
90
|
timeHeaderCell: [String, Function, Object],
|
|
91
91
|
slotRender: [String, Function, Object],
|
|
92
92
|
viewSlot: [String, Function, Object],
|
|
93
|
+
resizeHint: [String, Function, Object],
|
|
93
94
|
item: [String, Function, Object],
|
|
94
95
|
viewItem: [String, Function, Object],
|
|
95
96
|
editable: {
|
|
@@ -127,7 +128,7 @@ var DayViewVue2 = {
|
|
|
127
128
|
selectedDateFormat: this.$props.selectedDateFormat,
|
|
128
129
|
selectedShortDateFormat: this.$props.selectedShortDateFormat,
|
|
129
130
|
showWorkHours: this.$props.showWorkHours,
|
|
130
|
-
title:
|
|
131
|
+
title: title,
|
|
131
132
|
currentTimeMarker: this.$props.currentTimeMarker,
|
|
132
133
|
startTime: this.$props.startTime,
|
|
133
134
|
endTime: this.$props.endTime,
|
|
@@ -140,6 +141,7 @@ var DayViewVue2 = {
|
|
|
140
141
|
dateHeaderCell: this.$props.dateHeaderCell,
|
|
141
142
|
slotRender: this.$props.slotRender,
|
|
142
143
|
viewSlot: this.$props.viewSlot,
|
|
144
|
+
resizeHint: this.$props.resizeHint,
|
|
143
145
|
item: this.$props.item,
|
|
144
146
|
viewItem: this.$props.viewItem,
|
|
145
147
|
slotItem: this.$props.slotItem,
|
|
@@ -153,7 +155,7 @@ var DayViewVue2 = {
|
|
|
153
155
|
selectedDateFormat: this.$props.selectedDateFormat,
|
|
154
156
|
selectedShortDateFormat: this.$props.selectedShortDateFormat,
|
|
155
157
|
showWorkHours: this.$props.showWorkHours,
|
|
156
|
-
title:
|
|
158
|
+
title: title,
|
|
157
159
|
currentTimeMarker: this.$props.currentTimeMarker,
|
|
158
160
|
startTime: this.$props.startTime,
|
|
159
161
|
endTime: this.$props.endTime,
|
|
@@ -166,6 +168,7 @@ var DayViewVue2 = {
|
|
|
166
168
|
dateHeaderCell: this.$props.dateHeaderCell,
|
|
167
169
|
slotRender: this.$props.slotRender,
|
|
168
170
|
viewSlot: this.$props.viewSlot,
|
|
171
|
+
resizeHint: this.$props.resizeHint,
|
|
169
172
|
item: this.$props.item,
|
|
170
173
|
viewItem: this.$props.viewItem,
|
|
171
174
|
slotItem: this.$props.slotItem,
|
|
@@ -130,6 +130,10 @@ export interface MultiDayViewProps extends SchedulerViewProps {
|
|
|
130
130
|
* Overrides the `editSlot` prop of the Scheduler for the specified view only.
|
|
131
131
|
*/
|
|
132
132
|
editSlot?: any;
|
|
133
|
+
/**
|
|
134
|
+
* Overrides the `resizeHint` of the event.
|
|
135
|
+
*/
|
|
136
|
+
resizeHint?: any;
|
|
133
137
|
form?: any;
|
|
134
138
|
/**
|
|
135
139
|
* If set to `false` the "current time" marker of the scheduler would not be displayed.
|
|
@@ -153,6 +153,7 @@ var MultiDayViewVue2 = {
|
|
|
153
153
|
timeHeaderCell: [String, Function, Object],
|
|
154
154
|
slotRender: [String, Function, Object],
|
|
155
155
|
viewSlot: [String, Function, Object],
|
|
156
|
+
resizeHint: [String, Function, Object],
|
|
156
157
|
item: [String, Function, Object],
|
|
157
158
|
viewItem: [String, Function, Object],
|
|
158
159
|
editable: {
|
|
@@ -377,11 +378,11 @@ var MultiDayViewVue2 = {
|
|
|
377
378
|
id: this.$props.id,
|
|
378
379
|
attrs: this.v3 ? undefined : {
|
|
379
380
|
id: this.$props.id,
|
|
380
|
-
|
|
381
|
+
viewProps: __assign({}, this.$props),
|
|
381
382
|
ranges: __spreadArrays(this.dayRanges, this.timeRanges),
|
|
382
383
|
baseSlots: __spreadArrays(daySlots, timeSlots)
|
|
383
384
|
},
|
|
384
|
-
|
|
385
|
+
viewProps: __assign({}, this.$props),
|
|
385
386
|
"class": 'k-scheduler-day-view',
|
|
386
387
|
ranges: __spreadArrays(this.dayRanges, this.timeRanges),
|
|
387
388
|
baseSlots: __spreadArrays(daySlots, timeSlots)
|
|
@@ -58,6 +58,10 @@ export interface MonthViewProps extends SchedulerViewProps {
|
|
|
58
58
|
* Overrides the `viewSlot` prop of the Scheduler for the specified view only.
|
|
59
59
|
*/
|
|
60
60
|
viewSlot?: any;
|
|
61
|
+
/**
|
|
62
|
+
* Overrides the `resizeHint` of the event.
|
|
63
|
+
*/
|
|
64
|
+
resizeHint?: any;
|
|
61
65
|
/**
|
|
62
66
|
* Overrides the `editSlot` prop of the Scheduler for the specified view only.
|
|
63
67
|
*/
|
|
@@ -35,6 +35,8 @@ import { toItems } from '../../services/itemsService';
|
|
|
35
35
|
import { MonthViewHead } from './MonthViewHead';
|
|
36
36
|
import { MonthViewBody } from './MonthViewBody';
|
|
37
37
|
import { SchedulerEditItem } from '../../items/SchedulerEditItem';
|
|
38
|
+
import { SchedulerResize } from '../common/SchedulerResize';
|
|
39
|
+
import { SchedulerDrag } from '../../views/common/SchedulerDrag';
|
|
38
40
|
var DAY_FORMAT = {
|
|
39
41
|
skeleton: 'dd'
|
|
40
42
|
}; // tslint:enable:max-line-length
|
|
@@ -68,6 +70,18 @@ var MonthViewVue2 = {
|
|
|
68
70
|
type: Number,
|
|
69
71
|
default: 31
|
|
70
72
|
},
|
|
73
|
+
dragItem: {
|
|
74
|
+
type: Object,
|
|
75
|
+
default: function _default() {
|
|
76
|
+
return undefined;
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
resizeItem: {
|
|
80
|
+
type: Object,
|
|
81
|
+
default: function _default() {
|
|
82
|
+
return undefined;
|
|
83
|
+
}
|
|
84
|
+
},
|
|
71
85
|
title: String,
|
|
72
86
|
selectedDateFormat: {
|
|
73
87
|
type: String,
|
|
@@ -80,6 +94,7 @@ var MonthViewVue2 = {
|
|
|
80
94
|
dateHeaderCell: [String, Function, Object],
|
|
81
95
|
slotRender: [String, Function, Object],
|
|
82
96
|
viewSlot: [String, Function, Object],
|
|
97
|
+
resizeHint: [String, Function, Object],
|
|
83
98
|
item: [String, Function, Object],
|
|
84
99
|
viewItem: [String, Function, Object],
|
|
85
100
|
editable: {
|
|
@@ -101,6 +116,12 @@ var MonthViewVue2 = {
|
|
|
101
116
|
created: function created() {
|
|
102
117
|
this.intl = provideIntlService(this);
|
|
103
118
|
},
|
|
119
|
+
data: function data() {
|
|
120
|
+
return {
|
|
121
|
+
currentDragItem: undefined,
|
|
122
|
+
currentResizeItem: undefined
|
|
123
|
+
};
|
|
124
|
+
},
|
|
104
125
|
computed: {
|
|
105
126
|
ranges: function ranges() {
|
|
106
127
|
return toRanges(this.ks.dateRange, {
|
|
@@ -133,6 +154,12 @@ var MonthViewVue2 = {
|
|
|
133
154
|
mapItemsToSlots(items, this.monthSlots, true);
|
|
134
155
|
mapSlotsToItems(items, this.monthSlots, true);
|
|
135
156
|
return items;
|
|
157
|
+
},
|
|
158
|
+
compDragItem: function compDragItem() {
|
|
159
|
+
return this.dragItem !== undefined ? this.dragItem : this.currentDragItem;
|
|
160
|
+
},
|
|
161
|
+
compResizeItem: function compResizeItem() {
|
|
162
|
+
return this.resizeItem !== undefined ? this.resizeItem : this.currentResizeItem;
|
|
136
163
|
}
|
|
137
164
|
},
|
|
138
165
|
// @ts-ignore
|
|
@@ -146,18 +173,80 @@ var MonthViewVue2 = {
|
|
|
146
173
|
render: function render(createElement) {
|
|
147
174
|
var _this2 = this;
|
|
148
175
|
|
|
149
|
-
var h = gh || createElement;
|
|
150
|
-
// group,
|
|
151
|
-
// timezone,
|
|
152
|
-
// resources: propResources
|
|
153
|
-
// } = useSchedulerPropsContext();
|
|
154
|
-
|
|
176
|
+
var h = gh || createElement;
|
|
155
177
|
this.localization = provideLocalizationService(this);
|
|
156
178
|
var title = this.localization.toLanguageString(monthViewTitle, messages[monthViewTitle]);
|
|
157
179
|
var EditItem = this.$props.editItem || SchedulerEditItem;
|
|
158
180
|
var EditSlot = this.$props.editSlot || SchedulerEditSlot;
|
|
159
181
|
var items = this.items;
|
|
160
182
|
var monthSlots = this.monthSlots;
|
|
183
|
+
|
|
184
|
+
var dragItemClue = function dragItemClue(vertical) {
|
|
185
|
+
return this.compDragItem && this.$props.editable.drag && (Array.isArray(this.compDragItem) ? this.compDragItem.map(function (di, idx) {
|
|
186
|
+
return h(SchedulerDrag, {
|
|
187
|
+
key: idx,
|
|
188
|
+
ignoreIsAllDay: true,
|
|
189
|
+
attrs: this.v3 ? undefined : {
|
|
190
|
+
ignoreIsAllDay: true,
|
|
191
|
+
dataItem: di,
|
|
192
|
+
vertical: vertical,
|
|
193
|
+
item: this.$props.dataItem
|
|
194
|
+
},
|
|
195
|
+
dataItem: di,
|
|
196
|
+
vertical: vertical,
|
|
197
|
+
item: this.$props.dataItem
|
|
198
|
+
});
|
|
199
|
+
}, this) : h(SchedulerDrag, {
|
|
200
|
+
ignoreIsAllDay: true,
|
|
201
|
+
attrs: this.v3 ? undefined : {
|
|
202
|
+
ignoreIsAllDay: true,
|
|
203
|
+
dataItem: this.compDragItem,
|
|
204
|
+
vertical: vertical,
|
|
205
|
+
item: this.$props.dataItem
|
|
206
|
+
},
|
|
207
|
+
dataItem: this.compDragItem,
|
|
208
|
+
vertical: vertical,
|
|
209
|
+
item: this.$props.dataItem
|
|
210
|
+
}));
|
|
211
|
+
};
|
|
212
|
+
|
|
213
|
+
var resizeItemClue = function resizeItemClue(vertical) {
|
|
214
|
+
return this.compResizeItem && this.editable.resize && (Array.isArray(this.compResizeItem) ? this.compResizeItem.map(function (ri, idx) {
|
|
215
|
+
return h(SchedulerResize, {
|
|
216
|
+
key: idx,
|
|
217
|
+
format: this.$props.format,
|
|
218
|
+
attrs: this.v3 ? undefined : {
|
|
219
|
+
format: this.$props.format,
|
|
220
|
+
ignoreIsAllDay: true,
|
|
221
|
+
dataItem: ri,
|
|
222
|
+
viewItem: this.$props.viewItem,
|
|
223
|
+
item: this.$props.item,
|
|
224
|
+
vertical: vertical
|
|
225
|
+
},
|
|
226
|
+
ignoreIsAllDay: true,
|
|
227
|
+
dataItem: ri,
|
|
228
|
+
viewItem: this.$props.viewItem,
|
|
229
|
+
item: this.$props.item,
|
|
230
|
+
vertical: vertical
|
|
231
|
+
});
|
|
232
|
+
}, this) : h(SchedulerResize, {
|
|
233
|
+
format: this.$props.format,
|
|
234
|
+
attrs: this.v3 ? undefined : {
|
|
235
|
+
format: this.$props.format,
|
|
236
|
+
ignoreIsAllDay: true,
|
|
237
|
+
dataItem: this.compResizeItem,
|
|
238
|
+
viewItem: this.$props.viewItem,
|
|
239
|
+
item: this.$props.item,
|
|
240
|
+
vertical: vertical
|
|
241
|
+
},
|
|
242
|
+
ignoreIsAllDay: true,
|
|
243
|
+
dataItem: this.compResizeItem,
|
|
244
|
+
viewItem: this.$props.viewItem,
|
|
245
|
+
item: this.$props.item,
|
|
246
|
+
vertical: vertical
|
|
247
|
+
}));
|
|
248
|
+
};
|
|
249
|
+
|
|
161
250
|
this.intl = provideIntlService(this);
|
|
162
251
|
var itemsPerSlot = this.$props.itemsPerSlot;
|
|
163
252
|
var body = this.ks.orientation === 'horizontal' ? this.ranges.map(function (_, rangeIndex) {
|
|
@@ -246,9 +335,9 @@ var MonthViewVue2 = {
|
|
|
246
335
|
});
|
|
247
336
|
return (// @ts-ignore function children
|
|
248
337
|
h(BaseView, {
|
|
249
|
-
|
|
338
|
+
viewProps: __assign({}, this.$props),
|
|
250
339
|
attrs: this.v3 ? undefined : {
|
|
251
|
-
|
|
340
|
+
viewProps: __assign({}, this.$props),
|
|
252
341
|
baseSlots: monthSlots,
|
|
253
342
|
ranges: this.ranges
|
|
254
343
|
},
|
|
@@ -376,10 +465,14 @@ var MonthViewVue2 = {
|
|
|
376
465
|
range: item.range,
|
|
377
466
|
isException: item.isException,
|
|
378
467
|
isRecurring: item.isRecurring,
|
|
379
|
-
|
|
468
|
+
onDragitemchange: this.handleDragItemChange,
|
|
380
469
|
on: this.v3 ? undefined : {
|
|
470
|
+
"dragitemchange": this.handleDragItemChange,
|
|
471
|
+
"resizeitemchange": this.handleResizeItemChange,
|
|
381
472
|
"dataaction": this.handleDataAction
|
|
382
473
|
},
|
|
474
|
+
onResizeitemchange: this.handleResizeItemChange,
|
|
475
|
+
onDataaction: this.handleDataAction,
|
|
383
476
|
style: {
|
|
384
477
|
transform: 'translateY(30px)'
|
|
385
478
|
},
|
|
@@ -387,7 +480,7 @@ var MonthViewVue2 = {
|
|
|
387
480
|
editable: this.$props.editable,
|
|
388
481
|
ignoreIsAllDay: true
|
|
389
482
|
});
|
|
390
|
-
}, _this2)])];
|
|
483
|
+
}, _this2), _this2.compDragItem && dragItemClue.call(_this2, false), _this2.compResizeItem && resizeItemClue.call(_this2, false)])];
|
|
391
484
|
} : [h("div", {
|
|
392
485
|
"class": "k-scheduler-head"
|
|
393
486
|
}, [_this2.ks.orientation === 'horizontal' ? h(HorizontalResourceIterator, {
|
|
@@ -506,10 +599,14 @@ var MonthViewVue2 = {
|
|
|
506
599
|
range: item.range,
|
|
507
600
|
isException: item.isException,
|
|
508
601
|
isRecurring: item.isRecurring,
|
|
509
|
-
|
|
602
|
+
onDragitemchange: this.handleDragItemChange,
|
|
510
603
|
on: this.v3 ? undefined : {
|
|
604
|
+
"dragitemchange": this.handleDragItemChange,
|
|
605
|
+
"resizeitemchange": this.handleResizeItemChange,
|
|
511
606
|
"dataaction": this.handleDataAction
|
|
512
607
|
},
|
|
608
|
+
onResizeitemchange: this.handleResizeItemChange,
|
|
609
|
+
onDataaction: this.handleDataAction,
|
|
513
610
|
style: {
|
|
514
611
|
transform: 'translateY(30px)'
|
|
515
612
|
},
|
|
@@ -517,12 +614,18 @@ var MonthViewVue2 = {
|
|
|
517
614
|
editable: this.$props.editable,
|
|
518
615
|
ignoreIsAllDay: true
|
|
519
616
|
});
|
|
520
|
-
}, _this2)])])
|
|
617
|
+
}, _this2), _this2.compDragItem && dragItemClue.call(_this2, false), _this2.compResizeItem && resizeItemClue.call(_this2, false)])])
|
|
521
618
|
);
|
|
522
619
|
},
|
|
523
620
|
methods: {
|
|
524
621
|
handleDataAction: function handleDataAction(action) {
|
|
525
622
|
this.$emit('dataaction', action);
|
|
623
|
+
},
|
|
624
|
+
handleDragItemChange: function handleDragItemChange(item) {
|
|
625
|
+
this.currentDragItem = item;
|
|
626
|
+
},
|
|
627
|
+
handleResizeItemChange: function handleResizeItemChange(item) {
|
|
628
|
+
this.currentResizeItem = item;
|
|
526
629
|
}
|
|
527
630
|
}
|
|
528
631
|
};
|
|
@@ -121,6 +121,10 @@ export interface MultiDayTimelineViewProps extends SchedulerViewProps {
|
|
|
121
121
|
* Overrides the `viewSlot` prop of the Scheduler for the specified view only.
|
|
122
122
|
*/
|
|
123
123
|
viewSlot?: any;
|
|
124
|
+
/**
|
|
125
|
+
* Overrides the `resizeHint` of the event.
|
|
126
|
+
*/
|
|
127
|
+
resizeHint?: any;
|
|
124
128
|
/**
|
|
125
129
|
* Overrides the `editSlot` prop of the Scheduler for the specified view only.
|
|
126
130
|
*/
|
|
@@ -1,3 +1,19 @@
|
|
|
1
|
+
var __assign = this && this.__assign || function () {
|
|
2
|
+
__assign = Object.assign || function (t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
|
|
6
|
+
for (var p in s) {
|
|
7
|
+
if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
return t;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
return __assign.apply(this, arguments);
|
|
15
|
+
};
|
|
16
|
+
|
|
1
17
|
var __spreadArrays = this && this.__spreadArrays || function () {
|
|
2
18
|
for (var s = 0, i = 0, il = arguments.length; i < il; i++) {
|
|
3
19
|
s += arguments[i].length;
|
|
@@ -33,6 +49,8 @@ import { TimelineViewBody } from './TimelineViewBody';
|
|
|
33
49
|
import { BORDER_WIDTH } from '../../constants';
|
|
34
50
|
import { provideIntlService } from '@progress/kendo-vue-intl';
|
|
35
51
|
import { SchedulerEditItem } from '../../items/SchedulerEditItem';
|
|
52
|
+
import { SchedulerResize } from '../common/SchedulerResize';
|
|
53
|
+
import { SchedulerDrag } from '../../views/common/SchedulerDrag';
|
|
36
54
|
import { DateHeaderCell } from '../../components/DateHeaderCell';
|
|
37
55
|
import { TimeHeaderCell } from '../../components/TimeHeaderCell';
|
|
38
56
|
var TIME_FORMAT = 't';
|
|
@@ -53,6 +71,18 @@ var MultiDayTimelineViewVue2 = {
|
|
|
53
71
|
type: Boolean,
|
|
54
72
|
default: true
|
|
55
73
|
},
|
|
74
|
+
dragItem: {
|
|
75
|
+
type: Object,
|
|
76
|
+
default: function _default() {
|
|
77
|
+
return undefined;
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
resizeItem: {
|
|
81
|
+
type: Object,
|
|
82
|
+
default: function _default() {
|
|
83
|
+
return undefined;
|
|
84
|
+
}
|
|
85
|
+
},
|
|
56
86
|
showWorkHours: {
|
|
57
87
|
type: Boolean,
|
|
58
88
|
default: true
|
|
@@ -123,6 +153,7 @@ var MultiDayTimelineViewVue2 = {
|
|
|
123
153
|
timeHeaderCell: [String, Function, Object],
|
|
124
154
|
slotRender: [String, Function, Object],
|
|
125
155
|
viewSlot: [String, Function, Object],
|
|
156
|
+
resizeHint: [String, Function, Object],
|
|
126
157
|
item: [String, Function, Object],
|
|
127
158
|
viewItem: [String, Function, Object],
|
|
128
159
|
editable: {
|
|
@@ -130,6 +161,12 @@ var MultiDayTimelineViewVue2 = {
|
|
|
130
161
|
default: false
|
|
131
162
|
}
|
|
132
163
|
},
|
|
164
|
+
data: function data() {
|
|
165
|
+
return {
|
|
166
|
+
currentDragItem: undefined,
|
|
167
|
+
currentResizeItem: undefined
|
|
168
|
+
};
|
|
169
|
+
},
|
|
133
170
|
inject: {
|
|
134
171
|
ks: {
|
|
135
172
|
default: null
|
|
@@ -191,6 +228,12 @@ var MultiDayTimelineViewVue2 = {
|
|
|
191
228
|
mapItemsToSlots(items, this.timelineSlots, true);
|
|
192
229
|
mapSlotsToItems(items, this.timelineSlots, true);
|
|
193
230
|
return items;
|
|
231
|
+
},
|
|
232
|
+
compDragItem: function compDragItem() {
|
|
233
|
+
return this.dragItem !== undefined ? this.dragItem : this.currentDragItem;
|
|
234
|
+
},
|
|
235
|
+
compResizeItem: function compResizeItem() {
|
|
236
|
+
return this.resizeItem !== undefined ? this.resizeItem : this.currentResizeItem;
|
|
194
237
|
}
|
|
195
238
|
},
|
|
196
239
|
mounted: function mounted() {
|
|
@@ -249,6 +292,73 @@ var MultiDayTimelineViewVue2 = {
|
|
|
249
292
|
var timelineSlots = __spreadArrays(this.timelineSlots);
|
|
250
293
|
|
|
251
294
|
var width = (this.ks.orientation === 'horizontal' ? timelineSlots.length : timelineSlots.length / this.ks.groups.length) * (this.$props.columnWidth + BORDER_WIDTH);
|
|
295
|
+
|
|
296
|
+
var dragItemClue = function dragItemClue(vertical) {
|
|
297
|
+
return this.compDragItem && this.$props.editable.drag && (Array.isArray(this.compDragItem) ? this.compDragItem.map(function (di, idx) {
|
|
298
|
+
return h(SchedulerDrag, {
|
|
299
|
+
key: idx,
|
|
300
|
+
ignoreIsAllDay: true,
|
|
301
|
+
attrs: this.v3 ? undefined : {
|
|
302
|
+
ignoreIsAllDay: true,
|
|
303
|
+
dataItem: di,
|
|
304
|
+
vertical: vertical,
|
|
305
|
+
item: this.$props.dataItem
|
|
306
|
+
},
|
|
307
|
+
dataItem: di,
|
|
308
|
+
vertical: vertical,
|
|
309
|
+
item: this.$props.dataItem
|
|
310
|
+
});
|
|
311
|
+
}, this) : h(SchedulerDrag, {
|
|
312
|
+
ignoreIsAllDay: true,
|
|
313
|
+
attrs: this.v3 ? undefined : {
|
|
314
|
+
ignoreIsAllDay: true,
|
|
315
|
+
dataItem: this.compDragItem,
|
|
316
|
+
vertical: vertical,
|
|
317
|
+
item: this.$props.dataItem
|
|
318
|
+
},
|
|
319
|
+
dataItem: this.compDragItem,
|
|
320
|
+
vertical: vertical,
|
|
321
|
+
item: this.$props.dataItem
|
|
322
|
+
}));
|
|
323
|
+
};
|
|
324
|
+
|
|
325
|
+
var resizeItemClue = function resizeItemClue(vertical) {
|
|
326
|
+
return this.compResizeItem && this.editable.resize && (Array.isArray(this.compResizeItem) ? this.compResizeItem.map(function (ri, idx) {
|
|
327
|
+
return h(SchedulerResize, {
|
|
328
|
+
key: idx,
|
|
329
|
+
format: this.$props.format,
|
|
330
|
+
attrs: this.v3 ? undefined : {
|
|
331
|
+
format: this.$props.format,
|
|
332
|
+
ignoreIsAllDay: true,
|
|
333
|
+
dataItem: ri,
|
|
334
|
+
viewItem: this.$props.viewItem,
|
|
335
|
+
item: this.$props.item,
|
|
336
|
+
vertical: vertical
|
|
337
|
+
},
|
|
338
|
+
ignoreIsAllDay: true,
|
|
339
|
+
dataItem: ri,
|
|
340
|
+
viewItem: this.$props.viewItem,
|
|
341
|
+
item: this.$props.item,
|
|
342
|
+
vertical: vertical
|
|
343
|
+
});
|
|
344
|
+
}, this) : h(SchedulerResize, {
|
|
345
|
+
format: this.$props.format,
|
|
346
|
+
attrs: this.v3 ? undefined : {
|
|
347
|
+
format: this.$props.format,
|
|
348
|
+
ignoreIsAllDay: true,
|
|
349
|
+
dataItem: this.compResizeItem,
|
|
350
|
+
viewItem: this.$props.viewItem,
|
|
351
|
+
item: this.$props.item,
|
|
352
|
+
vertical: vertical
|
|
353
|
+
},
|
|
354
|
+
ignoreIsAllDay: true,
|
|
355
|
+
dataItem: this.compResizeItem,
|
|
356
|
+
viewItem: this.$props.viewItem,
|
|
357
|
+
item: this.$props.item,
|
|
358
|
+
vertical: vertical
|
|
359
|
+
}));
|
|
360
|
+
};
|
|
361
|
+
|
|
252
362
|
var head = [h("div", {
|
|
253
363
|
"class": "k-scheduler-row"
|
|
254
364
|
}, [this.ranges.map(function (range, rangeIndex) {
|
|
@@ -275,15 +385,16 @@ var MultiDayTimelineViewVue2 = {
|
|
|
275
385
|
return s.group.index === FIRST_INDEX && s.range.index === rangeIndex;
|
|
276
386
|
}).map(function (slot) {
|
|
277
387
|
return slot.zonedStart.getMinutes() % slotDuration === 0 ? h(TimeHeaderCell, {
|
|
278
|
-
key: slot.index
|
|
279
|
-
,
|
|
280
|
-
format: TIME_FORMAT,
|
|
388
|
+
key: slot.index,
|
|
389
|
+
as: this.$props.timeHeaderCell,
|
|
281
390
|
attrs: this.v3 ? undefined : {
|
|
391
|
+
as: this.$props.timeHeaderCell,
|
|
282
392
|
format: TIME_FORMAT,
|
|
283
393
|
date: slot.zonedStart,
|
|
284
394
|
start: slot.zonedStart,
|
|
285
395
|
end: slot.zonedEnd
|
|
286
396
|
},
|
|
397
|
+
format: TIME_FORMAT,
|
|
287
398
|
date: slot.zonedStart,
|
|
288
399
|
start: slot.zonedStart,
|
|
289
400
|
end: slot.zonedEnd
|
|
@@ -295,12 +406,12 @@ var MultiDayTimelineViewVue2 = {
|
|
|
295
406
|
id: this.$props.id,
|
|
296
407
|
attrs: this.v3 ? undefined : {
|
|
297
408
|
id: this.$props.id,
|
|
298
|
-
|
|
409
|
+
viewProps: __assign({}, this.$props),
|
|
299
410
|
baseSlots: timelineSlots,
|
|
300
411
|
ranges: this.ranges
|
|
301
412
|
},
|
|
302
413
|
"class": 'k-scheduler-timeline-view',
|
|
303
|
-
|
|
414
|
+
viewProps: __assign({}, this.$props),
|
|
304
415
|
baseSlots: timelineSlots,
|
|
305
416
|
ranges: this.ranges
|
|
306
417
|
}, this.v3 ? function () {
|
|
@@ -494,17 +605,21 @@ var MultiDayTimelineViewVue2 = {
|
|
|
494
605
|
isRecurring: item.isRecurring,
|
|
495
606
|
format: 't',
|
|
496
607
|
form: this.$props.form,
|
|
497
|
-
|
|
608
|
+
onDragitemchange: this.handleDragItemChange,
|
|
498
609
|
on: this.v3 ? undefined : {
|
|
610
|
+
"dragitemchange": this.handleDragItemChange,
|
|
611
|
+
"resizeitemchange": this.handleResizeItemChange,
|
|
499
612
|
"dataaction": this.handleDataAction
|
|
500
613
|
},
|
|
614
|
+
onResizeitemchange: this.handleResizeItemChange,
|
|
615
|
+
onDataaction: this.handleDataAction,
|
|
501
616
|
item: this.$props.item,
|
|
502
617
|
viewItem: this.$props.viewItem,
|
|
503
618
|
editable: this.$props.editable,
|
|
504
619
|
ignoreIsAllDay: true,
|
|
505
620
|
vertical: false
|
|
506
621
|
});
|
|
507
|
-
}, _this2)])];
|
|
622
|
+
}, _this2), _this2.compDragItem && dragItemClue.call(_this2, false), _this2.compResizeItem && resizeItemClue.call(_this2, false)])];
|
|
508
623
|
} : [h("div", {
|
|
509
624
|
"class": 'k-scheduler-head',
|
|
510
625
|
style: {
|
|
@@ -690,22 +805,32 @@ var MultiDayTimelineViewVue2 = {
|
|
|
690
805
|
isRecurring: item.isRecurring,
|
|
691
806
|
format: 't',
|
|
692
807
|
form: this.$props.form,
|
|
693
|
-
|
|
808
|
+
onDragitemchange: this.handleDragItemChange,
|
|
694
809
|
on: this.v3 ? undefined : {
|
|
810
|
+
"dragitemchange": this.handleDragItemChange,
|
|
811
|
+
"resizeitemchange": this.handleResizeItemChange,
|
|
695
812
|
"dataaction": this.handleDataAction
|
|
696
813
|
},
|
|
814
|
+
onResizeitemchange: this.handleResizeItemChange,
|
|
815
|
+
onDataaction: this.handleDataAction,
|
|
697
816
|
item: this.$props.item,
|
|
698
817
|
viewItem: this.$props.viewItem,
|
|
699
818
|
editable: this.$props.editable,
|
|
700
819
|
ignoreIsAllDay: true,
|
|
701
820
|
vertical: false
|
|
702
821
|
});
|
|
703
|
-
}, _this2)])])
|
|
822
|
+
}, _this2), _this2.compDragItem && dragItemClue.call(_this2, false), _this2.compResizeItem && resizeItemClue.call(_this2, false)])])
|
|
704
823
|
);
|
|
705
824
|
},
|
|
706
825
|
methods: {
|
|
707
826
|
handleDataAction: function handleDataAction(action) {
|
|
708
827
|
this.$emit('dataaction', action);
|
|
828
|
+
},
|
|
829
|
+
handleDragItemChange: function handleDragItemChange(item) {
|
|
830
|
+
this.currentDragItem = item;
|
|
831
|
+
},
|
|
832
|
+
handleResizeItemChange: function handleResizeItemChange(item) {
|
|
833
|
+
this.currentResizeItem = item;
|
|
709
834
|
}
|
|
710
835
|
}
|
|
711
836
|
};
|
|
@@ -91,10 +91,23 @@ var TimelineViewVue2 = {
|
|
|
91
91
|
type: Number,
|
|
92
92
|
default: 100
|
|
93
93
|
},
|
|
94
|
+
dragItem: {
|
|
95
|
+
type: Object,
|
|
96
|
+
default: function _default() {
|
|
97
|
+
return undefined;
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
resizeItem: {
|
|
101
|
+
type: Object,
|
|
102
|
+
default: function _default() {
|
|
103
|
+
return undefined;
|
|
104
|
+
}
|
|
105
|
+
},
|
|
94
106
|
dateHeaderCell: [String, Function, Object],
|
|
95
107
|
timeHeaderCell: [String, Function, Object],
|
|
96
108
|
slotRender: [String, Function, Object],
|
|
97
109
|
viewSlot: [String, Function, Object],
|
|
110
|
+
resizeHint: [String, Function, Object],
|
|
98
111
|
item: [String, Function, Object],
|
|
99
112
|
viewItem: [String, Function, Object],
|
|
100
113
|
editable: [Object, Boolean]
|
|
@@ -113,6 +126,8 @@ var TimelineViewVue2 = {
|
|
|
113
126
|
name: this.$props.name,
|
|
114
127
|
attrs: this.v3 ? undefined : {
|
|
115
128
|
name: this.$props.name,
|
|
129
|
+
dragItem: this.$props.dragItem,
|
|
130
|
+
resizeItem: this.$props.resizeItem,
|
|
116
131
|
dateRange: this.$props.dateRange,
|
|
117
132
|
step: this.$props.step,
|
|
118
133
|
numberOfDays: this.$props.numberOfDays,
|
|
@@ -134,10 +149,13 @@ var TimelineViewVue2 = {
|
|
|
134
149
|
dateHeaderCell: this.$props.dateHeaderCell,
|
|
135
150
|
slotRender: this.$props.slotRender,
|
|
136
151
|
viewSlot: this.$props.viewSlot,
|
|
152
|
+
resizeHint: this.$props.resizeHint,
|
|
137
153
|
item: this.$props.item,
|
|
138
154
|
viewItem: this.$props.viewItem,
|
|
139
155
|
editable: this.$props.editable
|
|
140
156
|
},
|
|
157
|
+
dragItem: this.$props.dragItem,
|
|
158
|
+
resizeItem: this.$props.resizeItem,
|
|
141
159
|
dateRange: this.$props.dateRange,
|
|
142
160
|
step: this.$props.step,
|
|
143
161
|
numberOfDays: this.$props.numberOfDays,
|
|
@@ -159,6 +177,7 @@ var TimelineViewVue2 = {
|
|
|
159
177
|
dateHeaderCell: this.$props.dateHeaderCell,
|
|
160
178
|
slotRender: this.$props.slotRender,
|
|
161
179
|
viewSlot: this.$props.viewSlot,
|
|
180
|
+
resizeHint: this.$props.resizeHint,
|
|
162
181
|
item: this.$props.item,
|
|
163
182
|
viewItem: this.$props.viewItem,
|
|
164
183
|
editable: this.$props.editable,
|