@progress/kendo-vue-scheduler 3.2.8-dev.202205030909 → 3.2.9

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 (78) 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 +21 -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/SchedulerViewItem.js +9 -6
  13. package/dist/es/main.d.ts +2 -1
  14. package/dist/es/main.js +2 -1
  15. package/dist/es/package-metadata.js +1 -1
  16. package/dist/es/slots/SchedulerEditSlot.js +60 -45
  17. package/dist/es/slots/SchedulerSlot.d.ts +4 -0
  18. package/dist/es/slots/SchedulerViewSlot.d.ts +0 -1
  19. package/dist/es/slots/SchedulerViewSlot.js +12 -4
  20. package/dist/es/views/agenda/AgendaViewBody.js +0 -1
  21. package/dist/es/views/common/VerticalResourceIterator.js +10 -2
  22. package/dist/es/views/day/DayView.js +9 -1
  23. package/dist/es/views/day/DayViewAllDaySlots.d.ts +1 -0
  24. package/dist/es/views/day/DayViewAllDaySlots.js +1 -0
  25. package/dist/es/views/day/DayViewMiddleRow.d.ts +1 -0
  26. package/dist/es/views/day/DayViewMiddleRow.js +1 -0
  27. package/dist/es/views/day/DayViewVerticalSlotsRow.d.ts +3 -0
  28. package/dist/es/views/day/DayViewVerticalSlotsRow.js +25 -5
  29. package/dist/es/views/day/MultiDayView.js +36 -23
  30. package/dist/es/views/month/MonthView.js +8 -0
  31. package/dist/es/views/month/MonthViewBody.d.ts +1 -0
  32. package/dist/es/views/month/MonthViewBody.js +2 -1
  33. package/dist/es/views/time/MultiDayTimelineView.js +23 -5
  34. package/dist/es/views/time/TimelineView.js +9 -1
  35. package/dist/es/views/time/TimelineViewBody.d.ts +2 -0
  36. package/dist/es/views/time/TimelineViewBody.js +19 -7
  37. package/dist/es/views/week/WeekView.js +9 -1
  38. package/dist/es/views/week/WorkWeekView.js +12 -1
  39. package/dist/npm/Scheduler.d.ts +14 -0
  40. package/dist/npm/Scheduler.js +21 -4
  41. package/dist/npm/components/{CurrentTimeMarket.d.ts → CurrentTimeMarker.d.ts} +0 -0
  42. package/dist/npm/components/CurrentTimeMarker.js +171 -0
  43. package/dist/npm/components/CurrentTimeMarkerArrow.d.ts +43 -0
  44. package/dist/npm/components/CurrentTimeMarkerArrow.js +147 -0
  45. package/dist/npm/components/DateHeaderCell.js +16 -2
  46. package/dist/npm/components/SchedulerForm.d.ts +0 -18
  47. package/dist/npm/components/SchedulerForm.js +74 -174
  48. package/dist/npm/components/TimeHeaderCell.js +16 -2
  49. package/dist/npm/items/SchedulerViewItem.js +9 -6
  50. package/dist/npm/main.d.ts +2 -1
  51. package/dist/npm/main.js +3 -1
  52. package/dist/npm/package-metadata.js +1 -1
  53. package/dist/npm/slots/SchedulerEditSlot.js +59 -44
  54. package/dist/npm/slots/SchedulerSlot.d.ts +4 -0
  55. package/dist/npm/slots/SchedulerViewSlot.d.ts +0 -1
  56. package/dist/npm/slots/SchedulerViewSlot.js +12 -4
  57. package/dist/npm/views/agenda/AgendaViewBody.js +0 -1
  58. package/dist/npm/views/common/VerticalResourceIterator.js +10 -2
  59. package/dist/npm/views/day/DayView.js +9 -1
  60. package/dist/npm/views/day/DayViewAllDaySlots.d.ts +1 -0
  61. package/dist/npm/views/day/DayViewAllDaySlots.js +1 -0
  62. package/dist/npm/views/day/DayViewMiddleRow.d.ts +1 -0
  63. package/dist/npm/views/day/DayViewMiddleRow.js +1 -0
  64. package/dist/npm/views/day/DayViewVerticalSlotsRow.d.ts +3 -0
  65. package/dist/npm/views/day/DayViewVerticalSlotsRow.js +28 -6
  66. package/dist/npm/views/day/MultiDayView.js +37 -23
  67. package/dist/npm/views/month/MonthView.js +8 -0
  68. package/dist/npm/views/month/MonthViewBody.d.ts +1 -0
  69. package/dist/npm/views/month/MonthViewBody.js +2 -1
  70. package/dist/npm/views/time/MultiDayTimelineView.js +23 -5
  71. package/dist/npm/views/time/TimelineView.js +9 -1
  72. package/dist/npm/views/time/TimelineViewBody.d.ts +2 -0
  73. package/dist/npm/views/time/TimelineViewBody.js +20 -7
  74. package/dist/npm/views/week/WeekView.js +9 -1
  75. package/dist/npm/views/week/WorkWeekView.js +12 -1
  76. package/package.json +12 -12
  77. package/dist/es/components/CurrentTimeMarket.js +0 -187
  78. package/dist/npm/components/CurrentTimeMarket.js +0 -199
@@ -13,19 +13,26 @@ var inject = allVue.inject;
13
13
 
14
14
  var SchedulerEditSlot_1 = require("../../slots/SchedulerEditSlot");
15
15
 
16
- var utils_1 = require("../../utils"); // tslint:enable:max-line-length
16
+ var utils_1 = require("../../utils");
17
+
18
+ var CurrentTimeMarker_1 = require("../../components/CurrentTimeMarker"); // tslint:enable:max-line-length
17
19
 
18
20
 
19
21
  var TimelineViewBodyVue2 = {
20
22
  name: 'KendoTimelineViewBody',
21
23
  props: {
24
+ currentTimeMarker: {
25
+ type: Boolean,
26
+ default: true
27
+ },
22
28
  groupIndex: Number,
23
29
  timelineSlots: Array,
24
30
  ranges: Array,
25
31
  workDayStart: Date,
26
32
  workDayEnd: Date,
27
33
  editable: [Object, Boolean],
28
- slotRender: [String, Function, Object]
34
+ slotRender: [String, Function, Object],
35
+ viewSlot: [String, Function, Object]
29
36
  },
30
37
  inject: {
31
38
  ri: {
@@ -58,11 +65,10 @@ var TimelineViewBodyVue2 = {
58
65
  }).map(function (slot, slotIndex, filtered) {
59
66
  return h(SchedulerEditSlot_1.SchedulerEditSlot, {
60
67
  key: slot.start.getTime() + ":" + slot.group.index,
61
- slot: that.$props.slot,
62
- viewSlot: that.$props.viewSlot,
68
+ slotRender: that.$props.slotRender,
63
69
  attrs: this.v3 ? undefined : {
64
- viewSlot: that.$props.viewSlot,
65
70
  slotRender: that.$props.slotRender,
71
+ viewSlot: that.$props.viewSlot,
66
72
  index: slot.index,
67
73
  start: slot.start,
68
74
  end: slot.end,
@@ -79,7 +85,7 @@ var TimelineViewBodyVue2 = {
79
85
  expandable: true,
80
86
  editable: editable
81
87
  },
82
- slotRender: that.$props.slotRender,
88
+ viewSlot: that.$props.viewSlot,
83
89
  index: slot.index,
84
90
  start: slot.start,
85
91
  end: slot.end,
@@ -101,7 +107,14 @@ var TimelineViewBodyVue2 = {
101
107
  editable: editable
102
108
  });
103
109
  }, true);
104
- }, this)]);
110
+ }, this), this.$props.currentTimeMarker && utils_1.intersects(utils_1.first(ranges).start, utils_1.last(ranges).end, new Date(), new Date(), true) && h(CurrentTimeMarker_1.CurrentTimeMarker, {
111
+ groupIndex: groupIndex,
112
+ attrs: this.v3 ? undefined : {
113
+ groupIndex: groupIndex,
114
+ vertical: true
115
+ },
116
+ vertical: true
117
+ })]);
105
118
  },
106
119
  methods: {
107
120
  handleDataAction: function handleDataAction(action) {
@@ -98,8 +98,10 @@ var WeekViewVue2 = {
98
98
  type: Boolean,
99
99
  default: true
100
100
  },
101
- timeHeaderCell: String,
101
+ dateHeaderCell: [String, Function, Object],
102
+ timeHeaderCell: [String, Function, Object],
102
103
  slotRender: [String, Function, Object],
104
+ viewSlot: [String, Function, Object],
103
105
  item: [String, Function, Object],
104
106
  viewItem: [String, Function, Object],
105
107
  editable: {
@@ -146,9 +148,12 @@ var WeekViewVue2 = {
146
148
  workWeekStart: this.$props.workWeekStart,
147
149
  workWeekEnd: this.$props.workWeekEnd,
148
150
  defaultShowWorkHours: this.$props.defaultShowWorkHours,
151
+ dateHeaderCell: this.$props.dateHeaderCell,
149
152
  timeHeaderCell: this.$props.timeHeaderCell,
150
153
  slotRender: this.$props.slotRender,
154
+ viewSlot: this.$props.viewSlot,
151
155
  item: this.$props.item,
156
+ slotItem: this.$props.slotItem,
152
157
  viewItem: this.$props.viewItem,
153
158
  editable: this.$props.editable
154
159
  },
@@ -169,9 +174,12 @@ var WeekViewVue2 = {
169
174
  workWeekStart: this.$props.workWeekStart,
170
175
  workWeekEnd: this.$props.workWeekEnd,
171
176
  defaultShowWorkHours: this.$props.defaultShowWorkHours,
177
+ dateHeaderCell: this.$props.dateHeaderCell,
172
178
  timeHeaderCell: this.$props.timeHeaderCell,
173
179
  slotRender: this.$props.slotRender,
180
+ viewSlot: this.$props.viewSlot,
174
181
  item: this.$props.item,
182
+ slotItem: this.$props.slotItem,
175
183
  viewItem: this.$props.viewItem,
176
184
  editable: this.$props.editable,
177
185
  onDataaction: this.handleDataAction,
@@ -88,7 +88,10 @@ var WorkWeekViewVue2 = {
88
88
  type: Boolean,
89
89
  default: true
90
90
  },
91
+ dateHeaderCell: [String, Function, Object],
92
+ timeHeaderCell: [String, Function, Object],
91
93
  slotRender: [String, Function, Object],
94
+ viewSlot: [String, Function, Object],
92
95
  item: [String, Function, Object],
93
96
  viewItem: [String, Function, Object],
94
97
  editable: {
@@ -132,9 +135,13 @@ var WorkWeekViewVue2 = {
132
135
  title: title,
133
136
  step: constants_1.DAYS_IN_WEEK_COUNT,
134
137
  slotRender: this.$props.slotRender,
138
+ viewSlot: this.$props.viewSlot,
139
+ slotItem: this.$props.slotItem,
135
140
  item: this.$props.item,
136
141
  viewItem: this.$props.viewItem,
137
- editable: this.$props.editable
142
+ editable: this.$props.editable,
143
+ dateHeaderCell: this.$props.dateHeaderCell,
144
+ timeHeaderCell: this.$props.timeHeaderCell
138
145
  },
139
146
  dateRange: this.$props.dateRange,
140
147
  numberOfDays: numberOfDays,
@@ -146,9 +153,13 @@ var WorkWeekViewVue2 = {
146
153
  title: title,
147
154
  step: constants_1.DAYS_IN_WEEK_COUNT,
148
155
  slotRender: this.$props.slotRender,
156
+ viewSlot: this.$props.viewSlot,
157
+ slotItem: this.$props.slotItem,
149
158
  item: this.$props.item,
150
159
  viewItem: this.$props.viewItem,
151
160
  editable: this.$props.editable,
161
+ dateHeaderCell: this.$props.dateHeaderCell,
162
+ timeHeaderCell: this.$props.timeHeaderCell,
152
163
  onDataaction: this.handleDataAction,
153
164
  on: this.v3 ? undefined : {
154
165
  "dataaction": this.handleDataAction
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@progress/kendo-vue-scheduler",
3
3
  "description": "Kendo UI for Vue Scheduler package",
4
- "version": "3.2.8-dev.202205030909",
4
+ "version": "3.2.9",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/telerik/kendo-vue.git"
@@ -42,7 +42,7 @@
42
42
  "dependencies": {
43
43
  "@progress/kendo-data-query": "^1.5.1",
44
44
  "@progress/kendo-recurrence": "^1.0.1",
45
- "@progress/kendo-vue-common": "3.2.8-dev.202205030909",
45
+ "@progress/kendo-vue-common": "3.2.9",
46
46
  "@telerik/kendo-draggable": "^2.2.1"
47
47
  },
48
48
  "@progress": {
@@ -58,16 +58,16 @@
58
58
  "@progress/kendo-date-math": "^1.4.1",
59
59
  "@progress/kendo-drawing": "^1.8.0",
60
60
  "@progress/kendo-licensing": "^1.0.1",
61
- "@progress/kendo-vue-buttons": "3.2.8-dev.202205030909",
62
- "@progress/kendo-vue-dateinputs": "3.2.8-dev.202205030909",
63
- "@progress/kendo-vue-dialogs": "3.2.8-dev.202205030909",
64
- "@progress/kendo-vue-dropdowns": "3.2.8-dev.202205030909",
65
- "@progress/kendo-vue-form": "3.2.8-dev.202205030909",
66
- "@progress/kendo-vue-inputs": "3.2.8-dev.202205030909",
67
- "@progress/kendo-vue-intl": "3.2.8-dev.202205030909",
68
- "@progress/kendo-vue-labels": "3.2.8-dev.202205030909",
69
- "@progress/kendo-vue-popup": "3.2.8-dev.202205030909",
70
- "@progress/kendo-vue-progressbars": "3.2.8-dev.202205030909",
61
+ "@progress/kendo-vue-buttons": "3.2.9",
62
+ "@progress/kendo-vue-dateinputs": "3.2.9",
63
+ "@progress/kendo-vue-dialogs": "3.2.9",
64
+ "@progress/kendo-vue-dropdowns": "3.2.9",
65
+ "@progress/kendo-vue-form": "3.2.9",
66
+ "@progress/kendo-vue-inputs": "3.2.9",
67
+ "@progress/kendo-vue-intl": "3.2.9",
68
+ "@progress/kendo-vue-labels": "3.2.9",
69
+ "@progress/kendo-vue-popup": "3.2.9",
70
+ "@progress/kendo-vue-progressbars": "3.2.9",
71
71
  "cldr-core": "36.0.0",
72
72
  "cldr-dates-full": "36.0.0",
73
73
  "cldr-numbers-full": "36.0.0"
@@ -1,187 +0,0 @@
1
- // @ts-ignore
2
- import * as Vue from 'vue';
3
- var allVue = Vue;
4
- var gh = allVue.h;
5
- import { cloneDate } from '@progress/kendo-date-math';
6
- import { getDefaultSlots } from '@progress/kendo-vue-common'; // import { useSchedulerElementContext, useSchedulerPropsContext, useSchedulerViewSlotsContext } from '../context';
7
-
8
- import { first, isInTimeRange, intersects } from '../utils';
9
- import { getRect } from '../views/common/utils';
10
-
11
- var combineWidths = function combineWidths(slots) {
12
- var result = 0;
13
- slots.forEach(function (slot) {
14
- if (slot.current) {
15
- var rect = getRect(slot.current.element);
16
- result += rect.width;
17
- }
18
- });
19
- return result;
20
- };
21
-
22
- var combineHeights = function combineHeights(slots) {
23
- var result = 0;
24
- slots.forEach(function (slot) {
25
- if (slot.current) {
26
- var rect = getRect(slot.current.element);
27
- result += rect.height;
28
- }
29
- });
30
- return result;
31
- };
32
-
33
- var setTime = function setTime(origin, candidate) {
34
- var date = cloneDate(origin);
35
- date.setHours(candidate.getHours(), candidate.getMinutes(), candidate.getSeconds(), candidate.getMilliseconds());
36
- return date;
37
- }; // tslint:enable:max-line-length
38
-
39
-
40
- var CurrentTimeMarkerVue2 = {
41
- name: 'KendoCurrentTimeMarker',
42
- props: {
43
- updateInterval: {
44
- type: Number,
45
- default: 60000
46
- },
47
- groupIndex: Number,
48
- vertical: Boolean,
49
- attachArrow: Object
50
- },
51
- inject: {
52
- ks: {
53
- default: null
54
- }
55
- },
56
- created: function created() {
57
- this.interval = undefined;
58
- this.arrowRef = null;
59
- this.line = null;
60
- },
61
- data: function data() {
62
- return {
63
- show: false
64
- };
65
- },
66
- mounted: function mounted() {
67
- this.line = this.$el;
68
- this.position();
69
- },
70
- updated: function updated() {// React.useEffect(
71
- // () => {
72
- // if (!this.ks.scheduler || !window) {return; }
73
- // clearInterval(this.interval);
74
- // this.interval = window.setInterval(this.refresh, this.updateInterval);
75
- // const observer = new (window as any).ResizeObserver(this.refresh);
76
- // observer.observe(this.ks.scheduler);
77
- // return () => {
78
- // clearInterval(this.interval);
79
- // observer.disconnect();
80
- // };
81
- // },
82
- // [position, refresh, scheduler, updateInterval]);
83
- },
84
- // @ts-ignore
85
- setup: !gh ? undefined : function () {
86
- var v3 = !!gh;
87
- return {
88
- v3: v3
89
- };
90
- },
91
- // @ts-ignore
92
- render: function render(createElement) {
93
- var _a;
94
-
95
- var h = gh || createElement;
96
- var defaultSlot = getDefaultSlots(this);
97
- var scheduler = this.ks.scheduler; // useSchedulerElementContext();
98
- // const schedulerProps = this.schedulerProps; // useSchedulerPropsContext();
99
- // const [, setForce] = React.useState(false);
100
- // const dir = useDir(line, schedulerProps.rtl === true ? 'rtl' : undefined);
101
- // const slots = this.slots; //useSchedulerViewSlotsContext();
102
- // const refresh = React.useCallback(
103
- // () => {
104
- // position();
105
- // setForce(f => !f);
106
- // },
107
- // [position]);
108
- // const arrow = (
109
- // <div
110
- // ref={arrowRef}
111
- // class={classNames(
112
- // 'k-current-time',
113
- // {
114
- // 'k-current-time-arrow-right': !props.vertical && dir !== 'rtl',
115
- // 'k-current-time-arrow-left': !props.vertical && dir === 'rtl',
116
- // 'k-current-time-arrow-down': props.vertical
117
- // })}
118
- // style={{
119
- // transform: props.vertical
120
- // ? dir === 'rtl'
121
- // ? 'translateX(50%)'
122
- // : 'translateX(-50%)'
123
- // : 'translateY(-50%)',
124
- // visibility: !show ? 'hidden' : undefined
125
- // }}
126
- // />
127
- // );
128
-
129
- return (// <React.Fragment>
130
- // {(props.attachArrow && props.attachArrow.current) ?
131
- // ReactDOM.createPortal(arrow, props.attachArrow.current) : arrow}
132
- h("div", {
133
- "class": "k-current-time",
134
- style: (_a = {
135
- transform: this.$props.vertical ? 'translateX(-50%)' : 'translateY(-50%)'
136
- }, _a[this.$props.vertical ? 'width' : 'height'] = '1px', _a.visibility = !this.show ? 'hidden' : undefined, _a)
137
- }) // </React.Fragment>
138
-
139
- );
140
- },
141
- methods: {
142
- position: function position() {
143
- var _this = this;
144
-
145
- if (!this.slots) {
146
- return;
147
- }
148
-
149
- var sameTimeSlots = this.slots.filter(function (s) {
150
- return s.current && (_this.$props.groupIndex === undefined || _this.$props.groupIndex === null || s.current.props.group.index === _this.$props.groupIndex) && (_this.$props.vertical ? intersects(new Date(), new Date(), s.current.props.start, s.current.props.end, true) : isInTimeRange(new Date(), s.current.props.start, s.current.props.end)) && !s.current.props.isAllDay;
151
- });
152
-
153
- if (sameTimeSlots && sameTimeSlots.length && this.arrowRef && this.line) {
154
- var firstSlot = first(sameTimeSlots);
155
-
156
- if (!firstSlot) {
157
- return;
158
- }
159
-
160
- var size = this.$props.vertical ? combineHeights(sameTimeSlots) : combineWidths(sameTimeSlots);
161
- var rect = getRect(firstSlot.element);
162
- var arrowRect = getRect(this.arrowRef);
163
- var pxPerMillisecond = (this.$props.vertical ? rect.width : rect.height) / (firstSlot.props.end.getTime() - firstSlot.props.start.getTime());
164
- var offset = (Date.now() - setTime(new Date(), firstSlot.props.start).getTime()) * pxPerMillisecond;
165
- var rtl = this.$props.dir === 'rtl';
166
- var top_1 = this.$props.vertical ? rect.top : rect.top + offset - arrowRect.height / 2;
167
- var horizontalDimension = rtl ? 'right' : 'left';
168
- var horizontalMeasure = this.$props.vertical ? rect[horizontalDimension] + offset - arrowRect.width / 2 : rect[horizontalDimension];
169
-
170
- if (this.$props.vertical) {
171
- this.arrowRef.style[horizontalDimension] = horizontalMeasure + "px";
172
- } else {
173
- this.arrowRef.style.top = top_1 + "px";
174
- }
175
-
176
- this.line.style[horizontalDimension] = horizontalMeasure + "px";
177
- this.line.style.top = top_1 + "px";
178
- this.line.style[this.$props.vertical ? 'height' : 'width'] = size - 1 + "px";
179
- this.show = true;
180
- } else {
181
- this.show = false;
182
- }
183
- }
184
- }
185
- };
186
- var CurrentTimeMarker = CurrentTimeMarkerVue2;
187
- export { CurrentTimeMarker, CurrentTimeMarkerVue2 };
@@ -1,199 +0,0 @@
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");
14
-
15
- var kendo_vue_common_1 = require("@progress/kendo-vue-common"); // import { useSchedulerElementContext, useSchedulerPropsContext, useSchedulerViewSlotsContext } from '../context';
16
-
17
-
18
- var utils_1 = require("../utils");
19
-
20
- var utils_2 = require("../views/common/utils");
21
-
22
- var combineWidths = function combineWidths(slots) {
23
- var result = 0;
24
- slots.forEach(function (slot) {
25
- if (slot.current) {
26
- var rect = utils_2.getRect(slot.current.element);
27
- result += rect.width;
28
- }
29
- });
30
- return result;
31
- };
32
-
33
- var combineHeights = function combineHeights(slots) {
34
- var result = 0;
35
- slots.forEach(function (slot) {
36
- if (slot.current) {
37
- var rect = utils_2.getRect(slot.current.element);
38
- result += rect.height;
39
- }
40
- });
41
- return result;
42
- };
43
-
44
- var setTime = function setTime(origin, candidate) {
45
- var date = kendo_date_math_1.cloneDate(origin);
46
- date.setHours(candidate.getHours(), candidate.getMinutes(), candidate.getSeconds(), candidate.getMilliseconds());
47
- return date;
48
- }; // tslint:enable:max-line-length
49
-
50
-
51
- var CurrentTimeMarkerVue2 = {
52
- name: 'KendoCurrentTimeMarker',
53
- props: {
54
- updateInterval: {
55
- type: Number,
56
- default: 60000
57
- },
58
- groupIndex: Number,
59
- vertical: Boolean,
60
- attachArrow: Object
61
- },
62
- inject: {
63
- ks: {
64
- default: null
65
- }
66
- },
67
- created: function created() {
68
- this.interval = undefined;
69
- this.arrowRef = null;
70
- this.line = null;
71
- },
72
- data: function data() {
73
- return {
74
- show: false
75
- };
76
- },
77
- mounted: function mounted() {
78
- this.line = this.$el;
79
- this.position();
80
- },
81
- updated: function updated() {// React.useEffect(
82
- // () => {
83
- // if (!this.ks.scheduler || !window) {return; }
84
- // clearInterval(this.interval);
85
- // this.interval = window.setInterval(this.refresh, this.updateInterval);
86
- // const observer = new (window as any).ResizeObserver(this.refresh);
87
- // observer.observe(this.ks.scheduler);
88
- // return () => {
89
- // clearInterval(this.interval);
90
- // observer.disconnect();
91
- // };
92
- // },
93
- // [position, refresh, scheduler, updateInterval]);
94
- },
95
- // @ts-ignore
96
- setup: !gh ? undefined : function () {
97
- var v3 = !!gh;
98
- return {
99
- v3: v3
100
- };
101
- },
102
- // @ts-ignore
103
- render: function render(createElement) {
104
- var _a;
105
-
106
- var h = gh || createElement;
107
- var defaultSlot = kendo_vue_common_1.getDefaultSlots(this);
108
- var scheduler = this.ks.scheduler; // useSchedulerElementContext();
109
- // const schedulerProps = this.schedulerProps; // useSchedulerPropsContext();
110
- // const [, setForce] = React.useState(false);
111
- // const dir = useDir(line, schedulerProps.rtl === true ? 'rtl' : undefined);
112
- // const slots = this.slots; //useSchedulerViewSlotsContext();
113
- // const refresh = React.useCallback(
114
- // () => {
115
- // position();
116
- // setForce(f => !f);
117
- // },
118
- // [position]);
119
- // const arrow = (
120
- // <div
121
- // ref={arrowRef}
122
- // class={classNames(
123
- // 'k-current-time',
124
- // {
125
- // 'k-current-time-arrow-right': !props.vertical && dir !== 'rtl',
126
- // 'k-current-time-arrow-left': !props.vertical && dir === 'rtl',
127
- // 'k-current-time-arrow-down': props.vertical
128
- // })}
129
- // style={{
130
- // transform: props.vertical
131
- // ? dir === 'rtl'
132
- // ? 'translateX(50%)'
133
- // : 'translateX(-50%)'
134
- // : 'translateY(-50%)',
135
- // visibility: !show ? 'hidden' : undefined
136
- // }}
137
- // />
138
- // );
139
-
140
- return (// <React.Fragment>
141
- // {(props.attachArrow && props.attachArrow.current) ?
142
- // ReactDOM.createPortal(arrow, props.attachArrow.current) : arrow}
143
- h("div", {
144
- "class": "k-current-time",
145
- style: (_a = {
146
- transform: this.$props.vertical ? 'translateX(-50%)' : 'translateY(-50%)'
147
- }, _a[this.$props.vertical ? 'width' : 'height'] = '1px', _a.visibility = !this.show ? 'hidden' : undefined, _a)
148
- }) // </React.Fragment>
149
-
150
- );
151
- },
152
- methods: {
153
- position: function position() {
154
- var _this = this;
155
-
156
- if (!this.slots) {
157
- return;
158
- }
159
-
160
- var sameTimeSlots = this.slots.filter(function (s) {
161
- return s.current && (_this.$props.groupIndex === undefined || _this.$props.groupIndex === null || s.current.props.group.index === _this.$props.groupIndex) && (_this.$props.vertical ? utils_1.intersects(new Date(), new Date(), s.current.props.start, s.current.props.end, true) : utils_1.isInTimeRange(new Date(), s.current.props.start, s.current.props.end)) && !s.current.props.isAllDay;
162
- });
163
-
164
- if (sameTimeSlots && sameTimeSlots.length && this.arrowRef && this.line) {
165
- var firstSlot = utils_1.first(sameTimeSlots);
166
-
167
- if (!firstSlot) {
168
- return;
169
- }
170
-
171
- var size = this.$props.vertical ? combineHeights(sameTimeSlots) : combineWidths(sameTimeSlots);
172
- var rect = utils_2.getRect(firstSlot.element);
173
- var arrowRect = utils_2.getRect(this.arrowRef);
174
- var pxPerMillisecond = (this.$props.vertical ? rect.width : rect.height) / (firstSlot.props.end.getTime() - firstSlot.props.start.getTime());
175
- var offset = (Date.now() - setTime(new Date(), firstSlot.props.start).getTime()) * pxPerMillisecond;
176
- var rtl = this.$props.dir === 'rtl';
177
- var top_1 = this.$props.vertical ? rect.top : rect.top + offset - arrowRect.height / 2;
178
- var horizontalDimension = rtl ? 'right' : 'left';
179
- var horizontalMeasure = this.$props.vertical ? rect[horizontalDimension] + offset - arrowRect.width / 2 : rect[horizontalDimension];
180
-
181
- if (this.$props.vertical) {
182
- this.arrowRef.style[horizontalDimension] = horizontalMeasure + "px";
183
- } else {
184
- this.arrowRef.style.top = top_1 + "px";
185
- }
186
-
187
- this.line.style[horizontalDimension] = horizontalMeasure + "px";
188
- this.line.style.top = top_1 + "px";
189
- this.line.style[this.$props.vertical ? 'height' : 'width'] = size - 1 + "px";
190
- this.show = true;
191
- } else {
192
- this.show = false;
193
- }
194
- }
195
- }
196
- };
197
- exports.CurrentTimeMarkerVue2 = CurrentTimeMarkerVue2;
198
- var CurrentTimeMarker = CurrentTimeMarkerVue2;
199
- exports.CurrentTimeMarker = CurrentTimeMarker;