From 0e7d74559f12bc2d58c7938127094298cdd119b2 Mon Sep 17 00:00:00 2001 From: Belen Curcio Date: Tue, 12 Sep 2017 14:08:19 -0300 Subject: [PATCH] Notify errors --- .../client/containers/ApproveCommentAction.js | 31 ++++++++++++++----- .../client/containers/RejectCommentAction.js | 29 +++++++++++++---- 2 files changed, 47 insertions(+), 13 deletions(-) diff --git a/plugins/talk-plugin-moderation-actions/client/containers/ApproveCommentAction.js b/plugins/talk-plugin-moderation-actions/client/containers/ApproveCommentAction.js index 63b2b245f..19000ba1f 100644 --- a/plugins/talk-plugin-moderation-actions/client/containers/ApproveCommentAction.js +++ b/plugins/talk-plugin-moderation-actions/client/containers/ApproveCommentAction.js @@ -1,16 +1,25 @@ import React from 'react'; +import {bindActionCreators} from 'redux'; +import {connect} from 'plugin-api/beta/client/hocs'; +import {getErrorMessages} from 'plugin-api/beta/client/utils'; import {withSetCommentStatus} from 'plugin-api/beta/client/hocs'; +import {notify} from 'plugin-api/beta/client/actions/notification'; import ApproveCommentAction from '../components/ApproveCommentAction'; class ApproveCommentActionContainer extends React.Component { - approveComment = () => { - const {setCommentStatus, comment, hideTooltip} = this.props; + approveComment = async () => { + const {setCommentStatus, comment, hideTooltip, notify} = this.props; - setCommentStatus({ - commentId: comment.id, - status: 'ACCEPTED' - }); + try { + await setCommentStatus({ + commentId: comment.id, + status: 'ACCEPTED' + }); + } + catch(err) { + notify('error', getErrorMessages(err)); + } hideTooltip(); } @@ -20,4 +29,12 @@ class ApproveCommentActionContainer extends React.Component { } } -export default withSetCommentStatus(ApproveCommentActionContainer); +const mapDispatchToProps = (dispatch) => + bindActionCreators({ + notify + }, dispatch); + +export default compose( + withSetCommentStatus, + connect(null, mapDispatchToProps) +)(ApproveCommentActionContainer); diff --git a/plugins/talk-plugin-moderation-actions/client/containers/RejectCommentAction.js b/plugins/talk-plugin-moderation-actions/client/containers/RejectCommentAction.js index dc940b834..1636cf44a 100644 --- a/plugins/talk-plugin-moderation-actions/client/containers/RejectCommentAction.js +++ b/plugins/talk-plugin-moderation-actions/client/containers/RejectCommentAction.js @@ -1,16 +1,25 @@ import React from 'react'; +import {bindActionCreators} from 'redux'; +import {connect} from 'plugin-api/beta/client/hocs'; +import {getErrorMessages} from 'plugin-api/beta/client/utils' import {withSetCommentStatus} from 'plugin-api/beta/client/hocs'; +import {notify} from 'plugin-api/beta/client/actions/notification'; import RejectCommentAction from '../components/RejectCommentAction'; class RejectCommentActionContainer extends React.Component { rejectComment = () => { - const {setCommentStatus, comment, hideTooltip} = this.props; + const {setCommentStatus, comment, hideTooltip, notify} = this.props; - setCommentStatus({ - commentId: comment.id, - status: 'REJECTED' - }); + try { + await setCommentStatus({ + commentId: comment.id, + status: 'REJECTED' + }); + } + catch(err) { + notify('error', getErrorMessages(err)); + } hideTooltip(); } @@ -20,4 +29,12 @@ class RejectCommentActionContainer extends React.Component { } } -export default withSetCommentStatus(RejectCommentActionContainer); +const mapDispatchToProps = (dispatch) => +bindActionCreators({ + notify +}, dispatch); + +export default compose( + withSetCommentStatus, + connect(null, mapDispatchToProps) +)(RejectCommentActionContainer);