Skip to content

Commit 15ee4f9

Browse files
Merge pull request #507 from telerik/scheduler-start-end-dates-kb
docs(scheduler): get start and end dates kb
2 parents a2d1b24 + 5b442e0 commit 15ee4f9

File tree

4 files changed

+980
-0
lines changed

4 files changed

+980
-0
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import { createApp } from 'vue'
2+
import App from './main.vue'
3+
4+
createApp(App).mount('#app')
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
<template>
2+
<div class="example-config">
3+
Select Scheduler view:
4+
<dropdownlist
5+
:data-items="views"
6+
:text-field="'title'"
7+
:data-item-key="'name'"
8+
:value="ddlValue"
9+
@change="handleDropDownListChange"
10+
>
11+
</dropdownlist>
12+
<div>start: {{ start }} <div>
13+
<div>end: {{ end }} </div>
14+
</div>
15+
<Scheduler
16+
:view="view"
17+
:data-items="sampleData"
18+
:default-date="displayDate"
19+
:views="views"
20+
@viewchange="handleViewChange"
21+
@datechange="handleDateChange"
22+
>
23+
</Scheduler>
24+
</template>
25+
<script>
26+
import { Scheduler } from '@progress/kendo-vue-scheduler';
27+
import { sampleData, displayDate } from './events-utc';
28+
import { DropDownList } from '@progress/kendo-vue-dropdowns';
29+
30+
export default {
31+
components: {
32+
Scheduler,
33+
dropdownlist: DropDownList,
34+
},
35+
data() {
36+
return {
37+
start: null,
38+
end: null,
39+
ddlValue: { name: 'day', title: 'Day' },
40+
view: 'day',
41+
views: [
42+
{ name: 'day', title: 'Day' },
43+
{ name: 'week', title: 'Week' },
44+
{ name: 'month', title: 'Month' },
45+
],
46+
sampleData,
47+
displayDate,
48+
};
49+
},
50+
mounted() {
51+
this.setRanges();
52+
},
53+
updated() {
54+
this.setRanges();
55+
},
56+
methods: {
57+
setRanges() {
58+
if (document) {
59+
const allSlots = document.querySelectorAll(
60+
'.k-scheduler-body .k-scheduler-cell.k-slot-cell'
61+
);
62+
const firstSlot = allSlots[0];
63+
const lastSlot = allSlots[allSlots.length - 1];
64+
this.start = new Date(
65+
parseInt(firstSlot.getAttribute('data-slot-start'), 10)
66+
);
67+
this.end = new Date(
68+
parseInt(lastSlot.getAttribute('data-slot-end'), 10)
69+
);
70+
}
71+
},
72+
handleViewChange(e) {
73+
this.view = e.viewName;
74+
this.ddlValue = this.views.find((el) => el.name === e.viewName);
75+
},
76+
handleDateChange(e) {
77+
this.displayDate = e.date;
78+
},
79+
handleDropDownListChange(event) {
80+
this.view = event.value.name;
81+
this.ddlValue = event.value;
82+
},
83+
},
84+
};
85+
</script>

0 commit comments

Comments
 (0)