@progress/kendo-vue-scheduler 3.1.0 → 3.1.2-dev.202203221454

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 (110) hide show
  1. package/dist/cdn/js/kendo-vue-scheduler.js +2 -2
  2. package/dist/es/Scheduler.d.ts +1 -1
  3. package/dist/es/Scheduler.js +104 -682
  4. package/dist/es/components/SchedulerForm.js +4 -40
  5. package/dist/es/components/ShowMoreItemsButton.js +1 -2
  6. package/dist/es/components/footer/bussiness-hours/{BussinessHours.d.ts → BusinessHours.d.ts} +1 -0
  7. package/dist/es/components/footer/bussiness-hours/BusinessHours.js +88 -0
  8. package/dist/es/components/header/navigation/NavigationDatePicker.js +2 -3
  9. package/dist/es/components/header/navigation/SchedulerNavigation.js +319 -3
  10. package/dist/es/components/header/view-selector/SchedulerViewSelector.js +4 -3
  11. package/dist/es/components/header/view-selector/ViewSelectorItem.js +5 -7
  12. package/dist/es/components/header/view-selector/ViewSelectorList.js +19 -13
  13. package/dist/es/context/SchedulerResourceIteratorContext.js +2 -2
  14. package/dist/es/items/SchedulerEditItem.js +3 -1
  15. package/dist/es/items/SchedulerItem.d.ts +2 -0
  16. package/dist/es/items/SchedulerItem.js +11 -2
  17. package/dist/es/items/SchedulerViewItem.js +80 -92
  18. package/dist/es/main.d.ts +5 -1
  19. package/dist/es/main.js +5 -11
  20. package/dist/es/package-metadata.js +1 -1
  21. package/dist/es/slots/SchedulerEditSlot.js +58 -18
  22. package/dist/es/slots/SchedulerSlot.d.ts +4 -0
  23. package/dist/es/slots/SchedulerSlot.js +19 -3
  24. package/dist/es/slots/SchedulerViewSlot.d.ts +1 -1
  25. package/dist/es/slots/SchedulerViewSlot.js +58 -30
  26. package/dist/es/tasks/SchedulerEditTask.js +56 -49
  27. package/dist/es/tasks/SchedulerTask.js +3 -1
  28. package/dist/es/tasks/SchedulerViewTask.js +17 -22
  29. package/dist/es/views/agenda/AgendaView.js +18 -9
  30. package/dist/es/views/agenda/AgendaViewBody.d.ts +1 -0
  31. package/dist/es/views/agenda/AgendaViewBody.js +2 -1
  32. package/dist/es/views/common/VerticalResourceIterator.d.ts +1 -0
  33. package/dist/es/views/common/VerticalResourceIterator.js +104 -17
  34. package/dist/es/views/day/DayView.js +15 -3
  35. package/dist/es/views/day/DayViewAllDaySlots.d.ts +2 -0
  36. package/dist/es/views/day/DayViewAllDaySlots.js +12 -5
  37. package/dist/es/views/day/DayViewMiddleRow.js +12 -9
  38. package/dist/es/views/day/DayViewVerticalRow.d.ts +41 -0
  39. package/dist/es/views/day/DayViewVerticalRow.js +101 -0
  40. package/dist/es/views/day/DayViewVerticalSlotsRow.d.ts +50 -0
  41. package/dist/es/views/day/DayViewVerticalSlotsRow.js +132 -0
  42. package/dist/es/views/day/MultiDayView.d.ts +1 -1
  43. package/dist/es/views/day/MultiDayView.js +183 -288
  44. package/dist/es/views/month/MonthView.d.ts +1 -1
  45. package/dist/es/views/month/MonthView.js +56 -65
  46. package/dist/es/views/month/MonthViewBody.d.ts +2 -0
  47. package/dist/es/views/month/MonthViewBody.js +36 -51
  48. package/dist/es/views/time/MultiDayTimelineView.d.ts +2 -2
  49. package/dist/es/views/time/MultiDayTimelineView.js +52 -41
  50. package/dist/es/views/time/TimelineView.js +9 -3
  51. package/dist/es/views/time/TimelineViewBody.d.ts +2 -0
  52. package/dist/es/views/time/TimelineViewBody.js +6 -2
  53. package/dist/es/views/week/WeekView.js +9 -3
  54. package/dist/es/views/week/WorkWeekView.js +9 -3
  55. package/dist/npm/Scheduler.d.ts +1 -1
  56. package/dist/npm/Scheduler.js +102 -682
  57. package/dist/npm/components/SchedulerForm.js +4 -40
  58. package/dist/npm/components/ShowMoreItemsButton.js +1 -2
  59. package/dist/npm/components/footer/bussiness-hours/{BussinessHours.d.ts → BusinessHours.d.ts} +1 -0
  60. package/dist/npm/components/footer/bussiness-hours/BusinessHours.js +102 -0
  61. package/dist/npm/components/header/navigation/NavigationDatePicker.js +2 -3
  62. package/dist/npm/components/header/navigation/SchedulerNavigation.js +323 -4
  63. package/dist/npm/components/header/view-selector/SchedulerViewSelector.js +5 -3
  64. package/dist/npm/components/header/view-selector/ViewSelectorItem.js +6 -7
  65. package/dist/npm/components/header/view-selector/ViewSelectorList.js +21 -13
  66. package/dist/npm/context/SchedulerResourceIteratorContext.js +2 -2
  67. package/dist/npm/items/SchedulerEditItem.js +3 -1
  68. package/dist/npm/items/SchedulerItem.d.ts +2 -0
  69. package/dist/npm/items/SchedulerItem.js +11 -2
  70. package/dist/npm/items/SchedulerViewItem.js +81 -92
  71. package/dist/npm/main.d.ts +5 -1
  72. package/dist/npm/main.js +9 -11
  73. package/dist/npm/package-metadata.js +1 -1
  74. package/dist/npm/slots/SchedulerEditSlot.js +59 -18
  75. package/dist/npm/slots/SchedulerSlot.d.ts +4 -0
  76. package/dist/npm/slots/SchedulerSlot.js +20 -3
  77. package/dist/npm/slots/SchedulerViewSlot.d.ts +1 -1
  78. package/dist/npm/slots/SchedulerViewSlot.js +57 -29
  79. package/dist/npm/tasks/SchedulerEditTask.js +57 -49
  80. package/dist/npm/tasks/SchedulerTask.js +4 -1
  81. package/dist/npm/tasks/SchedulerViewTask.js +17 -21
  82. package/dist/npm/views/agenda/AgendaView.js +18 -9
  83. package/dist/npm/views/agenda/AgendaViewBody.d.ts +1 -0
  84. package/dist/npm/views/agenda/AgendaViewBody.js +2 -1
  85. package/dist/npm/views/common/VerticalResourceIterator.d.ts +1 -0
  86. package/dist/npm/views/common/VerticalResourceIterator.js +107 -17
  87. package/dist/npm/views/day/DayView.js +15 -3
  88. package/dist/npm/views/day/DayViewAllDaySlots.d.ts +2 -0
  89. package/dist/npm/views/day/DayViewAllDaySlots.js +12 -5
  90. package/dist/npm/views/day/DayViewMiddleRow.js +12 -9
  91. package/dist/npm/views/day/DayViewVerticalRow.d.ts +41 -0
  92. package/dist/npm/views/day/DayViewVerticalRow.js +113 -0
  93. package/dist/npm/views/day/DayViewVerticalSlotsRow.d.ts +50 -0
  94. package/dist/npm/views/day/DayViewVerticalSlotsRow.js +145 -0
  95. package/dist/npm/views/day/MultiDayView.d.ts +1 -1
  96. package/dist/npm/views/day/MultiDayView.js +184 -289
  97. package/dist/npm/views/month/MonthView.d.ts +1 -1
  98. package/dist/npm/views/month/MonthView.js +56 -65
  99. package/dist/npm/views/month/MonthViewBody.d.ts +2 -0
  100. package/dist/npm/views/month/MonthViewBody.js +36 -52
  101. package/dist/npm/views/time/MultiDayTimelineView.d.ts +2 -2
  102. package/dist/npm/views/time/MultiDayTimelineView.js +52 -41
  103. package/dist/npm/views/time/TimelineView.js +9 -3
  104. package/dist/npm/views/time/TimelineViewBody.d.ts +2 -0
  105. package/dist/npm/views/time/TimelineViewBody.js +6 -2
  106. package/dist/npm/views/week/WeekView.js +9 -3
  107. package/dist/npm/views/week/WorkWeekView.js +9 -3
  108. package/package.json +12 -12
  109. package/dist/es/components/footer/bussiness-hours/BussinessHours.js +0 -33
  110. package/dist/npm/components/footer/bussiness-hours/BussinessHours.js +0 -44
@@ -19,6 +19,7 @@ var SchedulerEditItemVue2 = {
19
19
  name: 'KendoSchedulerEditItem',
20
20
  props: {
21
21
  tabIndex: Number,
22
+ item: [String, Function, Object],
22
23
  viewItem: [String, Function, Object],
23
24
  drag: [String, Function, Object],
24
25
  resize: [String, Function, Object],
@@ -89,7 +90,8 @@ var SchedulerEditItemVue2 = {
89
90
  showOccurrenceDialog: this.showOccurrenceDialog
90
91
  },
91
92
  currentTabIndex: this.$props.tabIndex,
92
- item: null
93
+ currentItem: null // item: null
94
+
93
95
  };
94
96
  },
95
97
  computed: {
@@ -177,6 +177,8 @@ export interface SchedulerItemProps extends Item {
177
177
  onResizeRelease?: (event: SchedulerItemDragEvent) => void;
178
178
  /** @hidden */
179
179
  maxSiblingsPerSlot?: number;
180
+ /** @hidden */
181
+ itemTitle?: string;
180
182
  }
181
183
  /**
182
184
  * Represents the object which is returned from the `ref` callback of the [SchedulerItem]({% slug api_scheduler_scheduleritem %}).
@@ -87,7 +87,8 @@ var SchedulerItemVue2 = {
87
87
  dragHint: Boolean,
88
88
  resizeHint: Boolean,
89
89
  format: String,
90
- maxSiblingsPerSlot: Number
90
+ maxSiblingsPerSlot: Number,
91
+ itemTitle: String
91
92
  },
92
93
  data: function data() {
93
94
  return {
@@ -265,7 +266,15 @@ var SchedulerItemVue2 = {
265
266
  onKeyup: this.handleKeyUp,
266
267
  "data-group-index": this.$props.group.index,
267
268
  "data-range-index": this.$props.range.index
268
- }, [defaultSlot, !this.$props.resizeHint && h("span", {
269
+ }, [!this.$props.resizeHint && h("span", {
270
+ "class": "k-event-actions"
271
+ }, [this.$props.tail && h("span", {
272
+ "class": "k-icon k-i-arrow-60-left"
273
+ }), this.$props.isRecurring && !this.$props.isException && h("span", {
274
+ "class": "k-icon k-i-reload"
275
+ }), !this.$props.isRecurring && this.$props.isException && h("span", {
276
+ "class": "k-icon k-i-non-recurrence"
277
+ })]), defaultSlot, !this.$props.resizeHint && h("span", {
269
278
  "class": "k-event-actions"
270
279
  }, [editable.remove && h("a", {
271
280
  tabIndex: -1,
@@ -25,6 +25,7 @@ import { getRect, setRect } from '../views/common/utils';
25
25
  import { BORDER_WIDTH } from '../constants';
26
26
  import { provideIntlService } from '@progress/kendo-vue-intl';
27
27
  import { SchedulerItemContent } from './SchedulerItemContent';
28
+ import { getDefaultSlots, getTemplate } from '@progress/kendo-vue-common';
28
29
  var ITEMS_SPACING = 1; // tslint:enable:max-line-length
29
30
 
30
31
  var SchedulerViewItemVue2 = {
@@ -141,58 +142,16 @@ var SchedulerViewItemVue2 = {
141
142
  render: function render(createElement) {
142
143
  var _this2 = this;
143
144
 
144
- var h = gh || createElement; // tslint:enable:max-line-length
145
+ var h = gh || createElement;
146
+ var defaultSlot = getDefaultSlots(this); // tslint:enable:max-line-length
145
147
 
146
- var _a = this.$props,
147
- itemProp = _a.item,
148
- refTo = _a.refTo,
149
- itemRef = _a.itemRef;
150
148
  this.intl = provideIntlService(this);
151
- return (// @ts-ignore function children
152
- h(SchedulerItem, {
149
+ var itemRender;
150
+ var itemRenderDefaultRendering = // @ts-ignore function children
151
+ h(SchedulerItem, {
152
+ ignoreIsAllDay: this.ignoreIsAllDay,
153
+ attrs: this.v3 ? undefined : {
153
154
  ignoreIsAllDay: this.ignoreIsAllDay,
154
- attrs: this.v3 ? undefined : {
155
- ignoreIsAllDay: this.ignoreIsAllDay,
156
- item: this.item,
157
- uid: this.uid,
158
- start: this.start,
159
- end: this.end,
160
- originalStart: this.originalStart,
161
- startTimezone: this.startTimezone,
162
- endTimezone: this.endTimezone,
163
- isAllDay: this.isAllDay,
164
- title: this.title,
165
- description: this.description,
166
- occurrenceId: this.occurrenceId,
167
- recurrenceExceptions: this.recurrenceExceptions,
168
- recurrenceRule: this.recurrenceRule,
169
- recurrenceId: this.recurrenceId,
170
- dataItem: this.dataItem,
171
- head: this.head,
172
- tail: this.tail,
173
- order: this.order,
174
- zonedStart: this.zonedStart,
175
- zonedEnd: this.zonedEnd,
176
- slots: this.slots,
177
- group: this.group,
178
- range: this.range,
179
- isException: this.isException,
180
- isRecurring: this.isRecurring,
181
- id: this.id,
182
- tabIndex: this.tabIndex,
183
- className: this.className,
184
- itemStyle: this.itemStyle,
185
- editable: this.editable,
186
- selected: this.selected,
187
- vertical: this.vertical,
188
- dragHint: this.dragHint,
189
- resizeHint: this.resizeHint,
190
- format: this.format // {...itemProps}
191
- // refTo={this}
192
- ,
193
- maxSiblingsPerSlot: this.maxSiblingsPerSlot // itemRef={item}
194
-
195
- },
196
155
  item: this.item,
197
156
  uid: this.uid,
198
157
  start: this.start,
@@ -228,59 +187,88 @@ var SchedulerViewItemVue2 = {
228
187
  dragHint: this.dragHint,
229
188
  resizeHint: this.resizeHint,
230
189
  format: this.format,
231
- maxSiblingsPerSlot: this.maxSiblingsPerSlot,
232
- style: __assign({
233
- visibility: this.visible ? undefined : 'hidden',
234
- display: this.display ? undefined : 'none'
235
- }, this.$props.style)
236
- }, this.v3 ? function () {
237
- return [!_this2.$props.resizeHint && h("span", {
238
- "class": "k-event-actions"
239
- }, [_this2.$props.tail && h("span", {
240
- "class": "k-icon k-i-arrow-60-left"
241
- }), _this2.$props.isRecurring && !_this2.$props.isException && h("span", {
242
- "class": "k-icon k-i-reload"
243
- }), !_this2.$props.isRecurring && _this2.$props.isException && h("span", {
244
- "class": "k-icon k-i-non-recurrence"
245
- })]), !_this2.$props.resizeHint && h("div", {
246
- title: _this2.itemTitle,
247
- attrs: _this2.v3 ? undefined : {
248
- title: _this2.itemTitle
249
- }
250
- }, [!_this2.$props.isAllDay && // @ts-ignore function children
251
- h(SchedulerItemContent, {
252
- "class": "k-event-template k-event-time "
253
- }, _this2.v3 ? function () {
254
- return [_this2.itemTitle];
255
- } : [_this2.itemTitle]), // @ts-ignore function children
256
- h(SchedulerItemContent, {
257
- "class": "k-event-template"
258
- }, _this2.v3 ? function () {
259
- return [_this2.$props.title];
260
- } : [_this2.$props.title])])];
261
- } : [!_this2.$props.resizeHint && h("span", {
262
- "class": "k-event-actions"
263
- }, [_this2.$props.tail && h("span", {
264
- "class": "k-icon k-i-arrow-60-left"
265
- }), _this2.$props.isRecurring && !_this2.$props.isException && h("span", {
266
- "class": "k-icon k-i-reload"
267
- }), !_this2.$props.isRecurring && _this2.$props.isException && h("span", {
268
- "class": "k-icon k-i-non-recurrence"
269
- })]), !_this2.$props.resizeHint && h("div", {
190
+ itemTitle: this.itemTitle,
191
+ maxSiblingsPerSlot: this.maxSiblingsPerSlot
192
+ },
193
+ item: this.item,
194
+ uid: this.uid,
195
+ start: this.start,
196
+ end: this.end,
197
+ originalStart: this.originalStart,
198
+ startTimezone: this.startTimezone,
199
+ endTimezone: this.endTimezone,
200
+ isAllDay: this.isAllDay,
201
+ title: this.title,
202
+ description: this.description,
203
+ occurrenceId: this.occurrenceId,
204
+ recurrenceExceptions: this.recurrenceExceptions,
205
+ recurrenceRule: this.recurrenceRule,
206
+ recurrenceId: this.recurrenceId,
207
+ dataItem: this.dataItem,
208
+ head: this.head,
209
+ tail: this.tail,
210
+ order: this.order,
211
+ zonedStart: this.zonedStart,
212
+ zonedEnd: this.zonedEnd,
213
+ slots: this.slots,
214
+ group: this.group,
215
+ range: this.range,
216
+ isException: this.isException,
217
+ isRecurring: this.isRecurring,
218
+ id: this.id,
219
+ tabIndex: this.tabIndex,
220
+ className: this.className,
221
+ itemStyle: this.itemStyle,
222
+ editable: this.editable,
223
+ selected: this.selected,
224
+ vertical: this.vertical,
225
+ dragHint: this.dragHint,
226
+ resizeHint: this.resizeHint,
227
+ format: this.format,
228
+ itemTitle: this.itemTitle,
229
+ maxSiblingsPerSlot: this.maxSiblingsPerSlot,
230
+ style: __assign({
231
+ visibility: this.visible ? undefined : 'hidden',
232
+ display: this.display ? undefined : 'none'
233
+ }, this.$props.style)
234
+ }, this.v3 ? function () {
235
+ return [!_this2.$props.resizeHint && h("div", {
270
236
  title: _this2.itemTitle,
271
237
  attrs: _this2.v3 ? undefined : {
272
238
  title: _this2.itemTitle
273
239
  }
274
- }, [!_this2.$props.isAllDay && h(SchedulerItemContent, {
240
+ }, [!_this2.$props.isAllDay && // @ts-ignore function children
241
+ h(SchedulerItemContent, {
275
242
  "class": "k-event-template k-event-time "
276
243
  }, _this2.v3 ? function () {
277
244
  return [_this2.itemTitle];
278
- } : [_this2.itemTitle]), h(SchedulerItemContent, {
245
+ } : [_this2.itemTitle]), // @ts-ignore function children
246
+ h(SchedulerItemContent, {
279
247
  "class": "k-event-template"
280
248
  }, _this2.v3 ? function () {
281
249
  return [_this2.$props.title];
282
- } : [_this2.$props.title])])])
283
- );
250
+ } : [_this2.$props.title])])];
251
+ } : [!_this2.$props.resizeHint && h("div", {
252
+ title: _this2.itemTitle,
253
+ attrs: _this2.v3 ? undefined : {
254
+ title: _this2.itemTitle
255
+ }
256
+ }, [!_this2.$props.isAllDay && h(SchedulerItemContent, {
257
+ "class": "k-event-template k-event-time "
258
+ }, _this2.v3 ? function () {
259
+ return [_this2.itemTitle];
260
+ } : [_this2.itemTitle]), h(SchedulerItemContent, {
261
+ "class": "k-event-template"
262
+ }, _this2.v3 ? function () {
263
+ return [_this2.$props.title];
264
+ } : [_this2.$props.title])])]);
265
+ itemRender = getTemplate.call(this, {
266
+ h: h,
267
+ template: this.$props.item,
268
+ defaultRendering: itemRenderDefaultRendering,
269
+ defaultSlots: defaultSlot
270
+ });
271
+ return itemRender;
284
272
  },
285
273
  methods: {
286
274
  calculateMostSiblings: function calculateMostSiblings(slots, items) {
package/dist/es/main.d.ts CHANGED
@@ -22,8 +22,12 @@ import { SchedulerFormEditor, SchedulerFormEditorHandle, SchedulerFormEditorProp
22
22
  import { SchedulerOccurrenceDialog, SchedulerOccurrenceDialogHandle, SchedulerOccurrenceDialogProps } from './components/SchedulerOccurrenceDialog';
23
23
  import { SchedulerRemoveDialog, SchedulerRemoveDialogHandle, SchedulerRemoveDialogProps } from './components/SchedulerRemoveDialog';
24
24
  import { SchedulerHeader, SchedulerHeaderProps, SchedulerHeaderHandle } from './components/header/SchedulerHeader';
25
+ import { BusinessHours, BusinessHoursProps } from './components/footer/bussiness-hours/BusinessHours';
25
26
  import { DateHeaderCell, DateHeaderCellHandle, DateHeaderCellProps } from './components/DateHeaderCell';
26
27
  import { TimeHeaderCell, TimeHeaderCellHandle, TimeHeaderCellProps } from './components/TimeHeaderCell';
28
+ import { SchedulerNavigation, SchedulerNavigationProps } from './components/header/navigation/SchedulerNavigation';
29
+ import { NavigationDatePicker } from './components/header/navigation/NavigationDatePicker';
30
+ import { SchedulerViewSelector, SchedulerViewSelectorProps } from './components/header/view-selector/SchedulerViewSelector';
27
31
  import { SchedulerFooter, SchedulerFooterProps, SchedulerFooterHandle } from './components/footer/SchedulerFooter';
28
32
  import { DRAG_ITEM_ACTION, SchedulerItemDragItemAction } from './items/hooks/use-drag-item';
29
33
  import { ITEMS_FOCUS_ACTION, SchedulerItemsFocusAction, SchedulerSlotsFocusAction, SLOTS_FOCUS_ACTION } from './hooks';
@@ -35,4 +39,4 @@ import { SchedulerItemShowOccurrenceDialogAction, SHOW_OCCURRENCE_DIALOG_ACTION
35
39
  import { SchedulerItemShowRemoveDialogAction, SHOW_REMOVE_DIALOG_ACTION } from './items/hooks/use-show-remove-item-dialog';
36
40
  import { SchedulerSlotsSelectAction, SLOTS_SELECT_ACTION } from './hooks/use-slots-selection';
37
41
  import { SchedulerGroup, SchedulerResource } from './models';
38
- export { Scheduler, SchedulerProps, AgendaView, TimelineView, DayView, WeekView, WorkWeekView, MonthView, SchedulerDataChangeEvent, SchedulerDateChangeEvent, SchedulerViewChangeEvent, DataAction, DATA_ACTION, SchedulerItem, SchedulerItemProps, SchedulerItemHandle, SchedulerItemContent, SchedulerItemContentProps, SchedulerViewItem, SchedulerViewItemProps, SchedulerViewItemHandle, SchedulerEditItem, SchedulerEditItemProps, SchedulerEditItemState, SchedulerEditItemAction, SchedulerEditItemHandle, SchedulerSlot, SchedulerSlotProps, SchedulerSlotHandle, SchedulerViewSlot, SchedulerViewSlotProps, SchedulerViewSlotHandle, SchedulerSlotExpandableConfig, SchedulerEditSlot, SchedulerEditSlotProps, SchedulerEditSlotHandle, SchedulerTask, SchedulerTaskProps, SchedulerTaskHandle, SchedulerViewTask, SchedulerViewTaskProps, SchedulerViewTaskHandle, SchedulerEditTask, SchedulerEditTaskProps, SchedulerEditTaskHandle, SchedulerDrag, SchedulerDragProps, SchedulerResize, SchedulerResizeProps, SchedulerForm, SchedulerFormHandle, SchedulerFormProps, SchedulerFormEditor, SchedulerFormEditorProps, SchedulerFormEditorHandle, SchedulerOccurrenceDialog, SchedulerOccurrenceDialogProps, SchedulerOccurrenceDialogHandle, SchedulerRemoveDialog, SchedulerRemoveDialogProps, SchedulerRemoveDialogHandle, SchedulerHeader, SchedulerHeaderProps, SchedulerHeaderHandle, SchedulerFooter, SchedulerFooterProps, SchedulerFooterHandle, DateHeaderCell, DateHeaderCellHandle, DateHeaderCellProps, TimeHeaderCell, TimeHeaderCellHandle, TimeHeaderCellProps, DRAG_ITEM_ACTION, SchedulerItemDragItemAction, ITEMS_FOCUS_ACTION, SchedulerItemsFocusAction, ITEMS_SELECT_ACTION, SchedulerItemsSelectAction, REMOVE_ITEM_ACTION, SchedulerItemRemoveItemAction, RESIZE_ITEM_ACTION, SchedulerItemResizeItemAction, SERIES_ACTION, SchedulerItemSeriesAction, SHOW_OCCURRENCE_DIALOG_ACTION, SchedulerItemShowOccurrenceDialogAction, SHOW_REMOVE_DIALOG_ACTION, SchedulerItemShowRemoveDialogAction, SLOTS_FOCUS_ACTION, SchedulerSlotsFocusAction, SLOTS_SELECT_ACTION, SchedulerSlotsSelectAction, SchedulerResource, SchedulerGroup };
42
+ export { Scheduler, SchedulerProps, AgendaView, TimelineView, DayView, WeekView, WorkWeekView, MonthView, SchedulerDataChangeEvent, SchedulerDateChangeEvent, SchedulerViewChangeEvent, DataAction, DATA_ACTION, SchedulerItem, SchedulerItemProps, SchedulerItemHandle, SchedulerItemContent, SchedulerItemContentProps, SchedulerViewItem, SchedulerViewItemProps, SchedulerViewItemHandle, SchedulerEditItem, SchedulerEditItemProps, SchedulerEditItemState, SchedulerEditItemAction, SchedulerEditItemHandle, SchedulerSlot, SchedulerSlotProps, SchedulerSlotHandle, SchedulerViewSlot, SchedulerViewSlotProps, SchedulerViewSlotHandle, SchedulerSlotExpandableConfig, SchedulerEditSlot, SchedulerEditSlotProps, SchedulerEditSlotHandle, SchedulerTask, SchedulerTaskProps, SchedulerTaskHandle, SchedulerViewTask, SchedulerViewTaskProps, SchedulerViewTaskHandle, SchedulerEditTask, SchedulerEditTaskProps, SchedulerEditTaskHandle, SchedulerDrag, SchedulerDragProps, SchedulerResize, SchedulerResizeProps, SchedulerForm, SchedulerFormHandle, SchedulerFormProps, SchedulerFormEditor, SchedulerFormEditorProps, SchedulerFormEditorHandle, SchedulerOccurrenceDialog, SchedulerOccurrenceDialogProps, SchedulerOccurrenceDialogHandle, SchedulerRemoveDialog, SchedulerRemoveDialogProps, SchedulerRemoveDialogHandle, SchedulerHeader, SchedulerHeaderProps, SchedulerHeaderHandle, SchedulerFooter, SchedulerFooterProps, SchedulerFooterHandle, DateHeaderCell, DateHeaderCellHandle, DateHeaderCellProps, TimeHeaderCell, TimeHeaderCellHandle, TimeHeaderCellProps, DRAG_ITEM_ACTION, SchedulerItemDragItemAction, ITEMS_FOCUS_ACTION, SchedulerItemsFocusAction, ITEMS_SELECT_ACTION, SchedulerItemsSelectAction, REMOVE_ITEM_ACTION, SchedulerItemRemoveItemAction, RESIZE_ITEM_ACTION, SchedulerItemResizeItemAction, SERIES_ACTION, SchedulerItemSeriesAction, SHOW_OCCURRENCE_DIALOG_ACTION, SchedulerItemShowOccurrenceDialogAction, SHOW_REMOVE_DIALOG_ACTION, SchedulerItemShowRemoveDialogAction, SLOTS_FOCUS_ACTION, SchedulerSlotsFocusAction, SLOTS_SELECT_ACTION, SchedulerSlotsSelectAction, SchedulerResource, SchedulerGroup, BusinessHours, BusinessHoursProps, SchedulerNavigation, SchedulerNavigationProps, NavigationDatePicker, SchedulerViewSelector, SchedulerViewSelectorProps };
package/dist/es/main.js CHANGED
@@ -22,18 +22,12 @@ import { SchedulerFormEditor } from './editors/SchedulerFormEditor';
22
22
  import { SchedulerOccurrenceDialog } from './components/SchedulerOccurrenceDialog';
23
23
  import { SchedulerRemoveDialog } from './components/SchedulerRemoveDialog';
24
24
  import { SchedulerHeader } from './components/header/SchedulerHeader';
25
+ import { BusinessHours } from './components/footer/bussiness-hours/BusinessHours';
25
26
  import { DateHeaderCell } from './components/DateHeaderCell';
26
27
  import { TimeHeaderCell } from './components/TimeHeaderCell';
27
- // import {
28
- // SchedulerNavigation,
29
- // SchedulerNavigationProps,
30
- // SchedulerNavigationHandle
31
- // } from './components/SchedulerNavigation';
32
- // import {
33
- // SchedulerViewSelector,
34
- // SchedulerViewSelectorProps,
35
- // SchedulerViewSelectorHandle
36
- // } from './components/SchedulerViewSelector';
28
+ import { SchedulerNavigation } from './components/header/navigation/SchedulerNavigation';
29
+ import { NavigationDatePicker } from './components/header/navigation/NavigationDatePicker';
30
+ import { SchedulerViewSelector } from './components/header/view-selector/SchedulerViewSelector';
37
31
  import { SchedulerFooter } from './components/footer/SchedulerFooter';
38
32
  import { DRAG_ITEM_ACTION } from './items/hooks/use-drag-item';
39
33
  import { ITEMS_FOCUS_ACTION, SLOTS_FOCUS_ACTION } from './hooks';
@@ -79,4 +73,4 @@ SchedulerHeader,
79
73
  // SchedulerViewSelector,
80
74
  // SchedulerViewSelectorProps,
81
75
  // SchedulerViewSelectorHandle
82
- SchedulerFooter, DateHeaderCell, TimeHeaderCell, DRAG_ITEM_ACTION, ITEMS_FOCUS_ACTION, ITEMS_SELECT_ACTION, REMOVE_ITEM_ACTION, RESIZE_ITEM_ACTION, SERIES_ACTION, SHOW_OCCURRENCE_DIALOG_ACTION, SHOW_REMOVE_DIALOG_ACTION, SLOTS_FOCUS_ACTION, SLOTS_SELECT_ACTION };
76
+ SchedulerFooter, DateHeaderCell, TimeHeaderCell, DRAG_ITEM_ACTION, ITEMS_FOCUS_ACTION, ITEMS_SELECT_ACTION, REMOVE_ITEM_ACTION, RESIZE_ITEM_ACTION, SERIES_ACTION, SHOW_OCCURRENCE_DIALOG_ACTION, SHOW_REMOVE_DIALOG_ACTION, SLOTS_FOCUS_ACTION, SLOTS_SELECT_ACTION, BusinessHours, SchedulerNavigation, NavigationDatePicker, SchedulerViewSelector };
@@ -5,7 +5,7 @@ export var packageMetadata = {
5
5
  name: '@progress/kendo-vue-scheduler',
6
6
  productName: 'Kendo UI for Vue',
7
7
  productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],
8
- publishDate: 1646205551,
8
+ publishDate: 1647960632,
9
9
  version: '',
10
10
  licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'
11
11
  };
@@ -6,6 +6,7 @@ var inject = allVue.inject;
6
6
  import { getDefaultSlots, Keys } from '@progress/kendo-vue-common';
7
7
  import { DATA_ACTION } from '../Scheduler';
8
8
  import { setField, getField, findFirstItem, isGroupped } from '../utils';
9
+ import { SchedulerForm } from '../components/SchedulerForm';
9
10
  import { SchedulerViewSlot } from './SchedulerViewSlot';
10
11
  import { SLOTS_FOCUS_ACTION, useEditable } from '../hooks';
11
12
  import { SLOTS_SELECT_ACTION } from '../hooks/use-slots-selection'; // tslint:enable:max-line-length
@@ -14,7 +15,6 @@ var SchedulerEditSlotVue2 = {
14
15
  name: 'KendoSchedulerEditSlot',
15
16
  props: {
16
17
  viewSlot: Object,
17
- renderSlot: Object,
18
18
  form: Object,
19
19
  formItem: Object,
20
20
  refTo: [Function, Object],
@@ -38,7 +38,10 @@ var SchedulerEditSlotVue2 = {
38
38
  zonedStart: Object,
39
39
  zonedEnd: Object,
40
40
  isAllDay: Boolean,
41
- expandable: [Boolean, Object]
41
+ expandable: [Boolean, Object],
42
+ slotRender: [String, Function, Object],
43
+ navDay: Boolean,
44
+ itemsPerSlot: Number
42
45
  },
43
46
  created: function created() {
44
47
  this.slot = null;
@@ -75,6 +78,8 @@ var SchedulerEditSlotVue2 = {
75
78
  },
76
79
  // @ts-ignore
77
80
  render: function render(createElement) {
81
+ var _this2 = this;
82
+
78
83
  var _this = this;
79
84
 
80
85
  var h = gh || createElement;
@@ -96,7 +101,9 @@ var SchedulerEditSlotVue2 = {
96
101
  start = _a.start,
97
102
  end = _a.end,
98
103
  zonedStart = _a.zonedStart,
99
- zonedEnd = _a.zonedEnd; // const fields = useSchedulerFieldsContext();
104
+ zonedEnd = _a.zonedEnd,
105
+ navDay = _a.navDay,
106
+ itemsPerSlot = _a.itemsPerSlot; // const fields = useSchedulerFieldsContext();
100
107
  // const [slots] = useSchedulerViewSlotsContext();
101
108
  // const [items] = useSchedulerViewItemsContext();
102
109
  // const [selectedSlots, dispatchSlotsSelection] = useSchedulerViewSelectedSlotsContext();
@@ -107,8 +114,9 @@ var SchedulerEditSlotVue2 = {
107
114
  });
108
115
  return (// @ts-ignore function children
109
116
  h(SchedulerViewSlot, {
110
- isAllDay: this.isAllDay,
117
+ slotRender: this.$props.slotRender,
111
118
  attrs: this.v3 ? undefined : {
119
+ slotRender: this.$props.slotRender,
112
120
  isAllDay: this.isAllDay,
113
121
  expandable: this.expandable,
114
122
  items: items,
@@ -122,12 +130,14 @@ var SchedulerEditSlotVue2 = {
122
130
  start: start,
123
131
  end: end,
124
132
  zonedStart: zonedStart,
125
- zonedEnd: zonedEnd // refTo={this}
126
- ,
133
+ zonedEnd: zonedEnd,
127
134
  selected: selected,
135
+ navDay: navDay,
136
+ itemsPerSlot: itemsPerSlot,
128
137
  tabIndex: this.currentTabIndex // Focus
129
138
 
130
139
  },
140
+ isAllDay: this.isAllDay,
131
141
  expandable: this.expandable,
132
142
  items: items,
133
143
  row: row,
@@ -142,30 +152,56 @@ var SchedulerEditSlotVue2 = {
142
152
  zonedStart: zonedStart,
143
153
  zonedEnd: zonedEnd,
144
154
  selected: selected,
155
+ navDay: navDay,
156
+ itemsPerSlot: itemsPerSlot,
145
157
  tabIndex: this.currentTabIndex,
146
158
  onFocus: this.handleFocus // Mouse
147
159
  ,
148
160
  on: this.v3 ? undefined : {
149
161
  "focus": this.handleFocus,
150
162
  "doubleclick": this.handleDoubleClick,
151
- "keydown": this.handleKeyDown
163
+ "keydown": this.handleKeyDown,
164
+ "showmoreitems": this.handleShowMoreItemsClick
152
165
  },
153
166
  onDoubleclick: this.handleDoubleClick // Keyboard
154
167
  ,
155
- onKeydown: this.handleKeyDown
168
+ onKeydown: this.handleKeyDown,
169
+ onShowmoreitems: this.handleShowMoreItemsClick
156
170
  }, this.v3 ? function () {
157
- return [defaultSlot];
158
- } : [defaultSlot]) // (this.formItem && <SchedulerForm
159
- // dataItem={this.formItem}
160
- // onSubmit={this.handleEditFormSubmit}
161
- // onClose={this.handleEditFormClose}
162
- // onCancel={this.handleEditFormCancel}
163
- // />
164
- // </SchedulerEditSlotContext>
165
-
171
+ return [defaultSlot, _this2.currentFormItem && h(SchedulerForm, {
172
+ dataItem: _this2.formItem,
173
+ attrs: _this2.v3 ? undefined : {
174
+ dataItem: _this2.formItem
175
+ },
176
+ onSubmit: _this2.handleEditFormSubmit,
177
+ on: _this2.v3 ? undefined : {
178
+ "submit": _this2.handleEditFormSubmit,
179
+ "close": _this2.handleEditFormClose,
180
+ "cancel": _this2.handleEditFormCancel
181
+ },
182
+ onClose: _this2.handleEditFormClose,
183
+ onCancel: _this2.handleEditFormCancel
184
+ })];
185
+ } : [defaultSlot, _this2.currentFormItem && h(SchedulerForm, {
186
+ dataItem: _this2.formItem,
187
+ attrs: _this2.v3 ? undefined : {
188
+ dataItem: _this2.formItem
189
+ },
190
+ onSubmit: _this2.handleEditFormSubmit,
191
+ on: _this2.v3 ? undefined : {
192
+ "submit": _this2.handleEditFormSubmit,
193
+ "close": _this2.handleEditFormClose,
194
+ "cancel": _this2.handleEditFormCancel
195
+ },
196
+ onClose: _this2.handleEditFormClose,
197
+ onCancel: _this2.handleEditFormCancel
198
+ })])
166
199
  );
167
200
  },
168
201
  methods: {
202
+ handleShowMoreItemsClick: function handleShowMoreItemsClick(event) {
203
+ this.$emit('showmoreitems', event);
204
+ },
169
205
  createDataItemFromSlot: function createDataItemFromSlot() {
170
206
  var dataItem = {};
171
207
  setField(dataItem, this.fields.start, new Date(this.$props.start.getTime()));
@@ -191,7 +227,7 @@ var SchedulerEditSlotVue2 = {
191
227
  if (this.computedEditable.select) {
192
228
  this.dispatchSlotsSelection({
193
229
  type: SLOTS_SELECT_ACTION.select,
194
- slot: this.renderSlot
230
+ slot: this.slotRender
195
231
  }, event.event);
196
232
  }
197
233
 
@@ -302,6 +338,10 @@ var SchedulerEditSlotVue2 = {
302
338
  }
303
339
 
304
340
  this.setFormItem(value, event);
341
+ },
342
+ setFormItem: function setFormItem(dataItem, event) {
343
+ this.currentFormItem = dataItem;
344
+ this.$emit('formitemchange', event);
305
345
  }
306
346
  }
307
347
  };
@@ -10,6 +10,10 @@ import { Slot, SchedulerSlotMouseEvent, SchedulerSlotKeyboardEvent, SchedulerSlo
10
10
  export interface SchedulerSlotProps extends Slot {
11
11
  /** @hidden */
12
12
  refTo: any;
13
+ /** @hidden */
14
+ navDay?: boolean;
15
+ /** @hidden */
16
+ itemsPerSlot?: number;
13
17
  /**
14
18
  * Specifies the `id` of the wrapping element of the SchedulerSlot.
15
19
  */
@@ -21,7 +21,11 @@ var gh = allVue.h;
21
21
  var inject = allVue.inject;
22
22
  import { getDefaultSlots } from '@progress/kendo-vue-common';
23
23
  import { COLLECTION_ACTION, formatEventTime } from '../utils';
24
- import { provideIntlService } from '@progress/kendo-vue-intl'; // tslint:enable:max-line-length
24
+ import { provideIntlService } from '@progress/kendo-vue-intl';
25
+ import { ShowMoreItemsButton } from '../components/ShowMoreItemsButton';
26
+ var DAY_FORMAT = {
27
+ skeleton: 'dd'
28
+ }; // tslint:enable:max-line-length
25
29
 
26
30
  var SchedulerSlotVue2 = {
27
31
  name: 'KendoSchedulerSlot',
@@ -46,7 +50,9 @@ var SchedulerSlotVue2 = {
46
50
  end: Date,
47
51
  zonedStart: Object,
48
52
  zonedEnd: Object,
49
- isAllDay: Boolean
53
+ isAllDay: Boolean,
54
+ navDay: Boolean,
55
+ itemsPerSlot: Number
50
56
  },
51
57
  computed: {
52
58
  currentTabIndex: function currentTabIndex() {
@@ -165,9 +171,19 @@ var SchedulerSlotVue2 = {
165
171
  "data-slot-group": this.$props.group.index,
166
172
  "data-slot-range": this.$props.range.index,
167
173
  "data-slot-index": this.$props.index
168
- }, [defaultSlot]);
174
+ }, [this.navDay && h("span", {
175
+ "class": "k-link k-nav-day"
176
+ }, [this.intl.formatDate(new Date(this.end.getTime() - (this.end.getTime() - this.start.getTime()) / 2), DAY_FORMAT)]), this.itemsPerSlot < this.items.length && h(ShowMoreItemsButton, {
177
+ onClick: this.handleShowMoreItemsClick,
178
+ on: this.v3 ? undefined : {
179
+ "click": this.handleShowMoreItemsClick
180
+ }
181
+ }), defaultSlot]);
169
182
  },
170
183
  methods: {
184
+ handleShowMoreItemsClick: function handleShowMoreItemsClick(event) {
185
+ this.$emit('showmoreitems', event);
186
+ },
171
187
  handleFocus: function handleFocus(event) {
172
188
  this.$emit('focus', {
173
189
  event: event,
@@ -22,7 +22,7 @@ export interface SchedulerViewSlotProps extends SchedulerSlotProps {
22
22
  *
23
23
  * The default Component is: [SchedulerSlot]({% slug api_scheduler_schedulerslot %}).
24
24
  */
25
- renderSlot?: any;
25
+ slotRender?: any;
26
26
  /**
27
27
  * Set to `false` will render the `slot` as is, without expanding depending on the `items` inside it.
28
28
  *