Agent-readable demo data

Title
Event Active Areas (JavaScript Scheduler) | DayPilot Pro for JavaScript Demo
Tree
DayPilot JavaScript Demo
Catalog root
Default
Description
Move the cursor over an event to see the active areas. Read more about event active areas [doc.daypilot.org].

Inline demo script 1

const dp = new DayPilot.Scheduler("dp", {
            eventHeight: 40,
            startDate: "2026-10-01",
            days: 365,
            scale: "Day",
            rowMarginBottom: 2,
            rowMarginTop: 2,
            timeHeaders: [{groupBy: "Month"}, {groupBy: "Day", format: "d"}],
            contextMenu: new DayPilot.Menu({
                items: [{text: "Open", onClick: (args) => DayPilot.Modal.alert("Not implemented")}]
            }),
            treeEnabled: true,
            resources: [
                {name: "Room A", id: "A"},
                {name: "Room B", id: "B"},
                {name: "Room C", id: "C"},
                {name: "Room D", id: "D"},
                {name: "Room E", id: "E"},
                {name: "Room F", id: "F"},
                {name: "Room G", id: "G"},
                {name: "Room H", id: "H"},
                {name: "Room I", id: "I"}
            ],
            onTimeRangeSelected: async (args) => {
                const modal = await DayPilot.Modal.prompt("New event name:", "Event");
                const name = modal.canceled ? null : modal.result;
                dp.clearSelection();
                if (!name) {
                    return;
                }
                dp.events.add(
                    new DayPilot.Event({
                        start: args.start,
                        end: args.end,
                        id: DayPilot.guid(),
                        resource: args.resource,
                        text: name
                    })
                );
                dp.message("Created");
            },
            height: 350
        });

        dp.init();

        const app = {
            init() {
                this.loadEventData();
            },
            loadEventData() {
                // generate and load events
                const events = [
                    {
                        id: 1,
                        start: "2026-10-02T00:00:00",
                        end: "2026-10-10T00:00:00",
                        text: "Context menu",
                        resource: "A",
                        areas: [
                            {
                                right: 7,
                                top: 12,
                                height: 16,
                                width: 16,
                                symbol: "../icons/daypilot.svg#minichevron-down-4",
                                cssClass: "icon",
                                action: "ContextMenu"
                            }
                        ]
                    },
                    {
                        id: 2,
                        start: "2026-10-02T00:00:00",
                        end: "2026-10-10T00:00:00",
                        text: "Status",
                        resource: "B",
                        areas: [
                            {
                                right: 7,
                                top: 12,
                                height: 16,
                                width: 16,
                                symbol: "../icons/daypilot.svg#padlock",
                                cssClass: "status"
                            }
                        ]
                    },
                    {
                        id: 3,
                        start: "2026-10-02T00:00:00",
                        end: "2026-10-08T00:00:00",
                        text: "Resize",
                        resource: "C",
                        resizeDisabled: true,
                        areas: [
                            {
                                right: 4,
                                top: 8,
                                height: 24,
                                width: 12,
                                symbol: "../icons/daypilot.svg#resize-right",
                                cssClass: "icon",
                                action: "ResizeEnd"
                            }
                        ]
                    },
                    {
                        id: 4,
                        start: "2026-10-02T00:00:00",
                        end: "2026-10-08T00:00:00",
                        text: "",
                        resource: "D",
                        resizeDisabled: true,
                        areas: [
                            {
                                left: 4,
                                top: 8,
                                height: 24,
                                width: 12,
                                symbol: "../icons/daypilot.svg#resize-left",
                                cssClass: "icon",
                                action: "ResizeStart"
                            },
                            {
                                left: 20,
                                top: 12,
                                height: 24,
                                right: 0,
                                text: "Resize start"
                            }
                        ]
                    },
                    {
                        id: 5,
                        start: "2026-10-02T00:00:00",
                        end: "2026-10-08T00:00:00",
                        text: "",
                        resource: "E",
                        moveDisabled: true,
                        areas: [
                            {
                                left: 4,
                                top: 8,
                                height: 24,
                                width: 12,
                                symbol: "../icons/daypilot.svg#move-vertical",
                                cssClass: "icon",
                                action: "Move"
                            },
                            {
                                left: 20,
                                top: 12,
                                height: 24,
                                right: 0,
                                text: "Move"
                            }
                        ]
                    },
                    {
                        id: 6,
                        start: "2026-10-02T00:00:00",
                        end: "2026-10-10T00:00:00",
                        text: "Delete",
                        resource: "F",
                        areas: [
                            {
                                right: 5,
                                top: 12,
                                height: 16,
                                width: 16,
                                symbol: "../icons/daypilot.svg#x-circle",
                                cssClass: "icon",
                                onClick: function (args) {
                                    dp.events.remove(args.source);
                                }
                            }
                        ]
                    },
                    {
                        id: 7,
                        start: "2026-10-02T00:00:00",
                        end: "2026-10-10T00:00:00",
                        text: "Details",
                        resource: "G",
                        areas: [
                            {
                                right: 5,
                                top: 12,
                                height: 16,
                                width: 16,
                                symbol: "../icons/daypilot.svg#bubble",
                                cssClass: "icon",
                                onClick: function (args) {
                                    DayPilot.Modal.alert("Event details");
                                }
                            }
                        ]
                    }
                ];

                dp.update({events});
            }
        };
        app.init();