Agent-readable demo data

Title
RTL (Open-Source JavaScript Event Calendar) | DayPilot Lite for JavaScript Demo
Tree
DayPilot JavaScript Demo
Catalog root
Lite
Description
Note: Customize the component using Calendar UI Builder and download a ready-to-run project. Read more about the JavaScript event calendar.

Inline demo script 1

const dp = new DayPilot.Calendar("dp", {
            viewType: "Week",
            startDate: "2022-03-21",
            headerDateFormat: "dddd",
            onEventClick: async args => {

                const colors = [
                    {name: "Blue", id: "#3c78d8"},
                    {name: "Green", id: "#6aa84f"},
                    {name: "Yellow", id: "#f1c232"},
                    {name: "Red", id: "#cc0000"},
                ];

                const form = [
                    {name: "Text", id: "text"},
                    {name: "Start", id: "start", type: "datetime"},
                    {name: "End", id: "end", type: "datetime"},
                    {name: "Color", id: "barColor", type: "select", options: colors},
                ];

                const modal = await DayPilot.Modal.form(form, args.e.data);

                if (modal.canceled) {
                    return;
                }

                dp.events.update(modal.result);

            },
            onBeforeEventRender: args => {
                args.data.barBackColor = "transparent";
                if (!args.data.barColor) {
                    args.data.barColor = "#333";
                }
            },
            onTimeRangeSelected: async args => {

                const form = [
                    {name: "Name", id: "text"}
                ];

                const data = {
                    text: "Event"
                };

                const modal = await DayPilot.Modal.form(form, data);

                dp.clearSelection();

                if (modal.canceled) {
                    return;
                }

                dp.events.add({
                    start: args.start,
                    end: args.end,
                    id: DayPilot.guid(),
                    text: modal.result.text,
                    barColor: "#3c78d8"
                });
            },
            onHeaderClick: args => {
                console.log("args", args);
            },
            rtl: true
        });
        dp.init();

        const app = {
            init() {
                this.loadEvents();
            },
            loadEvents() {
                const events = [
                    {
                        start: "2022-03-21T11:00:00",
                        end: "2022-03-21T14:00:00",
                        id: 1,
                        text: "Event 1",
                        barColor: "#3c78d8"
                    },
                    {
                        start: "2022-03-22T12:00:00",
                        end: "2022-03-22T15:00:00",
                        id: 2,
                        text: "Event 2",
                        barColor: "#6aa84f"
                    },
                    {
                        start: "2022-03-23T10:00:00",
                        end: "2022-03-23T15:00:00",
                        id: 3,
                        text: "Event 3",
                        barColor: "#f1c232"
                    },
                    {
                        start: "2022-03-24T12:00:00",
                        end: "2022-03-24T16:00:00",
                        id: 4,
                        text: "Event 4",
                        barColor: "#cc0000"
                    },
                ];
                dp.update({events});
            }
        };
        app.init();