From 5b9bb616889561924a2435fb03ee68fa871ecab0 Mon Sep 17 00:00:00 2001 From: Bernardo Dias Date: Wed, 2 May 2018 15:02:52 -0300 Subject: [PATCH] Update Flash component and withMessages container --- .../lib/modules/components/Flash.jsx | 16 ++++++++-------- .../lib/modules/containers/withMessages.js | 17 +++++++++++------ 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/packages/vulcan-core/lib/modules/components/Flash.jsx b/packages/vulcan-core/lib/modules/components/Flash.jsx index caa9fb1d4..0266ea70e 100644 --- a/packages/vulcan-core/lib/modules/components/Flash.jsx +++ b/packages/vulcan-core/lib/modules/components/Flash.jsx @@ -21,19 +21,19 @@ class Flash extends PureComponent { } getProperties = () => { - const { errorObject } = this.props; - if (typeof errorObject === 'string') { + const messageObject = this.props.message; + if (typeof messageObject === 'string') { // if error is a string, use it as message return { - message: errorObject, + message: messageObject, type: 'error' } } else { // else return full error object after internationalizing message - const { id, message, properties } = errorObject; + const { id, message, properties } = messageObject; const translatedMessage = this.context.intl.formatMessage({ id, defaultMessage: message }, properties); return { - ...errorObject, + ...messageObject, message: translatedMessage, }; } @@ -42,7 +42,7 @@ class Flash extends PureComponent { render() { const { message, type } = this.getProperties(); - const flashType = type === "error" ? "danger" : flashType; // if flashType is "error", use "danger" instead + const flashType = type === 'error' ? 'danger' : type; // if flashType is "error", use "danger" instead return ( @@ -72,8 +72,8 @@ const FlashMessages = ({messages, clear, markAsSeen}) => { ); } -FlashMessages.displayName = "FlashMessages"; +FlashMessages.displayName = 'FlashMessages'; registerComponent('FlashMessages', FlashMessages, withMessages); -export default withMessages(FlashMessages); \ No newline at end of file +export default withMessages(FlashMessages); diff --git a/packages/vulcan-core/lib/modules/containers/withMessages.js b/packages/vulcan-core/lib/modules/containers/withMessages.js index 9cb96a21e..b63b9bab5 100644 --- a/packages/vulcan-core/lib/modules/containers/withMessages.js +++ b/packages/vulcan-core/lib/modules/containers/withMessages.js @@ -9,18 +9,17 @@ import { bindActionCreators } from 'redux'; import { connect } from 'react-redux'; /* - + Messages actions */ addAction({ messages: { - flash(content, flashType) { + flash(content) { return { type: 'FLASH', content, - flashType, }; }, clear(i) { @@ -45,7 +44,7 @@ addAction({ /* - + Messages reducers */ @@ -53,14 +52,20 @@ addAction({ addReducer({ messages: (state = [], action) => { // default values - const flashType = typeof action.flashType === 'undefined' ? 'error' : action.flashType; + const flashType = action.content && typeof action.content.type !== 'undefined' ? action.content.type : 'error'; const currentMsg = typeof action.i === 'undefined' ? {} : state[action.i]; switch(action.type) { case 'FLASH': return [ ...state, - { _id: state.length, content: action.content, flashType, seen: false, show: true }, + { + _id: state.length, + ...action.content, + type: flashType, + seen: false, + show: true, + }, ]; case 'MARK_AS_SEEN': return [