Agent-readable demo data

Title
Kanban Column Active Areas | DayPilot Pro for JavaScript Demo
Tree
DayPilot JavaScript Demo
Catalog root
Default
Description
Read more about Kanban column active areas [doc.daypilot.org].

Inline demo script 1

const kanban = new DayPilot.Kanban("kanban", {
            cellMarginBottom: 40,
            onBeforeColumnHeaderRender: args => {
                args.header.areas = [{
                    right: 5,
                    top: "calc(50% - 10px)",
                    height: 20,
                    width: 20,
                    borderRadius: "50%",
                    padding: 2,
                    cssClass: "add-button",
                    symbol: "../icons/daypilot.svg#plus-4",
                    onClick: (args) => {
                        const columnId = args.source.data.id;
                        app.add(columnId);
                    }
                }];
            }
        });
        kanban.init();

        const app = {
            async add(columnId) {
                const modal = await DayPilot.Modal.prompt("New task name:", "Task 3");
                if (modal.canceled) {
                    return;
                }
                const name = modal.result;
                kanban.cards.add({id: DayPilot.guid(), name: name, column: columnId, text: "This is a description of " + name + "."});
            },
            loadData() {
                const columns = [
                    {id: "1", name: "New", barColor: "#f9ba25"},
                    {id: "2", name: "Draft"},
                    {id: "3", name: "Implementation"}
                ];
                const cards = [
                    {id: 1, "name": "Task 1", column: "1", text: "This is a description of task #1."},
                    {id: 2, "name": "Task 2", column: "1", text: "This is a description of task #2."}
                ];
                kanban.update({columns, cards});
            },
            init() {
                app.loadData();
            }
        };
        app.init();