@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.
Files changed (160) hide show
  1. package/Scheduler.d.ts +67 -4
  2. package/Scheduler.js +1 -1
  3. package/Scheduler.mjs +267 -115
  4. package/components/BaseView.js +1 -1
  5. package/components/BaseView.mjs +10 -4
  6. package/components/CurrentTimeMarker.js +1 -1
  7. package/components/CurrentTimeMarker.mjs +9 -9
  8. package/components/CurrentTimeMarkerArrow.js +1 -1
  9. package/components/CurrentTimeMarkerArrow.mjs +3 -3
  10. package/components/DateHeaderCell.js +1 -1
  11. package/components/DateHeaderCell.mjs +22 -13
  12. package/components/MoreEventsPopover.d.ts +77 -0
  13. package/components/MoreEventsPopover.js +8 -0
  14. package/components/MoreEventsPopover.mjs +125 -0
  15. package/components/SchedulerActionButtons.d.ts +6 -0
  16. package/components/SchedulerActionButtons.js +1 -1
  17. package/components/SchedulerActionButtons.mjs +25 -19
  18. package/components/SchedulerForm.d.ts +7 -0
  19. package/components/SchedulerForm.js +1 -1
  20. package/components/SchedulerForm.mjs +69 -61
  21. package/components/SchedulerOccurrenceDialog.d.ts +4 -4
  22. package/components/SchedulerOccurrenceDialog.js +1 -1
  23. package/components/SchedulerOccurrenceDialog.mjs +35 -26
  24. package/components/SchedulerRemoveDialog.d.ts +6 -0
  25. package/components/SchedulerRemoveDialog.js +1 -1
  26. package/components/SchedulerRemoveDialog.mjs +24 -23
  27. package/components/ShowMoreItemsButton.d.ts +10 -1
  28. package/components/ShowMoreItemsButton.js +1 -1
  29. package/components/ShowMoreItemsButton.mjs +40 -18
  30. package/components/footer/bussiness-hours/BusinessHours.js +1 -1
  31. package/components/footer/bussiness-hours/BusinessHours.mjs +16 -21
  32. package/components/header/SchedulerAdaptiveHeader.js +1 -1
  33. package/components/header/SchedulerAdaptiveHeader.mjs +28 -26
  34. package/components/header/SchedulerHeader.d.ts +5 -1
  35. package/components/header/SchedulerHeader.js +1 -1
  36. package/components/header/SchedulerHeader.mjs +11 -7
  37. package/components/header/navigation/NavigationDatePicker.d.ts +22 -3
  38. package/components/header/navigation/NavigationDatePicker.js +1 -1
  39. package/components/header/navigation/NavigationDatePicker.mjs +27 -30
  40. package/components/header/view-selector/ViewSelectorList.d.ts +26 -6
  41. package/components/header/view-selector/ViewSelectorList.js +1 -1
  42. package/components/header/view-selector/ViewSelectorList.mjs +55 -49
  43. package/dist/cdn/js/kendo-vue-scheduler.js +1 -1
  44. package/editors/RemoveRecurrenceConfirmDialog.d.ts +29 -0
  45. package/editors/RemoveRecurrenceConfirmDialog.js +8 -0
  46. package/editors/RemoveRecurrenceConfirmDialog.mjs +65 -0
  47. package/editors/ResourceEditor.d.ts +3 -0
  48. package/editors/ResourceEditor.js +1 -1
  49. package/editors/ResourceEditor.mjs +12 -10
  50. package/editors/SchedulerFormEditor.d.ts +1067 -2953
  51. package/editors/SchedulerFormEditor.js +1 -1
  52. package/editors/SchedulerFormEditor.mjs +297 -365
  53. package/editors/SchedulerRecurrenceDialog.d.ts +143 -0
  54. package/editors/SchedulerRecurrenceDialog.js +8 -0
  55. package/editors/SchedulerRecurrenceDialog.mjs +575 -0
  56. package/editors/TimezoneDropDownList.d.ts +46 -0
  57. package/editors/TimezoneDropDownList.js +8 -0
  58. package/editors/TimezoneDropDownList.mjs +63 -0
  59. package/editors/ZonedSplitDateTime.d.ts +65 -0
  60. package/editors/ZonedSplitDateTime.js +8 -0
  61. package/editors/ZonedSplitDateTime.mjs +100 -0
  62. package/hooks/main.d.ts +1 -0
  63. package/hooks/useGroupRowHeightSync.d.ts +10 -0
  64. package/hooks/useRecurrenceSummary.d.ts +10 -0
  65. package/hooks/useRecurrenceSummary.js +8 -0
  66. package/hooks/useRecurrenceSummary.mjs +74 -0
  67. package/hooks/useRowSync.js +1 -1
  68. package/hooks/useRowSync.mjs +23 -4
  69. package/hooks/useSlotExpand.js +1 -1
  70. package/hooks/useSlotExpand.mjs +36 -28
  71. package/index.d.mts +9 -3
  72. package/index.d.ts +9 -3
  73. package/index.js +1 -1
  74. package/index.mjs +83 -71
  75. package/items/SchedulerEditItem.d.ts +14 -3
  76. package/items/SchedulerEditItem.js +1 -1
  77. package/items/SchedulerEditItem.mjs +130 -72
  78. package/items/SchedulerItem.d.ts +10 -0
  79. package/items/SchedulerItem.js +1 -1
  80. package/items/SchedulerItem.mjs +153 -135
  81. package/items/SchedulerProportionalViewItem.d.ts +183 -0
  82. package/items/SchedulerProportionalViewItem.js +8 -0
  83. package/items/SchedulerProportionalViewItem.mjs +378 -0
  84. package/items/SchedulerViewItem.d.ts +3 -0
  85. package/items/SchedulerViewItem.js +1 -1
  86. package/items/SchedulerViewItem.mjs +107 -67
  87. package/messages/main.d.ts +186 -0
  88. package/messages/main.js +1 -1
  89. package/messages/main.mjs +226 -102
  90. package/models/Item.d.ts +2 -0
  91. package/models/Occurrence.d.ts +2 -0
  92. package/models/SchedulerModelFields.d.ts +5 -0
  93. package/models/SchedulerResource.d.ts +6 -0
  94. package/models/SchedulerView.d.ts +2 -0
  95. package/package-metadata.js +1 -1
  96. package/package-metadata.mjs +2 -2
  97. package/package.json +12 -11
  98. package/recurrence/common.js +1 -1
  99. package/recurrence/common.mjs +36 -39
  100. package/services/itemsService.js +1 -1
  101. package/services/itemsService.mjs +31 -27
  102. package/services/occurrenceService.js +1 -1
  103. package/services/occurrenceService.mjs +41 -35
  104. package/slots/SchedulerEditSlot.d.ts +2 -0
  105. package/slots/SchedulerEditSlot.js +1 -1
  106. package/slots/SchedulerEditSlot.mjs +27 -28
  107. package/slots/SchedulerSlot.d.ts +4 -0
  108. package/slots/SchedulerSlot.js +1 -1
  109. package/slots/SchedulerSlot.mjs +10 -1
  110. package/slots/SchedulerViewSlot.d.ts +5 -0
  111. package/slots/SchedulerViewSlot.js +1 -1
  112. package/slots/SchedulerViewSlot.mjs +70 -50
  113. package/tasks/SchedulerEditTask.d.ts +6 -0
  114. package/tasks/SchedulerEditTask.js +1 -1
  115. package/tasks/SchedulerEditTask.mjs +64 -23
  116. package/tasks/SchedulerTask.d.ts +15 -0
  117. package/tasks/SchedulerTask.js +1 -1
  118. package/tasks/SchedulerTask.mjs +39 -28
  119. package/tasks/SchedulerViewTask.d.ts +9 -0
  120. package/tasks/SchedulerViewTask.js +1 -1
  121. package/tasks/SchedulerViewTask.mjs +10 -5
  122. package/utils/main.d.ts +4 -1
  123. package/utils/main.js +1 -1
  124. package/utils/main.mjs +133 -112
  125. package/views/agenda/AgendaView.js +1 -1
  126. package/views/agenda/AgendaView.mjs +28 -22
  127. package/views/agenda/AgendaViewBody.js +1 -1
  128. package/views/agenda/AgendaViewBody.mjs +44 -42
  129. package/views/agenda/AgendaViewHead.js +1 -1
  130. package/views/agenda/AgendaViewHead.mjs +14 -10
  131. package/views/common/SchedulerDrag.d.ts +12 -0
  132. package/views/common/SchedulerResize.d.ts +12 -0
  133. package/views/common/VerticalResourceIterator.d.ts +3 -0
  134. package/views/common/VerticalResourceIterator.js +1 -1
  135. package/views/common/VerticalResourceIterator.mjs +16 -9
  136. package/views/day/DayView.js +1 -1
  137. package/views/day/DayView.mjs +2 -2
  138. package/views/day/MultiDayView.js +1 -1
  139. package/views/day/MultiDayView.mjs +98 -127
  140. package/views/month/MonthView.d.ts +8 -2
  141. package/views/month/MonthView.js +1 -1
  142. package/views/month/MonthView.mjs +115 -109
  143. package/views/month/MonthViewBody.d.ts +7 -2
  144. package/views/month/MonthViewBody.js +1 -1
  145. package/views/month/MonthViewBody.mjs +15 -11
  146. package/views/time/MultiDayTimelineView.d.ts +5 -0
  147. package/views/time/MultiDayTimelineView.js +1 -1
  148. package/views/time/MultiDayTimelineView.mjs +125 -132
  149. package/views/time/TimelineView.js +1 -1
  150. package/views/time/TimelineView.mjs +2 -2
  151. package/views/week/WeekView.js +1 -1
  152. package/views/week/WeekView.mjs +2 -2
  153. package/views/week/WorkWeekView.js +1 -1
  154. package/views/week/WorkWeekView.mjs +9 -9
  155. package/components/header/navigation/DatePickerToggleButton.d.ts +0 -16
  156. package/editors/FilterableComboBox.d.ts +0 -38
  157. package/editors/FilterableComboBox.js +0 -8
  158. package/editors/FilterableComboBox.mjs +0 -61
  159. package/editors/ZonedDateTime.js +0 -8
  160. package/editors/ZonedDateTime.mjs +0 -57
@@ -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 o, isNullOrEmptyString as f } from "../utils/main.mjs";
9
- import { parseRule as i } from "@progress/kendo-recurrence";
10
- import { toLocalDate as u } from "@progress/kendo-date-math";
11
- const y = (e) => e.charAt(0).toUpperCase() + e.slice(1), l = ["first", "second", "third", "fourth", "last"], k = ["never", "daily", "weekly", "monthly", "yearly"], m = [
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
- ], D = [
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
- ], b = [
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 m;
31
+ return k;
32
32
  case "weekday":
33
- return D;
33
+ return m;
34
34
  case "weekend":
35
- return b;
35
+ return D;
36
36
  }
37
- }, v = (e) => i({ recurrenceRule: e }) || {}, W = (e) => k.map((t) => ({
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) => o(e) && !f(e.freq) ? e.freq : "never", x = (e) => o(e.until) ? u(e.until) : null, F = (e) => e.dateFormatNames({
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((s, n) => ({
52
- text: s,
53
- value: n
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) => e.find((s) => {
57
- let n;
58
- if (o(t.byWeekDay))
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 === s.value;
77
- }) || e[0], S = (e, t) => {
78
- const a = e.firstDay(), s = e.dateFormatNames({
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((c, d) => ({
82
- text: c,
83
- value: d
84
- })), n = s.slice(a).concat(s.slice(0, a));
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(n);
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 l.map((a, s) => ({
89
+ return u.map((a, n) => ({
93
90
  text: e("OffsetPositions" + y(a)),
94
- value: t[s]
91
+ value: t[n]
95
92
  }));
96
- }, P = (e) => o(e.count) ? "count" : o(e.until) ? "until" : "never", T = (e) => {
97
- if (o(e.byWeekDay))
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 (o(e.byMonthDay))
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) => o(e.byMonthDay) && e.byMonthDay.length > 0 ? e.byMonthDay[0] : t.getDate();
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
- k as FREQUENCIES,
104
- l as OFFSET_POSITIONS,
100
+ l as FREQUENCIES,
101
+ u as OFFSET_POSITIONS,
105
102
  y as capitalize,
106
- m as dayRule,
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
- D as weekdayRule,
123
- b as weekendRule
119
+ m as weekdayRule,
120
+ D as weekendRule
124
121
  };
@@ -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"),R=require("@progress/kendo-data-query"),f=require("@progress/kendo-date-math"),E=(l,{timezone:t},{groups:e,ranges:s})=>{const a=[];return R.orderBy(l,[{field:"start",dir:"asc"},{field:"end",dir:"desc"},{field:"isAllDay",dir:"desc"}]).forEach(i=>{e.forEach(o=>{const n=e.length===1?B(i,o):o;m(i,n)&&s.forEach(d=>{if(r(i,d)){const u={},D={},y=d.end<i.end,p=i.start<d.start,v=f.ZonedDate.fromLocalDate(i.start,t),I=f.ZonedDate.fromLocalDate(i.end,t),h={...i,refTo:D,itemRef:u,head:y,tail:p,order:null,zonedStart:v,zonedEnd:I,group:n,range:d,slots:[],isRecurring:!!i.recurrenceRule,isException:!i.recurrenceRule&&i.recurrenceId!==null&&i.recurrenceId!==void 0,isAllDay:!!i.isAllDay};a.push(h)}})})}),a},B=(l,t)=>({index:0,resources:t.resources.filter(e=>F(l,e))}),F=(l,t)=>t.multiple?(l.dataItem[t.field]||[]).some(e=>t[t.valueField]===e):l.dataItem[t.field]===t[t.valueField],m=(l,t)=>!t.resources.some(e=>e.multiple?!l.dataItem[e.field].some(s=>e[e.valueField]===s):l.dataItem[e.field]!==e[e.valueField]),r=(l,t)=>A.intersects(t.start,t.end,l.start,l.end)&&(t.isAllDay===void 0||l.isAllDay===void 0||l.isAllDay===t.isAllDay);exports.inGroup=m;exports.inRange=r;exports.toItems=E;
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 I } from "../utils/main.mjs";
9
- import { orderBy as h } from "@progress/kendo-data-query";
10
- import { ZonedDate as f } from "@progress/kendo-date-math";
11
- const L = (l, { timezone: t }, { groups: i, ranges: a }) => {
12
- const o = [];
13
- return h(
14
- l,
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
- i.forEach((e) => {
22
- const n = i.length === 1 ? R(d, e) : e;
23
- E(d, n) && a.forEach((s) => {
24
- if (B(d, s)) {
25
- const m = {}, p = {}, D = s.end < d.end, r = d.start < s.start, y = f.fromLocalDate(d.start, t), v = f.fromLocalDate(d.end, t), A = {
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: m,
29
- head: D,
30
- tail: r,
31
+ itemRef: r,
32
+ head: y,
33
+ tail: D,
31
34
  order: null,
32
- zonedStart: y,
33
- zonedEnd: v,
35
+ zonedStart: v,
36
+ zonedEnd: I,
34
37
  group: n,
35
- range: s,
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
- o.push(A);
45
+ s.push(h);
42
46
  }
43
47
  });
44
48
  });
45
- }), o;
46
- }, R = (l, t) => ({
49
+ }), s;
50
+ }, B = (i, t) => ({
47
51
  index: 0,
48
- resources: t.resources.filter((i) => u(l, i))
49
- }), u = (l, t) => t.multiple ? (l.dataItem[t.field] || []).some((i) => t[t.valueField] === i) : l.dataItem[t.field] === t[t.valueField], E = (l, t) => !t.resources.some((i) => i.multiple ? !l.dataItem[i.field].some((a) => i[i.valueField] === a) : l.dataItem[i.field] !== i[i.valueField]), B = (l, t) => I(t.start, t.end, l.start, l.end) && (t.isAllDay === void 0 || l.isAllDay === void 0 || l.isAllDay === t.isAllDay);
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
- B as inRange,
53
- L as toItems
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"),T=(e,{dateRange:r,fields:n,timezone:o})=>e.map(x(n)).reduce(E(r,o,n),[]).filter(a=>!l.isMaster(a.dataItem,n)),x=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),dataItem:t.clone(r)}),E=(e,r,n)=>(o,c)=>[...o,...c.recurrenceRule&&(c.recurrenceId===null||c.recurrenceId===void 0)&&l.isMaster(c.dataItem,n)?[...I(c,{dateRange:e,timezone:r,fields:n})]:[c]],I=(e,{dateRange:r,timezone:n,fields:o})=>{const c=e.recurrenceRule,a=S.parseRule({recurrenceRule:c});a.start||(a.start=d.ZonedDate.fromLocalDate(e.start,n)),a.end||(a.end=d.ZonedDate.fromLocalDate(e.end,n));const g=e.recurrenceExceptions;g&&(a.exceptionDates=g.map(u=>d.ZonedDate.fromLocalDate(u,n)));const R=r.zonedStart,L=r.zonedEnd,D=S.expand(a,{rangeStart:d.ZonedDate.fromUTCDate(R,n),rangeEnd:d.ZonedDate.fromUTCDate(L,n)});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,o.recurrenceId,e.uid),s.originalStart=u.start.toLocalDate(),l.setField(i,o.originalStart,u.start.toLocalDate()),s.start=u.start.toLocalDate(),l.setField(i,o.start,u.start.toLocalDate()),s.end=u.end.toLocalDate(),l.setField(i,o.end,u.end.toLocalDate()),s.occurrenceId=String(p),l.setField(i,"occurrenceId",String(p)),s.dataItem=i,s}):[]};exports.toOccurrences=T;
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 n } from "@progress/kendo-vue-common";
9
- import { parseRule as T, expand as m } from "@progress/kendo-recurrence";
10
- import { ZonedDate as i } from "@progress/kendo-date-math";
11
- import { isMaster as S, setField as d } from "../utils/main.mjs";
12
- const U = (r, { dateRange: e, fields: t, timezone: o }) => r.map(E(t)).reduce(I(e, o, t), []).filter((a) => !S(a.dataItem, t)), E = (r) => (e) => ({
13
- uid: n(r.id || "id")(e),
14
- start: n(r.start || "start")(e),
15
- startTimezone: n(r.startTimezone || "startTimezone")(e),
16
- originalStart: n(r.originalStart || "originalStart")(e),
17
- end: n(r.end || "end")(e),
18
- endTimezone: n(r.endTimezone || "endTimezone")(e),
19
- isAllDay: n(r.isAllDay || "isAllDay")(e),
20
- title: n(r.title || "title")(e),
21
- description: n(r.description || "description")(e),
22
- occurrenceId: n("occurrenceId")(e),
23
- recurrenceRule: n(r.recurrenceRule || "recurrenceRule")(e),
24
- recurrenceExceptions: n(r.recurrenceExceptions || "recurrenceExceptions")(e),
25
- recurrenceId: n(r.recurrenceId || "recurrenceId")(e),
26
- dataItem: p(e)
27
- }), I = (r, e, t) => (o, c) => [
28
- ...o,
29
- ...c.recurrenceRule && (c.recurrenceId === null || c.recurrenceId === void 0) && S(c.dataItem, t) ? [...z(c, { dateRange: r, timezone: e, fields: t })] : [c]
30
- ], z = (r, { dateRange: e, timezone: t, fields: o }) => {
31
- const c = r.recurrenceRule, a = T({ recurrenceRule: c });
32
- a.start || (a.start = i.fromLocalDate(r.start, t)), a.end || (a.end = i.fromLocalDate(r.end, t));
33
- const D = r.recurrenceExceptions;
34
- D && (a.exceptionDates = D.map(
35
- (u) => i.fromLocalDate(u, t)
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 x = e.zonedStart, L = e.zonedEnd, g = m(a, {
38
- rangeStart: i.fromUTCDate(x, t),
39
- rangeEnd: i.fromUTCDate(L, t)
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, R) => {
42
- const s = p(r), l = p(r.dataItem);
43
- return s.recurrenceId = s.uid, d(l, o.recurrenceId, r.uid), s.originalStart = u.start.toLocalDate(), d(l, o.originalStart, u.start.toLocalDate()), s.start = u.start.toLocalDate(), d(l, o.start, u.start.toLocalDate()), s.end = u.end.toLocalDate(), d(l, o.end, u.end.toLocalDate()), s.occurrenceId = String(R), d(l, "occurrenceId", String(R)), s.dataItem = l, s;
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
- U as toOccurrences
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"),$=require("../hooks/use-items-selection.js"),A=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:{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(){if(this.$props.slotRender&&this.$props.expandable){const e=this;this.$nextTick(function(){F.useSlotExpand(e,e.ks.scheduler.$el,e.$props.expandable)})}},updated(){if(this.$props.slotRender&&this.$props.expandable){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),{viewSlot:t,form:o,formItem:l,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,{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:A.ITEMS_FOCUS_ACTION.current,item:t},e.event),this.dispatchSelectedItems({type:$.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=_;
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 $, isVNode as T } from "vue";
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 R, findCurrentItem as _, getSortedSlots as z, setField as l, isGroupped as W, getField as B, compareSlots as b } from "../utils/main.mjs";
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]" && !T(t);
20
+ return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !$(t);
21
21
  }
22
- const ot = /* @__PURE__ */ C({
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
- if (this.$props.slotRender && this.$props.expandable) {
67
- const t = this;
68
- this.$nextTick(function() {
69
- I(t, t.ks.scheduler.$el, t.$props.expandable);
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
- if (this.$props.slotRender && this.$props.expandable) {
75
- const t = this;
76
- this.$nextTick(function() {
77
- I(t, t.ks.scheduler.$el, t.$props.expandable);
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
- viewSlot: e,
134
- form: s,
135
- formItem: o,
130
+ role: e,
131
+ viewSlot: s,
132
+ form: o,
133
+ formItem: U,
136
134
  items: n,
137
135
  row: F,
138
- group: k,
139
- range: D,
136
+ group: g,
137
+ range: k,
140
138
  isWorkDay: a,
141
139
  isWorkHour: d,
142
- col: g,
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: k,
162
- range: D,
160
+ group: g,
161
+ range: k,
163
162
  isWorkDay: a,
164
163
  isWorkHour: d,
165
- col: g,
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 = R(t.target), e = s ? _(s, this.bv.items, !1) : z(this.bv.items, this.ignoreIsAllDay)[0], this.dispatchFocusedItems({
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
- ot as SchedulerEditSlot
321
+ it as SchedulerEditSlot
323
322
  };
@@ -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>;
@@ -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.hasMounted&&this.itemsPerSlot<this.cSlot.items.length&&s.createVNode(n.ShowMoreItemsButton,{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){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;
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;
@@ -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.hasMounted && this.itemsPerSlot < this.cSlot.items.length && s(a, {
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: {