Passing around of the component was used when there were two independent Notification components. Now that there is only one Notification component, it is not necessary to pass around the component.
89 lines
1.9 KiB
JavaScript
89 lines
1.9 KiB
JavaScript
import {
|
|
HIDE_NOTIFICATION,
|
|
SET_NOTIFICATIONS_ENABLED,
|
|
SHOW_NOTIFICATION
|
|
} from './actionTypes';
|
|
|
|
import { NOTIFICATION_TYPE } from './constants';
|
|
|
|
/**
|
|
* Removes the notification with the passed in id.
|
|
*
|
|
* @param {string} uid - The unique identifier for the notification to be
|
|
* removed.
|
|
* @returns {{
|
|
* type: HIDE_NOTIFICATION,
|
|
* uid: number
|
|
* }}
|
|
*/
|
|
export function hideNotification(uid) {
|
|
return {
|
|
type: HIDE_NOTIFICATION,
|
|
uid
|
|
};
|
|
}
|
|
|
|
/**
|
|
* Stops notifications from being displayed.
|
|
*
|
|
* @param {boolean} enabled - Whether or not notifications should display.
|
|
* @returns {{
|
|
* type: SET_NOTIFICATIONS_ENABLED,
|
|
* enabled: boolean
|
|
* }}
|
|
*/
|
|
export function setNotificationsEnabled(enabled) {
|
|
return {
|
|
type: SET_NOTIFICATIONS_ENABLED,
|
|
enabled
|
|
};
|
|
}
|
|
|
|
/**
|
|
* Queues an error notification for display.
|
|
*
|
|
* @param {Object} props - The props needed to show the notification component.
|
|
* @returns {Object}
|
|
*/
|
|
export function showErrorNotification(props) {
|
|
return showNotification({
|
|
...props,
|
|
appearance: NOTIFICATION_TYPE.ERROR
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Queues a notification for display.
|
|
*
|
|
* @param {Object} props - The props needed to show the notification component.
|
|
* @param {number} timeout - How long the notification should display before
|
|
* automatically being hidden.
|
|
* @returns {{
|
|
* type: SHOW_NOTIFICATION,
|
|
* props: Object,
|
|
* timeout: number,
|
|
* uid: number
|
|
* }}
|
|
*/
|
|
export function showNotification(props = {}, timeout) {
|
|
return {
|
|
type: SHOW_NOTIFICATION,
|
|
props,
|
|
timeout,
|
|
uid: window.Date.now()
|
|
};
|
|
}
|
|
|
|
/**
|
|
* Queues a warning notification for display.
|
|
*
|
|
* @param {Object} props - The props needed to show the notification component.
|
|
* @returns {Object}
|
|
*/
|
|
export function showWarningNotification(props) {
|
|
return showNotification({
|
|
...props,
|
|
appearance: NOTIFICATION_TYPE.WARNING
|
|
});
|
|
}
|