UNPKG

@bigfishtv/cockpit

Version:

74 lines (67 loc) 1.82 kB
/** * @module Actions/notifications */ import { NOTIFICATION_ADDED, NOTIFICATION_DISMISSED } from '../constants/ActionTypes' import newId from '../utils/newId' /** * Action for displaying a success styled notification * @param {String} message * @param {Number} autoDismiss - time in MS to auto dismiss * @return {Object} returns action */ export function notifySuccess(message, autoDismiss = null) { return addNotification({ id: newId(), status: 'success', message, autoDismiss, }) } /** * Action for displaying a fail styled notification * @param {String} message * @param {Number} autoDismiss - time in MS to auto dismiss * @return {Object} returns action */ export function notifyFailure(message, autoDismiss = null) { return addNotification({ id: newId(), status: 'error', message, autoDismiss, }) } /** * Action for displaying a warning styled notification * @param {String} message * @param {Number} autoDismiss - time in MS to auto dismiss * @return {Object} returns action */ export function notifyWarning(message, autoDismiss = null) { return addNotification({ id: newId(), status: 'warning', message, autoDismiss, }) } /** * Action for adding a notification * @param {Object} notification * @param {String} notification.id * @param {String} notification.status - e.g. 'warning' * @param {String} notification.message * @param {Number} notification.autoDismiss - time in MS to auto dismiss * @return {Object} returns action */ export function addNotification(notification) { return { type: NOTIFICATION_ADDED, notification } } /** * Action for dismissing a notification * @param {Object} id - notification id * @return {Object} returns action */ export function dismissNotification(id) { return { type: NOTIFICATION_DISMISSED, id } }