@progress/kendo-vue-scheduler 3.2.7 → 3.2.9-dev.202205051307

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 (80) hide show
  1. package/dist/cdn/js/kendo-vue-scheduler.js +2 -2
  2. package/dist/es/Scheduler.d.ts +14 -0
  3. package/dist/es/Scheduler.js +24 -4
  4. package/dist/es/components/{CurrentTimeMarket.d.ts → CurrentTimeMarker.d.ts} +0 -0
  5. package/dist/es/components/CurrentTimeMarker.js +160 -0
  6. package/dist/es/components/CurrentTimeMarkerArrow.d.ts +43 -0
  7. package/dist/es/components/CurrentTimeMarkerArrow.js +135 -0
  8. package/dist/es/components/DateHeaderCell.js +15 -2
  9. package/dist/es/components/SchedulerForm.d.ts +0 -18
  10. package/dist/es/components/SchedulerForm.js +73 -174
  11. package/dist/es/components/TimeHeaderCell.js +15 -2
  12. package/dist/es/items/SchedulerEditItem.js +120 -91
  13. package/dist/es/items/SchedulerViewItem.js +9 -6
  14. package/dist/es/main.d.ts +2 -1
  15. package/dist/es/main.js +2 -1
  16. package/dist/es/package-metadata.js +1 -1
  17. package/dist/es/slots/SchedulerEditSlot.js +60 -45
  18. package/dist/es/slots/SchedulerSlot.d.ts +4 -0
  19. package/dist/es/slots/SchedulerViewSlot.d.ts +0 -1
  20. package/dist/es/slots/SchedulerViewSlot.js +12 -4
  21. package/dist/es/views/agenda/AgendaViewBody.js +0 -1
  22. package/dist/es/views/common/VerticalResourceIterator.js +10 -2
  23. package/dist/es/views/day/DayView.js +12 -1
  24. package/dist/es/views/day/DayViewAllDaySlots.d.ts +1 -0
  25. package/dist/es/views/day/DayViewAllDaySlots.js +1 -0
  26. package/dist/es/views/day/DayViewMiddleRow.d.ts +1 -0
  27. package/dist/es/views/day/DayViewMiddleRow.js +1 -0
  28. package/dist/es/views/day/DayViewVerticalSlotsRow.d.ts +3 -0
  29. package/dist/es/views/day/DayViewVerticalSlotsRow.js +25 -5
  30. package/dist/es/views/day/MultiDayView.js +37 -23
  31. package/dist/es/views/month/MonthView.js +9 -0
  32. package/dist/es/views/month/MonthViewBody.d.ts +1 -0
  33. package/dist/es/views/month/MonthViewBody.js +2 -1
  34. package/dist/es/views/time/MultiDayTimelineView.js +24 -5
  35. package/dist/es/views/time/TimelineView.js +12 -1
  36. package/dist/es/views/time/TimelineViewBody.d.ts +2 -0
  37. package/dist/es/views/time/TimelineViewBody.js +19 -7
  38. package/dist/es/views/week/WeekView.js +12 -1
  39. package/dist/es/views/week/WorkWeekView.js +15 -1
  40. package/dist/npm/Scheduler.d.ts +14 -0
  41. package/dist/npm/Scheduler.js +24 -4
  42. package/dist/npm/components/{CurrentTimeMarket.d.ts → CurrentTimeMarker.d.ts} +0 -0
  43. package/dist/npm/components/CurrentTimeMarker.js +171 -0
  44. package/dist/npm/components/CurrentTimeMarkerArrow.d.ts +43 -0
  45. package/dist/npm/components/CurrentTimeMarkerArrow.js +147 -0
  46. package/dist/npm/components/DateHeaderCell.js +16 -2
  47. package/dist/npm/components/SchedulerForm.d.ts +0 -18
  48. package/dist/npm/components/SchedulerForm.js +74 -174
  49. package/dist/npm/components/TimeHeaderCell.js +16 -2
  50. package/dist/npm/items/SchedulerEditItem.js +119 -90
  51. package/dist/npm/items/SchedulerViewItem.js +9 -6
  52. package/dist/npm/main.d.ts +2 -1
  53. package/dist/npm/main.js +3 -1
  54. package/dist/npm/package-metadata.js +1 -1
  55. package/dist/npm/slots/SchedulerEditSlot.js +59 -44
  56. package/dist/npm/slots/SchedulerSlot.d.ts +4 -0
  57. package/dist/npm/slots/SchedulerViewSlot.d.ts +0 -1
  58. package/dist/npm/slots/SchedulerViewSlot.js +12 -4
  59. package/dist/npm/views/agenda/AgendaViewBody.js +0 -1
  60. package/dist/npm/views/common/VerticalResourceIterator.js +10 -2
  61. package/dist/npm/views/day/DayView.js +12 -1
  62. package/dist/npm/views/day/DayViewAllDaySlots.d.ts +1 -0
  63. package/dist/npm/views/day/DayViewAllDaySlots.js +1 -0
  64. package/dist/npm/views/day/DayViewMiddleRow.d.ts +1 -0
  65. package/dist/npm/views/day/DayViewMiddleRow.js +1 -0
  66. package/dist/npm/views/day/DayViewVerticalSlotsRow.d.ts +3 -0
  67. package/dist/npm/views/day/DayViewVerticalSlotsRow.js +28 -6
  68. package/dist/npm/views/day/MultiDayView.js +38 -23
  69. package/dist/npm/views/month/MonthView.js +9 -0
  70. package/dist/npm/views/month/MonthViewBody.d.ts +1 -0
  71. package/dist/npm/views/month/MonthViewBody.js +2 -1
  72. package/dist/npm/views/time/MultiDayTimelineView.js +24 -5
  73. package/dist/npm/views/time/TimelineView.js +12 -1
  74. package/dist/npm/views/time/TimelineViewBody.d.ts +2 -0
  75. package/dist/npm/views/time/TimelineViewBody.js +20 -7
  76. package/dist/npm/views/week/WeekView.js +12 -1
  77. package/dist/npm/views/week/WorkWeekView.js +15 -1
  78. package/package.json +12 -12
  79. package/dist/es/components/CurrentTimeMarket.js +0 -187
  80. package/dist/npm/components/CurrentTimeMarket.js +0 -199
@@ -61,8 +61,11 @@ var MonthViewVue2 = {
61
61
  type: String,
62
62
  default: '{0:Y}'
63
63
  },
64
+ dateHeaderCell: [String, Function, Object],
64
65
  slotRender: [String, Function, Object],
66
+ viewSlot: [String, Function, Object],
65
67
  item: [String, Function, Object],
68
+ viewItem: [String, Function, Object],
66
69
  editable: {
67
70
  type: [Boolean, Object],
68
71
  default: false
@@ -158,11 +161,13 @@ var MonthViewVue2 = {
158
161
  attrs: _this.v3 ? undefined : {
159
162
  editable: _this.$props.editable,
160
163
  slotRender: _this.$props.slotRender,
164
+ viewSlot: _this.$props.viewSlot,
161
165
  monthSlots: monthSlots,
162
166
  rangeIndex: rangeIndex,
163
167
  itemsPerSlot: itemsPerSlot
164
168
  },
165
169
  slotRender: _this.$props.slotRender,
170
+ viewSlot: _this.$props.viewSlot,
166
171
  monthSlots: monthSlots,
167
172
  rangeIndex: rangeIndex,
168
173
  itemsPerSlot: itemsPerSlot,
@@ -176,11 +181,13 @@ var MonthViewVue2 = {
176
181
  attrs: _this.v3 ? undefined : {
177
182
  editable: _this.$props.editable,
178
183
  slotRender: _this.$props.slotRender,
184
+ viewSlot: _this.$props.viewSlot,
179
185
  monthSlots: monthSlots,
180
186
  rangeIndex: rangeIndex,
181
187
  itemsPerSlot: itemsPerSlot
182
188
  },
183
189
  slotRender: _this.$props.slotRender,
190
+ viewSlot: _this.$props.viewSlot,
184
191
  monthSlots: monthSlots,
185
192
  rangeIndex: rangeIndex,
186
193
  itemsPerSlot: itemsPerSlot,
@@ -199,6 +206,7 @@ var MonthViewVue2 = {
199
206
  group: this.ks.props.group,
200
207
  more: {
201
208
  slotRender: this.$props.slotRender,
209
+ viewSlot: this.$props.viewSlot,
202
210
  monthSlots: monthSlots,
203
211
  ranges: this.ranges,
204
212
  itemsPerSlot: itemsPerSlot,
@@ -213,6 +221,7 @@ var MonthViewVue2 = {
213
221
  },
214
222
  more: {
215
223
  slotRender: this.$props.slotRender,
224
+ viewSlot: this.$props.viewSlot,
216
225
  monthSlots: monthSlots,
217
226
  ranges: this.ranges,
218
227
  itemsPerSlot: itemsPerSlot,
@@ -12,6 +12,7 @@ export interface MonthViewBodyProps {
12
12
  monthSlots: any[];
13
13
  ranges: any[];
14
14
  slotRender: any;
15
+ viewSlot: any;
15
16
  }
16
17
  /**
17
18
  * @hidden
@@ -14,7 +14,8 @@ var MonthViewBodyVue2 = {
14
14
  itemsPerSlot: Number,
15
15
  monthSlots: Array,
16
16
  ranges: Array,
17
- slotRender: [String, Function, Object]
17
+ slotRender: [String, Function, Object],
18
+ viewSlot: [String, Function, Object]
18
19
  },
19
20
  inject: {
20
21
  ri: {
@@ -111,7 +111,6 @@ var MultiDayTimelineViewVue2 = {
111
111
  type: Number,
112
112
  default: 60
113
113
  },
114
- // showCurrentTime: true // TODO: Phase 2
115
114
  defaultShowWorkHours: {
116
115
  type: Boolean,
117
116
  default: true
@@ -120,8 +119,12 @@ var MultiDayTimelineViewVue2 = {
120
119
  type: Number,
121
120
  default: 100
122
121
  },
122
+ dateHeaderCell: [String, Function, Object],
123
+ timeHeaderCell: [String, Function, Object],
123
124
  slotRender: [String, Function, Object],
125
+ viewSlot: [String, Function, Object],
124
126
  item: [String, Function, Object],
127
+ viewItem: [String, Function, Object],
125
128
  editable: {
126
129
  type: [Boolean, Object],
127
130
  default: false
@@ -355,12 +358,14 @@ var MultiDayTimelineViewVue2 = {
355
358
  attrs: _this2.v3 ? undefined : {
356
359
  editable: _this2.$props.editable,
357
360
  slotRender: _this2.$props.slotRender,
361
+ viewSlot: _this2.$props.viewSlot,
358
362
  ranges: _this2.ranges,
359
363
  workDayStart: workDayStart,
360
364
  workDayEnd: workDayEnd,
361
365
  timelineSlots: timelineSlots
362
366
  },
363
367
  slotRender: _this2.$props.slotRender,
368
+ viewSlot: _this2.$props.viewSlot,
364
369
  ranges: _this2.ranges,
365
370
  workDayStart: workDayStart,
366
371
  workDayEnd: workDayEnd,
@@ -375,12 +380,14 @@ var MultiDayTimelineViewVue2 = {
375
380
  attrs: _this2.v3 ? undefined : {
376
381
  editable: _this2.$props.editable,
377
382
  slotRender: _this2.$props.slotRender,
383
+ viewSlot: _this2.$props.viewSlot,
378
384
  ranges: _this2.ranges,
379
385
  workDayStart: workDayStart,
380
386
  workDayEnd: workDayEnd,
381
387
  timelineSlots: timelineSlots
382
388
  },
383
389
  slotRender: _this2.$props.slotRender,
390
+ viewSlot: _this2.$props.viewSlot,
384
391
  ranges: _this2.ranges,
385
392
  workDayStart: workDayStart,
386
393
  workDayEnd: workDayEnd,
@@ -402,7 +409,9 @@ var MultiDayTimelineViewVue2 = {
402
409
  workDayStart: workDayStart,
403
410
  workDayEnd: workDayEnd,
404
411
  timelineSlots: timelineSlots,
405
- slotRender: _this2.$props.slotRender
412
+ slotRender: _this2.$props.slotRender,
413
+ viewSlot: _this2.$props.viewSlot,
414
+ currentTimeMarker: _this2.$props.currentTimeMarker
406
415
  }
407
416
  },
408
417
  wrapGroup: true,
@@ -417,7 +426,9 @@ var MultiDayTimelineViewVue2 = {
417
426
  workDayStart: workDayStart,
418
427
  workDayEnd: workDayEnd,
419
428
  timelineSlots: timelineSlots,
420
- slotRender: _this2.$props.slotRender
429
+ slotRender: _this2.$props.slotRender,
430
+ viewSlot: _this2.$props.viewSlot,
431
+ currentTimeMarker: _this2.$props.currentTimeMarker
421
432
  }
422
433
  }), items.sort(orderSort).map(function (item) {
423
434
  return h(SchedulerEditItem, {
@@ -544,12 +555,14 @@ var MultiDayTimelineViewVue2 = {
544
555
  attrs: _this2.v3 ? undefined : {
545
556
  editable: _this2.$props.editable,
546
557
  slotRender: _this2.$props.slotRender,
558
+ viewSlot: _this2.$props.viewSlot,
547
559
  ranges: _this2.ranges,
548
560
  workDayStart: workDayStart,
549
561
  workDayEnd: workDayEnd,
550
562
  timelineSlots: timelineSlots
551
563
  },
552
564
  slotRender: _this2.$props.slotRender,
565
+ viewSlot: _this2.$props.viewSlot,
553
566
  ranges: _this2.ranges,
554
567
  workDayStart: workDayStart,
555
568
  workDayEnd: workDayEnd,
@@ -564,12 +577,14 @@ var MultiDayTimelineViewVue2 = {
564
577
  attrs: _this2.v3 ? undefined : {
565
578
  editable: _this2.$props.editable,
566
579
  slotRender: _this2.$props.slotRender,
580
+ viewSlot: _this2.$props.viewSlot,
567
581
  ranges: _this2.ranges,
568
582
  workDayStart: workDayStart,
569
583
  workDayEnd: workDayEnd,
570
584
  timelineSlots: timelineSlots
571
585
  },
572
586
  slotRender: _this2.$props.slotRender,
587
+ viewSlot: _this2.$props.viewSlot,
573
588
  ranges: _this2.ranges,
574
589
  workDayStart: workDayStart,
575
590
  workDayEnd: workDayEnd,
@@ -590,7 +605,9 @@ var MultiDayTimelineViewVue2 = {
590
605
  workDayStart: workDayStart,
591
606
  workDayEnd: workDayEnd,
592
607
  timelineSlots: timelineSlots,
593
- slotRender: _this2.$props.slotRender
608
+ slotRender: _this2.$props.slotRender,
609
+ viewSlot: _this2.$props.viewSlot,
610
+ currentTimeMarker: _this2.$props.currentTimeMarker
594
611
  }
595
612
  },
596
613
  wrapGroup: true,
@@ -605,7 +622,9 @@ var MultiDayTimelineViewVue2 = {
605
622
  workDayStart: workDayStart,
606
623
  workDayEnd: workDayEnd,
607
624
  timelineSlots: timelineSlots,
608
- slotRender: _this2.$props.slotRender
625
+ slotRender: _this2.$props.slotRender,
626
+ viewSlot: _this2.$props.viewSlot,
627
+ currentTimeMarker: _this2.$props.currentTimeMarker
609
628
  }
610
629
  }), items.sort(orderSort).map(function (item) {
611
630
  return h(SchedulerEditItem, {
@@ -83,7 +83,6 @@ var TimelineViewVue2 = {
83
83
  type: Number,
84
84
  default: 60
85
85
  },
86
- // showCurrentTime: true // TODO: Phase 2
87
86
  defaultShowWorkHours: {
88
87
  type: Boolean,
89
88
  default: true
@@ -92,8 +91,12 @@ var TimelineViewVue2 = {
92
91
  type: Number,
93
92
  default: 100
94
93
  },
94
+ dateHeaderCell: [String, Function, Object],
95
+ timeHeaderCell: [String, Function, Object],
95
96
  slotRender: [String, Function, Object],
97
+ viewSlot: [String, Function, Object],
96
98
  item: [String, Function, Object],
99
+ viewItem: [String, Function, Object],
97
100
  editable: [Object, Boolean]
98
101
  },
99
102
  // @ts-ignore
@@ -127,8 +130,12 @@ var TimelineViewVue2 = {
127
130
  workDayEnd: this.$props.workDayEnd,
128
131
  workWeekStart: this.$props.workWeekStart,
129
132
  workWeekEnd: this.$props.workWeekEnd,
133
+ timeHeaderCell: this.$props.timeHeaderCell,
134
+ dateHeaderCell: this.$props.dateHeaderCell,
130
135
  slotRender: this.$props.slotRender,
136
+ viewSlot: this.$props.viewSlot,
131
137
  item: this.$props.item,
138
+ viewItem: this.$props.viewItem,
132
139
  editable: this.$props.editable
133
140
  },
134
141
  dateRange: this.$props.dateRange,
@@ -148,8 +155,12 @@ var TimelineViewVue2 = {
148
155
  workDayEnd: this.$props.workDayEnd,
149
156
  workWeekStart: this.$props.workWeekStart,
150
157
  workWeekEnd: this.$props.workWeekEnd,
158
+ timeHeaderCell: this.$props.timeHeaderCell,
159
+ dateHeaderCell: this.$props.dateHeaderCell,
151
160
  slotRender: this.$props.slotRender,
161
+ viewSlot: this.$props.viewSlot,
152
162
  item: this.$props.item,
163
+ viewItem: this.$props.viewItem,
153
164
  editable: this.$props.editable,
154
165
  onDataaction: this.handleDataAction,
155
166
  on: this.v3 ? undefined : {
@@ -5,12 +5,14 @@ declare type DefaultMethods<V> = {
5
5
  };
6
6
  /** @hidden */
7
7
  export interface TimelineViewBodyProps {
8
+ currentTimeMarker: boolean;
8
9
  groupIndex: number;
9
10
  timelineSlots: any[];
10
11
  ranges: any[];
11
12
  workDayStart: any;
12
13
  workDayEnd: any;
13
14
  slotRender: any;
15
+ viewSlot: any;
14
16
  editable?: boolean | object;
15
17
  }
16
18
  /**
@@ -4,18 +4,24 @@ var allVue = Vue;
4
4
  var gh = allVue.h;
5
5
  var inject = allVue.inject;
6
6
  import { SchedulerEditSlot } from '../../slots/SchedulerEditSlot';
7
- import { isInTimeRange } from '../../utils'; // tslint:enable:max-line-length
7
+ import { isInTimeRange, intersects, first, last } from '../../utils';
8
+ import { CurrentTimeMarker } from '../../components/CurrentTimeMarker'; // tslint:enable:max-line-length
8
9
 
9
10
  var TimelineViewBodyVue2 = {
10
11
  name: 'KendoTimelineViewBody',
11
12
  props: {
13
+ currentTimeMarker: {
14
+ type: Boolean,
15
+ default: true
16
+ },
12
17
  groupIndex: Number,
13
18
  timelineSlots: Array,
14
19
  ranges: Array,
15
20
  workDayStart: Date,
16
21
  workDayEnd: Date,
17
22
  editable: [Object, Boolean],
18
- slotRender: [String, Function, Object]
23
+ slotRender: [String, Function, Object],
24
+ viewSlot: [String, Function, Object]
19
25
  },
20
26
  inject: {
21
27
  ri: {
@@ -48,11 +54,10 @@ var TimelineViewBodyVue2 = {
48
54
  }).map(function (slot, slotIndex, filtered) {
49
55
  return h(SchedulerEditSlot, {
50
56
  key: slot.start.getTime() + ":" + slot.group.index,
51
- slot: that.$props.slot,
52
- viewSlot: that.$props.viewSlot,
57
+ slotRender: that.$props.slotRender,
53
58
  attrs: this.v3 ? undefined : {
54
- viewSlot: that.$props.viewSlot,
55
59
  slotRender: that.$props.slotRender,
60
+ viewSlot: that.$props.viewSlot,
56
61
  index: slot.index,
57
62
  start: slot.start,
58
63
  end: slot.end,
@@ -69,7 +74,7 @@ var TimelineViewBodyVue2 = {
69
74
  expandable: true,
70
75
  editable: editable
71
76
  },
72
- slotRender: that.$props.slotRender,
77
+ viewSlot: that.$props.viewSlot,
73
78
  index: slot.index,
74
79
  start: slot.start,
75
80
  end: slot.end,
@@ -91,7 +96,14 @@ var TimelineViewBodyVue2 = {
91
96
  editable: editable
92
97
  });
93
98
  }, true);
94
- }, this)]);
99
+ }, this), this.$props.currentTimeMarker && intersects(first(ranges).start, last(ranges).end, new Date(), new Date(), true) && h(CurrentTimeMarker, {
100
+ groupIndex: groupIndex,
101
+ attrs: this.v3 ? undefined : {
102
+ groupIndex: groupIndex,
103
+ vertical: true
104
+ },
105
+ vertical: true
106
+ })]);
95
107
  },
96
108
  methods: {
97
109
  handleDataAction: function handleDataAction(action) {
@@ -84,9 +84,12 @@ var WeekViewVue2 = {
84
84
  type: Boolean,
85
85
  default: true
86
86
  },
87
- timeHeaderCell: String,
87
+ dateHeaderCell: [String, Function, Object],
88
+ timeHeaderCell: [String, Function, Object],
88
89
  slotRender: [String, Function, Object],
90
+ viewSlot: [String, Function, Object],
89
91
  item: [String, Function, Object],
92
+ viewItem: [String, Function, Object],
90
93
  editable: {
91
94
  type: [Boolean, Object],
92
95
  default: false
@@ -131,9 +134,13 @@ var WeekViewVue2 = {
131
134
  workWeekStart: this.$props.workWeekStart,
132
135
  workWeekEnd: this.$props.workWeekEnd,
133
136
  defaultShowWorkHours: this.$props.defaultShowWorkHours,
137
+ dateHeaderCell: this.$props.dateHeaderCell,
134
138
  timeHeaderCell: this.$props.timeHeaderCell,
135
139
  slotRender: this.$props.slotRender,
140
+ viewSlot: this.$props.viewSlot,
136
141
  item: this.$props.item,
142
+ slotItem: this.$props.slotItem,
143
+ viewItem: this.$props.viewItem,
137
144
  editable: this.$props.editable
138
145
  },
139
146
  dateRange: this.$props.dateRange,
@@ -153,9 +160,13 @@ var WeekViewVue2 = {
153
160
  workWeekStart: this.$props.workWeekStart,
154
161
  workWeekEnd: this.$props.workWeekEnd,
155
162
  defaultShowWorkHours: this.$props.defaultShowWorkHours,
163
+ dateHeaderCell: this.$props.dateHeaderCell,
156
164
  timeHeaderCell: this.$props.timeHeaderCell,
157
165
  slotRender: this.$props.slotRender,
166
+ viewSlot: this.$props.viewSlot,
158
167
  item: this.$props.item,
168
+ slotItem: this.$props.slotItem,
169
+ viewItem: this.$props.viewItem,
159
170
  editable: this.$props.editable,
160
171
  onDataaction: this.handleDataAction,
161
172
  on: this.v3 ? undefined : {
@@ -74,8 +74,12 @@ var WorkWeekViewVue2 = {
74
74
  type: Boolean,
75
75
  default: true
76
76
  },
77
+ dateHeaderCell: [String, Function, Object],
78
+ timeHeaderCell: [String, Function, Object],
77
79
  slotRender: [String, Function, Object],
80
+ viewSlot: [String, Function, Object],
78
81
  item: [String, Function, Object],
82
+ viewItem: [String, Function, Object],
79
83
  editable: {
80
84
  type: [Boolean, Object],
81
85
  default: false
@@ -117,8 +121,13 @@ var WorkWeekViewVue2 = {
117
121
  title: title,
118
122
  step: DAYS_IN_WEEK_COUNT,
119
123
  slotRender: this.$props.slotRender,
124
+ viewSlot: this.$props.viewSlot,
125
+ slotItem: this.$props.slotItem,
120
126
  item: this.$props.item,
121
- editable: this.$props.editable
127
+ viewItem: this.$props.viewItem,
128
+ editable: this.$props.editable,
129
+ dateHeaderCell: this.$props.dateHeaderCell,
130
+ timeHeaderCell: this.$props.timeHeaderCell
122
131
  },
123
132
  dateRange: this.$props.dateRange,
124
133
  numberOfDays: numberOfDays,
@@ -130,8 +139,13 @@ var WorkWeekViewVue2 = {
130
139
  title: title,
131
140
  step: DAYS_IN_WEEK_COUNT,
132
141
  slotRender: this.$props.slotRender,
142
+ viewSlot: this.$props.viewSlot,
143
+ slotItem: this.$props.slotItem,
133
144
  item: this.$props.item,
145
+ viewItem: this.$props.viewItem,
134
146
  editable: this.$props.editable,
147
+ dateHeaderCell: this.$props.dateHeaderCell,
148
+ timeHeaderCell: this.$props.timeHeaderCell,
135
149
  onDataaction: this.handleDataAction,
136
150
  on: this.v3 ? undefined : {
137
151
  "dataaction": this.handleDataAction
@@ -71,6 +71,16 @@ export interface SchedulerProps {
71
71
  * For more information on customizing the scheduler tasks, refer to the [Task Customization]({% slug overview_tasks_scheduler %}) article.
72
72
  */
73
73
  task?: any;
74
+ /**
75
+ *
76
+ * Represents component based on the DateHeaderCellProps.
77
+ */
78
+ dateHeaderCell?: any;
79
+ /**
80
+ *
81
+ * Represents component based on the TimeHeaderCellProps.
82
+ */
83
+ timeHeaderCell?: any;
74
84
  /**
75
85
  * Overrides the default viewTask. Specifying the `viewTask` property of a specific view will override this property.
76
86
  * Currently, the `viewTask` is being used in the [AgendaView]({% slug agenda_view_scheduler %}) only.
@@ -131,6 +141,10 @@ export interface SchedulerProps {
131
141
  editSlot?: any;
132
142
  /** @hidden */
133
143
  form?: any;
144
+ /** @hidden */
145
+ dialogProps?: any;
146
+ /** @hidden */
147
+ formProps?: any;
134
148
  /**
135
149
  * Sets the currently visible views.
136
150
  */
@@ -125,7 +125,9 @@ var SchedulerVue2 = {
125
125
  },
126
126
  defaultDate: {
127
127
  type: Date,
128
- default: new Date()
128
+ default: function _default() {
129
+ return new Date();
130
+ }
129
131
  },
130
132
  validator: {
131
133
  type: Function,
@@ -142,8 +144,15 @@ var SchedulerVue2 = {
142
144
  header: [String, Function, Object],
143
145
  footer: [String, Function, Object],
144
146
  slotRender: [String, Function, Object],
147
+ viewSlot: [String, Function, Object],
145
148
  item: [String, Function, Object],
146
- task: [String, Function, Object]
149
+ viewItem: [String, Function, Object],
150
+ task: [String, Function, Object],
151
+ form: [String, Function, Object],
152
+ dialogProps: Object,
153
+ formProps: Object,
154
+ dateHeaderCell: [String, Function, Object],
155
+ timeHeaderCell: [String, Function, Object]
147
156
  },
148
157
  computed: {
149
158
  wrapperClassName: function wrapperClassName() {
@@ -207,7 +216,7 @@ var SchedulerVue2 = {
207
216
  orientation: this.$props.group && this.$props.group.orientation ? this.$props.group.orientation : 'horizontal',
208
217
  dateFormat: dateFormat,
209
218
  shortDateFormat: shortDateFormat,
210
- scheduler: null,
219
+ scheduler: this,
211
220
  dataItems: this.dataItems
212
221
  }
213
222
  };
@@ -251,8 +260,15 @@ var SchedulerVue2 = {
251
260
  var header = kendo_vue_common_1.templateRendering.call(this, view.header || this.$props.header, kendo_vue_common_1.getListeners.call(this));
252
261
  var footer = kendo_vue_common_1.templateRendering.call(this, view.footer || this.$props.footer, kendo_vue_common_1.getListeners.call(this));
253
262
  var slotRender = kendo_vue_common_1.templateRendering.call(this, view.slot || this.$props.slotRender, {});
263
+ var viewSlot = kendo_vue_common_1.templateRendering.call(this, view.viewSlot || this.$props.viewSlot, {});
254
264
  var item = kendo_vue_common_1.templateRendering.call(this, view.item || this.$props.item, {});
265
+ var viewItem = kendo_vue_common_1.templateRendering.call(this, view.viewItem || this.$props.viewItem, {});
255
266
  var task = kendo_vue_common_1.templateRendering.call(this, view.task || this.$props.task, {});
267
+ var dateHeaderCell = kendo_vue_common_1.templateRendering.call(this, view.dateHeaderCell || this.$props.dateHeaderCell, {});
268
+ var timeHeaderCell = kendo_vue_common_1.templateRendering.call(this, view.timeHeaderCell || this.$props.timeHeaderCell, {});
269
+ this.ks.form = kendo_vue_common_1.templateRendering.call(this, view.form || this.$props.form, {});
270
+ this.ks.dialogProps = view.dialogProps || this.$props.dialogProps;
271
+ this.ks.formProps = view.formProps || this.$props.formProps;
256
272
  var ViewSelector = SchedulerViewSelector_1.SchedulerViewSelector;
257
273
  var viewComponent = this.getViewComponentByName(this.ks.activeViewName || view.name);
258
274
 
@@ -263,8 +279,12 @@ var SchedulerVue2 = {
263
279
  defaultDate: undefined,
264
280
  dateRange: this.ks.dateRange,
265
281
  slotRender: slotRender,
282
+ viewSlot: viewSlot,
266
283
  item: item,
267
- task: task
284
+ viewItem: viewItem,
285
+ task: task,
286
+ dateHeaderCell: dateHeaderCell,
287
+ timeHeaderCell: timeHeaderCell
268
288
  });
269
289
 
270
290
  var headerRender;
@@ -0,0 +1,171 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CurrentTimeMarkerVue2 = exports.CurrentTimeMarker = void 0; // @ts-ignore
7
+
8
+ var Vue = require("vue");
9
+
10
+ var allVue = Vue;
11
+ var gh = allVue.h;
12
+
13
+ var kendo_date_math_1 = require("@progress/kendo-date-math"); // import { useSchedulerElementContext, useSchedulerPropsContext, useSchedulerViewSlotsContext } from '../context';
14
+
15
+
16
+ var utils_1 = require("../utils");
17
+
18
+ var utils_2 = require("../views/common/utils");
19
+
20
+ var combineWidths = function combineWidths(slots) {
21
+ var result = 0;
22
+ slots.forEach(function (slot) {
23
+ if (slot) {
24
+ var rect = utils_2.getRect(slot.$el);
25
+ result += rect.width;
26
+ }
27
+ });
28
+ return result;
29
+ };
30
+
31
+ var combineHeights = function combineHeights(slots) {
32
+ var result = 0;
33
+ slots.forEach(function (slot) {
34
+ if (slot) {
35
+ var rect = utils_2.getRect(slot.$el);
36
+ result += rect.height;
37
+ }
38
+ });
39
+ return result;
40
+ };
41
+
42
+ var setTime = function setTime(origin, candidate) {
43
+ var date = kendo_date_math_1.cloneDate(origin);
44
+ date.setHours(candidate.getHours(), candidate.getMinutes(), candidate.getSeconds(), candidate.getMilliseconds());
45
+ return date;
46
+ }; // tslint:enable:max-line-length
47
+
48
+
49
+ var CurrentTimeMarkerVue2 = {
50
+ name: 'KendoCurrentTimeMarker',
51
+ props: {
52
+ updateInterval: {
53
+ type: Number,
54
+ default: 60000
55
+ },
56
+ groupIndex: Number,
57
+ vertical: Boolean,
58
+ attachArrow: Object
59
+ },
60
+ inject: {
61
+ ks: {
62
+ default: null
63
+ },
64
+ bv: {
65
+ default: null
66
+ }
67
+ },
68
+ created: function created() {
69
+ this.interval = undefined;
70
+ this.arrowRef = null;
71
+ this.observer = null;
72
+ this.line = null;
73
+ },
74
+ data: function data() {
75
+ return {
76
+ show: false
77
+ };
78
+ },
79
+ mounted: function mounted() {
80
+ this.line = this.$el;
81
+ var that = this;
82
+ this.$nextTick(function () {
83
+ that.position();
84
+ });
85
+
86
+ if (!this.ks.scheduler || !this.ks.scheduler.$el || !window) {
87
+ return;
88
+ }
89
+
90
+ clearInterval(this.interval);
91
+ this.interval = window.setInterval(this.position, this.updateInterval);
92
+ this.observer = new window.ResizeObserver(this.position);
93
+ this.observer.observe(this.ks.scheduler.$el);
94
+ },
95
+ destroyed: !!gh ? undefined : function () {
96
+ if (this.observer) {
97
+ this.observer.disconnect();
98
+ }
99
+ },
100
+ // @ts-ignore
101
+ unmounted: function unmounted() {
102
+ if (this.observer) {
103
+ this.observer.disconnect();
104
+ }
105
+ },
106
+ // @ts-ignore
107
+ setup: !gh ? undefined : function () {
108
+ var v3 = !!gh;
109
+ return {
110
+ v3: v3
111
+ };
112
+ },
113
+ // @ts-ignore
114
+ render: function render(createElement) {
115
+ var _a;
116
+
117
+ var h = gh || createElement; // const dir = useDir(line, schedulerProps.rtl === true ? 'rtl' : undefined);
118
+
119
+ return h("div", {
120
+ "class": "k-current-time",
121
+ style: (_a = {
122
+ transform: this.$props.vertical ? 'translateX(-50%)' : 'translateY(-50%)'
123
+ }, _a[this.$props.vertical ? 'width' : 'height'] = '1px', _a.visibility = !this.show ? 'hidden' : undefined, _a)
124
+ });
125
+ },
126
+ methods: {
127
+ position: function position() {
128
+ var _this = this;
129
+
130
+ if (!this.bv.slots) {
131
+ return;
132
+ }
133
+
134
+ var sameTimeSlots = this.bv.slots.filter(function (s) {
135
+ return (_this.$props.groupIndex === undefined || _this.$props.groupIndex === null || s.group.index === _this.$props.groupIndex) && (_this.$props.vertical ? utils_1.intersects(new Date(), new Date(), s.start, s.end, true) : utils_1.isInTimeRange(new Date(), s.start, s.end)) && !s.isAllDay;
136
+ });
137
+
138
+ if (sameTimeSlots && sameTimeSlots.length && this.line) {
139
+ var firstSlot = utils_1.first(sameTimeSlots);
140
+
141
+ if (!firstSlot) {
142
+ return;
143
+ }
144
+
145
+ var size = this.$props.vertical ? combineHeights(sameTimeSlots) : combineWidths(sameTimeSlots);
146
+ var rect = utils_2.getRect(firstSlot.$el);
147
+ var arrowRect = utils_2.getRect(this.arrowRef);
148
+ var pxPerMillisecond = (this.$props.vertical ? rect.width : rect.height) / (firstSlot.end.getTime() - firstSlot.start.getTime());
149
+ var offset = (Date.now() - setTime(new Date(), firstSlot.start).getTime()) * pxPerMillisecond;
150
+ var rtl = this.$props.dir === 'rtl';
151
+ var top_1 = this.$props.vertical ? rect.top : rect.top + offset - arrowRect.height / 2;
152
+ var horizontalDimension = rtl ? 'right' : 'left';
153
+ var horizontalMeasure = this.$props.vertical ? rect[horizontalDimension] + offset - arrowRect.width / 2 : rect[horizontalDimension]; // if (this.$props.vertical) {
154
+ // this.arrowRef.style[horizontalDimension] = `${horizontalMeasure}px`;
155
+ // } else {
156
+ // this.arrowRef.style.top = `${top}px`;
157
+ // }
158
+
159
+ this.line.style[horizontalDimension] = horizontalMeasure + "px";
160
+ this.line.style.top = top_1 + "px";
161
+ this.line.style[this.$props.vertical ? 'height' : 'width'] = size - 1 + "px";
162
+ this.show = true;
163
+ } else {
164
+ this.show = false;
165
+ }
166
+ }
167
+ }
168
+ };
169
+ exports.CurrentTimeMarkerVue2 = CurrentTimeMarkerVue2;
170
+ var CurrentTimeMarker = CurrentTimeMarkerVue2;
171
+ exports.CurrentTimeMarker = CurrentTimeMarker;