Notification badge component
<wy-notification-badge> | WyNotificationBadge
Weavy automatically generates notifications for reactions, mentions, and other activity within your app. The Notification Badge component renders a realtime badge for the number of unread notifications. The badge fits well into a button or similar.
The notification badge component can optionally be tailored to only show notifications for a specific app or notifications of a specific type, such as mentions or reactions.
Importing
If you installed the UIKit with npm you can use the following snippet to import the component into your project.
Otherwise, if you installed the UIKit as a <script> you can ignore this section.
import { WyNotificationBadge } from "@weavy/uikit-web";
Examples
Display a badge that shows unread count and tracks notifications for the authenticated user.
<wy-notification-badge></wy-notification-badge>
Display notifications for the authenticated user that originated from app with the specified uid. Also, show a dot instead of a count when there are unread notifications.
<wy-notification-badge uid="test-chat" badge="dot"></wy-notification-badge>
Display a notification badge in the corner of a button. Note that the badge position is relative to its closest positioned ancestor element, therefore we need to set CSS position on the button.
<button style="position: relative;">
<span>Notifications</span>
<wy-notification-badge badgePosition="top-right"></wy-notification-badge>
</button>
HTML attributes
Attributes can be set when using the component in HTML. All attributes have corresponding Javascript properties.
Most attributes are optional and/or has sensible default values. Any required attributes are indicated with an asterisk (*).
Learn more about attributes and properties.
| Attribute | Value | Description |
|---|---|---|
uid |
string, number |
Optional filter to only show notifications for app with uid. |
badge |
"count", "compact", "dot", "none" |
Notification badge appearance variant. |
badgePosition |
"top-right", "top-left", "bottom-right", "bottom-left", "inline" |
Position of the badge. "inline" means no positioning. |
generateUid |
string |
Generates a uid by appending user and agent identifiers to the supplied string. |
typeFilter |
"", "activity", "mention", "reaction" |
Notification type filter. No filter ("") will allow the user to filter. |
JavaScript properties
Properties can be used in JavaScript. Some of them have corresponding HTML attributes where applicable.
| Property | Type | Default | Description |
|---|---|---|---|
uid |
string , number |
Optional filter to only show notifications for app with uid. |
|
app |
AppType |
The app data available after using the optional uid. |
|
badge |
"count", "compact", "dot", "none" |
"compact" |
Notification badge appearance variant. |
badgePosition |
"top-right", "top-left", "bottom-right", "bottom-left", "inline" |
"top-right" |
Position of the badge. "inline" means no positioning. |
generateUid |
string |
Sets the uid property with automatically appended user and agent name (where applicable). |
|
typeFilter |
"" , "activity" , "mention" , "reaction" |
"" |
Notification type filter. No filter ("") will allow the user to filter. |
unread |
number |
readonly | The number of unread notifications currently displayed in the component. This value updates automatically whenever data changes. |
JavaScript methods
Methods for the component are available in JavaScript. Methods that are async return a promise.
| Method | Returns | Description |
|---|---|---|
markAllAsRead() |
async | Marks all tracked notifications as read. |
reset() |
Sets the component to it's initial state and resets the app state. |
|
subscribe(subscribe: boolean) |
async | Subscribes or unsubscribes to notification updates from the app when using uid. Check .app.is_subscribed to see current state. |
whenApp() |
async AppType |
Waits for app data when using the optional uid and returns the data when available. |
DOM Events
The component triggers custom events that bubbles up the DOM tree. They can be listened to using the addEventListener() method.
Learn more about events.
| Event | Type | Description |
|---|---|---|
wy-action |
WyActionEventType |
Emitted when a notification is selected. |
wy-app |
WyAppEventType |
Emitted when the app changes. |
wy-link |
WyLinkEventType |
Emitted when a notification is clicked. |
wy-unread |
WyUnreadEventType |
Emitted when the number of unread notifications displayed in the component changes. |