Schedule Events
Handle user interactions and integrate the schedule with your application logic.
Available Events
| Event | Description |
|---|---|
oncreate |
Fired when events are createdoncreate?: (self: Schedule, events: Event[]) => void |
onchangeevent |
Fired when an event is modifiedonchangeevent?: (self: Schedule, newVal, oldVal) => void |
ondelete |
Fired when an event is deletedondelete?: (self: Schedule, guid: string) => void |
ondblclick |
Fired on event double-clickondblclick?: (self: Schedule, event: Event) => void |
onerror |
Fired on validation errorsonerror?: (self: Schedule, message: string) => void |
Event Handlers
Handle schedule events with callbacks:
<html>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Material+Icons" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@calendarjs/ce/dist/style.min.css" />
<script src="https://cdn.jsdelivr.net/npm/lemonadejs/dist/lemonade.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@calendarjs/ce/dist/index.min.js"></script>
<div id="root" style="height: 500px;"></div>
<script>
const { Schedule } = calendarjs;
Schedule(document.getElementById('root'), {
type: 'week',
value: '2025-01-15',
data: [],
oncreate: function(self, events) {
console.log('Created:', events);
},
onchangeevent: function(self, newValue, oldValue) {
console.log('Changed:', newValue);
},
ondelete: function(self, guid) {
console.log('Deleted:', guid);
},
ondblclick: function(self, event) {
console.log('Double-clicked:', event.title);
}
});
</script>
</html>
import { Schedule } from '@calendarjs/ce';
import '@calendarjs/ce/dist/style.css';
export default function App() {
const self = this;
self.data = [];
const onCreate = (el, events) => {
console.log('Created:', events);
};
const onChange = (el, newValue, oldValue) => {
console.log('Changed:', newValue);
};
const onDelete = (el, guid) => {
console.log('Deleted:', guid);
};
return render => render`<div style="height: 500px;">
<Schedule type="week" value="2025-01-15" data="${self.data}" :oncreate="${onCreate}" :onchangeevent="${onChange}" :ondelete="${onDelete}" />
</div>`;
}
import { useState } from 'react';
import { Schedule } from '@calendarjs/ce/dist/react';
import '@calendarjs/ce/dist/style.css';
export default function App() {
const [data, setData] = useState([]);
return (
<Schedule
type="week"
value="2025-01-15"
data={data}
style={{ height: '500px' }}
oncreate={(self, events) => console.log('Created:', events)}
onchangeevent={(self, newVal) => console.log('Changed:', newVal)}
ondelete={(self, guid) => console.log('Deleted:', guid)}
ondblclick={(self, event) => console.log('Clicked:', event.title)}
/>
);
}
<template>
<Schedule
type="week"
value="2025-01-15"
:data="data"
style="height: 500px"
@oncreate="onCreate"
@onchangeevent="onChange"
@ondelete="onDelete"
@ondblclick="onDblClick"
/>
</template>
<script>
import { Schedule } from '@calendarjs/ce/dist/vue';
import '@calendarjs/ce/dist/style.css';
export default {
components: { Schedule },
data() {
return { data: [] };
},
methods: {
onCreate(self, events) {
console.log('Created:', events);
},
onChange(self, newValue) {
console.log('Changed:', newValue);
},
onDelete(self, guid) {
console.log('Deleted:', guid);
},
onDblClick(self, event) {
console.log('Clicked:', event.title);
}
}
}
</script>