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();