Develop with Notifications agent
How to use Notifications functionality in your plugin
Getting started
Notifications agent gives you methods to use in your plugin to be able to push and display notifications/confirms in Dashboard, or remove displayed notifications as well
Notifications agent register it's own methods with Dashboard Actions
You can use any of these actions in your plugin.
Available actions
ID
Descriptions
com.naviga.notificaion-agent:getInstance
An action returns the instance of @plugin_name with add, remove notification methods.
com.naviga.notificaion-agent:add
An action handle displaying a notification in Dashboard with the requested notification object.
com.naviga.notificaion-agent:remove
An action handle removing a notification in Dashboard "if it is displayed" with the requested notification object.
With getInstance action you will get class that has a main function:
add
remove
An example to how to get Notifications agent instance
In your plugin you can import useAction from Dashboard, so you can "import" Notification actions to your plugin.
import { useAction } from 'Dashboard'
import { useRef, useEffect } from 'react'
const MyAwesomeComponent = props => {
const Notifications = useRef()
useEffect(() => {
const getInstance = useAction('com.naviga.notificaion-agent:getInstance')
const Instance = getInstance()
Notifications.current = new Instance()
}, [])
/**
Now you can use Notifications all around your plugin.
In order to add a notification call:
Notifications.current.add(NOTIFICATION_OBJECT)
*/
}
Here we used com.naviga.notificaion-agent:getInstance
action to get and initiate our Notifications instance
Add
Notification Parameters
Attr
Type
Default
Description
message
string
""
Message of the notification
level
string
"info"
Level of the notification. Available: success, error, warning and info
autoDismiss
int
0
Delay in seconds for the notification go away. 0 for not auto-dismiss the notification
uid
int/string
null
Notification won't be display without the uid. Notifications with same uid won't be displayed.
example for basic notification
const notification = {
message: 'Your message',
level: 'success',
uid: '4546547-23124-1234567-9899865-764'
}
Notifications.add(notification)
Confirm Notifications
you can send a confirm notification with your Notifications instance with add method
Attr
Type
Default
Description
message
string
null
Message of the notification
buttonTexts
array
['cancel', 'ok']
Confirm buttons texts, first item take the cancel text and the second takes the confirm text
onConfirm
function
null
callback function will be called on confirm
onCancel
function
null
callback function will be called on cancel
example for confirm notification
const confirm = {
message: 'My confirm message',
buttonTexts: ['CANCEL_BUTTON_TEXT', 'CONFIRM_BUTTON_TEXT'],
onConfirm: () => {},
onCancel: () => {}
}
const notification = {
level: 'warning',
uid: '4546547-23124-1234567-9899865-764'
confirm: confirm
}
Notifications.add(notification)
Remove
In order to remove a notification from the view you need to send the same "notification" object that you want to remove it. make sure you pass the same "Notification" object with the same "uid"
const notification = {
message: 'Your message',
level: 'success',
uid: '4546547-23124-1234567-9899865-764'
}
Notifications.remove(notification)
Last updated
Was this helpful?