UNPKG

@bigfishtv/cockpit

Version:

79 lines (70 loc) 2.17 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) { var autoDismiss = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; return addNotification({ id: newId(), status: 'success', message: message, autoDismiss: 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) { var autoDismiss = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; return addNotification({ id: newId(), status: 'error', message: message, autoDismiss: 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) { var autoDismiss = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; return addNotification({ id: newId(), status: 'warning', message: message, autoDismiss: 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: notification }; } /** * Action for dismissing a notification * @param {Object} id - notification id * @return {Object} returns action */ export function dismissNotification(id) { return { type: NOTIFICATION_DISMISSED, id: id }; }