Agent-readable demo data
- Title
- Navigator (JavaScript Event Calendar) | DayPilot Pro for JavaScript Demo
- Tree
- DayPilot JavaScript Demo
- Catalog root
- Default
- Description
- Read more about integrating the date navigator [doc.daypilot.org].
Inline demo script 1
const nav = new DayPilot.Navigator("nav", {
showMonths: 3,
skipMonths: 3,
selectMode: "Week",
freeHandSelectionEnabled: true,
selectionDay: DayPilot.Date.today(),
cellWidth: "Auto",
orientation: "Vertical",
onTimeRangeSelected: args => {
dp.startDate = args.start;
dp.update();
},
onVisibleRangeChange: args => {
var start = args.start;
var end = args.end;
if (start <= nav.selectionDay && nav.selectionDay < end) {
return;
}
var day = nav.selectionDay.getDay();
var target = start.firstDayOfMonth().addDays(day);
nav.select(target);
},
onBeforeCellRender: args => {
if (args.cell.isCurrentMonth) {
args.cell.cssClass = "current-month";
}
}
});
nav.init();
const dp = new DayPilot.Calendar("dp", {
startDate: DayPilot.Date.today(),
viewType: "Week",
onTimeRangeSelected: async args => {
const modal = await DayPilot.Modal.prompt("New event name:", "Event");
if (modal.canceled) return;
dp.events.add({
start: args.start,
end: args.end,
id: DayPilot.guid(),
resource: args.resource,
text: "Event"
});
dp.clearSelection();
dp.message("Created");
}
});
dp.init();
const app = {
init() {
this.loadEventData();
},
loadEventData() {
const events = [
{
start: DayPilot.Date.today().firstDayOfWeek().addDays(1).addHours(12),
end: DayPilot.Date.today().firstDayOfWeek().addDays(1).addHours(15),
id: DayPilot.guid(),
text: "Special event"
}
];
dp.update({events});
}
};
app.init();