@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,195 +5,95 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- import { defineComponent as he, createVNode as e, isVNode as me } from "vue";
9
- import { timezoneNames as fe } from "@progress/kendo-date-math";
10
- import { Label as l, Error as h } from "@progress/kendo-vue-labels";
11
- import { provideLocalizationService as ke } from "@progress/kendo-vue-intl";
12
- import { FormElement as pe, FieldWrapper as d, Field as t } from "@progress/kendo-vue-form";
13
- import { TextArea as be, Checkbox as T, TextBox as ge } from "@progress/kendo-vue-inputs";
14
- import { getDefaultSlots as Ee, templateRendering as i, getListeners as n } from "@progress/kendo-vue-common";
15
- import { editorValidationRequired as S, messages as c, editorEventTitle as y, editorEventStart as v, editorEventTimeZone as L, editorEventStartTimeZone as C, editorEventEnd as j, editorEventSeparateTimeZones as O, editorEventEndTimeZone as Z, editorEventAllDay as x, editorEventDescription as D } from "../messages/main.mjs";
16
- import { FilterableComboBox as w } from "./FilterableComboBox.mjs";
17
- import { RecurrenceEditor as ze } from "../recurrence/RecurrenceEditor.mjs";
18
- import { ResourceEditor as Fe } from "./ResourceEditor.mjs";
19
- import { ZonedDateTime as I } from "./ZonedDateTime.mjs";
20
- function u(o) {
21
- return typeof o == "function" || Object.prototype.toString.call(o) === "[object Object]" && !me(o);
8
+ import { defineComponent as U, createVNode as e, Fragment as S, isVNode as X } from "vue";
9
+ import { timezoneNames as ee } from "@progress/kendo-date-math";
10
+ import { Label as u } from "@progress/kendo-vue-labels";
11
+ import { provideLocalizationService as b, provideIntlService as te } from "@progress/kendo-vue-intl";
12
+ import { FormElement as ie, FieldWrapper as m, Field as l } from "@progress/kendo-vue-form";
13
+ import { TextArea as re, Switch as ne, TextBox as oe } from "@progress/kendo-vue-inputs";
14
+ import { getDefaultSlots as le, SvgIcon as h } from "@progress/kendo-vue-common";
15
+ import { rightDoubleQuotesIcon as se, clockIcon as ae, globeIcon as D, arrowRotateCwIcon as de, commentIcon as ce } from "@progress/kendo-svg-icons";
16
+ import { Button as a } from "@progress/kendo-vue-buttons";
17
+ import { Dialog as ue, DialogActionsBar as me } from "@progress/kendo-vue-dialogs";
18
+ import { editorValidationRequired as E, messages as r, editorEventAllDay as L, editorEventTitle as f, editorEventStart as g, editorDateConnectorTo as p, editorEventEnd as k, editorStartTimeAriaLabel as w, editorDateConnectorFrom as y, editorSetTimezoneTitle as C, editorTimezoneButton as A, editorEventStartTimeZone as I, editorResetTimezoneAriaLabel as x, editorResetTimezoneTitle as B, editorEndTimeAriaLabel as j, editorEventEndTimeZone as O, editorEventDescription as T, resetTimezoneDialogTitle as M, resetTimezoneConfirmation as V, resetTimezoneNo as $, resetTimezoneYes as q, editorRecurrenceMakeRecurring as G } from "../messages/main.mjs";
19
+ import { RecurrenceEditor as he } from "../recurrence/RecurrenceEditor.mjs";
20
+ import { ResourceEditor as fe } from "./ResourceEditor.mjs";
21
+ import { ZonedSplitDateTime as _ } from "./ZonedSplitDateTime.mjs";
22
+ import { TimezoneDropDownList as N } from "./TimezoneDropDownList.mjs";
23
+ import { SchedulerRecurrenceDialog as ge } from "./SchedulerRecurrenceDialog.mjs";
24
+ import { RemoveRecurrenceConfirmDialog as pe } from "./RemoveRecurrenceConfirmDialog.mjs";
25
+ import { getRecurrenceSummary as ke } from "../hooks/useRecurrenceSummary.mjs";
26
+ function z(t) {
27
+ return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !X(t);
22
28
  }
23
- const _e = /* @__PURE__ */ he({
29
+ const Oe = /* @__PURE__ */ U({
24
30
  name: "KendoSchedulerFormEditor",
25
31
  props: {
26
32
  as: [String, Function, Object],
27
33
  id: String,
28
34
  tabIndex: Number,
29
- titleLabel: {
30
- type: [String, Function, Object],
31
- default: function() {
32
- return l;
33
- }
34
- },
35
- titleError: {
36
- type: [String, Function, Object],
37
- default: function() {
38
- return h;
39
- }
40
- },
41
35
  titleEditor: {
42
36
  type: [String, Function, Object],
43
37
  default: function() {
44
- return ge;
45
- }
46
- },
47
- startLabel: {
48
- type: [String, Function, Object],
49
- default: function() {
50
- return l;
51
- }
52
- },
53
- startError: {
54
- type: [String, Function, Object],
55
- default: function() {
56
- return h;
38
+ return oe;
57
39
  }
58
40
  },
59
41
  startEditor: {
60
42
  type: [String, Function, Object],
61
43
  default: function() {
62
- return I;
63
- }
64
- },
65
- startTimezoneLabel: {
66
- type: [String, Function, Object],
67
- default: function() {
68
- return l;
69
- }
70
- },
71
- startTimezoneError: {
72
- type: [String, Function, Object],
73
- default: function() {
74
- return h;
44
+ return _;
75
45
  }
76
46
  },
77
47
  startTimezoneEditor: {
78
48
  type: [String, Function, Object],
79
49
  default: function() {
80
- return w;
81
- }
82
- },
83
- startTimezoneCheckedLabel: {
84
- type: [String, Function, Object],
85
- default: function() {
86
- return l;
87
- }
88
- },
89
- startTimezoneCheckedEditor: {
90
- type: [String, Function, Object],
91
- default: function() {
92
- return T;
93
- }
94
- },
95
- endLabel: {
96
- type: [String, Function, Object],
97
- default: function() {
98
- return l;
99
- }
100
- },
101
- endError: {
102
- type: [String, Function, Object],
103
- default: function() {
104
- return h;
50
+ return N;
105
51
  }
106
52
  },
107
53
  endEditor: {
108
54
  type: [String, Function, Object],
109
55
  default: function() {
110
- return I;
111
- }
112
- },
113
- endTimezoneLabel: {
114
- type: [String, Function, Object],
115
- default: function() {
116
- return l;
117
- }
118
- },
119
- endTimezoneError: {
120
- type: [String, Function, Object],
121
- default: function() {
122
- return h;
56
+ return _;
123
57
  }
124
58
  },
125
59
  endTimezoneEditor: {
126
60
  type: [String, Function, Object],
127
61
  default: function() {
128
- return w;
129
- }
130
- },
131
- endTimezoneCheckedLabel: {
132
- type: [String, Function, Object],
133
- default: function() {
134
- return l;
135
- }
136
- },
137
- endTimezoneCheckedEditor: {
138
- type: [String, Function, Object],
139
- default: function() {
140
- return T;
62
+ return N;
141
63
  }
142
64
  },
143
65
  allDayLabel: {
144
66
  type: [String, Function, Object],
145
67
  default: function() {
146
- return l;
68
+ return "span";
147
69
  }
148
70
  },
149
71
  allDayEditor: {
150
72
  type: [String, Function, Object],
151
73
  default: function() {
152
- return T;
74
+ return ne;
153
75
  }
154
76
  },
155
77
  recurrenceEditor: {
156
78
  type: [String, Function, Object],
157
79
  default: function() {
158
- return ze;
159
- }
160
- },
161
- descriptionLabel: {
162
- type: [String, Function, Object],
163
- default: function() {
164
- return l;
165
- }
166
- },
167
- descriptionError: {
168
- type: [String, Function, Object],
169
- default: function() {
170
- return h;
80
+ return he;
171
81
  }
172
82
  },
173
83
  descriptionEditor: {
174
84
  type: [String, Function, Object],
175
85
  default: function() {
176
- return be;
177
- }
178
- },
179
- resourceLabel: {
180
- type: [String, Function, Object],
181
- default: function() {
182
- return l;
183
- }
184
- },
185
- resourcesError: {
186
- type: [String, Function, Object],
187
- default: function() {
188
- return l;
86
+ return re;
189
87
  }
190
88
  },
191
89
  resourceEditor: {
192
90
  type: [String, Function, Object],
193
91
  default: function() {
194
- return Fe;
92
+ return fe;
195
93
  }
196
94
  },
95
+ recurrenceButtonTextTemplate: [Object, Function],
96
+ recurrenceSummaryTemplate: [Object, Function],
197
97
  errors: Object,
198
98
  valid: Boolean,
199
99
  touched: Boolean,
@@ -218,268 +118,300 @@ const _e = /* @__PURE__ */ he({
218
118
  }
219
119
  },
220
120
  data() {
221
- const o = this.kendoForm, s = this.ks;
121
+ const t = this.kendoForm, n = this.ks;
222
122
  return {
223
- startZoneChecked: !!o.valueGetter(s.fields.startTimezone),
224
- endZoneChecked: !!o.valueGetter(s.fields.endTimezone)
123
+ showTimezones: !!t.valueGetter(n.fields.startTimezone),
124
+ showTimezoneResetDialog: !1,
125
+ showRecurrenceDialog: !1,
126
+ showRemoveRecurrenceDialog: !1
225
127
  };
226
128
  },
129
+ computed: {
130
+ isAllDay() {
131
+ return !!this.kendoForm.valueGetter(this.ks.fields.isAllDay);
132
+ },
133
+ start() {
134
+ return this.kendoForm.valueGetter(this.ks.fields.start) || /* @__PURE__ */ new Date();
135
+ },
136
+ startTimezone() {
137
+ return this.kendoForm.valueGetter(this.ks.fields.startTimezone) || "";
138
+ },
139
+ recurrenceRule() {
140
+ return this.kendoForm.valueGetter(this.ks.fields.recurrenceRule);
141
+ },
142
+ recurrenceId() {
143
+ return this.kendoForm.valueGetter(this.ks.fields.recurrenceId);
144
+ },
145
+ isEditingOccurrence() {
146
+ return this.recurrenceId !== void 0 && this.recurrenceId !== null;
147
+ },
148
+ showRecurrenceButton() {
149
+ return !this.isEditingOccurrence;
150
+ },
151
+ recurrenceButtonText() {
152
+ const t = te(this), n = b(this), s = (c, i) => n.toLanguageString(c, i), d = n.toLanguageString(G, r[G]);
153
+ return this.recurrenceRule && ke(this.recurrenceRule, this.start, t, s) || d;
154
+ }
155
+ },
227
156
  render() {
228
- let o, s, f, k, p, b, g, E, z;
229
- const V = Ee(this), F = fe(), a = ke(this), {
230
- as: Te,
231
- ...Se
232
- } = this.$props, {
233
- startTimezoneCheckedLabel: _,
234
- startTimezoneCheckedEditor: A,
235
- endTimezoneCheckedLabel: B,
236
- endTimezoneCheckedEditor: q
237
- } = this.$props, R = i.call(this, this.titleLabel, n.call(this)), G = i.call(this, this.titleError, n.call(this)), $ = i.call(this, this.titleEditor, n.call(this)), N = i.call(this, this.startLabel, n.call(this)), M = i.call(this, this.startError, n.call(this)), K = i.call(this, this.startEditor, n.call(this)), W = i.call(this, this.startTimezoneLabel, n.call(this)), H = i.call(this, this.startTimezoneError, n.call(this)), J = i.call(this, this.startTimezoneEditor, n.call(this)), P = i.call(this, this.endLabel, n.call(this)), Q = i.call(this, this.endError, n.call(this)), U = i.call(this, this.endEditor, n.call(this)), X = i.call(this, this.endTimezoneLabel, n.call(this)), Y = i.call(this, this.endTimezoneError, n.call(this)), ee = i.call(this, this.endTimezoneEditor, n.call(this)), te = i.call(this, this.allDayLabel, n.call(this)), ie = i.call(this, this.allDayEditor, n.call(this)), ne = i.call(this, this.recurrenceEditor, n.call(this)), oe = i.call(this, this.descriptionLabel, n.call(this)), re = i.call(this, this.descriptionEditor, n.call(this)), le = i.call(this, this.descriptionError, n.call(this)), se = i.call(this, this.resourceLabel, n.call(this)), ae = i.call(this, this.resourceEditor, n.call(this)), de = this.kendoForm.valueGetter(this.ks.fields.start) || /* @__PURE__ */ new Date(), ce = this.kendoForm.valueGetter(this.ks.fields.startTimezone) || this.ks.timezone || "", ue = this.kendoForm.valueGetter(this.ks.fields.endTimezone) || this.ks.timezone || "";
238
- this.requiredValidationMessage = a.toLanguageString(S, c[S]);
239
- const m = this.ks.fields.title;
240
- return e(pe, {
157
+ let t, n, s;
158
+ const d = le(this), c = ee(), i = b(this), v = this.$props.startEditor, F = this.$props.endEditor, Z = this.$props.startTimezoneEditor, K = this.$props.endTimezoneEditor, Q = this.$props.allDayEditor, W = this.$props.allDayLabel, Y = this.$props.descriptionEditor, H = this.$props.resourceEditor, J = this.$props.titleEditor, P = this.startTimezone;
159
+ this.requiredValidationMessage = i.toLanguageString(E, r[E]);
160
+ const R = i.toLanguageString(L, r[L]);
161
+ return e(S, null, [e(ie, {
162
+ horizontal: !0,
241
163
  class: "k-scheduler-edit-form"
242
164
  }, {
243
- default: () => [e(d, null, {
244
- default: () => [e(t, {
245
- name: m,
246
- component: R,
247
- editorId: "k-scheduler-editor-title"
248
- }, u(o = a.toLanguageString(y, c[y])) ? o : {
249
- default: () => [o]
165
+ default: () => [e(m, null, {
166
+ default: () => [e(u, {
167
+ class: "k-form-label"
168
+ }, {
169
+ default: () => [e(h, {
170
+ icon: se,
171
+ size: "xlarge"
172
+ }, null)]
250
173
  }), e("div", {
251
174
  class: "k-form-field-wrap"
252
- }, [e(t, {
175
+ }, [e(l, {
253
176
  id: "k-scheduler-editor-title",
254
- name: m,
255
- field: m,
256
- component: $
257
- }, null), this.kendoForm.errors[m] && e(t, {
258
- name: m,
259
- component: G
260
- }, {
261
- default: () => [this.kendoForm.errors[m]]
262
- })])]
263
- }), e(d, null, {
264
- default: () => [e(t, {
265
- name: this.ks.fields.start,
266
- component: N,
267
- editorId: "k-scheduler-editor-start",
177
+ name: this.ks.fields.title,
178
+ field: this.ks.fields.title,
179
+ component: J,
180
+ placeholder: i.toLanguageString(f, r[f]),
181
+ "aria-label": i.toLanguageString(f, r[f])
182
+ }, null)])]
183
+ }), e(m, null, {
184
+ default: () => [e(u, {
268
185
  class: "k-form-label"
269
- }, u(s = a.toLanguageString(v, c[v])) ? s : {
270
- default: () => [s]
186
+ }, {
187
+ default: () => [e(h, {
188
+ icon: ae,
189
+ size: "xlarge"
190
+ }, null)]
271
191
  }), e("div", {
272
192
  class: "k-form-field-wrap"
273
- }, [e(t, {
274
- id: "k-scheduler-editor-start",
193
+ }, [e("div", {
194
+ class: "k-scheduler-datetime-section"
195
+ }, [e("div", {
196
+ class: "k-scheduler-edit-form-row"
197
+ }, [e(l, {
198
+ name: this.ks.fields.isAllDay,
199
+ component: Q,
200
+ onLabel: "",
201
+ offLabel: ""
202
+ }, null), e(W, null, z(R) ? R : {
203
+ default: () => [R]
204
+ })]), e("div", {
205
+ class: "k-scheduler-datetime-grid"
206
+ }, [this.isAllDay ? e("div", {
207
+ class: "k-scheduler-edit-form-row"
208
+ }, [e(l, {
275
209
  name: this.ks.fields.start,
276
- width: "auto",
277
- component: K,
278
- isAllDay: !!this.kendoForm.values.isAllDay,
210
+ component: v,
211
+ isAllDay: this.isAllDay,
212
+ fieldError: this.kendoForm.errors[this.ks.fields.start],
213
+ ariaLabel: i.toLanguageString(g, r[g]),
279
214
  timezone: this.ks.timezone
280
- }, null), this.kendoForm.errors[this.ks.fields.start] && e(t, {
281
- name: this.ks.fields.start,
282
- component: M
283
- }, {
284
- default: () => [this.kendoForm.errors[this.ks.fields.start]]
285
- })])]
286
- }), e(d, null, {
287
- default: () => [F.length > 0 && e("div", null, [e(A, {
288
- id: "k-scheduler-editor-set-start-timezone",
289
- onChange: this.handleStartZoneCheckboxChange,
290
- value: this.startZoneChecked
291
- }, null), e(_, {
292
- class: "k-checkbox-label",
293
- editorId: "k-scheduler-editor-set-start-timezone",
294
- style: {
295
- display: "inline-flex"
296
- }
297
- }, u(f = a.toLanguageString(L, c[L])) ? f : {
298
- default: () => [f]
299
- })])]
300
- }), this.startZoneChecked && e(d, null, {
301
- default: () => [e(t, {
215
+ }, null), e("span", {
216
+ class: "k-scheduler-datetime-label"
217
+ }, [i.toLanguageString(p, r[p])]), e(l, {
218
+ name: this.ks.fields.end,
219
+ component: F,
220
+ isAllDay: this.isAllDay,
221
+ fieldError: this.kendoForm.errors[this.ks.fields.end],
222
+ ariaLabel: i.toLanguageString(k, r[k]),
223
+ timezone: this.ks.timezone
224
+ }, null)]) : e(S, null, [e("div", {
225
+ class: "k-scheduler-edit-form-row"
226
+ }, [e(l, {
302
227
  name: this.ks.fields.start,
303
- component: W
304
- }, u(k = a.toLanguageString(C, c[C])) ? k : {
305
- default: () => [k]
306
- }), e("div", {
307
- class: "k-form-field-wrap"
308
- }, [e(t, {
309
- component: J,
310
- value: ce,
311
- validator: this.startTimezoneValidator,
312
- dataItems: F,
313
- name: this.ks.fields.startTimezone
314
- }, null), this.kendoForm.errors[this.ks.fields.startTimezone] && e(t, {
228
+ component: v,
229
+ isAllDay: this.isAllDay,
230
+ connector: i.toLanguageString(y, r[y]),
231
+ fieldError: this.kendoForm.errors[this.ks.fields.start],
232
+ ariaLabel: i.toLanguageString(g, r[g]),
233
+ timeAriaLabel: i.toLanguageString(w, r[w]),
234
+ timezone: this.ks.timezone
235
+ }, null)]), !this.showTimezones && e(a, {
236
+ class: "k-col-span-2",
237
+ fillMode: "flat",
238
+ themeColor: "primary",
239
+ title: i.toLanguageString(C, r[C]),
240
+ onClick: this.handleTimezoneToggle,
241
+ svgIcon: D
242
+ }, z(t = i.toLanguageString(A, r[A])) ? t : {
243
+ default: () => [t]
244
+ }), this.showTimezones && e(S, null, [e(l, {
315
245
  name: this.ks.fields.startTimezone,
316
- component: H
317
- }, {
318
- default: () => [this.kendoForm.errors[this.ks.fields.startTimezone]]
319
- })])]
320
- }), e(d, null, {
321
- default: () => [e(t, {
322
- name: this.ks.fields.end,
323
- component: P,
324
- editorId: "k-scheduler-editor-end",
325
- class: "k-form-label"
326
- }, u(p = a.toLanguageString(j, c[j])) ? p : {
327
- default: () => [p]
328
- }), e("div", {
329
- class: "k-form-field-wrap"
330
- }, [e(t, {
331
- id: "k-scheduler-editor-end",
246
+ component: Z,
247
+ dataItems: c,
248
+ value: P,
249
+ ariaLabel: i.toLanguageString(I, r[I])
250
+ }, null), e(a, {
251
+ title: i.toLanguageString(B, r[B]),
252
+ "aria-label": i.toLanguageString(x, r[x]),
253
+ onClick: this.handleTimezoneToggle,
254
+ svgIcon: D,
255
+ fillMode: "flat",
256
+ themeColor: "primary"
257
+ }, null)]), e("div", {
258
+ class: "k-scheduler-edit-form-row"
259
+ }, [e(l, {
332
260
  name: this.ks.fields.end,
333
- width: "auto",
334
- component: U,
335
- isAllDay: !!this.kendoForm.values.isAllDay,
261
+ component: F,
262
+ isAllDay: this.isAllDay,
263
+ connector: i.toLanguageString(p, r[p]),
264
+ fieldError: this.kendoForm.errors[this.ks.fields.end],
265
+ ariaLabel: i.toLanguageString(k, r[k]),
266
+ timeAriaLabel: i.toLanguageString(j, r[j]),
336
267
  timezone: this.ks.timezone
337
- }, null), this.kendoForm.errors[this.ks.fields.end] && e(t, {
338
- name: this.ks.fields.end,
339
- component: Q
340
- }, {
341
- default: () => [this.kendoForm.errors[this.ks.fields.end]]
342
- })])]
343
- }), this.startZoneChecked && e(d, null, {
344
- default: () => [e("div", {
345
- class: "k-form-field-wrap"
346
- }, [e(q, {
347
- id: "k-scheduler-editor-set-end-timezone",
348
- onChange: this.handleEndZoneCheckboxChange,
349
- value: this.endZoneChecked
350
- }, null)]), e(B, {
351
- class: "k-checkbox-label",
352
- editorId: "k-scheduler-editor-set-end-timezone",
353
- style: {
354
- display: "inline-flex"
355
- }
356
- }, u(b = a.toLanguageString(O, c[O])) ? b : {
357
- default: () => [b]
358
- })]
359
- }), this.endZoneChecked && e(d, null, {
360
- default: () => [e(t, {
268
+ }, null)]), this.showTimezones && e(l, {
361
269
  name: this.ks.fields.endTimezone,
362
- component: X,
363
- class: "k-form-label"
364
- }, u(g = a.toLanguageString(Z, c[Z])) ? g : {
365
- default: () => [g]
366
- }), e("div", {
367
- class: "k-form-field-wrap"
368
- }, [e(t, {
369
- value: ue,
370
- dataItems: F,
371
- validator: this.endTimezoneValidator,
372
- component: ee,
373
- name: this.ks.fields.endTimezone
374
- }, null), this.kendoForm.errors[this.ks.fields.endTimezone] && e(t, {
375
- name: this.ks.fields.endTimezone,
376
- component: Y
270
+ component: K,
271
+ dataItems: c,
272
+ value: this.kendoForm.valueGetter(this.ks.fields.endTimezone) || "",
273
+ ariaLabel: i.toLanguageString(O, r[O])
274
+ }, null)])]), this.showRecurrenceButton && e("div", {
275
+ class: "k-scheduler-edit-form-row"
276
+ }, [e(a, {
277
+ class: "k-scheduler-recurrence-button",
278
+ type: "button",
279
+ fillMode: "flat",
280
+ themeColor: "primary",
281
+ svgIcon: de,
282
+ onClick: this.handleMakeRecurringClick
377
283
  }, {
378
- default: () => [this.kendoForm.errors[this.ks.fields.endTimezone]]
379
- })])]
380
- }), e(d, null, {
381
- default: () => [e(t, {
382
- name: this.ks.fields.isAllDay,
383
- component: l,
284
+ default: () => [this.recurrenceButtonTextTemplate ? this.renderRecurrenceButtonTextTemplate() : this.recurrenceButtonText]
285
+ })])])])]
286
+ }), e(m, null, {
287
+ default: () => [e(u, {
384
288
  class: "k-form-label"
385
- }, null), e("div", {
289
+ }, {
290
+ default: () => [e(h, {
291
+ icon: ce,
292
+ size: "xlarge"
293
+ }, null)]
294
+ }), e("div", {
386
295
  class: "k-form-field-wrap"
387
- }, [e(t, {
388
- id: "k-is-allday-checkbox",
389
- name: this.ks.fields.isAllDay,
390
- component: ie
391
- }, null), e(t, {
392
- name: this.ks.fields.isAllDay,
393
- field: this.ks.fields.isAllDay,
394
- editorId: "k-is-allday-checkbox",
395
- class: "k-checkbox-label",
396
- component: te
397
- }, u(E = a.toLanguageString(x, c[x])) ? E : {
398
- default: () => [E]
399
- })])]
400
- }), e("div", {
401
- class: "k-recurrence-editor"
402
- }, [e(t, {
403
- component: ne,
404
- changeOnInput: !1,
405
- field: this.ks.fields.recurrenceRule,
406
- name: this.ks.fields.recurrenceRule,
407
- start: de
408
- }, null)]), e(d, null, {
409
- default: () => [e(t, {
296
+ }, [e(l, {
297
+ component: Y,
410
298
  name: this.ks.fields.description,
411
- component: oe,
299
+ id: "k-event-description",
300
+ resizable: "vertical",
301
+ placeholder: i.toLanguageString(T, r[T]),
302
+ "aria-label": i.toLanguageString(T, r[T])
303
+ }, null)])]
304
+ }), (this.ks.props.resources || []).map((o) => e(m, {
305
+ key: o.field
306
+ }, {
307
+ default: () => [o.svgIcon && e(u, {
412
308
  class: "k-form-label"
413
- }, u(z = a.toLanguageString(D, c[D])) ? z : {
414
- default: () => [z]
309
+ }, {
310
+ default: () => [e(h, {
311
+ icon: o.svgIcon,
312
+ size: "xlarge"
313
+ }, null)]
415
314
  }), e("div", {
416
315
  class: "k-form-field-wrap"
417
- }, [e(t, {
418
- component: re,
419
- name: this.ks.fields.description,
420
- rows: 1,
421
- id: "k-event-description"
422
- }, null), this.kendoForm.errors[this.ks.fields.description] && e(t, {
423
- name: this.ks.fields.description,
424
- component: le
425
- }, {
426
- default: () => [this.kendoForm.errors[this.ks.fields.description]]
427
- })])]
428
- }), (this.ks.props.resources || []).map(function(r) {
429
- return e(d, {
430
- key: r.field
431
- }, {
432
- default: () => [e(t, {
433
- name: r.field,
434
- component: se,
435
- class: "k-form-label"
436
- }, null), e(l, {
437
- class: "k-form-label"
438
- }, {
439
- default: () => [r.name]
440
- }), e(t, {
441
- name: r.field,
442
- component: ae,
443
- resource: r,
444
- multiple: r.multiple,
445
- dataItems: r.data,
446
- textField: r.textField,
447
- valueField: r.valueField,
448
- colorField: r.colorField
449
- }, null), this.kendoForm.errors[r.field] && e(t, {
450
- name: r.field,
451
- component: h
452
- }, {
453
- default: () => [this.kendoForm.errors[r.field]]
454
- })]
455
- });
456
- }, this), V]
457
- });
316
+ }, [e(l, {
317
+ name: o.field,
318
+ component: H,
319
+ resource: o,
320
+ multiple: o.multiple,
321
+ dataItems: o.data,
322
+ textField: o.textField,
323
+ valueField: o.valueField,
324
+ colorField: o.colorField,
325
+ ariaLabel: o.name || o.field
326
+ }, null)])]
327
+ })), d]
328
+ }), this.showRecurrenceDialog && e(ge, {
329
+ value: this.recurrenceRule,
330
+ start: this.start,
331
+ timezone: this.ks.timezone || "",
332
+ onSave: this.handleRecurrenceSave,
333
+ onCancel: this.handleRecurrenceCancel,
334
+ onRemoveRecurrence: this.handleRemoveRecurrenceClick,
335
+ recurrenceSummaryTemplate: this.recurrenceSummaryTemplate,
336
+ recurrenceEditor: this.recurrenceEditor
337
+ }, null), this.showRemoveRecurrenceDialog && e(pe, {
338
+ onConfirm: this.handleRemoveRecurrenceConfirm,
339
+ onCancel: this.handleRemoveRecurrenceCancel
340
+ }, null), this.showTimezoneResetDialog && e(ue, {
341
+ title: i.toLanguageString(M, r[M]),
342
+ onClose: this.handleTimezoneResetClose
343
+ }, {
344
+ default: () => [i.toLanguageString(V, r[V]), e(me, null, {
345
+ default: () => [e(a, {
346
+ onClick: this.handleTimezoneResetClose
347
+ }, z(n = i.toLanguageString($, r[$])) ? n : {
348
+ default: () => [n]
349
+ }), e(a, {
350
+ themeColor: "primary",
351
+ onClick: this.handleTimezoneResetConfirm
352
+ }, z(s = i.toLanguageString(q, r[q])) ? s : {
353
+ default: () => [s]
354
+ })]
355
+ })]
356
+ })]);
458
357
  },
459
358
  methods: {
460
- handleStartZoneCheckboxChange(o) {
461
- o.value || (this.$emit("change", this.ks.fields.startTimezone, {
462
- value: null
463
- }), this.$emit("change", this.ks.fields.endTimezone, {
464
- value: null
465
- }), this.endZoneChecked = o.value), this.startZoneChecked = o.value;
466
- },
467
- handleEndZoneCheckboxChange(o) {
468
- o.value || this.$emit("change", this.ks.fields.endTimezone, {
469
- value: null
470
- }), this.endZoneChecked = o.value;
471
- },
472
- requiredValidator(o) {
473
- return o ? void 0 : this.requiredValidationMessage;
474
- },
475
- startTimezoneValidator(o, s) {
476
- return this.startZoneChecked ? this.requiredValidator(s(this.ks.fields.startTimezone)) : void 0;
477
- },
478
- endTimezoneValidator(o, s) {
479
- return this.startZoneChecked && this.endZoneChecked ? this.requiredValidator(s(this.ks.fields.endTimezone)) || this.requiredValidator(s(this.ks.fields.startTimezone)) : void 0;
359
+ renderRecurrenceButtonTextTemplate() {
360
+ const t = this.recurrenceButtonTextTemplate;
361
+ return t ? e(t, {
362
+ recurrenceRule: this.recurrenceRule
363
+ }, null) : null;
364
+ },
365
+ handleTimezoneToggle(t) {
366
+ t.preventDefault(), this.showTimezones ? this.showTimezoneResetDialog = !0 : (this.updateFormField(this.ks.fields.startTimezone, null), this.updateFormField(this.ks.fields.endTimezone, null), this.showTimezones = !0);
367
+ },
368
+ handleTimezoneResetConfirm() {
369
+ this.updateFormField(this.ks.fields.startTimezone, null), this.updateFormField(this.ks.fields.endTimezone, null), this.showTimezones = !1, this.showTimezoneResetDialog = !1;
370
+ },
371
+ handleTimezoneResetClose() {
372
+ this.showTimezoneResetDialog = !1;
373
+ },
374
+ handleMakeRecurringClick() {
375
+ this.showRecurrenceDialog = !0;
376
+ },
377
+ handleRecurrenceSave(t) {
378
+ this.updateFormField(this.ks.fields.recurrenceRule, t), this.showRecurrenceDialog = !1;
379
+ },
380
+ handleRecurrenceCancel() {
381
+ this.showRecurrenceDialog = !1;
382
+ },
383
+ handleRemoveRecurrenceClick() {
384
+ this.showRemoveRecurrenceDialog = !0;
385
+ },
386
+ handleRemoveRecurrenceConfirm() {
387
+ this.updateFormField(this.ks.fields.recurrenceRule, null), this.updateFormField(this.ks.fields.recurrenceExceptions, null), this.showRemoveRecurrenceDialog = !1, this.showRecurrenceDialog = !1;
388
+ },
389
+ handleRemoveRecurrenceCancel() {
390
+ this.showRemoveRecurrenceDialog = !1;
391
+ },
392
+ updateFormField(t, n) {
393
+ this.kendoForm.onChange(t, {
394
+ value: n
395
+ }), this.$emit("change", t, {
396
+ value: n
397
+ });
398
+ },
399
+ requiredValidator(t) {
400
+ return t ? void 0 : this.requiredValidationMessage;
401
+ },
402
+ startTimezoneValidator(t, n) {
403
+ return this.showTimezones ? this.requiredValidator(n(this.ks.fields.startTimezone)) : void 0;
404
+ },
405
+ endTimezoneValidator(t, n) {
406
+ return this.showTimezones ? this.requiredValidator(n(this.ks.fields.endTimezone)) || this.requiredValidator(n(this.ks.fields.startTimezone)) : void 0;
407
+ }
408
+ },
409
+ watch: {
410
+ startTimezone(t, n) {
411
+ this.showTimezones && t && t !== n && this.updateFormField(this.ks.fields.endTimezone, t);
480
412
  }
481
413
  }
482
414
  });
483
415
  export {
484
- _e as SchedulerFormEditor
416
+ Oe as SchedulerFormEditor
485
417
  };