@bigfishtv/cockpit
Version:
79 lines (70 loc) • 2.17 kB
JavaScript
/**
* @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 };
}