};
};
-export function deleteStatus(id, withRedraft = false) {
+export function deleteStatus(id, router, withRedraft = false) {
return (dispatch, getState) => {
const status = getState().getIn(['statuses', id]);
if (withRedraft) {
dispatch(redraft(status));
+
+ if (!getState().getIn(['compose', 'mounted'])) {
+ router.push('/statuses/new');
+ }
}
}).catch(error => {
dispatch(deleteStatusFail(id, error));
}
handleDeleteClick = () => {
- this.props.onDelete(this.props.status);
+ this.props.onDelete(this.props.status, this.context.router.history);
}
handleRedraftClick = () => {
- this.props.onDelete(this.props.status, true);
+ this.props.onDelete(this.props.status, this.context.router.history, true);
}
handlePinClick = () => {
}));
},
- onDelete (status, withRedraft = false) {
+ onDelete (status, history, withRedraft = false) {
if (!deleteModal) {
- dispatch(deleteStatus(status.get('id'), withRedraft));
+ dispatch(deleteStatus(status.get('id'), history, withRedraft));
} else {
dispatch(openModal('CONFIRM', {
message: intl.formatMessage(withRedraft ? messages.redraftMessage : messages.deleteMessage),
confirm: intl.formatMessage(withRedraft ? messages.redraftConfirm : messages.deleteConfirm),
- onConfirm: () => dispatch(deleteStatus(status.get('id'), withRedraft)),
+ onConfirm: () => dispatch(deleteStatus(status.get('id'), history, withRedraft)),
}));
}
},
}
handleDeleteClick = () => {
- this.props.onDelete(this.props.status);
+ this.props.onDelete(this.props.status, this.context.router.history);
}
handleRedraftClick = () => {
- this.props.onDelete(this.props.status, true);
+ this.props.onDelete(this.props.status, this.context.router.history, true);
}
handleDirectClick = () => {
}
}
- handleDeleteClick = (status, withRedraft = false) => {
+ handleDeleteClick = (status, history, withRedraft = false) => {
const { dispatch, intl } = this.props;
if (!deleteModal) {
- dispatch(deleteStatus(status.get('id'), withRedraft));
+ dispatch(deleteStatus(status.get('id'), history, withRedraft));
} else {
dispatch(openModal('CONFIRM', {
message: intl.formatMessage(withRedraft ? messages.redraftMessage : messages.deleteMessage),
confirm: intl.formatMessage(withRedraft ? messages.redraftConfirm : messages.deleteConfirm),
- onConfirm: () => dispatch(deleteStatus(status.get('id'), withRedraft)),
+ onConfirm: () => dispatch(deleteStatus(status.get('id'), history, withRedraft)),
}));
}
}