mirror of
https://github.com/vale981/Vulcan
synced 2025-03-06 10:01:40 -05:00
Update Flash component and withMessages container
This commit is contained in:
parent
dd0ff54f9a
commit
5b9bb61688
2 changed files with 19 additions and 14 deletions
|
@ -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 (
|
||||
<Components.Alert className="flash-message" variant={flashType} onDismiss={this.dismissFlash}>
|
||||
|
@ -72,7 +72,7 @@ const FlashMessages = ({messages, clear, markAsSeen}) => {
|
|||
);
|
||||
}
|
||||
|
||||
FlashMessages.displayName = "FlashMessages";
|
||||
FlashMessages.displayName = 'FlashMessages';
|
||||
|
||||
registerComponent('FlashMessages', FlashMessages, withMessages);
|
||||
|
||||
|
|
|
@ -16,11 +16,10 @@ import { connect } from 'react-redux';
|
|||
|
||||
addAction({
|
||||
messages: {
|
||||
flash(content, flashType) {
|
||||
flash(content) {
|
||||
return {
|
||||
type: 'FLASH',
|
||||
content,
|
||||
flashType,
|
||||
};
|
||||
},
|
||||
clear(i) {
|
||||
|
@ -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 [
|
||||
|
|
Loading…
Add table
Reference in a new issue