The onLoad event handler is called when the bubble is activated, before the bubble is displayed. You can use it to generate the content dynamically.
DayPilot.Bubble.onLoad(args)args.source (object) - the source object, for example DayPilot.Event for an event bubble; read-only
args.async (boolean) - set to true to activate asynchronous loading
args.html (string) - the bubble content to be displayed
args.loaded() - call this method when asynchronous loading is active to indicate that args.html has been set
args.div (HTMLElement) - the main bubble <div> element; available since 2025.4.6774; read-only
For asynchronous loading, set args.async = true, assign the content to args.html, and call args.loaded() when the content is ready.
Synchronous loading:
const bubble = new DayPilot.Bubble({
onLoad: (args) => {
const ev = args.source;
args.html = "testing bubble for: " + ev.text();
}
});Asynchronous loading:
const bubble = new DayPilot.Bubble({
onLoad: (args) => {
const ev = args.source;
args.async = true; // notify manually using .loaded()
// simulating slow server-side load
setTimeout(() => {
args.html = "testing bubble for: <br>" + ev.text();
args.loaded();
}, 500);
}
});Bubble [doc.daypilot.org]