@progress/kendo-vue-scheduler 3.8.3 → 3.8.4-dev.202302151437
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 +1 -1
- package/dist/es/components/BaseView.js +1 -2
- package/dist/es/components/CurrentTimeMarker.js +4 -3
- package/dist/es/components/CurrentTimeMarkerArrow.js +4 -3
- package/dist/es/hooks/useSlotExpand.js +1 -2
- package/dist/es/items/SchedulerEditItem.js +4 -4
- package/dist/es/items/SchedulerViewItem.js +15 -14
- package/dist/es/package-metadata.js +1 -1
- package/dist/es/slots/SchedulerEditSlot.js +17 -11
- package/dist/es/slots/SchedulerSlot.js +32 -40
- package/dist/es/slots/SchedulerViewSlot.js +8 -0
- package/dist/es/views/agenda/AgendaViewBody.js +45 -23
- package/dist/es/views/day/DayViewAllDaySlots.js +72 -41
- package/dist/es/views/day/DayViewMiddleRow.js +73 -43
- package/dist/es/views/day/DayViewVerticalRow.js +70 -43
- package/dist/es/views/day/DayViewVerticalSlotsRow.js +74 -44
- package/dist/es/views/month/MonthViewBody.js +50 -23
- package/dist/es/views/month/MonthViewHead.js +29 -4
- package/dist/es/views/time/TimelineViewBody.js +71 -43
- package/dist/esm/components/BaseView.js +1 -2
- package/dist/esm/components/CurrentTimeMarker.js +4 -3
- package/dist/esm/components/CurrentTimeMarkerArrow.js +4 -3
- package/dist/esm/hooks/useSlotExpand.js +1 -2
- package/dist/esm/items/SchedulerEditItem.js +4 -4
- package/dist/esm/items/SchedulerViewItem.js +15 -14
- package/dist/esm/package-metadata.js +1 -1
- package/dist/esm/slots/SchedulerEditSlot.js +17 -11
- package/dist/esm/slots/SchedulerSlot.js +32 -40
- package/dist/esm/slots/SchedulerViewSlot.js +8 -0
- package/dist/esm/views/agenda/AgendaViewBody.js +45 -23
- package/dist/esm/views/day/DayViewAllDaySlots.js +72 -41
- package/dist/esm/views/day/DayViewMiddleRow.js +73 -43
- package/dist/esm/views/day/DayViewVerticalRow.js +70 -43
- package/dist/esm/views/day/DayViewVerticalSlotsRow.js +74 -44
- package/dist/esm/views/month/MonthViewBody.js +50 -23
- package/dist/esm/views/month/MonthViewHead.js +29 -4
- package/dist/esm/views/time/TimelineViewBody.js +71 -43
- package/dist/npm/components/BaseView.js +1 -2
- package/dist/npm/components/CurrentTimeMarker.js +4 -3
- package/dist/npm/components/CurrentTimeMarkerArrow.js +4 -3
- package/dist/npm/hooks/useSlotExpand.js +1 -2
- package/dist/npm/items/SchedulerEditItem.js +4 -4
- package/dist/npm/items/SchedulerViewItem.js +15 -14
- package/dist/npm/package-metadata.js +1 -1
- package/dist/npm/slots/SchedulerEditSlot.js +17 -11
- package/dist/npm/slots/SchedulerSlot.js +32 -40
- package/dist/npm/slots/SchedulerViewSlot.js +8 -0
- package/dist/npm/views/agenda/AgendaViewBody.js +48 -26
- package/dist/npm/views/day/DayViewAllDaySlots.js +72 -41
- package/dist/npm/views/day/DayViewMiddleRow.js +75 -45
- package/dist/npm/views/day/DayViewVerticalRow.js +70 -43
- package/dist/npm/views/day/DayViewVerticalSlotsRow.js +76 -46
- package/dist/npm/views/month/MonthViewBody.js +50 -23
- package/dist/npm/views/month/MonthViewHead.js +29 -4
- package/dist/npm/views/time/TimelineViewBody.js +73 -45
- package/package.json +12 -12
|
@@ -3,6 +3,7 @@ import * as Vue from 'vue';
|
|
|
3
3
|
var allVue = Vue;
|
|
4
4
|
var gh = allVue.h;
|
|
5
5
|
var isV3 = allVue.version && allVue.version[0] === '3';
|
|
6
|
+
import { COLLECTION_ACTION } from '../../utils/main';
|
|
6
7
|
import { SchedulerEditSlot } from '../../slots/SchedulerEditSlot';
|
|
7
8
|
import { provideIntlService } from '@progress/kendo-vue-intl';
|
|
8
9
|
/** @hidden */
|
|
@@ -31,10 +32,56 @@ var MonthViewBodyVue2 = {
|
|
|
31
32
|
setActiveViewName: {
|
|
32
33
|
default: null
|
|
33
34
|
},
|
|
35
|
+
setSlots: {
|
|
36
|
+
default: null
|
|
37
|
+
},
|
|
34
38
|
kendoIntlService: {
|
|
35
39
|
default: null
|
|
36
40
|
}
|
|
37
41
|
},
|
|
42
|
+
provide: function provide() {
|
|
43
|
+
return {
|
|
44
|
+
ksSlots: this.ksSlots
|
|
45
|
+
};
|
|
46
|
+
},
|
|
47
|
+
data: function data() {
|
|
48
|
+
var _this = this;
|
|
49
|
+
var groupIndex = this.groupIndex !== undefined ? this.groupIndex : this.ri.groupIndex;
|
|
50
|
+
return {
|
|
51
|
+
ksSlots: {
|
|
52
|
+
cSlots: this.monthSlots.filter(function (slot) {
|
|
53
|
+
return slot.group.index === groupIndex && slot.range.index === _this.rangeIndex;
|
|
54
|
+
})
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
},
|
|
58
|
+
watch: {
|
|
59
|
+
currentCellSlots: function currentCellSlots(newValue) {
|
|
60
|
+
this.ksSlots.cSlots = newValue;
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
computed: {
|
|
64
|
+
currentCellSlots: function currentCellSlots() {
|
|
65
|
+
var _this = this;
|
|
66
|
+
var groupIndex = this.groupIndex !== undefined ? this.groupIndex : this.ri.groupIndex;
|
|
67
|
+
return this.monthSlots.filter(function (slot) {
|
|
68
|
+
return slot.group.index === groupIndex && slot.range.index === _this.rangeIndex;
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
destroyed: !!isV3 ? undefined : function () {
|
|
73
|
+
this.setSlots({
|
|
74
|
+
type: COLLECTION_ACTION.remove,
|
|
75
|
+
item: this
|
|
76
|
+
});
|
|
77
|
+
},
|
|
78
|
+
// @ts-ignore
|
|
79
|
+
unmounted: function unmounted() {
|
|
80
|
+
this.setSlots({
|
|
81
|
+
type: COLLECTION_ACTION.remove,
|
|
82
|
+
item: this
|
|
83
|
+
});
|
|
84
|
+
},
|
|
38
85
|
// @ts-ignore
|
|
39
86
|
setup: !isV3 ? undefined : function () {
|
|
40
87
|
var v3 = !!isV3;
|
|
@@ -44,7 +91,6 @@ var MonthViewBodyVue2 = {
|
|
|
44
91
|
},
|
|
45
92
|
// @ts-ignore
|
|
46
93
|
render: function render(createElement) {
|
|
47
|
-
var _this = this;
|
|
48
94
|
var h = gh || createElement;
|
|
49
95
|
this.intl = provideIntlService(this);
|
|
50
96
|
var EditSlot = this.$props.editSlot || SchedulerEditSlot;
|
|
@@ -53,9 +99,7 @@ var MonthViewBodyVue2 = {
|
|
|
53
99
|
return h("div", {
|
|
54
100
|
"class": "k-scheduler-row",
|
|
55
101
|
key: this.rangeIndex
|
|
56
|
-
}, [this.
|
|
57
|
-
return slot.group.index === groupIndex && slot.range.index === _this.rangeIndex;
|
|
58
|
-
}).map(function (slot, slotIndex, filtered) {
|
|
102
|
+
}, [this.currentCellSlots.map(function (slot, slotIndex, filtered) {
|
|
59
103
|
return (
|
|
60
104
|
// @ts-ignore function children
|
|
61
105
|
h(EditSlot, {
|
|
@@ -64,15 +108,7 @@ var MonthViewBodyVue2 = {
|
|
|
64
108
|
slotRender: this.$props.slotRender,
|
|
65
109
|
viewSlot: that.$props.viewSlot,
|
|
66
110
|
form: that.$props.form,
|
|
67
|
-
index:
|
|
68
|
-
start: slot.start,
|
|
69
|
-
end: slot.end,
|
|
70
|
-
zonedStart: slot.zonedStart,
|
|
71
|
-
zonedEnd: slot.zonedEnd,
|
|
72
|
-
items: slot.items,
|
|
73
|
-
group: slot.group,
|
|
74
|
-
range: slot.range,
|
|
75
|
-
isAllDay: slot.isAllDay,
|
|
111
|
+
index: slotIndex,
|
|
76
112
|
navDay: true,
|
|
77
113
|
itemsPerSlot: that.itemsPerSlot,
|
|
78
114
|
expandable: {
|
|
@@ -84,17 +120,8 @@ var MonthViewBodyVue2 = {
|
|
|
84
120
|
editable: that.$props.editable
|
|
85
121
|
},
|
|
86
122
|
viewSlot: that.$props.viewSlot,
|
|
87
|
-
key: slotIndex,
|
|
88
123
|
form: that.$props.form,
|
|
89
|
-
index:
|
|
90
|
-
start: slot.start,
|
|
91
|
-
end: slot.end,
|
|
92
|
-
zonedStart: slot.zonedStart,
|
|
93
|
-
zonedEnd: slot.zonedEnd,
|
|
94
|
-
items: slot.items,
|
|
95
|
-
group: slot.group,
|
|
96
|
-
range: slot.range,
|
|
97
|
-
isAllDay: slot.isAllDay,
|
|
124
|
+
index: slotIndex,
|
|
98
125
|
navDay: true,
|
|
99
126
|
itemsPerSlot: that.itemsPerSlot,
|
|
100
127
|
expandable: {
|
|
@@ -21,6 +21,34 @@ var MonthViewHeadVue2 = {
|
|
|
21
21
|
default: null
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
|
+
provide: function provide() {
|
|
25
|
+
return {
|
|
26
|
+
ksSlots: this.ksSlots
|
|
27
|
+
};
|
|
28
|
+
},
|
|
29
|
+
data: function data() {
|
|
30
|
+
var _this = this;
|
|
31
|
+
return {
|
|
32
|
+
ksSlots: {
|
|
33
|
+
cSlots: this.monthSlots.filter(function (slot) {
|
|
34
|
+
return slot.group.index === _this.ri.groupIndex && slot.range.index === 0;
|
|
35
|
+
})
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
},
|
|
39
|
+
watch: {
|
|
40
|
+
currentCellSlots: function currentCellSlots(newValue) {
|
|
41
|
+
this.ksSlots.cSlots = newValue;
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
computed: {
|
|
45
|
+
currentCellSlots: function currentCellSlots() {
|
|
46
|
+
var _this = this;
|
|
47
|
+
return this.monthSlots.filter(function (slot) {
|
|
48
|
+
return slot.group.index === _this.ri.groupIndex && slot.range.index === 0;
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
},
|
|
24
52
|
// @ts-ignore
|
|
25
53
|
setup: !isV3 ? undefined : function () {
|
|
26
54
|
var v3 = !!isV3;
|
|
@@ -30,14 +58,11 @@ var MonthViewHeadVue2 = {
|
|
|
30
58
|
},
|
|
31
59
|
// @ts-ignore
|
|
32
60
|
render: function render(createElement) {
|
|
33
|
-
var _this = this;
|
|
34
61
|
var h = gh || createElement;
|
|
35
62
|
return h("div", {
|
|
36
63
|
"class": "k-scheduler-row",
|
|
37
64
|
key: this.ri.groupIndex
|
|
38
|
-
}, [this.
|
|
39
|
-
return slot.group.index === _this.ri.groupIndex && slot.range.index === 0;
|
|
40
|
-
}).map(function (slot, slotIndex) {
|
|
65
|
+
}, [this.currentCellSlots.map(function (slot, slotIndex) {
|
|
41
66
|
return (
|
|
42
67
|
// @ts-ignore function children
|
|
43
68
|
h(DateHeaderCell, {
|
|
@@ -3,7 +3,7 @@ import * as Vue from 'vue';
|
|
|
3
3
|
var allVue = Vue;
|
|
4
4
|
var gh = allVue.h;
|
|
5
5
|
var isV3 = allVue.version && allVue.version[0] === '3';
|
|
6
|
-
|
|
6
|
+
import { COLLECTION_ACTION } from '../../utils/main';
|
|
7
7
|
import { SchedulerEditSlot } from '../../slots/SchedulerEditSlot';
|
|
8
8
|
import { isInTimeRange, intersects, first, last } from '../../utils/main';
|
|
9
9
|
import { CurrentTimeMarker } from '../../components/CurrentTimeMarker';
|
|
@@ -30,8 +30,50 @@ var TimelineViewBodyVue2 = {
|
|
|
30
30
|
},
|
|
31
31
|
ks: {
|
|
32
32
|
default: null
|
|
33
|
+
},
|
|
34
|
+
setSlots: {
|
|
35
|
+
default: null
|
|
33
36
|
}
|
|
34
37
|
},
|
|
38
|
+
provide: function provide() {
|
|
39
|
+
return {
|
|
40
|
+
ksSlots: this.ksSlots
|
|
41
|
+
};
|
|
42
|
+
},
|
|
43
|
+
data: function data() {
|
|
44
|
+
var timelineSlots = this.timelineSlots;
|
|
45
|
+
var groupIndex = this.groupIndex !== undefined ? this.groupIndex : this.ri.groupIndex;
|
|
46
|
+
return {
|
|
47
|
+
ksSlots: {
|
|
48
|
+
cSlots: this.calculateRanges(timelineSlots, groupIndex, this.ranges)
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
},
|
|
52
|
+
watch: {
|
|
53
|
+
currentCellSlots: function currentCellSlots(newValue) {
|
|
54
|
+
this.ksSlots.cSlots = newValue;
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
computed: {
|
|
58
|
+
currentCellSlots: function currentCellSlots() {
|
|
59
|
+
var timelineSlots = this.timelineSlots;
|
|
60
|
+
var groupIndex = this.groupIndex !== undefined ? this.groupIndex : this.ri.groupIndex;
|
|
61
|
+
return this.calculateRanges(timelineSlots, groupIndex, this.ranges);
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
destroyed: !!isV3 ? undefined : function () {
|
|
65
|
+
this.setSlots({
|
|
66
|
+
type: COLLECTION_ACTION.remove,
|
|
67
|
+
item: this
|
|
68
|
+
});
|
|
69
|
+
},
|
|
70
|
+
// @ts-ignore
|
|
71
|
+
unmounted: function unmounted() {
|
|
72
|
+
this.setSlots({
|
|
73
|
+
type: COLLECTION_ACTION.remove,
|
|
74
|
+
item: this
|
|
75
|
+
});
|
|
76
|
+
},
|
|
35
77
|
// @ts-ignore
|
|
36
78
|
setup: !isV3 ? undefined : function () {
|
|
37
79
|
var v3 = !!isV3;
|
|
@@ -49,54 +91,33 @@ var TimelineViewBodyVue2 = {
|
|
|
49
91
|
var editable = this.$props.editable;
|
|
50
92
|
return h("div", {
|
|
51
93
|
"class": "k-scheduler-row"
|
|
52
|
-
}, [this.
|
|
53
|
-
return
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
return h(SchedulerEditSlot, {
|
|
57
|
-
key: "".concat(slot.start.getTime(), ":").concat(slot.group.index),
|
|
94
|
+
}, [this.currentCellSlots.map(function (cSlot, slotIndex, filtered) {
|
|
95
|
+
return h(SchedulerEditSlot, {
|
|
96
|
+
slotRender: that.$props.slotRender,
|
|
97
|
+
attrs: this.v3 ? undefined : {
|
|
58
98
|
slotRender: that.$props.slotRender,
|
|
59
|
-
attrs: this.v3 ? undefined : {
|
|
60
|
-
slotRender: that.$props.slotRender,
|
|
61
|
-
viewSlot: that.$props.viewSlot,
|
|
62
|
-
index: slot.index,
|
|
63
|
-
start: slot.start,
|
|
64
|
-
end: slot.end,
|
|
65
|
-
zonedStart: slot.zonedStart,
|
|
66
|
-
zonedEnd: slot.zonedEnd,
|
|
67
|
-
items: slot.items,
|
|
68
|
-
group: slot.group,
|
|
69
|
-
range: slot.range,
|
|
70
|
-
isAllDay: slot.isAllDay,
|
|
71
|
-
form: that.$props.form,
|
|
72
|
-
isWorkHour: isInTimeRange(slot.zonedStart, that.workDayStart, that.workDayEnd),
|
|
73
|
-
col: orientation === 'horizontal' ? rangeIndex * filtered.length + slotIndex + filtered.length * ranges.length * (groupIndex || 0) : rangeIndex * filtered.length + slotIndex,
|
|
74
|
-
row: orientation === 'horizontal' ? 0 : groupIndex || 0,
|
|
75
|
-
expandable: true,
|
|
76
|
-
editable: editable
|
|
77
|
-
},
|
|
78
99
|
viewSlot: that.$props.viewSlot,
|
|
79
|
-
index:
|
|
80
|
-
start: slot.start,
|
|
81
|
-
end: slot.end,
|
|
82
|
-
zonedStart: slot.zonedStart,
|
|
83
|
-
zonedEnd: slot.zonedEnd,
|
|
84
|
-
items: slot.items,
|
|
85
|
-
group: slot.group,
|
|
86
|
-
range: slot.range,
|
|
87
|
-
isAllDay: slot.isAllDay,
|
|
100
|
+
index: slotIndex,
|
|
88
101
|
form: that.$props.form,
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
"dataaction": that.handleDataAction
|
|
92
|
-
},
|
|
93
|
-
isWorkHour: isInTimeRange(slot.zonedStart, that.workDayStart, that.workDayEnd),
|
|
94
|
-
col: orientation === 'horizontal' ? rangeIndex * filtered.length + slotIndex + filtered.length * ranges.length * (groupIndex || 0) : rangeIndex * filtered.length + slotIndex,
|
|
102
|
+
isWorkHour: isInTimeRange(cSlot.zonedStart, that.workDayStart, that.workDayEnd),
|
|
103
|
+
col: orientation === 'horizontal' ? cSlot.range.index * filtered.length + slotIndex + filtered.length * ranges.length * (groupIndex || 0) : cSlot.range.index * filtered.length + slotIndex,
|
|
95
104
|
row: orientation === 'horizontal' ? 0 : groupIndex || 0,
|
|
96
105
|
expandable: true,
|
|
97
106
|
editable: editable
|
|
98
|
-
}
|
|
99
|
-
|
|
107
|
+
},
|
|
108
|
+
viewSlot: that.$props.viewSlot,
|
|
109
|
+
index: slotIndex,
|
|
110
|
+
form: that.$props.form,
|
|
111
|
+
onDataaction: that.handleDataAction,
|
|
112
|
+
on: this.v3 ? undefined : {
|
|
113
|
+
"dataaction": that.handleDataAction
|
|
114
|
+
},
|
|
115
|
+
isWorkHour: isInTimeRange(cSlot.zonedStart, that.workDayStart, that.workDayEnd),
|
|
116
|
+
col: orientation === 'horizontal' ? cSlot.range.index * filtered.length + slotIndex + filtered.length * ranges.length * (groupIndex || 0) : cSlot.range.index * filtered.length + slotIndex,
|
|
117
|
+
row: orientation === 'horizontal' ? 0 : groupIndex || 0,
|
|
118
|
+
expandable: true,
|
|
119
|
+
editable: editable
|
|
120
|
+
});
|
|
100
121
|
}, this), this.$props.currentTimeMarker && intersects(first(ranges).start, last(ranges).end, new Date(), new Date(), true) && h(CurrentTimeMarker, {
|
|
101
122
|
groupIndex: groupIndex,
|
|
102
123
|
attrs: this.v3 ? undefined : {
|
|
@@ -109,6 +130,13 @@ var TimelineViewBodyVue2 = {
|
|
|
109
130
|
methods: {
|
|
110
131
|
handleDataAction: function handleDataAction(action) {
|
|
111
132
|
this.$emit('dataaction', action);
|
|
133
|
+
},
|
|
134
|
+
calculateRanges: function calculateRanges(timelineSlots, groupIndex, ranges) {
|
|
135
|
+
return ranges.map(function (_, rangeIndex) {
|
|
136
|
+
return timelineSlots.filter(function (s) {
|
|
137
|
+
return s.group.index === groupIndex && s.range.index === rangeIndex;
|
|
138
|
+
});
|
|
139
|
+
}).flat();
|
|
112
140
|
}
|
|
113
141
|
}
|
|
114
142
|
};
|
|
@@ -127,8 +127,7 @@ var BaseViewVue2 = {
|
|
|
127
127
|
this.bv.slots.push(action.item);
|
|
128
128
|
break;
|
|
129
129
|
case COLLECTION_ACTION.remove:
|
|
130
|
-
|
|
131
|
-
this.bv.slots.splice(index, 1);
|
|
130
|
+
this.bv.slots = [];
|
|
132
131
|
break;
|
|
133
132
|
default:
|
|
134
133
|
break;
|
|
@@ -114,8 +114,9 @@ var CurrentTimeMarkerVue2 = {
|
|
|
114
114
|
if (!this.bv.slots) {
|
|
115
115
|
return;
|
|
116
116
|
}
|
|
117
|
+
var groupIndex = this.$props.groupIndex;
|
|
117
118
|
var sameTimeSlots = this.bv.slots.filter(function (s) {
|
|
118
|
-
return (
|
|
119
|
+
return (groupIndex === undefined || groupIndex === null || s.cSlot.group.index === groupIndex) && (_this.$props.vertical ? intersects(new Date(), new Date(), s.cSlot.start, s.cSlot.end, true) : isInTimeRange(new Date(), s.cSlot.start, s.cSlot.end)) && !s.isAllDay;
|
|
119
120
|
});
|
|
120
121
|
if (sameTimeSlots && sameTimeSlots.length && this.line) {
|
|
121
122
|
var firstSlot = first(sameTimeSlots);
|
|
@@ -125,8 +126,8 @@ var CurrentTimeMarkerVue2 = {
|
|
|
125
126
|
var size = this.$props.vertical ? combineHeights(sameTimeSlots) : combineWidths(sameTimeSlots);
|
|
126
127
|
var rect = getRect(firstSlot.$el);
|
|
127
128
|
var arrowRect = getRect(this.arrowRef);
|
|
128
|
-
var pxPerMillisecond = (this.$props.vertical ? rect.width : rect.height) / (firstSlot.end.getTime() - firstSlot.start.getTime());
|
|
129
|
-
var offset = (Date.now() - setTime(new Date(), firstSlot.start).getTime()) * pxPerMillisecond;
|
|
129
|
+
var pxPerMillisecond = (this.$props.vertical ? rect.width : rect.height) / (firstSlot.cSlot.end.getTime() - firstSlot.cSlot.start.getTime());
|
|
130
|
+
var offset = (Date.now() - setTime(new Date(), firstSlot.cSlot.start).getTime()) * pxPerMillisecond;
|
|
130
131
|
var rtl = this.$props.dir === 'rtl';
|
|
131
132
|
var top_1 = this.$props.vertical ? rect.top : rect.top + offset - arrowRect.height / 2;
|
|
132
133
|
var horizontalDimension = rtl ? 'right' : 'left';
|
|
@@ -92,8 +92,9 @@ var CurrentTimeMarkerArrowVue2 = {
|
|
|
92
92
|
if (!this.bv.slots) {
|
|
93
93
|
return;
|
|
94
94
|
}
|
|
95
|
+
var groupIndex = this.$props.groupIndex;
|
|
95
96
|
var sameTimeSlots = this.bv.slots.filter(function (s) {
|
|
96
|
-
return (
|
|
97
|
+
return (groupIndex === undefined || groupIndex === null || s.cSlot.group.index === groupIndex) && (_this.$props.vertical ? intersects(new Date(), new Date(), s.cSlot.start, s.cSlot.end, true) : isInTimeRange(new Date(), s.cSlot.start, s.cSlot.end)) && !s.isAllDay;
|
|
97
98
|
});
|
|
98
99
|
if (sameTimeSlots && sameTimeSlots.length && this.$el) {
|
|
99
100
|
var firstSlot = first(sameTimeSlots);
|
|
@@ -102,8 +103,8 @@ var CurrentTimeMarkerArrowVue2 = {
|
|
|
102
103
|
}
|
|
103
104
|
var rect = getRect(firstSlot.$el);
|
|
104
105
|
var arrowRect = getRect(this.arrowRef);
|
|
105
|
-
var pxPerMillisecond = (this.$props.vertical ? rect.width : rect.height) / (firstSlot.end.getTime() - firstSlot.start.getTime());
|
|
106
|
-
var offset = (Date.now() - setTime(new Date(), firstSlot.start).getTime()) * pxPerMillisecond;
|
|
106
|
+
var pxPerMillisecond = (this.$props.vertical ? rect.width : rect.height) / (firstSlot.cSlot.end.getTime() - firstSlot.cSlot.start.getTime());
|
|
107
|
+
var offset = (Date.now() - setTime(new Date(), firstSlot.cSlot.start).getTime()) * pxPerMillisecond;
|
|
107
108
|
var rtl = this.$props.dir === 'rtl';
|
|
108
109
|
var top_1 = this.$props.vertical ? rect.top : rect.top + offset - arrowRect.height / 2;
|
|
109
110
|
var horizontalDimension = rtl ? 'right' : 'left';
|
|
@@ -21,13 +21,12 @@ export var useSlotExpand = function useSlotExpand(slot, _scheduler, config) {
|
|
|
21
21
|
return;
|
|
22
22
|
}
|
|
23
23
|
var element = slot.$el;
|
|
24
|
-
var props = slot.$props;
|
|
25
24
|
if (!element || !slot.bv.items.length) {
|
|
26
25
|
return;
|
|
27
26
|
}
|
|
28
27
|
var slotPadding = getPadding(element);
|
|
29
28
|
var highest = 0;
|
|
30
|
-
var existing =
|
|
29
|
+
var existing = slot.cSlot.items.filter(function (i) {
|
|
31
30
|
return i.refTo;
|
|
32
31
|
});
|
|
33
32
|
existing.forEach(function (item) {
|
|
@@ -956,7 +956,7 @@ var SchedulerEditItemVue2 = {
|
|
|
956
956
|
}];
|
|
957
957
|
case Keys.up:
|
|
958
958
|
nextSlot = this.bv.slots.find(function (s) {
|
|
959
|
-
return compareSlots(s, props.slots[0]);
|
|
959
|
+
return compareSlots(s.cSlot, props.slots[0]);
|
|
960
960
|
});
|
|
961
961
|
return [Boolean(props.slots.length && nextSlot) && {
|
|
962
962
|
type: SLOTS_FOCUS_ACTION.up,
|
|
@@ -964,7 +964,7 @@ var SchedulerEditItemVue2 = {
|
|
|
964
964
|
}];
|
|
965
965
|
case Keys.right:
|
|
966
966
|
nextSlot = this.bv.slots.find(function (s) {
|
|
967
|
-
return compareSlots(s, props.slots[0]);
|
|
967
|
+
return compareSlots(s.cSlot, props.slots[0]);
|
|
968
968
|
});
|
|
969
969
|
return [Boolean(props.slots.length && nextSlot) && {
|
|
970
970
|
type: SLOTS_FOCUS_ACTION.right,
|
|
@@ -972,7 +972,7 @@ var SchedulerEditItemVue2 = {
|
|
|
972
972
|
}];
|
|
973
973
|
case Keys.down:
|
|
974
974
|
nextSlot = this.bv.slots.find(function (s) {
|
|
975
|
-
return compareSlots(s, props.slots[props.slots.length - 1]);
|
|
975
|
+
return compareSlots(s.cSlot, props.slots[props.slots.length - 1]);
|
|
976
976
|
});
|
|
977
977
|
return [Boolean(props.slots.length && nextSlot) && {
|
|
978
978
|
type: SLOTS_FOCUS_ACTION.down,
|
|
@@ -980,7 +980,7 @@ var SchedulerEditItemVue2 = {
|
|
|
980
980
|
}];
|
|
981
981
|
case Keys.left:
|
|
982
982
|
nextSlot = this.bv.slots.find(function (s) {
|
|
983
|
-
return compareSlots(s, props.slots[0]);
|
|
983
|
+
return compareSlots(s.cSlot.cSlot, props.slots[0]);
|
|
984
984
|
});
|
|
985
985
|
return [Boolean(props.slots.length && nextSlot) && {
|
|
986
986
|
type: SLOTS_FOCUS_ACTION.left,
|
|
@@ -193,7 +193,10 @@ var SchedulerViewItemVue2 = {
|
|
|
193
193
|
id: this.id,
|
|
194
194
|
tabIndex: this.tabIndex,
|
|
195
195
|
className: this.className,
|
|
196
|
-
itemStyle:
|
|
196
|
+
itemStyle: __assign({
|
|
197
|
+
visibility: this.visible ? undefined : 'hidden',
|
|
198
|
+
display: this.display ? undefined : 'none'
|
|
199
|
+
}, this.$props.itemStyle),
|
|
197
200
|
editable: this.editable,
|
|
198
201
|
selected: this.selected,
|
|
199
202
|
vertical: this.vertical,
|
|
@@ -208,6 +211,7 @@ var SchedulerViewItemVue2 = {
|
|
|
208
211
|
resizeItem: this.resizeItem,
|
|
209
212
|
removeItem: this.removeItem,
|
|
210
213
|
maxSiblingsPerSlot: this.maxSiblingsPerSlot
|
|
214
|
+
// Keyboard
|
|
211
215
|
},
|
|
212
216
|
item: this.item,
|
|
213
217
|
uid: this.uid,
|
|
@@ -237,7 +241,10 @@ var SchedulerViewItemVue2 = {
|
|
|
237
241
|
id: this.id,
|
|
238
242
|
tabIndex: this.tabIndex,
|
|
239
243
|
className: this.className,
|
|
240
|
-
itemStyle:
|
|
244
|
+
itemStyle: __assign({
|
|
245
|
+
visibility: this.visible ? undefined : 'hidden',
|
|
246
|
+
display: this.display ? undefined : 'none'
|
|
247
|
+
}, this.$props.itemStyle),
|
|
241
248
|
editable: this.editable,
|
|
242
249
|
selected: this.selected,
|
|
243
250
|
vertical: this.vertical,
|
|
@@ -252,12 +259,6 @@ var SchedulerViewItemVue2 = {
|
|
|
252
259
|
resizeItem: this.resizeItem,
|
|
253
260
|
removeItem: this.removeItem,
|
|
254
261
|
maxSiblingsPerSlot: this.maxSiblingsPerSlot,
|
|
255
|
-
style: __assign({
|
|
256
|
-
visibility: this.visible ? undefined : 'hidden',
|
|
257
|
-
display: this.display ? undefined : 'none'
|
|
258
|
-
}, this.$props.itemStyle)
|
|
259
|
-
// Keyboard
|
|
260
|
-
,
|
|
261
262
|
onKeydown: this.handleKeyDown,
|
|
262
263
|
on: this.v3 ? undefined : {
|
|
263
264
|
"keydown": this.handleKeyDown,
|
|
@@ -452,7 +453,7 @@ var SchedulerViewItemVue2 = {
|
|
|
452
453
|
var most = 1;
|
|
453
454
|
slots.forEach(function (slot) {
|
|
454
455
|
var itemsInSlot = items.filter(function (i) {
|
|
455
|
-
return _this.inSlot(slot
|
|
456
|
+
return _this.inSlot(slot.cSlot, i.$props);
|
|
456
457
|
});
|
|
457
458
|
if (itemsInSlot.length > most) {
|
|
458
459
|
most = itemsInSlot.length;
|
|
@@ -464,7 +465,7 @@ var SchedulerViewItemVue2 = {
|
|
|
464
465
|
var _this = this;
|
|
465
466
|
var siblings = slots.map(function (slot) {
|
|
466
467
|
return items.filter(function (i) {
|
|
467
|
-
return _this.inSlot(slot
|
|
468
|
+
return _this.inSlot(slot.cSlot, i.$props);
|
|
468
469
|
});
|
|
469
470
|
});
|
|
470
471
|
return siblings;
|
|
@@ -478,15 +479,15 @@ var SchedulerViewItemVue2 = {
|
|
|
478
479
|
return;
|
|
479
480
|
}
|
|
480
481
|
var slots = (this.bv.slots || []).filter(function (slot) {
|
|
481
|
-
return slot && _this.inSlot(slot
|
|
482
|
+
return slot && _this.inSlot(slot.cSlot, _this.$props);
|
|
482
483
|
});
|
|
483
484
|
if (slots.length === 0) {
|
|
484
485
|
this.display = false;
|
|
485
486
|
return;
|
|
486
487
|
}
|
|
487
488
|
var firstSlot = first(slots.sort(function (a, b) {
|
|
488
|
-
if (a
|
|
489
|
-
return a
|
|
489
|
+
if (a.cSlot.start && b.start) {
|
|
490
|
+
return a.cSlot.start.getTime() - b.cSlot.start.getTime();
|
|
490
491
|
}
|
|
491
492
|
return true;
|
|
492
493
|
}));
|
|
@@ -502,7 +503,7 @@ var SchedulerViewItemVue2 = {
|
|
|
502
503
|
return;
|
|
503
504
|
}
|
|
504
505
|
var slots = (this.bv.slots || []).filter(function (slot) {
|
|
505
|
-
return slot && _this.inSlot(slot
|
|
506
|
+
return slot && _this.inSlot(slot.cSlot, _this.$props);
|
|
506
507
|
});
|
|
507
508
|
var items = [];
|
|
508
509
|
var dragItems = [];
|
|
@@ -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: 1676471569,
|
|
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
|
};
|
|
@@ -80,6 +80,9 @@ var SchedulerEditSlotVue2 = {
|
|
|
80
80
|
},
|
|
81
81
|
dispatchSelectedSlots: {
|
|
82
82
|
default: null
|
|
83
|
+
},
|
|
84
|
+
ksSlots: {
|
|
85
|
+
default: {}
|
|
83
86
|
}
|
|
84
87
|
},
|
|
85
88
|
data: function data() {
|
|
@@ -88,9 +91,12 @@ var SchedulerEditSlotVue2 = {
|
|
|
88
91
|
};
|
|
89
92
|
},
|
|
90
93
|
computed: {
|
|
94
|
+
cSlot: function cSlot() {
|
|
95
|
+
return this.ksSlots.cSlots ? this.ksSlots.cSlots[this.index] : {};
|
|
96
|
+
},
|
|
91
97
|
currentTabIndex: function currentTabIndex() {
|
|
92
|
-
var isFirst = this.bv.slots.length && compareSlots(this.bv.slots[0], this);
|
|
93
|
-
return this.$props.tabIndex !== undefined ? this.$props.tabIndex === null ? undefined : this.$props.tabIndex : this.bv.selectedSlots.length === 0 ? isFirst && this.items.length === 0 ? 0 : undefined : undefined;
|
|
98
|
+
var isFirst = this.bv.slots.length && compareSlots(this.bv.slots[0].cSlot, this.cSlot);
|
|
99
|
+
return this.$props.tabIndex !== undefined ? this.$props.tabIndex === null ? undefined : this.$props.tabIndex : this.bv.selectedSlots.length === 0 ? isFirst && this.cSlot.items.length === 0 ? 0 : undefined : undefined;
|
|
94
100
|
},
|
|
95
101
|
computedEditable: function computedEditable() {
|
|
96
102
|
return useEditable(this.$props.editable);
|
|
@@ -132,7 +138,7 @@ var SchedulerEditSlotVue2 = {
|
|
|
132
138
|
navDay = _a.navDay,
|
|
133
139
|
itemsPerSlot = _a.itemsPerSlot;
|
|
134
140
|
var selected = this.bv.selectedSlots.some(function (s) {
|
|
135
|
-
return compareSlots(s, _this);
|
|
141
|
+
return compareSlots(s.cSlot, _this.cSlot);
|
|
136
142
|
});
|
|
137
143
|
var editSlotRender;
|
|
138
144
|
var editSlotRenderDefaultRendering =
|
|
@@ -222,14 +228,14 @@ var SchedulerEditSlotVue2 = {
|
|
|
222
228
|
},
|
|
223
229
|
createDataItemFromSlot: function createDataItemFromSlot() {
|
|
224
230
|
var dataItem = {};
|
|
225
|
-
setField(dataItem, this.ks.fields.start, new Date(this
|
|
226
|
-
setField(dataItem, this.ks.fields.end, new Date(this
|
|
227
|
-
setField(dataItem, this.ks.fields.isAllDay, this
|
|
228
|
-
if (this
|
|
229
|
-
for (var idx = 0; idx < this
|
|
230
|
-
var resource = this
|
|
231
|
-
if (isGroupped(this
|
|
232
|
-
var value = getField(this
|
|
231
|
+
setField(dataItem, this.ks.fields.start, new Date(this.cSlot.start.getTime()));
|
|
232
|
+
setField(dataItem, this.ks.fields.end, new Date(this.cSlot.end.getTime()));
|
|
233
|
+
setField(dataItem, this.ks.fields.isAllDay, this.cSlot.isAllDay);
|
|
234
|
+
if (this.cSlot.group.resources.length) {
|
|
235
|
+
for (var idx = 0; idx < this.cSlot.group.resources.length; idx++) {
|
|
236
|
+
var resource = this.cSlot.group.resources[idx];
|
|
237
|
+
if (isGroupped(this.cSlot.group.resources)) {
|
|
238
|
+
var value = getField(this.cSlot.group.resources[idx], resource.valueField);
|
|
233
239
|
setField(dataItem, resource.field, resource.multiple ? [value] : value);
|
|
234
240
|
} else {
|
|
235
241
|
setField(dataItem, resource.field, resource.multiple ? [] : undefined);
|