@progress/kendo-vue-scheduler 3.2.8-dev.202205030909 → 3.2.9
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 +14 -0
- package/dist/es/Scheduler.js +21 -4
- package/dist/es/components/{CurrentTimeMarket.d.ts → CurrentTimeMarker.d.ts} +0 -0
- package/dist/es/components/CurrentTimeMarker.js +160 -0
- package/dist/es/components/CurrentTimeMarkerArrow.d.ts +43 -0
- package/dist/es/components/CurrentTimeMarkerArrow.js +135 -0
- package/dist/es/components/DateHeaderCell.js +15 -2
- package/dist/es/components/SchedulerForm.d.ts +0 -18
- package/dist/es/components/SchedulerForm.js +73 -174
- package/dist/es/components/TimeHeaderCell.js +15 -2
- package/dist/es/items/SchedulerViewItem.js +9 -6
- package/dist/es/main.d.ts +2 -1
- package/dist/es/main.js +2 -1
- package/dist/es/package-metadata.js +1 -1
- package/dist/es/slots/SchedulerEditSlot.js +60 -45
- package/dist/es/slots/SchedulerSlot.d.ts +4 -0
- package/dist/es/slots/SchedulerViewSlot.d.ts +0 -1
- package/dist/es/slots/SchedulerViewSlot.js +12 -4
- package/dist/es/views/agenda/AgendaViewBody.js +0 -1
- package/dist/es/views/common/VerticalResourceIterator.js +10 -2
- package/dist/es/views/day/DayView.js +9 -1
- package/dist/es/views/day/DayViewAllDaySlots.d.ts +1 -0
- package/dist/es/views/day/DayViewAllDaySlots.js +1 -0
- package/dist/es/views/day/DayViewMiddleRow.d.ts +1 -0
- package/dist/es/views/day/DayViewMiddleRow.js +1 -0
- package/dist/es/views/day/DayViewVerticalSlotsRow.d.ts +3 -0
- package/dist/es/views/day/DayViewVerticalSlotsRow.js +25 -5
- package/dist/es/views/day/MultiDayView.js +36 -23
- package/dist/es/views/month/MonthView.js +8 -0
- package/dist/es/views/month/MonthViewBody.d.ts +1 -0
- package/dist/es/views/month/MonthViewBody.js +2 -1
- package/dist/es/views/time/MultiDayTimelineView.js +23 -5
- package/dist/es/views/time/TimelineView.js +9 -1
- package/dist/es/views/time/TimelineViewBody.d.ts +2 -0
- package/dist/es/views/time/TimelineViewBody.js +19 -7
- package/dist/es/views/week/WeekView.js +9 -1
- package/dist/es/views/week/WorkWeekView.js +12 -1
- package/dist/npm/Scheduler.d.ts +14 -0
- package/dist/npm/Scheduler.js +21 -4
- package/dist/npm/components/{CurrentTimeMarket.d.ts → CurrentTimeMarker.d.ts} +0 -0
- package/dist/npm/components/CurrentTimeMarker.js +171 -0
- package/dist/npm/components/CurrentTimeMarkerArrow.d.ts +43 -0
- package/dist/npm/components/CurrentTimeMarkerArrow.js +147 -0
- package/dist/npm/components/DateHeaderCell.js +16 -2
- package/dist/npm/components/SchedulerForm.d.ts +0 -18
- package/dist/npm/components/SchedulerForm.js +74 -174
- package/dist/npm/components/TimeHeaderCell.js +16 -2
- package/dist/npm/items/SchedulerViewItem.js +9 -6
- package/dist/npm/main.d.ts +2 -1
- package/dist/npm/main.js +3 -1
- package/dist/npm/package-metadata.js +1 -1
- package/dist/npm/slots/SchedulerEditSlot.js +59 -44
- package/dist/npm/slots/SchedulerSlot.d.ts +4 -0
- package/dist/npm/slots/SchedulerViewSlot.d.ts +0 -1
- package/dist/npm/slots/SchedulerViewSlot.js +12 -4
- package/dist/npm/views/agenda/AgendaViewBody.js +0 -1
- package/dist/npm/views/common/VerticalResourceIterator.js +10 -2
- package/dist/npm/views/day/DayView.js +9 -1
- package/dist/npm/views/day/DayViewAllDaySlots.d.ts +1 -0
- package/dist/npm/views/day/DayViewAllDaySlots.js +1 -0
- package/dist/npm/views/day/DayViewMiddleRow.d.ts +1 -0
- package/dist/npm/views/day/DayViewMiddleRow.js +1 -0
- package/dist/npm/views/day/DayViewVerticalSlotsRow.d.ts +3 -0
- package/dist/npm/views/day/DayViewVerticalSlotsRow.js +28 -6
- package/dist/npm/views/day/MultiDayView.js +37 -23
- package/dist/npm/views/month/MonthView.js +8 -0
- package/dist/npm/views/month/MonthViewBody.d.ts +1 -0
- package/dist/npm/views/month/MonthViewBody.js +2 -1
- package/dist/npm/views/time/MultiDayTimelineView.js +23 -5
- package/dist/npm/views/time/TimelineView.js +9 -1
- package/dist/npm/views/time/TimelineViewBody.d.ts +2 -0
- package/dist/npm/views/time/TimelineViewBody.js +20 -7
- package/dist/npm/views/week/WeekView.js +9 -1
- package/dist/npm/views/week/WorkWeekView.js +12 -1
- package/package.json +12 -12
- package/dist/es/components/CurrentTimeMarket.js +0 -187
- package/dist/npm/components/CurrentTimeMarket.js +0 -199
|
@@ -13,19 +13,26 @@ var inject = allVue.inject;
|
|
|
13
13
|
|
|
14
14
|
var SchedulerEditSlot_1 = require("../../slots/SchedulerEditSlot");
|
|
15
15
|
|
|
16
|
-
var utils_1 = require("../../utils");
|
|
16
|
+
var utils_1 = require("../../utils");
|
|
17
|
+
|
|
18
|
+
var CurrentTimeMarker_1 = require("../../components/CurrentTimeMarker"); // tslint:enable:max-line-length
|
|
17
19
|
|
|
18
20
|
|
|
19
21
|
var TimelineViewBodyVue2 = {
|
|
20
22
|
name: 'KendoTimelineViewBody',
|
|
21
23
|
props: {
|
|
24
|
+
currentTimeMarker: {
|
|
25
|
+
type: Boolean,
|
|
26
|
+
default: true
|
|
27
|
+
},
|
|
22
28
|
groupIndex: Number,
|
|
23
29
|
timelineSlots: Array,
|
|
24
30
|
ranges: Array,
|
|
25
31
|
workDayStart: Date,
|
|
26
32
|
workDayEnd: Date,
|
|
27
33
|
editable: [Object, Boolean],
|
|
28
|
-
slotRender: [String, Function, Object]
|
|
34
|
+
slotRender: [String, Function, Object],
|
|
35
|
+
viewSlot: [String, Function, Object]
|
|
29
36
|
},
|
|
30
37
|
inject: {
|
|
31
38
|
ri: {
|
|
@@ -58,11 +65,10 @@ var TimelineViewBodyVue2 = {
|
|
|
58
65
|
}).map(function (slot, slotIndex, filtered) {
|
|
59
66
|
return h(SchedulerEditSlot_1.SchedulerEditSlot, {
|
|
60
67
|
key: slot.start.getTime() + ":" + slot.group.index,
|
|
61
|
-
|
|
62
|
-
viewSlot: that.$props.viewSlot,
|
|
68
|
+
slotRender: that.$props.slotRender,
|
|
63
69
|
attrs: this.v3 ? undefined : {
|
|
64
|
-
viewSlot: that.$props.viewSlot,
|
|
65
70
|
slotRender: that.$props.slotRender,
|
|
71
|
+
viewSlot: that.$props.viewSlot,
|
|
66
72
|
index: slot.index,
|
|
67
73
|
start: slot.start,
|
|
68
74
|
end: slot.end,
|
|
@@ -79,7 +85,7 @@ var TimelineViewBodyVue2 = {
|
|
|
79
85
|
expandable: true,
|
|
80
86
|
editable: editable
|
|
81
87
|
},
|
|
82
|
-
|
|
88
|
+
viewSlot: that.$props.viewSlot,
|
|
83
89
|
index: slot.index,
|
|
84
90
|
start: slot.start,
|
|
85
91
|
end: slot.end,
|
|
@@ -101,7 +107,14 @@ var TimelineViewBodyVue2 = {
|
|
|
101
107
|
editable: editable
|
|
102
108
|
});
|
|
103
109
|
}, true);
|
|
104
|
-
}, this)
|
|
110
|
+
}, this), this.$props.currentTimeMarker && utils_1.intersects(utils_1.first(ranges).start, utils_1.last(ranges).end, new Date(), new Date(), true) && h(CurrentTimeMarker_1.CurrentTimeMarker, {
|
|
111
|
+
groupIndex: groupIndex,
|
|
112
|
+
attrs: this.v3 ? undefined : {
|
|
113
|
+
groupIndex: groupIndex,
|
|
114
|
+
vertical: true
|
|
115
|
+
},
|
|
116
|
+
vertical: true
|
|
117
|
+
})]);
|
|
105
118
|
},
|
|
106
119
|
methods: {
|
|
107
120
|
handleDataAction: function handleDataAction(action) {
|
|
@@ -98,8 +98,10 @@ var WeekViewVue2 = {
|
|
|
98
98
|
type: Boolean,
|
|
99
99
|
default: true
|
|
100
100
|
},
|
|
101
|
-
|
|
101
|
+
dateHeaderCell: [String, Function, Object],
|
|
102
|
+
timeHeaderCell: [String, Function, Object],
|
|
102
103
|
slotRender: [String, Function, Object],
|
|
104
|
+
viewSlot: [String, Function, Object],
|
|
103
105
|
item: [String, Function, Object],
|
|
104
106
|
viewItem: [String, Function, Object],
|
|
105
107
|
editable: {
|
|
@@ -146,9 +148,12 @@ var WeekViewVue2 = {
|
|
|
146
148
|
workWeekStart: this.$props.workWeekStart,
|
|
147
149
|
workWeekEnd: this.$props.workWeekEnd,
|
|
148
150
|
defaultShowWorkHours: this.$props.defaultShowWorkHours,
|
|
151
|
+
dateHeaderCell: this.$props.dateHeaderCell,
|
|
149
152
|
timeHeaderCell: this.$props.timeHeaderCell,
|
|
150
153
|
slotRender: this.$props.slotRender,
|
|
154
|
+
viewSlot: this.$props.viewSlot,
|
|
151
155
|
item: this.$props.item,
|
|
156
|
+
slotItem: this.$props.slotItem,
|
|
152
157
|
viewItem: this.$props.viewItem,
|
|
153
158
|
editable: this.$props.editable
|
|
154
159
|
},
|
|
@@ -169,9 +174,12 @@ var WeekViewVue2 = {
|
|
|
169
174
|
workWeekStart: this.$props.workWeekStart,
|
|
170
175
|
workWeekEnd: this.$props.workWeekEnd,
|
|
171
176
|
defaultShowWorkHours: this.$props.defaultShowWorkHours,
|
|
177
|
+
dateHeaderCell: this.$props.dateHeaderCell,
|
|
172
178
|
timeHeaderCell: this.$props.timeHeaderCell,
|
|
173
179
|
slotRender: this.$props.slotRender,
|
|
180
|
+
viewSlot: this.$props.viewSlot,
|
|
174
181
|
item: this.$props.item,
|
|
182
|
+
slotItem: this.$props.slotItem,
|
|
175
183
|
viewItem: this.$props.viewItem,
|
|
176
184
|
editable: this.$props.editable,
|
|
177
185
|
onDataaction: this.handleDataAction,
|
|
@@ -88,7 +88,10 @@ var WorkWeekViewVue2 = {
|
|
|
88
88
|
type: Boolean,
|
|
89
89
|
default: true
|
|
90
90
|
},
|
|
91
|
+
dateHeaderCell: [String, Function, Object],
|
|
92
|
+
timeHeaderCell: [String, Function, Object],
|
|
91
93
|
slotRender: [String, Function, Object],
|
|
94
|
+
viewSlot: [String, Function, Object],
|
|
92
95
|
item: [String, Function, Object],
|
|
93
96
|
viewItem: [String, Function, Object],
|
|
94
97
|
editable: {
|
|
@@ -132,9 +135,13 @@ var WorkWeekViewVue2 = {
|
|
|
132
135
|
title: title,
|
|
133
136
|
step: constants_1.DAYS_IN_WEEK_COUNT,
|
|
134
137
|
slotRender: this.$props.slotRender,
|
|
138
|
+
viewSlot: this.$props.viewSlot,
|
|
139
|
+
slotItem: this.$props.slotItem,
|
|
135
140
|
item: this.$props.item,
|
|
136
141
|
viewItem: this.$props.viewItem,
|
|
137
|
-
editable: this.$props.editable
|
|
142
|
+
editable: this.$props.editable,
|
|
143
|
+
dateHeaderCell: this.$props.dateHeaderCell,
|
|
144
|
+
timeHeaderCell: this.$props.timeHeaderCell
|
|
138
145
|
},
|
|
139
146
|
dateRange: this.$props.dateRange,
|
|
140
147
|
numberOfDays: numberOfDays,
|
|
@@ -146,9 +153,13 @@ var WorkWeekViewVue2 = {
|
|
|
146
153
|
title: title,
|
|
147
154
|
step: constants_1.DAYS_IN_WEEK_COUNT,
|
|
148
155
|
slotRender: this.$props.slotRender,
|
|
156
|
+
viewSlot: this.$props.viewSlot,
|
|
157
|
+
slotItem: this.$props.slotItem,
|
|
149
158
|
item: this.$props.item,
|
|
150
159
|
viewItem: this.$props.viewItem,
|
|
151
160
|
editable: this.$props.editable,
|
|
161
|
+
dateHeaderCell: this.$props.dateHeaderCell,
|
|
162
|
+
timeHeaderCell: this.$props.timeHeaderCell,
|
|
152
163
|
onDataaction: this.handleDataAction,
|
|
153
164
|
on: this.v3 ? undefined : {
|
|
154
165
|
"dataaction": this.handleDataAction
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-vue-scheduler",
|
|
3
3
|
"description": "Kendo UI for Vue Scheduler package",
|
|
4
|
-
"version": "3.2.
|
|
4
|
+
"version": "3.2.9",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/telerik/kendo-vue.git"
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"@progress/kendo-data-query": "^1.5.1",
|
|
44
44
|
"@progress/kendo-recurrence": "^1.0.1",
|
|
45
|
-
"@progress/kendo-vue-common": "3.2.
|
|
45
|
+
"@progress/kendo-vue-common": "3.2.9",
|
|
46
46
|
"@telerik/kendo-draggable": "^2.2.1"
|
|
47
47
|
},
|
|
48
48
|
"@progress": {
|
|
@@ -58,16 +58,16 @@
|
|
|
58
58
|
"@progress/kendo-date-math": "^1.4.1",
|
|
59
59
|
"@progress/kendo-drawing": "^1.8.0",
|
|
60
60
|
"@progress/kendo-licensing": "^1.0.1",
|
|
61
|
-
"@progress/kendo-vue-buttons": "3.2.
|
|
62
|
-
"@progress/kendo-vue-dateinputs": "3.2.
|
|
63
|
-
"@progress/kendo-vue-dialogs": "3.2.
|
|
64
|
-
"@progress/kendo-vue-dropdowns": "3.2.
|
|
65
|
-
"@progress/kendo-vue-form": "3.2.
|
|
66
|
-
"@progress/kendo-vue-inputs": "3.2.
|
|
67
|
-
"@progress/kendo-vue-intl": "3.2.
|
|
68
|
-
"@progress/kendo-vue-labels": "3.2.
|
|
69
|
-
"@progress/kendo-vue-popup": "3.2.
|
|
70
|
-
"@progress/kendo-vue-progressbars": "3.2.
|
|
61
|
+
"@progress/kendo-vue-buttons": "3.2.9",
|
|
62
|
+
"@progress/kendo-vue-dateinputs": "3.2.9",
|
|
63
|
+
"@progress/kendo-vue-dialogs": "3.2.9",
|
|
64
|
+
"@progress/kendo-vue-dropdowns": "3.2.9",
|
|
65
|
+
"@progress/kendo-vue-form": "3.2.9",
|
|
66
|
+
"@progress/kendo-vue-inputs": "3.2.9",
|
|
67
|
+
"@progress/kendo-vue-intl": "3.2.9",
|
|
68
|
+
"@progress/kendo-vue-labels": "3.2.9",
|
|
69
|
+
"@progress/kendo-vue-popup": "3.2.9",
|
|
70
|
+
"@progress/kendo-vue-progressbars": "3.2.9",
|
|
71
71
|
"cldr-core": "36.0.0",
|
|
72
72
|
"cldr-dates-full": "36.0.0",
|
|
73
73
|
"cldr-numbers-full": "36.0.0"
|
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
// @ts-ignore
|
|
2
|
-
import * as Vue from 'vue';
|
|
3
|
-
var allVue = Vue;
|
|
4
|
-
var gh = allVue.h;
|
|
5
|
-
import { cloneDate } from '@progress/kendo-date-math';
|
|
6
|
-
import { getDefaultSlots } from '@progress/kendo-vue-common'; // import { useSchedulerElementContext, useSchedulerPropsContext, useSchedulerViewSlotsContext } from '../context';
|
|
7
|
-
|
|
8
|
-
import { first, isInTimeRange, intersects } from '../utils';
|
|
9
|
-
import { getRect } from '../views/common/utils';
|
|
10
|
-
|
|
11
|
-
var combineWidths = function combineWidths(slots) {
|
|
12
|
-
var result = 0;
|
|
13
|
-
slots.forEach(function (slot) {
|
|
14
|
-
if (slot.current) {
|
|
15
|
-
var rect = getRect(slot.current.element);
|
|
16
|
-
result += rect.width;
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
var combineHeights = function combineHeights(slots) {
|
|
23
|
-
var result = 0;
|
|
24
|
-
slots.forEach(function (slot) {
|
|
25
|
-
if (slot.current) {
|
|
26
|
-
var rect = getRect(slot.current.element);
|
|
27
|
-
result += rect.height;
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
return result;
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
var setTime = function setTime(origin, candidate) {
|
|
34
|
-
var date = cloneDate(origin);
|
|
35
|
-
date.setHours(candidate.getHours(), candidate.getMinutes(), candidate.getSeconds(), candidate.getMilliseconds());
|
|
36
|
-
return date;
|
|
37
|
-
}; // tslint:enable:max-line-length
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
var CurrentTimeMarkerVue2 = {
|
|
41
|
-
name: 'KendoCurrentTimeMarker',
|
|
42
|
-
props: {
|
|
43
|
-
updateInterval: {
|
|
44
|
-
type: Number,
|
|
45
|
-
default: 60000
|
|
46
|
-
},
|
|
47
|
-
groupIndex: Number,
|
|
48
|
-
vertical: Boolean,
|
|
49
|
-
attachArrow: Object
|
|
50
|
-
},
|
|
51
|
-
inject: {
|
|
52
|
-
ks: {
|
|
53
|
-
default: null
|
|
54
|
-
}
|
|
55
|
-
},
|
|
56
|
-
created: function created() {
|
|
57
|
-
this.interval = undefined;
|
|
58
|
-
this.arrowRef = null;
|
|
59
|
-
this.line = null;
|
|
60
|
-
},
|
|
61
|
-
data: function data() {
|
|
62
|
-
return {
|
|
63
|
-
show: false
|
|
64
|
-
};
|
|
65
|
-
},
|
|
66
|
-
mounted: function mounted() {
|
|
67
|
-
this.line = this.$el;
|
|
68
|
-
this.position();
|
|
69
|
-
},
|
|
70
|
-
updated: function updated() {// React.useEffect(
|
|
71
|
-
// () => {
|
|
72
|
-
// if (!this.ks.scheduler || !window) {return; }
|
|
73
|
-
// clearInterval(this.interval);
|
|
74
|
-
// this.interval = window.setInterval(this.refresh, this.updateInterval);
|
|
75
|
-
// const observer = new (window as any).ResizeObserver(this.refresh);
|
|
76
|
-
// observer.observe(this.ks.scheduler);
|
|
77
|
-
// return () => {
|
|
78
|
-
// clearInterval(this.interval);
|
|
79
|
-
// observer.disconnect();
|
|
80
|
-
// };
|
|
81
|
-
// },
|
|
82
|
-
// [position, refresh, scheduler, updateInterval]);
|
|
83
|
-
},
|
|
84
|
-
// @ts-ignore
|
|
85
|
-
setup: !gh ? undefined : function () {
|
|
86
|
-
var v3 = !!gh;
|
|
87
|
-
return {
|
|
88
|
-
v3: v3
|
|
89
|
-
};
|
|
90
|
-
},
|
|
91
|
-
// @ts-ignore
|
|
92
|
-
render: function render(createElement) {
|
|
93
|
-
var _a;
|
|
94
|
-
|
|
95
|
-
var h = gh || createElement;
|
|
96
|
-
var defaultSlot = getDefaultSlots(this);
|
|
97
|
-
var scheduler = this.ks.scheduler; // useSchedulerElementContext();
|
|
98
|
-
// const schedulerProps = this.schedulerProps; // useSchedulerPropsContext();
|
|
99
|
-
// const [, setForce] = React.useState(false);
|
|
100
|
-
// const dir = useDir(line, schedulerProps.rtl === true ? 'rtl' : undefined);
|
|
101
|
-
// const slots = this.slots; //useSchedulerViewSlotsContext();
|
|
102
|
-
// const refresh = React.useCallback(
|
|
103
|
-
// () => {
|
|
104
|
-
// position();
|
|
105
|
-
// setForce(f => !f);
|
|
106
|
-
// },
|
|
107
|
-
// [position]);
|
|
108
|
-
// const arrow = (
|
|
109
|
-
// <div
|
|
110
|
-
// ref={arrowRef}
|
|
111
|
-
// class={classNames(
|
|
112
|
-
// 'k-current-time',
|
|
113
|
-
// {
|
|
114
|
-
// 'k-current-time-arrow-right': !props.vertical && dir !== 'rtl',
|
|
115
|
-
// 'k-current-time-arrow-left': !props.vertical && dir === 'rtl',
|
|
116
|
-
// 'k-current-time-arrow-down': props.vertical
|
|
117
|
-
// })}
|
|
118
|
-
// style={{
|
|
119
|
-
// transform: props.vertical
|
|
120
|
-
// ? dir === 'rtl'
|
|
121
|
-
// ? 'translateX(50%)'
|
|
122
|
-
// : 'translateX(-50%)'
|
|
123
|
-
// : 'translateY(-50%)',
|
|
124
|
-
// visibility: !show ? 'hidden' : undefined
|
|
125
|
-
// }}
|
|
126
|
-
// />
|
|
127
|
-
// );
|
|
128
|
-
|
|
129
|
-
return (// <React.Fragment>
|
|
130
|
-
// {(props.attachArrow && props.attachArrow.current) ?
|
|
131
|
-
// ReactDOM.createPortal(arrow, props.attachArrow.current) : arrow}
|
|
132
|
-
h("div", {
|
|
133
|
-
"class": "k-current-time",
|
|
134
|
-
style: (_a = {
|
|
135
|
-
transform: this.$props.vertical ? 'translateX(-50%)' : 'translateY(-50%)'
|
|
136
|
-
}, _a[this.$props.vertical ? 'width' : 'height'] = '1px', _a.visibility = !this.show ? 'hidden' : undefined, _a)
|
|
137
|
-
}) // </React.Fragment>
|
|
138
|
-
|
|
139
|
-
);
|
|
140
|
-
},
|
|
141
|
-
methods: {
|
|
142
|
-
position: function position() {
|
|
143
|
-
var _this = this;
|
|
144
|
-
|
|
145
|
-
if (!this.slots) {
|
|
146
|
-
return;
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
var sameTimeSlots = this.slots.filter(function (s) {
|
|
150
|
-
return s.current && (_this.$props.groupIndex === undefined || _this.$props.groupIndex === null || s.current.props.group.index === _this.$props.groupIndex) && (_this.$props.vertical ? intersects(new Date(), new Date(), s.current.props.start, s.current.props.end, true) : isInTimeRange(new Date(), s.current.props.start, s.current.props.end)) && !s.current.props.isAllDay;
|
|
151
|
-
});
|
|
152
|
-
|
|
153
|
-
if (sameTimeSlots && sameTimeSlots.length && this.arrowRef && this.line) {
|
|
154
|
-
var firstSlot = first(sameTimeSlots);
|
|
155
|
-
|
|
156
|
-
if (!firstSlot) {
|
|
157
|
-
return;
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
var size = this.$props.vertical ? combineHeights(sameTimeSlots) : combineWidths(sameTimeSlots);
|
|
161
|
-
var rect = getRect(firstSlot.element);
|
|
162
|
-
var arrowRect = getRect(this.arrowRef);
|
|
163
|
-
var pxPerMillisecond = (this.$props.vertical ? rect.width : rect.height) / (firstSlot.props.end.getTime() - firstSlot.props.start.getTime());
|
|
164
|
-
var offset = (Date.now() - setTime(new Date(), firstSlot.props.start).getTime()) * pxPerMillisecond;
|
|
165
|
-
var rtl = this.$props.dir === 'rtl';
|
|
166
|
-
var top_1 = this.$props.vertical ? rect.top : rect.top + offset - arrowRect.height / 2;
|
|
167
|
-
var horizontalDimension = rtl ? 'right' : 'left';
|
|
168
|
-
var horizontalMeasure = this.$props.vertical ? rect[horizontalDimension] + offset - arrowRect.width / 2 : rect[horizontalDimension];
|
|
169
|
-
|
|
170
|
-
if (this.$props.vertical) {
|
|
171
|
-
this.arrowRef.style[horizontalDimension] = horizontalMeasure + "px";
|
|
172
|
-
} else {
|
|
173
|
-
this.arrowRef.style.top = top_1 + "px";
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
this.line.style[horizontalDimension] = horizontalMeasure + "px";
|
|
177
|
-
this.line.style.top = top_1 + "px";
|
|
178
|
-
this.line.style[this.$props.vertical ? 'height' : 'width'] = size - 1 + "px";
|
|
179
|
-
this.show = true;
|
|
180
|
-
} else {
|
|
181
|
-
this.show = false;
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
};
|
|
186
|
-
var CurrentTimeMarker = CurrentTimeMarkerVue2;
|
|
187
|
-
export { CurrentTimeMarker, CurrentTimeMarkerVue2 };
|
|
@@ -1,199 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.CurrentTimeMarkerVue2 = exports.CurrentTimeMarker = void 0; // @ts-ignore
|
|
7
|
-
|
|
8
|
-
var Vue = require("vue");
|
|
9
|
-
|
|
10
|
-
var allVue = Vue;
|
|
11
|
-
var gh = allVue.h;
|
|
12
|
-
|
|
13
|
-
var kendo_date_math_1 = require("@progress/kendo-date-math");
|
|
14
|
-
|
|
15
|
-
var kendo_vue_common_1 = require("@progress/kendo-vue-common"); // import { useSchedulerElementContext, useSchedulerPropsContext, useSchedulerViewSlotsContext } from '../context';
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
var utils_1 = require("../utils");
|
|
19
|
-
|
|
20
|
-
var utils_2 = require("../views/common/utils");
|
|
21
|
-
|
|
22
|
-
var combineWidths = function combineWidths(slots) {
|
|
23
|
-
var result = 0;
|
|
24
|
-
slots.forEach(function (slot) {
|
|
25
|
-
if (slot.current) {
|
|
26
|
-
var rect = utils_2.getRect(slot.current.element);
|
|
27
|
-
result += rect.width;
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
return result;
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
var combineHeights = function combineHeights(slots) {
|
|
34
|
-
var result = 0;
|
|
35
|
-
slots.forEach(function (slot) {
|
|
36
|
-
if (slot.current) {
|
|
37
|
-
var rect = utils_2.getRect(slot.current.element);
|
|
38
|
-
result += rect.height;
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
return result;
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
var setTime = function setTime(origin, candidate) {
|
|
45
|
-
var date = kendo_date_math_1.cloneDate(origin);
|
|
46
|
-
date.setHours(candidate.getHours(), candidate.getMinutes(), candidate.getSeconds(), candidate.getMilliseconds());
|
|
47
|
-
return date;
|
|
48
|
-
}; // tslint:enable:max-line-length
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
var CurrentTimeMarkerVue2 = {
|
|
52
|
-
name: 'KendoCurrentTimeMarker',
|
|
53
|
-
props: {
|
|
54
|
-
updateInterval: {
|
|
55
|
-
type: Number,
|
|
56
|
-
default: 60000
|
|
57
|
-
},
|
|
58
|
-
groupIndex: Number,
|
|
59
|
-
vertical: Boolean,
|
|
60
|
-
attachArrow: Object
|
|
61
|
-
},
|
|
62
|
-
inject: {
|
|
63
|
-
ks: {
|
|
64
|
-
default: null
|
|
65
|
-
}
|
|
66
|
-
},
|
|
67
|
-
created: function created() {
|
|
68
|
-
this.interval = undefined;
|
|
69
|
-
this.arrowRef = null;
|
|
70
|
-
this.line = null;
|
|
71
|
-
},
|
|
72
|
-
data: function data() {
|
|
73
|
-
return {
|
|
74
|
-
show: false
|
|
75
|
-
};
|
|
76
|
-
},
|
|
77
|
-
mounted: function mounted() {
|
|
78
|
-
this.line = this.$el;
|
|
79
|
-
this.position();
|
|
80
|
-
},
|
|
81
|
-
updated: function updated() {// React.useEffect(
|
|
82
|
-
// () => {
|
|
83
|
-
// if (!this.ks.scheduler || !window) {return; }
|
|
84
|
-
// clearInterval(this.interval);
|
|
85
|
-
// this.interval = window.setInterval(this.refresh, this.updateInterval);
|
|
86
|
-
// const observer = new (window as any).ResizeObserver(this.refresh);
|
|
87
|
-
// observer.observe(this.ks.scheduler);
|
|
88
|
-
// return () => {
|
|
89
|
-
// clearInterval(this.interval);
|
|
90
|
-
// observer.disconnect();
|
|
91
|
-
// };
|
|
92
|
-
// },
|
|
93
|
-
// [position, refresh, scheduler, updateInterval]);
|
|
94
|
-
},
|
|
95
|
-
// @ts-ignore
|
|
96
|
-
setup: !gh ? undefined : function () {
|
|
97
|
-
var v3 = !!gh;
|
|
98
|
-
return {
|
|
99
|
-
v3: v3
|
|
100
|
-
};
|
|
101
|
-
},
|
|
102
|
-
// @ts-ignore
|
|
103
|
-
render: function render(createElement) {
|
|
104
|
-
var _a;
|
|
105
|
-
|
|
106
|
-
var h = gh || createElement;
|
|
107
|
-
var defaultSlot = kendo_vue_common_1.getDefaultSlots(this);
|
|
108
|
-
var scheduler = this.ks.scheduler; // useSchedulerElementContext();
|
|
109
|
-
// const schedulerProps = this.schedulerProps; // useSchedulerPropsContext();
|
|
110
|
-
// const [, setForce] = React.useState(false);
|
|
111
|
-
// const dir = useDir(line, schedulerProps.rtl === true ? 'rtl' : undefined);
|
|
112
|
-
// const slots = this.slots; //useSchedulerViewSlotsContext();
|
|
113
|
-
// const refresh = React.useCallback(
|
|
114
|
-
// () => {
|
|
115
|
-
// position();
|
|
116
|
-
// setForce(f => !f);
|
|
117
|
-
// },
|
|
118
|
-
// [position]);
|
|
119
|
-
// const arrow = (
|
|
120
|
-
// <div
|
|
121
|
-
// ref={arrowRef}
|
|
122
|
-
// class={classNames(
|
|
123
|
-
// 'k-current-time',
|
|
124
|
-
// {
|
|
125
|
-
// 'k-current-time-arrow-right': !props.vertical && dir !== 'rtl',
|
|
126
|
-
// 'k-current-time-arrow-left': !props.vertical && dir === 'rtl',
|
|
127
|
-
// 'k-current-time-arrow-down': props.vertical
|
|
128
|
-
// })}
|
|
129
|
-
// style={{
|
|
130
|
-
// transform: props.vertical
|
|
131
|
-
// ? dir === 'rtl'
|
|
132
|
-
// ? 'translateX(50%)'
|
|
133
|
-
// : 'translateX(-50%)'
|
|
134
|
-
// : 'translateY(-50%)',
|
|
135
|
-
// visibility: !show ? 'hidden' : undefined
|
|
136
|
-
// }}
|
|
137
|
-
// />
|
|
138
|
-
// );
|
|
139
|
-
|
|
140
|
-
return (// <React.Fragment>
|
|
141
|
-
// {(props.attachArrow && props.attachArrow.current) ?
|
|
142
|
-
// ReactDOM.createPortal(arrow, props.attachArrow.current) : arrow}
|
|
143
|
-
h("div", {
|
|
144
|
-
"class": "k-current-time",
|
|
145
|
-
style: (_a = {
|
|
146
|
-
transform: this.$props.vertical ? 'translateX(-50%)' : 'translateY(-50%)'
|
|
147
|
-
}, _a[this.$props.vertical ? 'width' : 'height'] = '1px', _a.visibility = !this.show ? 'hidden' : undefined, _a)
|
|
148
|
-
}) // </React.Fragment>
|
|
149
|
-
|
|
150
|
-
);
|
|
151
|
-
},
|
|
152
|
-
methods: {
|
|
153
|
-
position: function position() {
|
|
154
|
-
var _this = this;
|
|
155
|
-
|
|
156
|
-
if (!this.slots) {
|
|
157
|
-
return;
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
var sameTimeSlots = this.slots.filter(function (s) {
|
|
161
|
-
return s.current && (_this.$props.groupIndex === undefined || _this.$props.groupIndex === null || s.current.props.group.index === _this.$props.groupIndex) && (_this.$props.vertical ? utils_1.intersects(new Date(), new Date(), s.current.props.start, s.current.props.end, true) : utils_1.isInTimeRange(new Date(), s.current.props.start, s.current.props.end)) && !s.current.props.isAllDay;
|
|
162
|
-
});
|
|
163
|
-
|
|
164
|
-
if (sameTimeSlots && sameTimeSlots.length && this.arrowRef && this.line) {
|
|
165
|
-
var firstSlot = utils_1.first(sameTimeSlots);
|
|
166
|
-
|
|
167
|
-
if (!firstSlot) {
|
|
168
|
-
return;
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
var size = this.$props.vertical ? combineHeights(sameTimeSlots) : combineWidths(sameTimeSlots);
|
|
172
|
-
var rect = utils_2.getRect(firstSlot.element);
|
|
173
|
-
var arrowRect = utils_2.getRect(this.arrowRef);
|
|
174
|
-
var pxPerMillisecond = (this.$props.vertical ? rect.width : rect.height) / (firstSlot.props.end.getTime() - firstSlot.props.start.getTime());
|
|
175
|
-
var offset = (Date.now() - setTime(new Date(), firstSlot.props.start).getTime()) * pxPerMillisecond;
|
|
176
|
-
var rtl = this.$props.dir === 'rtl';
|
|
177
|
-
var top_1 = this.$props.vertical ? rect.top : rect.top + offset - arrowRect.height / 2;
|
|
178
|
-
var horizontalDimension = rtl ? 'right' : 'left';
|
|
179
|
-
var horizontalMeasure = this.$props.vertical ? rect[horizontalDimension] + offset - arrowRect.width / 2 : rect[horizontalDimension];
|
|
180
|
-
|
|
181
|
-
if (this.$props.vertical) {
|
|
182
|
-
this.arrowRef.style[horizontalDimension] = horizontalMeasure + "px";
|
|
183
|
-
} else {
|
|
184
|
-
this.arrowRef.style.top = top_1 + "px";
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
this.line.style[horizontalDimension] = horizontalMeasure + "px";
|
|
188
|
-
this.line.style.top = top_1 + "px";
|
|
189
|
-
this.line.style[this.$props.vertical ? 'height' : 'width'] = size - 1 + "px";
|
|
190
|
-
this.show = true;
|
|
191
|
-
} else {
|
|
192
|
-
this.show = false;
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
};
|
|
197
|
-
exports.CurrentTimeMarkerVue2 = CurrentTimeMarkerVue2;
|
|
198
|
-
var CurrentTimeMarker = CurrentTimeMarkerVue2;
|
|
199
|
-
exports.CurrentTimeMarker = CurrentTimeMarker;
|