I’m excited to share a custom component, I recently developed, for rendering react-calendar-timeline in Dash Apps.
This component is designed to help you visualize and interact with scheduled events in a calendar-like timeline format, similar to Gantt charts or broadcast planners.
I’m actively improving the component based on user feedback — so if you try it out and have suggestions or ideas, feel free to open an issue or contribute via GitHub.
What a helpful new component. You don’t see too many calendar components in Dash and this one is pretty comprehensive. Thank you for building it, @waleedmalik
@darkjhesus Yes, you can zoom in and out on the timeline using Ctrl + mouse scroll. You can also achieve this programmatically by adjusting the visibleTimeStart and visibleTimeEnd properties.
Thank you and congrats for this really nice component !
I’m currently using it and wanted to provide you some feedback :
The html integration of the component can be a little bit tricky regarding the responsiveness when its parent got a max-width attribute
It can be difficult to style the date header since it’s divided into 2 horizontal bars. For instance I do not succeeded to change the format of the upper dates.
I’m having some strange behaviors using the double click on custom items. It changes the background color of its parent item probably
I eventually manage to integrate custom items content but thanks to your Games app, the initial documentation wasn’t providing so much details
Those are really small details and again, the overall component is really helpful !
Hi @Lucas_P
Thank you for the feedback — really appreciate it.
Could you provide a minimal working example that reproduces the issue regarding responsiveness?
You’re right. I’ve now added separate props for the primary and secondary date headers. You can update the label format using primaryDateHeaderLabelFormat (for the upper horizontal bar).
The component wasn’t correctly handling the case where selected items reverted to the default background color. I’ve adjusted the logic to fix that.
There are certainly more improvements that can be made, and many of them will surface as we encounter specific scenarios and edge cases.