let data = [
{
Id: 1,
Subject: "Decoding",
StartTime: new Date(2018, 1, 12, 11),
EndTime: new Date(2018, 1, 12, 13),
IsAllDay: false,
RecurrenceRule: "FREQ=DAILY;INTERVAL=1;COUNT=5;",
CategoryColor: "#e89898"
}
];
onEventRendered: function(args) {
let categoryColor = args.data.CategoryColor;
if (!args.element || !categoryColor) {
return;
}
if (this.currentView === 'Agenda') {
args.element.firstChild.style.borderLeftColor = categoryColor;
} else {
args.element.style.backgroundColor = categoryColor;
}
} |
onDateChange: function (args) {
this.selectedDate = args.value;
}, |
var eventTemplateVue = Vue.component('eventTemplate', {
template:`<div class='template-wrap'>
<div class='subject'>{{data.Subject}}</div>
<div class='time'>Time: {{getTimeString(data.StartTime)}} - {{getTimeString(data.EndTime)}}</div></div>`,
data() {
return {
data: {}
};
},
methods: {
getTimeString: function (value) {
return instance.formatDate(value, { skeleton: 'hm' });
}
}
}); |
<style>
.e-appointment .time {
background: #85e0cf;
}
.e-appointment .subject {
background: #f187cb;
}
</style> |
getTimeString: function (value) {
return instance.formatDate(value, { skeleton: 'full' });
} |
var dateHeaderTemplateVue = Vue.component('dateHeaderTemplate', {
template:`<div class="date-text" v-html="getDateHeaderText(data.date)"></div>'`,
data() {
return {
data: {}
};
},
methods: {
getDateHeaderText: function (Date) {
return instance.formatDate(Date, { skeleton: 'yMd' });
}
}
}); |