@progress/kendo-vue-scheduler 9.3.0-develop.4 → 9.3.0-develop.6
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/Scheduler.d.ts +67 -4
- package/Scheduler.js +1 -1
- package/Scheduler.mjs +267 -115
- package/components/BaseView.js +1 -1
- package/components/BaseView.mjs +10 -4
- package/components/CurrentTimeMarker.js +1 -1
- package/components/CurrentTimeMarker.mjs +9 -9
- package/components/CurrentTimeMarkerArrow.js +1 -1
- package/components/CurrentTimeMarkerArrow.mjs +3 -3
- package/components/DateHeaderCell.js +1 -1
- package/components/DateHeaderCell.mjs +22 -13
- package/components/MoreEventsPopover.d.ts +77 -0
- package/components/MoreEventsPopover.js +8 -0
- package/components/MoreEventsPopover.mjs +125 -0
- package/components/SchedulerActionButtons.d.ts +6 -0
- package/components/SchedulerActionButtons.js +1 -1
- package/components/SchedulerActionButtons.mjs +25 -19
- package/components/SchedulerForm.d.ts +7 -0
- package/components/SchedulerForm.js +1 -1
- package/components/SchedulerForm.mjs +69 -61
- package/components/SchedulerOccurrenceDialog.d.ts +4 -4
- package/components/SchedulerOccurrenceDialog.js +1 -1
- package/components/SchedulerOccurrenceDialog.mjs +35 -26
- package/components/SchedulerRemoveDialog.d.ts +6 -0
- package/components/SchedulerRemoveDialog.js +1 -1
- package/components/SchedulerRemoveDialog.mjs +24 -23
- package/components/ShowMoreItemsButton.d.ts +10 -1
- package/components/ShowMoreItemsButton.js +1 -1
- package/components/ShowMoreItemsButton.mjs +40 -18
- package/components/footer/bussiness-hours/BusinessHours.js +1 -1
- package/components/footer/bussiness-hours/BusinessHours.mjs +16 -21
- package/components/header/SchedulerAdaptiveHeader.js +1 -1
- package/components/header/SchedulerAdaptiveHeader.mjs +28 -26
- package/components/header/SchedulerHeader.d.ts +5 -1
- package/components/header/SchedulerHeader.js +1 -1
- package/components/header/SchedulerHeader.mjs +11 -7
- package/components/header/navigation/NavigationDatePicker.d.ts +22 -3
- package/components/header/navigation/NavigationDatePicker.js +1 -1
- package/components/header/navigation/NavigationDatePicker.mjs +27 -30
- package/components/header/view-selector/ViewSelectorList.d.ts +26 -6
- package/components/header/view-selector/ViewSelectorList.js +1 -1
- package/components/header/view-selector/ViewSelectorList.mjs +55 -49
- package/dist/cdn/js/kendo-vue-scheduler.js +1 -1
- package/editors/RemoveRecurrenceConfirmDialog.d.ts +29 -0
- package/editors/RemoveRecurrenceConfirmDialog.js +8 -0
- package/editors/RemoveRecurrenceConfirmDialog.mjs +65 -0
- package/editors/ResourceEditor.d.ts +3 -0
- package/editors/ResourceEditor.js +1 -1
- package/editors/ResourceEditor.mjs +12 -10
- package/editors/SchedulerFormEditor.d.ts +1067 -2953
- package/editors/SchedulerFormEditor.js +1 -1
- package/editors/SchedulerFormEditor.mjs +297 -365
- package/editors/SchedulerRecurrenceDialog.d.ts +143 -0
- package/editors/SchedulerRecurrenceDialog.js +8 -0
- package/editors/SchedulerRecurrenceDialog.mjs +575 -0
- package/editors/TimezoneDropDownList.d.ts +46 -0
- package/editors/TimezoneDropDownList.js +8 -0
- package/editors/TimezoneDropDownList.mjs +63 -0
- package/editors/ZonedSplitDateTime.d.ts +65 -0
- package/editors/ZonedSplitDateTime.js +8 -0
- package/editors/ZonedSplitDateTime.mjs +100 -0
- package/hooks/main.d.ts +1 -0
- package/hooks/useGroupRowHeightSync.d.ts +10 -0
- package/hooks/useRecurrenceSummary.d.ts +10 -0
- package/hooks/useRecurrenceSummary.js +8 -0
- package/hooks/useRecurrenceSummary.mjs +74 -0
- package/hooks/useRowSync.js +1 -1
- package/hooks/useRowSync.mjs +23 -4
- package/hooks/useSlotExpand.js +1 -1
- package/hooks/useSlotExpand.mjs +36 -28
- package/index.d.mts +9 -3
- package/index.d.ts +9 -3
- package/index.js +1 -1
- package/index.mjs +83 -71
- package/items/SchedulerEditItem.d.ts +14 -3
- package/items/SchedulerEditItem.js +1 -1
- package/items/SchedulerEditItem.mjs +130 -72
- package/items/SchedulerItem.d.ts +10 -0
- package/items/SchedulerItem.js +1 -1
- package/items/SchedulerItem.mjs +153 -135
- package/items/SchedulerProportionalViewItem.d.ts +183 -0
- package/items/SchedulerProportionalViewItem.js +8 -0
- package/items/SchedulerProportionalViewItem.mjs +378 -0
- package/items/SchedulerViewItem.d.ts +3 -0
- package/items/SchedulerViewItem.js +1 -1
- package/items/SchedulerViewItem.mjs +107 -67
- package/messages/main.d.ts +186 -0
- package/messages/main.js +1 -1
- package/messages/main.mjs +226 -102
- package/models/Item.d.ts +2 -0
- package/models/Occurrence.d.ts +2 -0
- package/models/SchedulerModelFields.d.ts +5 -0
- package/models/SchedulerResource.d.ts +6 -0
- package/models/SchedulerView.d.ts +2 -0
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +2 -2
- package/package.json +12 -11
- package/recurrence/common.js +1 -1
- package/recurrence/common.mjs +36 -39
- package/services/itemsService.js +1 -1
- package/services/itemsService.mjs +31 -27
- package/services/occurrenceService.js +1 -1
- package/services/occurrenceService.mjs +41 -35
- package/slots/SchedulerEditSlot.d.ts +2 -0
- package/slots/SchedulerEditSlot.js +1 -1
- package/slots/SchedulerEditSlot.mjs +27 -28
- package/slots/SchedulerSlot.d.ts +4 -0
- package/slots/SchedulerSlot.js +1 -1
- package/slots/SchedulerSlot.mjs +10 -1
- package/slots/SchedulerViewSlot.d.ts +5 -0
- package/slots/SchedulerViewSlot.js +1 -1
- package/slots/SchedulerViewSlot.mjs +70 -50
- package/tasks/SchedulerEditTask.d.ts +6 -0
- package/tasks/SchedulerEditTask.js +1 -1
- package/tasks/SchedulerEditTask.mjs +64 -23
- package/tasks/SchedulerTask.d.ts +15 -0
- package/tasks/SchedulerTask.js +1 -1
- package/tasks/SchedulerTask.mjs +39 -28
- package/tasks/SchedulerViewTask.d.ts +9 -0
- package/tasks/SchedulerViewTask.js +1 -1
- package/tasks/SchedulerViewTask.mjs +10 -5
- package/utils/main.d.ts +4 -1
- package/utils/main.js +1 -1
- package/utils/main.mjs +133 -112
- package/views/agenda/AgendaView.js +1 -1
- package/views/agenda/AgendaView.mjs +28 -22
- package/views/agenda/AgendaViewBody.js +1 -1
- package/views/agenda/AgendaViewBody.mjs +44 -42
- package/views/agenda/AgendaViewHead.js +1 -1
- package/views/agenda/AgendaViewHead.mjs +14 -10
- package/views/common/SchedulerDrag.d.ts +12 -0
- package/views/common/SchedulerResize.d.ts +12 -0
- package/views/common/VerticalResourceIterator.d.ts +3 -0
- package/views/common/VerticalResourceIterator.js +1 -1
- package/views/common/VerticalResourceIterator.mjs +16 -9
- package/views/day/DayView.js +1 -1
- package/views/day/DayView.mjs +2 -2
- package/views/day/MultiDayView.js +1 -1
- package/views/day/MultiDayView.mjs +98 -127
- package/views/month/MonthView.d.ts +8 -2
- package/views/month/MonthView.js +1 -1
- package/views/month/MonthView.mjs +115 -109
- package/views/month/MonthViewBody.d.ts +7 -2
- package/views/month/MonthViewBody.js +1 -1
- package/views/month/MonthViewBody.mjs +15 -11
- package/views/time/MultiDayTimelineView.d.ts +5 -0
- package/views/time/MultiDayTimelineView.js +1 -1
- package/views/time/MultiDayTimelineView.mjs +125 -132
- package/views/time/TimelineView.js +1 -1
- package/views/time/TimelineView.mjs +2 -2
- package/views/week/WeekView.js +1 -1
- package/views/week/WeekView.mjs +2 -2
- package/views/week/WorkWeekView.js +1 -1
- package/views/week/WorkWeekView.mjs +9 -9
- package/components/header/navigation/DatePickerToggleButton.d.ts +0 -16
- package/editors/FilterableComboBox.d.ts +0 -38
- package/editors/FilterableComboBox.js +0 -8
- package/editors/FilterableComboBox.mjs +0 -61
- package/editors/ZonedDateTime.js +0 -8
- package/editors/ZonedDateTime.mjs +0 -57
package/recurrence/common.mjs
CHANGED
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
import { isPresent as
|
|
9
|
-
import { parseRule as
|
|
10
|
-
import { toLocalDate as
|
|
11
|
-
const y = (e) => e.charAt(0).toUpperCase() + e.slice(1),
|
|
8
|
+
import { isPresent as s, isNullOrEmptyString as d } from "../utils/main.mjs";
|
|
9
|
+
import { parseRule as f } from "@progress/kendo-recurrence";
|
|
10
|
+
import { toLocalDate as i } from "@progress/kendo-date-math";
|
|
11
|
+
const y = (e) => e.charAt(0).toUpperCase() + e.slice(1), u = ["first", "second", "third", "fourth", "last"], l = ["never", "daily", "weekly", "monthly", "yearly"], k = [
|
|
12
12
|
{ day: 0, offset: 0 },
|
|
13
13
|
{ day: 1, offset: 0 },
|
|
14
14
|
{ day: 2, offset: 0 },
|
|
@@ -16,28 +16,28 @@ const y = (e) => e.charAt(0).toUpperCase() + e.slice(1), l = ["first", "second",
|
|
|
16
16
|
{ day: 4, offset: 0 },
|
|
17
17
|
{ day: 5, offset: 0 },
|
|
18
18
|
{ day: 6, offset: 0 }
|
|
19
|
-
],
|
|
19
|
+
], m = [
|
|
20
20
|
{ day: 1, offset: 0 },
|
|
21
21
|
{ day: 2, offset: 0 },
|
|
22
22
|
{ day: 3, offset: 0 },
|
|
23
23
|
{ day: 4, offset: 0 },
|
|
24
24
|
{ day: 5, offset: 0 }
|
|
25
|
-
],
|
|
25
|
+
], D = [
|
|
26
26
|
{ day: 0, offset: 0 },
|
|
27
27
|
{ day: 6, offset: 0 }
|
|
28
28
|
], w = (e) => {
|
|
29
29
|
switch (e) {
|
|
30
30
|
case "day":
|
|
31
|
-
return
|
|
31
|
+
return k;
|
|
32
32
|
case "weekday":
|
|
33
|
-
return
|
|
33
|
+
return m;
|
|
34
34
|
case "weekend":
|
|
35
|
-
return
|
|
35
|
+
return D;
|
|
36
36
|
}
|
|
37
|
-
}, v = (e) =>
|
|
37
|
+
}, v = (e) => f({ recurrenceRule: e }) || {}, W = (e) => l.map((t) => ({
|
|
38
38
|
value: t,
|
|
39
39
|
text: e("Frequencies" + y(t))
|
|
40
|
-
})), R = (e) =>
|
|
40
|
+
})), R = (e) => s(e) && !d(e.freq) ? e.freq : "never", x = (e) => s(e.until) ? i(e.until) : null, F = (e) => e.dateFormatNames({
|
|
41
41
|
type: "months",
|
|
42
42
|
nameType: "wide",
|
|
43
43
|
standAlone: !0
|
|
@@ -48,14 +48,14 @@ const y = (e) => e.charAt(0).toUpperCase() + e.slice(1), l = ["first", "second",
|
|
|
48
48
|
const t = e.firstDay(), a = e.dateFormatNames({
|
|
49
49
|
type: "days",
|
|
50
50
|
nameType: "abbreviated"
|
|
51
|
-
}).map((
|
|
52
|
-
text:
|
|
53
|
-
value:
|
|
51
|
+
}).map((n, o) => ({
|
|
52
|
+
text: n,
|
|
53
|
+
value: o
|
|
54
54
|
}));
|
|
55
55
|
return a.slice(t).concat(a.slice(0, t));
|
|
56
|
-
}, O = (e, t, a) =>
|
|
57
|
-
let n;
|
|
58
|
-
if (
|
|
56
|
+
}, O = (e, t, a) => {
|
|
57
|
+
let n = a.getDay();
|
|
58
|
+
if (s(t.byWeekDay))
|
|
59
59
|
switch (t.byWeekDay.length) {
|
|
60
60
|
case 7:
|
|
61
61
|
n = "day";
|
|
@@ -69,41 +69,38 @@ const y = (e) => e.charAt(0).toUpperCase() + e.slice(1), l = ["first", "second",
|
|
|
69
69
|
case 1:
|
|
70
70
|
n = t.byWeekDay[0].day;
|
|
71
71
|
break;
|
|
72
|
-
default:
|
|
73
|
-
n = a.getDay();
|
|
74
|
-
break;
|
|
75
72
|
}
|
|
76
|
-
return n ===
|
|
77
|
-
}
|
|
78
|
-
const a = e.firstDay(),
|
|
73
|
+
return e.find((o) => n === o.value) || e[0];
|
|
74
|
+
}, S = (e, t) => {
|
|
75
|
+
const a = e.firstDay(), n = e.dateFormatNames({
|
|
79
76
|
type: "days",
|
|
80
77
|
nameType: "wide"
|
|
81
|
-
}).map((
|
|
82
|
-
text:
|
|
83
|
-
value:
|
|
84
|
-
})),
|
|
78
|
+
}).map((r, c) => ({
|
|
79
|
+
text: r,
|
|
80
|
+
value: c
|
|
81
|
+
})), o = n.slice(a).concat(n.slice(0, a));
|
|
85
82
|
return [
|
|
86
83
|
{ text: t("WeekdaysDay"), value: "day" },
|
|
87
84
|
{ text: t("WeekdaysWeekday"), value: "weekday" },
|
|
88
85
|
{ text: t("WeekdaysWeekendday"), value: "weekend" }
|
|
89
|
-
].concat(
|
|
86
|
+
].concat(o);
|
|
90
87
|
}, E = (e, t) => e.find((a) => a.value === (t.bySetPosition ? t.bySetPosition[0] : t.byWeekDay && t.byWeekDay[0] ? t.byWeekDay[0].offset : 1)) || e[0], M = (e) => {
|
|
91
88
|
const t = [1, 2, 3, 4, -1];
|
|
92
|
-
return
|
|
89
|
+
return u.map((a, n) => ({
|
|
93
90
|
text: e("OffsetPositions" + y(a)),
|
|
94
|
-
value: t[
|
|
91
|
+
value: t[n]
|
|
95
92
|
}));
|
|
96
|
-
}, P = (e) =>
|
|
97
|
-
if (
|
|
93
|
+
}, P = (e) => s(e.count) ? "count" : s(e.until) ? "until" : "never", T = (e) => {
|
|
94
|
+
if (s(e.byWeekDay))
|
|
98
95
|
return "weekday";
|
|
99
|
-
if (
|
|
96
|
+
if (s(e.byMonthDay))
|
|
100
97
|
return "monthday";
|
|
101
|
-
}, q = (e, t) => e.find((a) => (t.byMonth ? t.byMonth[0] : null) === a.value) || e[0], C = (e, t) =>
|
|
98
|
+
}, q = (e, t) => e.find((a) => (t.byMonth ? t.byMonth[0] : null) === a.value) || e[0], C = (e, t) => s(e.byMonthDay) && e.byMonthDay.length > 0 ? e.byMonthDay[0] : t.getDate();
|
|
102
99
|
export {
|
|
103
|
-
|
|
104
|
-
|
|
100
|
+
l as FREQUENCIES,
|
|
101
|
+
u as OFFSET_POSITIONS,
|
|
105
102
|
y as capitalize,
|
|
106
|
-
|
|
103
|
+
k as dayRule,
|
|
107
104
|
P as getEndRule,
|
|
108
105
|
S as getExtendedWeekDays,
|
|
109
106
|
W as getFrequencies,
|
|
@@ -119,6 +116,6 @@ export {
|
|
|
119
116
|
O as getWeekDay,
|
|
120
117
|
N as getWeekDays,
|
|
121
118
|
w as weekDayRuleFromString,
|
|
122
|
-
|
|
123
|
-
|
|
119
|
+
m as weekdayRule,
|
|
120
|
+
D as weekendRule
|
|
124
121
|
};
|
package/services/itemsService.js
CHANGED
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const A=require("../utils/main.js"),
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const A=require("../utils/main.js"),B=require("@progress/kendo-data-query"),r=require("@progress/kendo-date-math"),E=(i,{timezone:t},{groups:l,ranges:a})=>{const s=[];return B.orderBy(i,[{field:"start",dir:"asc"},{field:"end",dir:"desc"},{field:"isAllDay",dir:"desc"},{field:"title",dir:"asc"},{field:"uid",dir:"asc"}]).forEach(e=>{l.forEach(o=>{const n=l.length===1?F(e,o):o;m(e,n)&&a.forEach(d=>{var f;if(u(e,d)){const y={},D={},p=d.end<e.end,v=e.start<d.start,I=r.ZonedDate.fromLocalDate(e.start,t),h=r.ZonedDate.fromLocalDate(e.end,t),R={...e,refTo:D,itemRef:y,head:p,tail:v,order:null,zonedStart:I,zonedEnd:h,group:n,range:d,slots:[],isRecurring:!!e.recurrenceRule,isException:!e.recurrenceRule&&e.recurrenceId!==null&&e.recurrenceId!==void 0,isAllDay:!!e.isAllDay,readonly:(f=e.readonly)!=null?f:void 0};s.push(R)}})})}),s},F=(i,t)=>({index:0,resources:t.resources.filter(l=>q(i,l))}),q=(i,t)=>t.multiple?(i.dataItem[t.field]||[]).some(l=>t[t.valueField]===l):i.dataItem[t.field]===t[t.valueField],m=(i,t)=>!t.resources.some(l=>l.multiple?!i.dataItem[l.field].some(a=>l[l.valueField]===a):i.dataItem[l.field]!==l[l.valueField]),u=(i,t)=>A.intersects(t.start,t.end,i.start,i.end)&&(t.isAllDay===void 0||!!i.isAllDay==!!t.isAllDay);exports.inGroup=m;exports.inRange=u;exports.toItems=E;
|
|
@@ -5,50 +5,54 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
import { intersects as
|
|
9
|
-
import { orderBy as
|
|
10
|
-
import { ZonedDate as
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
return
|
|
14
|
-
|
|
8
|
+
import { intersects as u } from "../utils/main.mjs";
|
|
9
|
+
import { orderBy as A } from "@progress/kendo-data-query";
|
|
10
|
+
import { ZonedDate as m } from "@progress/kendo-date-math";
|
|
11
|
+
const S = (i, { timezone: t }, { groups: l, ranges: o }) => {
|
|
12
|
+
const s = [];
|
|
13
|
+
return A(
|
|
14
|
+
i,
|
|
15
15
|
[
|
|
16
16
|
{ field: "start", dir: "asc" },
|
|
17
17
|
{ field: "end", dir: "desc" },
|
|
18
|
-
{ field: "isAllDay", dir: "desc" }
|
|
18
|
+
{ field: "isAllDay", dir: "desc" },
|
|
19
|
+
{ field: "title", dir: "asc" },
|
|
20
|
+
{ field: "uid", dir: "asc" }
|
|
19
21
|
]
|
|
20
22
|
).forEach((d) => {
|
|
21
|
-
|
|
22
|
-
const n =
|
|
23
|
-
E(d, n) &&
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
l.forEach((e) => {
|
|
24
|
+
const n = l.length === 1 ? B(d, e) : e;
|
|
25
|
+
E(d, n) && o.forEach((a) => {
|
|
26
|
+
var f;
|
|
27
|
+
if (F(d, a)) {
|
|
28
|
+
const r = {}, p = {}, y = a.end < d.end, D = d.start < a.start, v = m.fromLocalDate(d.start, t), I = m.fromLocalDate(d.end, t), h = {
|
|
26
29
|
...d,
|
|
27
30
|
refTo: p,
|
|
28
|
-
itemRef:
|
|
29
|
-
head:
|
|
30
|
-
tail:
|
|
31
|
+
itemRef: r,
|
|
32
|
+
head: y,
|
|
33
|
+
tail: D,
|
|
31
34
|
order: null,
|
|
32
|
-
zonedStart:
|
|
33
|
-
zonedEnd:
|
|
35
|
+
zonedStart: v,
|
|
36
|
+
zonedEnd: I,
|
|
34
37
|
group: n,
|
|
35
|
-
range:
|
|
38
|
+
range: a,
|
|
36
39
|
slots: [],
|
|
37
40
|
isRecurring: !!d.recurrenceRule,
|
|
38
41
|
isException: !d.recurrenceRule && d.recurrenceId !== null && d.recurrenceId !== void 0,
|
|
39
|
-
isAllDay: !!d.isAllDay
|
|
42
|
+
isAllDay: !!d.isAllDay,
|
|
43
|
+
readonly: (f = d.readonly) != null ? f : void 0
|
|
40
44
|
};
|
|
41
|
-
|
|
45
|
+
s.push(h);
|
|
42
46
|
}
|
|
43
47
|
});
|
|
44
48
|
});
|
|
45
|
-
}),
|
|
46
|
-
},
|
|
49
|
+
}), s;
|
|
50
|
+
}, B = (i, t) => ({
|
|
47
51
|
index: 0,
|
|
48
|
-
resources: t.resources.filter((
|
|
49
|
-
}),
|
|
52
|
+
resources: t.resources.filter((l) => R(i, l))
|
|
53
|
+
}), R = (i, t) => t.multiple ? (i.dataItem[t.field] || []).some((l) => t[t.valueField] === l) : i.dataItem[t.field] === t[t.valueField], E = (i, t) => !t.resources.some((l) => l.multiple ? !i.dataItem[l.field].some((o) => l[l.valueField] === o) : i.dataItem[l.field] !== l[l.valueField]), F = (i, t) => u(t.start, t.end, i.start, i.end) && (t.isAllDay === void 0 || !!i.isAllDay == !!t.isAllDay);
|
|
50
54
|
export {
|
|
51
55
|
E as inGroup,
|
|
52
|
-
|
|
53
|
-
|
|
56
|
+
F as inRange,
|
|
57
|
+
S as toItems
|
|
54
58
|
};
|
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("@progress/kendo-vue-common"),S=require("@progress/kendo-recurrence"),d=require("@progress/kendo-date-math"),l=require("../utils/main.js"),
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("@progress/kendo-vue-common"),S=require("@progress/kendo-recurrence"),d=require("@progress/kendo-date-math"),l=require("../utils/main.js"),x=(e,{dateRange:r,fields:n,timezone:a})=>e.map(y(n)).reduce(E(r,a,n),[]).filter(c=>!l.isMaster(c.dataItem,n)),y=e=>r=>({uid:t.getter(e.id||"id")(r),start:t.getter(e.start||"start")(r),startTimezone:t.getter(e.startTimezone||"startTimezone")(r),originalStart:t.getter(e.originalStart||"originalStart")(r),end:t.getter(e.end||"end")(r),endTimezone:t.getter(e.endTimezone||"endTimezone")(r),isAllDay:t.getter(e.isAllDay||"isAllDay")(r),title:t.getter(e.title||"title")(r),description:t.getter(e.description||"description")(r),occurrenceId:t.getter("occurrenceId")(r),recurrenceRule:t.getter(e.recurrenceRule||"recurrenceRule")(r),recurrenceExceptions:t.getter(e.recurrenceExceptions||"recurrenceExceptions")(r),recurrenceId:t.getter(e.recurrenceId||"recurrenceId")(r),readonly:t.getter(e.readonly||"readonly")(r),dataItem:t.clone(r)}),E=(e,r,n)=>(a,o)=>[...a,...o.recurrenceRule&&(o.recurrenceId===null||o.recurrenceId===void 0)&&l.isMaster(o.dataItem,n)?[...m(o,{dateRange:e,timezone:r,fields:n})]:[o]],m=(e,{dateRange:r,timezone:n,fields:a})=>{const o=e.recurrenceRule,c=S.parseRule({recurrenceRule:o});if(!c)return[];c.start||(c.start=d.ZonedDate.fromLocalDate(e.start,n)),c.end||(c.end=d.ZonedDate.fromLocalDate(e.end,n));const g=e.recurrenceExceptions;g&&(c.exceptionDates=g.map(u=>d.ZonedDate.fromLocalDate(u,n)));const L=c.end.getTime()-c.start.getTime(),R=d.ZonedDate.fromLocalDate(new Date(r.zonedStart.toLocalDate().getTime()-L),n),T=r.zonedEnd,D=S.expand(c,{rangeStart:R,rangeEnd:T});return D.events.length?D.events.map((u,p)=>{const s=t.clone(e),i=t.clone(e.dataItem);return s.recurrenceId=s.uid,l.setField(i,a.recurrenceId,e.uid),s.originalStart=u.start.toLocalDate(),l.setField(i,a.originalStart,u.start.toLocalDate()),s.start=u.start.toLocalDate(),l.setField(i,a.start,u.start.toLocalDate()),s.end=u.end.toLocalDate(),l.setField(i,a.end,u.end.toLocalDate()),s.occurrenceId=String(p),l.setField(i,"occurrenceId",String(p)),s.dataItem=i,s}):[]};exports.toOccurrences=x;
|
|
@@ -5,44 +5,50 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
import { clone as p, getter as
|
|
9
|
-
import { parseRule as T, expand as
|
|
10
|
-
import { ZonedDate as
|
|
11
|
-
import { isMaster as
|
|
12
|
-
const
|
|
13
|
-
uid:
|
|
14
|
-
start:
|
|
15
|
-
startTimezone:
|
|
16
|
-
originalStart:
|
|
17
|
-
end:
|
|
18
|
-
endTimezone:
|
|
19
|
-
isAllDay:
|
|
20
|
-
title:
|
|
21
|
-
description:
|
|
22
|
-
occurrenceId:
|
|
23
|
-
recurrenceRule:
|
|
24
|
-
recurrenceExceptions:
|
|
25
|
-
recurrenceId:
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
...
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
8
|
+
import { clone as p, getter as t } from "@progress/kendo-vue-common";
|
|
9
|
+
import { parseRule as T, expand as E } from "@progress/kendo-recurrence";
|
|
10
|
+
import { ZonedDate as d } from "@progress/kendo-date-math";
|
|
11
|
+
import { isMaster as R, setField as i } from "../utils/main.mjs";
|
|
12
|
+
const F = (e, { dateRange: r, fields: n, timezone: a }) => e.map(y(n)).reduce(z(r, a, n), []).filter((c) => !R(c.dataItem, n)), y = (e) => (r) => ({
|
|
13
|
+
uid: t(e.id || "id")(r),
|
|
14
|
+
start: t(e.start || "start")(r),
|
|
15
|
+
startTimezone: t(e.startTimezone || "startTimezone")(r),
|
|
16
|
+
originalStart: t(e.originalStart || "originalStart")(r),
|
|
17
|
+
end: t(e.end || "end")(r),
|
|
18
|
+
endTimezone: t(e.endTimezone || "endTimezone")(r),
|
|
19
|
+
isAllDay: t(e.isAllDay || "isAllDay")(r),
|
|
20
|
+
title: t(e.title || "title")(r),
|
|
21
|
+
description: t(e.description || "description")(r),
|
|
22
|
+
occurrenceId: t("occurrenceId")(r),
|
|
23
|
+
recurrenceRule: t(e.recurrenceRule || "recurrenceRule")(r),
|
|
24
|
+
recurrenceExceptions: t(e.recurrenceExceptions || "recurrenceExceptions")(r),
|
|
25
|
+
recurrenceId: t(e.recurrenceId || "recurrenceId")(r),
|
|
26
|
+
readonly: t(e.readonly || "readonly")(r),
|
|
27
|
+
dataItem: p(r)
|
|
28
|
+
}), z = (e, r, n) => (a, o) => [
|
|
29
|
+
...a,
|
|
30
|
+
...o.recurrenceRule && (o.recurrenceId === null || o.recurrenceId === void 0) && R(o.dataItem, n) ? [...I(o, { dateRange: e, timezone: r, fields: n })] : [o]
|
|
31
|
+
], I = (e, { dateRange: r, timezone: n, fields: a }) => {
|
|
32
|
+
const o = e.recurrenceRule, c = T({ recurrenceRule: o });
|
|
33
|
+
if (!c)
|
|
34
|
+
return [];
|
|
35
|
+
c.start || (c.start = d.fromLocalDate(e.start, n)), c.end || (c.end = d.fromLocalDate(e.end, n));
|
|
36
|
+
const D = e.recurrenceExceptions;
|
|
37
|
+
D && (c.exceptionDates = D.map(
|
|
38
|
+
(u) => d.fromLocalDate(u, n)
|
|
36
39
|
));
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
40
|
+
const S = c.end.getTime() - c.start.getTime(), m = d.fromLocalDate(
|
|
41
|
+
new Date(r.zonedStart.toLocalDate().getTime() - S),
|
|
42
|
+
n
|
|
43
|
+
), x = r.zonedEnd, g = E(c, {
|
|
44
|
+
rangeStart: m,
|
|
45
|
+
rangeEnd: x
|
|
40
46
|
});
|
|
41
|
-
return g.events.length ? g.events.map((u,
|
|
42
|
-
const s = p(
|
|
43
|
-
return s.recurrenceId = s.uid,
|
|
47
|
+
return g.events.length ? g.events.map((u, L) => {
|
|
48
|
+
const s = p(e), l = p(e.dataItem);
|
|
49
|
+
return s.recurrenceId = s.uid, i(l, a.recurrenceId, e.uid), s.originalStart = u.start.toLocalDate(), i(l, a.originalStart, u.start.toLocalDate()), s.start = u.start.toLocalDate(), i(l, a.start, u.start.toLocalDate()), s.end = u.end.toLocalDate(), i(l, a.end, u.end.toLocalDate()), s.occurrenceId = String(L), i(l, "occurrenceId", String(L)), s.dataItem = l, s;
|
|
44
50
|
}) : [];
|
|
45
51
|
};
|
|
46
52
|
export {
|
|
47
|
-
|
|
53
|
+
F as toOccurrences
|
|
48
54
|
};
|
|
@@ -47,6 +47,7 @@ export interface SchedulerEditSlotHandle {
|
|
|
47
47
|
* @hidden
|
|
48
48
|
*/
|
|
49
49
|
declare const SchedulerEditSlot: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
50
|
+
role: PropType<string>;
|
|
50
51
|
tabIndex: {
|
|
51
52
|
type: PropType<number>;
|
|
52
53
|
default: any;
|
|
@@ -101,6 +102,7 @@ declare const SchedulerEditSlot: import('vue').DefineComponent<import('vue').Ext
|
|
|
101
102
|
handleFormItemChange(value: DataItem | null, event?: any): void;
|
|
102
103
|
setFormItem(dataItem: DataItem | null, event: any): void;
|
|
103
104
|
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
105
|
+
role: PropType<string>;
|
|
104
106
|
tabIndex: {
|
|
105
107
|
type: PropType<number>;
|
|
106
108
|
default: any;
|
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue"),i=require("@progress/kendo-vue-common"),T=require("../constants/main.js"),s=require("../utils/main.js"),v=require("./SchedulerViewSlot.js"),w=require("../hooks/use-slots-selection.js")
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue"),i=require("@progress/kendo-vue-common"),T=require("../constants/main.js"),s=require("../utils/main.js"),v=require("./SchedulerViewSlot.js"),w=require("../hooks/use-slots-selection.js"),A=require("../hooks/use-items-selection.js"),$=require("../hooks/use-items-focus.js"),r=require("../hooks/use-slots-focus.js"),N=require("../hooks/useEditable.js"),F=require("../hooks/useSlotExpand.js");function j(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!n.isVNode(e)}const _=n.defineComponent({name:"KendoSchedulerEditSlot",inheritAttrs:!1,props:{role:String,tabIndex:{type:Number,default:void 0},className:String,form:Object,formItem:Object,refTo:[Function,Object],items:Array,row:Number,group:Object,range:Object,isWorkDay:{type:Boolean,default:!0},isWorkHour:{type:Boolean,default:!0},selected:Boolean,col:Number,index:Number,start:Date,end:Date,zonedStart:Object,zonedEnd:Object,isAllDay:Boolean,expandable:[Boolean,Object],slotRender:[String,Function,Object],viewSlot:[String,Function,Object],navDay:Boolean,editable:[Object,Boolean],itemsPerSlot:Number,onDataaction:Function},created(){this.slot=null,this.editableSlot=null},mounted(){const e=this;this.$nextTick(function(){F.useSlotExpand(e,e.ks.scheduler.$el,e.$props.expandable)})},updated(){const e=this;this.$nextTick(function(){F.useSlotExpand(e,e.ks.scheduler.$el,e.$props.expandable)})},provide(){return{ksEditFormSubmit:this.handleEditFormSubmit,ksEditFormCancel:this.handleEditFormCancel,ksEditFormClose:this.handleEditFormClose}},inject:{bv:{default:null},ks:{default:null},dispatchSelectedItems:{default:null},dispatchFocusedItems:{default:null},dispatchFocusedSlots:{default:null},dispatchSelectedSlots:{default:null},ksSlots:{default:{}}},data(){return{currentFormItem:null}},computed:{cSlot(){return this.ksSlots.cSlots?this.ksSlots.cSlots[this.index]:{}},currentTabIndex(){const e=this.bv.slots.length&&s.compareSlots(this.bv.slots[0].cSlot,this.cSlot);return this.$props.tabIndex!==void 0?this.$props.tabIndex===null?void 0:this.$props.tabIndex:this.bv.selectedSlots.length===0&&e&&this.cSlot.items.length===0?0:void 0},computedEditable(){return N.useEditable(this.$props.editable)},compFormItem(){return this.formItem!==void 0?this.formItem:this.currentFormItem}},render(){const e=i.getDefaultSlots(this),{role:t,viewSlot:o,form:l,formItem:q,items:a,row:I,group:y,range:g,isWorkDay:d,isWorkHour:c,col:k,index:u,start:D,end:C,zonedStart:h,zonedEnd:m,navDay:S,itemsPerSlot:p,className:O}=this.$props,b=this.bv.selectedSlots.some(x=>s.compareSlots(x.cSlot,this.cSlot));let f;const E=n.createVNode(v.SchedulerViewSlot,{role:t,className:O,slotRender:this.$props.slotRender,isAllDay:this.isAllDay,expandable:this.expandable,editable:this.editable,items:a,row:I,group:y,range:g,isWorkDay:d,isWorkHour:c,col:k,index:u,start:D,end:C,zonedStart:h,zonedEnd:m,selected:b,navDay:S,itemsPerSlot:p,tabIndex:this.currentTabIndex,formItem:this.compFormItem,onFocus:this.handleFocus,onDoubleclick:this.handleDoubleClick,onKeydown:this.handleKeyDown,onShowmoreitems:this.handleShowMoreItemsClick},j(e)?e:{default:()=>[e]});return f=i.getTemplate.call(this,{h:n.h,template:this.$props.slotRender,defaultRendering:E,defaultSlots:e,additionalProps:{...this.cSlot,isAllDay:this.cSlot.isAllDay,expandable:this.expandable,editable:this.editable,items:a,row:this.cSlot.row,group:this.cSlot.group,range:this.cSlot.range,isWorkDay:d,isWorkHour:c,col:this.cSlot.col,index:u,start:this.cSlot.start,end:this.cSlot.end,zonedStart:h,zonedEnd:m,selected:b,navDay:S,itemsPerSlot:p,tabIndex:this.currentTabIndex},additionalListeners:{focus:this.handleFocus,doubleclick:this.handleDoubleClick,keydown:this.handleKeyDown,showmoreitems:this.handleShowMoreItemsClick}}),f},methods:{handleShowMoreItemsClick(e){this.$emit("showmoreitems",e)},createDataItemFromSlot(){const e={};if(s.setField(e,this.ks.fields.start,new Date(this.cSlot.start.getTime())),s.setField(e,this.ks.fields.end,new Date(this.cSlot.end.getTime())),s.setField(e,this.ks.fields.isAllDay,this.cSlot.isAllDay),this.cSlot.group.resources.length)for(let t=0;t<this.cSlot.group.resources.length;t++){const o=this.cSlot.group.resources[t];if(s.isGroupped(this.cSlot.group.resources)){const l=s.getField(this.cSlot.group.resources[t],o.valueField);s.setField(e,o.field,o.multiple?[l]:l)}else s.setField(e,o.field,o.multiple?[]:void 0)}return e},handleFocus(e){this.computedEditable.select&&this.dispatchSelectedSlots({type:w.SLOTS_SELECT_ACTION.select,slot:this},e.event),this.$emit("focus",e)},handleDoubleClick(e){if(this.computedEditable.add){const t=this.createDataItemFromSlot();this.setFormItem(t,e)}this.$emit("doubleclick",e)},handleKeyDown(e){let t,o,l;switch(e.event.keyCode){case i.Keys.left:if(!this.bv.slots)return;e.event.preventDefault(),this.dispatchFocusedSlots({type:r.SLOTS_FOCUS_ACTION.left,slot:this},e.event);break;case i.Keys.right:if(!this.bv.slots)return;e.event.preventDefault(),this.dispatchFocusedSlots({type:r.SLOTS_FOCUS_ACTION.right,slot:this},e.event);break;case i.Keys.up:if(!this.bv.slots)return;e.event.preventDefault(),this.dispatchFocusedSlots({type:r.SLOTS_FOCUS_ACTION.up,slot:this},e.event);break;case i.Keys.down:if(!this.bv.slots)return;e.event.preventDefault(),this.dispatchFocusedSlots({type:r.SLOTS_FOCUS_ACTION.down,slot:this},e.event);break;case i.Keys.enter:if(!this.bv.slots||!this.computedEditable.add)return;l=this.createDataItemFromSlot(),this.setFormItem(l);break;case i.Keys.tab:o=s.findFirstItem(e.target),t=o?s.findCurrentItem(o,this.bv.items,!1):s.getSortedSlots(this.bv.items,this.ignoreIsAllDay)[0],this.dispatchFocusedItems({type:$.ITEMS_FOCUS_ACTION.current,item:t},e.event),this.dispatchSelectedItems({type:A.ITEMS_SELECT_ACTION.select,item:t},e);break}t&&e.event.preventDefault()},handleEditFormSubmit(e){this.$emit("dataaction",{type:T.DATA_ACTION.create,series:!1,dataItem:e.value},e),this.setFormItem(null,e.event)},handleEditFormCancel(e){this.setFormItem(null,e.event)},handleEditFormClose(e){this.setFormItem(null,e)},handleFormItemChange(e,t){this.setFormItem&&this.setFormItem(e,t)},setFormItem(e,t){this.currentFormItem=e,this.$emit("formitemchange",t)}}});exports.SchedulerEditSlot=_;
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
import { defineComponent as C, createVNode as O, h as
|
|
8
|
+
import { defineComponent as C, createVNode as O, h as T, isVNode as $ } from "vue";
|
|
9
9
|
import { Keys as i, getDefaultSlots as A, getTemplate as j } from "@progress/kendo-vue-common";
|
|
10
10
|
import { DATA_ACTION as N } from "../constants/main.mjs";
|
|
11
|
-
import { findFirstItem as
|
|
11
|
+
import { findFirstItem as _, findCurrentItem as z, getSortedSlots as R, setField as l, isGroupped as W, getField as B, compareSlots as b } from "../utils/main.mjs";
|
|
12
12
|
import { SchedulerViewSlot as K } from "./SchedulerViewSlot.mjs";
|
|
13
13
|
import { SLOTS_SELECT_ACTION as L } from "../hooks/use-slots-selection.mjs";
|
|
14
14
|
import { ITEMS_SELECT_ACTION as M } from "../hooks/use-items-selection.mjs";
|
|
@@ -17,12 +17,13 @@ import { SLOTS_FOCUS_ACTION as r } from "../hooks/use-slots-focus.mjs";
|
|
|
17
17
|
import { useEditable as H } from "../hooks/useEditable.mjs";
|
|
18
18
|
import { useSlotExpand as I } from "../hooks/useSlotExpand.mjs";
|
|
19
19
|
function V(t) {
|
|
20
|
-
return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" &&
|
|
20
|
+
return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !$(t);
|
|
21
21
|
}
|
|
22
|
-
const
|
|
22
|
+
const it = /* @__PURE__ */ C({
|
|
23
23
|
name: "KendoSchedulerEditSlot",
|
|
24
24
|
inheritAttrs: !1,
|
|
25
25
|
props: {
|
|
26
|
+
role: String,
|
|
26
27
|
tabIndex: {
|
|
27
28
|
type: Number,
|
|
28
29
|
default: void 0
|
|
@@ -63,20 +64,16 @@ const ot = /* @__PURE__ */ C({
|
|
|
63
64
|
this.slot = null, this.editableSlot = null;
|
|
64
65
|
},
|
|
65
66
|
mounted() {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
});
|
|
71
|
-
}
|
|
67
|
+
const t = this;
|
|
68
|
+
this.$nextTick(function() {
|
|
69
|
+
I(t, t.ks.scheduler.$el, t.$props.expandable);
|
|
70
|
+
});
|
|
72
71
|
},
|
|
73
72
|
updated() {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
});
|
|
79
|
-
}
|
|
73
|
+
const t = this;
|
|
74
|
+
this.$nextTick(function() {
|
|
75
|
+
I(t, t.ks.scheduler.$el, t.$props.expandable);
|
|
76
|
+
});
|
|
80
77
|
},
|
|
81
78
|
provide() {
|
|
82
79
|
return {
|
|
@@ -130,16 +127,17 @@ const ot = /* @__PURE__ */ C({
|
|
|
130
127
|
},
|
|
131
128
|
render() {
|
|
132
129
|
const t = A(this), {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
130
|
+
role: e,
|
|
131
|
+
viewSlot: s,
|
|
132
|
+
form: o,
|
|
133
|
+
formItem: U,
|
|
136
134
|
items: n,
|
|
137
135
|
row: F,
|
|
138
|
-
group:
|
|
139
|
-
range:
|
|
136
|
+
group: g,
|
|
137
|
+
range: k,
|
|
140
138
|
isWorkDay: a,
|
|
141
139
|
isWorkHour: d,
|
|
142
|
-
col:
|
|
140
|
+
col: D,
|
|
143
141
|
index: c,
|
|
144
142
|
start: y,
|
|
145
143
|
end: x,
|
|
@@ -151,6 +149,7 @@ const ot = /* @__PURE__ */ C({
|
|
|
151
149
|
} = this.$props, S = this.bv.selectedSlots.some((w) => b(w.cSlot, this.cSlot));
|
|
152
150
|
let f;
|
|
153
151
|
const v = O(K, {
|
|
152
|
+
role: e,
|
|
154
153
|
className: E,
|
|
155
154
|
slotRender: this.$props.slotRender,
|
|
156
155
|
isAllDay: this.isAllDay,
|
|
@@ -158,11 +157,11 @@ const ot = /* @__PURE__ */ C({
|
|
|
158
157
|
editable: this.editable,
|
|
159
158
|
items: n,
|
|
160
159
|
row: F,
|
|
161
|
-
group:
|
|
162
|
-
range:
|
|
160
|
+
group: g,
|
|
161
|
+
range: k,
|
|
163
162
|
isWorkDay: a,
|
|
164
163
|
isWorkHour: d,
|
|
165
|
-
col:
|
|
164
|
+
col: D,
|
|
166
165
|
index: c,
|
|
167
166
|
start: y,
|
|
168
167
|
end: x,
|
|
@@ -181,7 +180,7 @@ const ot = /* @__PURE__ */ C({
|
|
|
181
180
|
default: () => [t]
|
|
182
181
|
});
|
|
183
182
|
return f = j.call(this, {
|
|
184
|
-
h:
|
|
183
|
+
h: T,
|
|
185
184
|
template: this.$props.slotRender,
|
|
186
185
|
defaultRendering: v,
|
|
187
186
|
defaultSlots: t,
|
|
@@ -286,7 +285,7 @@ const ot = /* @__PURE__ */ C({
|
|
|
286
285
|
o = this.createDataItemFromSlot(), this.setFormItem(o);
|
|
287
286
|
break;
|
|
288
287
|
case i.tab:
|
|
289
|
-
s =
|
|
288
|
+
s = _(t.target), e = s ? z(s, this.bv.items, !1) : R(this.bv.items, this.ignoreIsAllDay)[0], this.dispatchFocusedItems({
|
|
290
289
|
type: P.current,
|
|
291
290
|
item: e
|
|
292
291
|
}, t.event), this.dispatchSelectedItems({
|
|
@@ -319,5 +318,5 @@ const ot = /* @__PURE__ */ C({
|
|
|
319
318
|
}
|
|
320
319
|
});
|
|
321
320
|
export {
|
|
322
|
-
|
|
321
|
+
it as SchedulerEditSlot
|
|
323
322
|
};
|
package/slots/SchedulerSlot.d.ts
CHANGED
|
@@ -11,6 +11,8 @@ import { PropType } from 'vue';
|
|
|
11
11
|
* Represents the props of the Kendo UI for Vue [SchedulerSlot]({% slug api_scheduler_schedulerslotprops %}) component.
|
|
12
12
|
*/
|
|
13
13
|
export interface SchedulerSlotProps extends Slot {
|
|
14
|
+
/** @hidden */
|
|
15
|
+
role?: string;
|
|
14
16
|
/** @hidden */
|
|
15
17
|
refTo: any;
|
|
16
18
|
/** @hidden */
|
|
@@ -116,6 +118,7 @@ export interface SchedulerSlotHandle {
|
|
|
116
118
|
*/
|
|
117
119
|
declare const SchedulerSlot: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
118
120
|
refTo: PropType<any>;
|
|
121
|
+
role: PropType<string>;
|
|
119
122
|
items: PropType<import('../models/Item').Item[]>;
|
|
120
123
|
row: PropType<number>;
|
|
121
124
|
group: PropType<import('../models/Group').Group>;
|
|
@@ -193,6 +196,7 @@ declare const SchedulerSlot: import('vue').DefineComponent<import('vue').Extract
|
|
|
193
196
|
formsubmit: any;
|
|
194
197
|
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
195
198
|
refTo: PropType<any>;
|
|
199
|
+
role: PropType<string>;
|
|
196
200
|
items: PropType<import('../models/Item').Item[]>;
|
|
197
201
|
row: PropType<number>;
|
|
198
202
|
group: PropType<import('../models/Group').Group>;
|
package/slots/SchedulerSlot.js
CHANGED
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("vue"),o=require("@progress/kendo-vue-common"),l=require("../utils/main.js"),i=require("@progress/kendo-vue-intl"),n=require("../components/ShowMoreItemsButton.js"),r=require("../components/SchedulerForm.js"),a={skeleton:"dd"},h=s.defineComponent({name:"KendoSchedulerSlot",inheritAttrs:!1,emits:{focus:null,blur:null,click:null,showmoreitems:null,mouseover:null,mouseout:null,mouseenter:null,mouseleave:null,doubleclick:null,keydown:null,keypress:null,keyup:null,cancel:null,close:null,formsubmit:null},props:{refTo:[Function,Object],items:Array,row:Number,group:Object,range:Object,className:String,isWorkDay:{type:Boolean,default:!0},isWorkHour:{type:Boolean,default:!0},selected:Boolean,tabIndex:{type:Number,default:void 0},col:Number,index:Number,start:Date,end:Date,zonedStart:Object,zonedEnd:Object,isAllDay:Boolean,navDay:Boolean,editable:[Object,Boolean],itemsPerSlot:Number,formItem:Object,slotStyle:Object,viewSlot:Object},computed:{cSlot(){const e=this.ksSlots.cSlots;return e?e[this.index]?e[this.index]:e.length?e[0]:{}:{}},currentTabIndex(){return this.$props.tabIndex!==void 0?this.$props.tabIndex===null?void 0:this.$props.tabIndex:this.$props.selected?0:-1},slotClass(){return{"k-scheduler-cell k-slot-cell":!0,"k-nonwork-hour":!this.$props.isWorkHour||!this.$props.isWorkDay,"k-selected":this.$props.selected,[this.$props.className]:this.$props.className}},slotLabel(){return`${l.formatEventTime(this.intl,this.$props.zonedStart,this.$props.zonedEnd,this.$props.isAllDay||!1)}`}},inject:{kendoIntlService:{default:null},setSlots:{default:null},slotClick:{default:null},slotDoubleClick:{default:null},ksEditFormSubmit:{default:null},ksEditFormCancel:{default:null},ksEditFormClose:{default:null},ksSlots:{default:{}}},data(){return{hasMounted:!1}},mounted(){this.hasMounted=!0,this.setSlots({type:l.COLLECTION_ACTION.add,item:this})},unmounted(){this.setSlots({type:l.COLLECTION_ACTION.remove,item:this})},render(){this.intl=i.provideIntlService(this);const e=o.getDefaultSlots(this),t=Object.assign({userSelect:"none"},this.$props.slotStyle,this.$attrs.style);return s.createVNode("div",{id:this.$props.id,style:t,class:this.slotClass,tabindex:this.currentTabIndex,onFocus:this.handleFocus,onBlur:this.handleBlur,onClick:this.handleClick,onMouseenter:this.handleMouseEnter,onMouseleave:this.handleMouseLeave,onMouseover:this.handleMouseOver,onMouseout:this.handleMouseOut,onDblclick:this.handleDoubleClick,onKeydown:this.handleKeyDown,onKeypress:this.handleKeyPress,onKeyup:this.handleKeyUp,"data-slot":!0,"data-slot-allday":this.cSlot.isAllDay,"data-slot-start":this.cSlot.start.getTime(),"data-slot-end":this.cSlot.end.getTime(),"data-slot-group":this.cSlot.group.index,"data-slot-range":this.cSlot.range.index,"data-slot-index":this.cSlot.index},[this.navDay&&s.createVNode("span",{class:"k-link k-nav-day"},[this.intl.formatDate(new Date(this.cSlot.end.getTime()-(this.cSlot.end.getTime()-this.cSlot.start.getTime())/2),a)]),this.
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("vue"),o=require("@progress/kendo-vue-common"),l=require("../utils/main.js"),i=require("@progress/kendo-vue-intl"),n=require("../components/ShowMoreItemsButton.js"),r=require("../components/SchedulerForm.js"),a={skeleton:"dd"},h=s.defineComponent({name:"KendoSchedulerSlot",inheritAttrs:!1,emits:{focus:null,blur:null,click:null,showmoreitems:null,mouseover:null,mouseout:null,mouseenter:null,mouseleave:null,doubleclick:null,keydown:null,keypress:null,keyup:null,cancel:null,close:null,formsubmit:null},props:{refTo:[Function,Object],role:String,items:Array,row:Number,group:Object,range:Object,className:String,isWorkDay:{type:Boolean,default:!0},isWorkHour:{type:Boolean,default:!0},selected:Boolean,tabIndex:{type:Number,default:void 0},col:Number,index:Number,start:Date,end:Date,zonedStart:Object,zonedEnd:Object,isAllDay:Boolean,navDay:Boolean,editable:[Object,Boolean],itemsPerSlot:Number,formItem:Object,slotStyle:Object,viewSlot:Object},computed:{cSlot(){const e=this.ksSlots.cSlots;return e?e[this.index]?e[this.index]:e.length?e[0]:{}:{}},currentTabIndex(){return this.$props.tabIndex!==void 0?this.$props.tabIndex===null?void 0:this.$props.tabIndex:this.$props.selected?0:-1},slotClass(){return{"k-scheduler-cell k-slot-cell":!0,"k-nonwork-hour":!this.$props.isWorkHour||!this.$props.isWorkDay,"k-selected":this.$props.selected,[this.$props.className]:this.$props.className}},slotLabel(){return`${l.formatEventTime(this.intl,this.$props.zonedStart,this.$props.zonedEnd,this.$props.isAllDay||!1)}`}},inject:{ks:{default:null},kendoIntlService:{default:null},setSlots:{default:null},slotClick:{default:null},slotDoubleClick:{default:null},ksEditFormSubmit:{default:null},ksEditFormCancel:{default:null},ksEditFormClose:{default:null},ksSlots:{default:{}}},data(){return{hasMounted:!1}},mounted(){this.hasMounted=!0,this.setSlots({type:l.COLLECTION_ACTION.add,item:this})},unmounted(){this.setSlots({type:l.COLLECTION_ACTION.remove,item:this})},render(){this.intl=i.provideIntlService(this);const e=o.getDefaultSlots(this),t=Object.assign({userSelect:"none"},this.$props.slotStyle,this.$attrs.style);return s.createVNode("div",{id:this.$props.id,style:t,class:this.slotClass,tabindex:this.currentTabIndex,role:this.$props.role,onFocus:this.handleFocus,onBlur:this.handleBlur,onClick:this.handleClick,onMouseenter:this.handleMouseEnter,onMouseleave:this.handleMouseLeave,onMouseover:this.handleMouseOver,onMouseout:this.handleMouseOut,onDblclick:this.handleDoubleClick,onKeydown:this.handleKeyDown,onKeypress:this.handleKeyPress,onKeyup:this.handleKeyUp,"data-slot":!0,"data-slot-allday":this.cSlot.isAllDay,"data-slot-start":this.cSlot.start.getTime(),"data-slot-end":this.cSlot.end.getTime(),"data-slot-group":this.cSlot.group.index,"data-slot-range":this.cSlot.range.index,"data-slot-index":this.cSlot.index},[this.navDay&&s.createVNode("span",{class:"k-link k-nav-day"},[this.intl.formatDate(new Date(this.cSlot.end.getTime()-(this.cSlot.end.getTime()-this.cSlot.start.getTime())/2),a)]),this.itemsPerSlot<this.cSlot.items.length&&s.createVNode(n.ShowMoreItemsButton,{currentSlot:this.cSlot,hiddenCount:this.cSlot.items.length-this.itemsPerSlot,onClick:this.handleShowMoreItemsClick},null),e,this.formItem&&s.createVNode(r.SchedulerForm,{dataItem:this.formItem,onSubmit:this.handleFormSubmit,onClose:this.handleFormClose,onCancel:this.handleFormCancel},null)])},methods:{handleShowMoreItemsClick(e){this.$emit("showmoreitems",e)},handleFocus(e){this.$emit("focus",{event:e,target:{props:{...this.cSlot},element:this.$el}})},handleBlur(e){this.$emit("blur",{event:e,target:{props:{...this.cSlot},element:this.$el}})},handleClick(e){const t={event:e,target:{props:{...this.cSlot},element:this.$el}};this.$emit("click",t),this.slotClick(t)},handleMouseOver(e){this.$emit("mouseover",{event:e,target:{props:{...this.cSlot},element:this.$el}})},handleMouseOut(e){this.$emit("mouseout",{event:e,target:{props:{...this.cSlot},element:this.$el}})},handleMouseEnter(e){this.$emit("mouseenter",{event:e,target:{props:{...this.cSlot},element:this.$el}})},handleMouseLeave(e){this.$emit("mouseleave",{event:e,target:{props:{...this.cSlot},element:this.$el}})},handleDoubleClick(e){if(e.target.closest(".k-more-events"))return;const t={event:e,target:{props:{...this.cSlot},element:this.$el}};this.$emit("doubleclick",t),this.slotDoubleClick(t)},handleKeyDown(e){this.$emit("keydown",{event:e,target:{props:{...this.cSlot},element:this.$el}})},handleKeyPress(e){this.$emit("keypress",{event:e,target:{props:{...this.cSlot},element:this.$el}})},handleKeyUp(e){this.$emit("keyup",{event:e,target:{props:{...this.cSlot},element:this.$el}})},handleFormClose(e){this.ksEditFormClose(e),this.$emit("close",e)},handleFormSubmit(e){this.ksEditFormSubmit(e),this.$emit("formsubmit",e)},handleFormCancel(e){this.ksEditFormCancel(e),this.$emit("cancel",e)}}});exports.SchedulerSlot=h;
|
package/slots/SchedulerSlot.mjs
CHANGED
|
@@ -35,6 +35,7 @@ const u = {
|
|
|
35
35
|
},
|
|
36
36
|
props: {
|
|
37
37
|
refTo: [Function, Object],
|
|
38
|
+
role: String,
|
|
38
39
|
items: Array,
|
|
39
40
|
row: Number,
|
|
40
41
|
group: Object,
|
|
@@ -88,6 +89,9 @@ const u = {
|
|
|
88
89
|
}
|
|
89
90
|
},
|
|
90
91
|
inject: {
|
|
92
|
+
ks: {
|
|
93
|
+
default: null
|
|
94
|
+
},
|
|
91
95
|
kendoIntlService: {
|
|
92
96
|
default: null
|
|
93
97
|
},
|
|
@@ -140,6 +144,7 @@ const u = {
|
|
|
140
144
|
style: t,
|
|
141
145
|
class: this.slotClass,
|
|
142
146
|
tabindex: this.currentTabIndex,
|
|
147
|
+
role: this.$props.role,
|
|
143
148
|
onFocus: this.handleFocus,
|
|
144
149
|
onBlur: this.handleBlur,
|
|
145
150
|
onClick: this.handleClick,
|
|
@@ -160,7 +165,9 @@ const u = {
|
|
|
160
165
|
"data-slot-index": this.cSlot.index
|
|
161
166
|
}, [this.navDay && s("span", {
|
|
162
167
|
class: "k-link k-nav-day"
|
|
163
|
-
}, [this.intl.formatDate(new Date(this.cSlot.end.getTime() - (this.cSlot.end.getTime() - this.cSlot.start.getTime()) / 2), u)]), this.
|
|
168
|
+
}, [this.intl.formatDate(new Date(this.cSlot.end.getTime() - (this.cSlot.end.getTime() - this.cSlot.start.getTime()) / 2), u)]), this.itemsPerSlot < this.cSlot.items.length && s(a, {
|
|
169
|
+
currentSlot: this.cSlot,
|
|
170
|
+
hiddenCount: this.cSlot.items.length - this.itemsPerSlot,
|
|
164
171
|
onClick: this.handleShowMoreItemsClick
|
|
165
172
|
}, null), e, this.formItem && s(h, {
|
|
166
173
|
dataItem: this.formItem,
|
|
@@ -252,6 +259,8 @@ const u = {
|
|
|
252
259
|
});
|
|
253
260
|
},
|
|
254
261
|
handleDoubleClick(e) {
|
|
262
|
+
if (e.target.closest(".k-more-events"))
|
|
263
|
+
return;
|
|
255
264
|
const t = {
|
|
256
265
|
event: e,
|
|
257
266
|
target: {
|