Notifications component
<wy-notifications> | WyNotifications
Weavy automatically creates notifications for reactions, mentions and other activities. With the Notifications component you can display these notifications, mark them as read/unread, and handle navigation when a notification is clicked.
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 { WyNotifications } from "@weavy/uikit-web";
Examples
Display all notifications for the authenticated user.
<wy-notifications></wy-notifications>
Display notifications for the authenticated user that originated from app with the specified uid.
<wy-notifications uid="test-chat"></wy-notifications>
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 |
|---|---|---|
generateUid |
string |
Generates a uid by appending user and agent identifiers to the supplied string. |
typeFilter |
"activity", "mention", "reaction" |
Optionally filters the notifications to only show notifications of the specified type. |
uid |
string, number |
Optional filter to only show notifications for app with uid. |
JavaScript properties
Properties can be used in JavaScript. Some of them have corresponding HTML attributes where applicable.
| Name | Type | Default | Description |
|---|---|---|---|
app |
AppType |
App data when using uid. |
|
generateUid |
string |
Sets the uid property with automatically appended user and agent name (where applicable). |
|
typeFilter |
"", "activity", "mention", "reaction" |
"" |
Notification type filter applied when loading notifications. |
uid |
string, number |
Optional filter to only show notifications for app with uid. |
|
unread |
number |
readonly | Current unread notification count. |
JavaScript methods
Methods for the component are available in JavaScript. Methods that are async return a promise.
| Name | 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. Check .app.is_subscribed to see current state. |
whenApp() |
async AppType |
Waits for app data 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.
| Name | Type | Description |
|---|---|---|
wy-action |
WyActionEventType |
Emitted when a notification is selected. |
wy-app |
WyAppEventType |
Emitted when the app changes. |
wy-unread |
WyUnreadEventType |
Emitted when the number of unread notifications displayed in the component changes. |
wy-link |
WyLinkEventType |
Emitted when a notification is clicked. |
Slots
The slots can be used to inject elements into the component. All predefined child nodes of the slot will be replaced with the injected content.
| Slot | Description |
|---|---|
actions |
Action buttons placed in the right side of the notification header. Replaces existing buttons. |
To prevent child nodes from rendering before the component has loaded you can hide them using CSS.
wy-notifications:not(:defined) {
display: none;
}