Optimizing JavaScript Performance for Real-Time Apps
I’m developing a web application for Eminence Technology that relies heavily on real-time data updates, frequent DOM changes, and complex user interactions. As the application grows, I’m starting to ...
DayPilot.Menu hide() with Escape button
Answered: It is necessary to add the event handler globally (attach it to the document element). Attaching it to the menu element would only work after calling focus(), and you would also have to handle focus ...
inconsistent behavior with touch events
Answered: Thanks for the update. This issue should be fixed already (since 2024.2.5936). If the problem persists with the latest version, please let me know.
Export Calendar Issue in RTL
Answered: Hi Ankit, This feature is now supported since version 2025.4.6719. Please let me know if there is any problem.
Cannot read properties of null (reading 'data') - on Event mouseover
Answered: This happens when the bubble can’t find the source event element properly. There are now additional checks added to the bubble popup logic so you shouldn’t see this error anymore in the latest sandbo...
TypeScript for DayPilot.Scheduler.onBeforeCellExport incomplete
Answered: The missing properties are available now in the latest sandbox build (2025.4.6764). Please let me know if there is any problem.
Resizing an Event may lead to unwanted and automatic scrolling of the Calendar
Answered: This issue should be fixed now in the latest sandbox build (2025.4.6750). If the problem persists, please let me know.
preventDefault() on DayPilot.Scheduler.onTimeRangeSelecting
Answered: Hi Leo, This can’t be done in onTimeRangeSelecting, but you can use onGridMouseDown instead. This event is fired on mouse down, before any action is performed. You can cancel time range selecting the...
Border not showing up in AllDay Events, and Scroll Bar
Answered: As far as I can see, the event border seems to work fine on all-day events: onBeforeEventRender: args => {
args.data.borderColor = "red";
} If it doesn’t show properly in your app, I recommend ...
DayPilot.CellArray.invalidate
Answered: Hi Leo, The purpose of the invalidate() method is to clear the cached cell customization results (the args.cell.properties values set in onBeforeCellRender). It doesn’t force a refresh of the cells. ...
List of all questions.