Note:
You can
customize the day cells (background color, header text, CSS, HTML, business status) in the monthly calendar.
Agent-readable demo data
- Title
- Cell Customization (Open-Source JavaScript Monthly Calendar) | DayPilot Lite for JavaScript Demo
- Tree
- DayPilot JavaScript Demo
- Catalog root
- Lite
- Description
- Note:
You can customize the day cells (background color, header text, CSS, HTML, business status) in the monthly calendar.
Inline demo script 1
const dp = new DayPilot.Month("dp", {
startDate: DayPilot.Date.today(),
onTimeRangeSelected: async function (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: "Color", id: "barColor", options: colors }
];
const data = {
text: "Event",
barColor: "#6aa84f"
};
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: modal.result.barColor
});
},
onBeforeCellRender: args => {
if (args.cell.start === DayPilot.Date.today()) {
args.cell.properties.backColor = "#fff8e1";
args.cell.properties.html = "Today";
}
}
});
const app = {
loadData() {
for (let i = 0; i < 10; i++) {
const duration = Math.floor(Math.random() * 1.2);
const start = Math.floor(Math.random() * 6) - 3; // -3 to 2
dp.events.add({
start: dp.startDate.firstDayOfMonth().addDays(3).addDays(start),
end: dp.startDate.firstDayOfMonth().addDays(3).addHours(12).addDays(start).addDays(duration),
id: DayPilot.guid(),
text: "Event " + i
});
}
},
init() {
this.loadData();
dp.init();
}
};
app.init();