Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rework Notifications into NotificationContainer and Expose notifications API from Mantine #525

Open
5 tasks
BSd3v opened this issue Mar 4, 2025 · 1 comment

Comments

@BSd3v
Copy link
Contributor

BSd3v commented Mar 4, 2025

We need to rework the NotificationProvider and Notifications components into another NotificationContainer and expose the underlying notifications API from Mantine. This change will help us better manage notifications and provide more flexibility in how they are displayed and handled.

Tasks:

  • Rework the NotificationProvider component into NotificationContainer. (notifications stream into the container and work with the queue to ensure all notifications are from callbacks are displayed before being removed)
    • expose props for api (clean, cleanQueue)
    • notifications handle for {add, update, hide}?
  • Expose the underlying notifications API from Mantine. (dash_mantine_components.notification_container similar to dash_ag_grid.getApi)
  • Update documentation to reflect these changes. (deprecate NotificationProvider and Notifications for v1 and remove in v2)

Additional Context:
The current Notifications component has limitations in terms of flexibility and customization. This is also not a good pattern for the notifications as Mantine itself only has the single component. The components are also stuck in the dash eco-system unless replaced or removed. (eg. Patch never removes) By exposing the notifications API from Mantine, we can leverage its full capabilities and provide a more robust solution for managing notifications.

@AnnMarieW
Copy link
Collaborator

Thanks for the write-up @BSd3v
For a little more background see #523 and #522

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants