summaryrefslogtreecommitdiffstats
path: root/web/react/components/post_deleted_modal.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'web/react/components/post_deleted_modal.jsx')
-rw-r--r--web/react/components/post_deleted_modal.jsx122
1 files changed, 53 insertions, 69 deletions
diff --git a/web/react/components/post_deleted_modal.jsx b/web/react/components/post_deleted_modal.jsx
index 642befeab..be22989a6 100644
--- a/web/react/components/post_deleted_modal.jsx
+++ b/web/react/components/post_deleted_modal.jsx
@@ -1,7 +1,6 @@
// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.
-import UserStore from '../stores/user_store.jsx';
import AppDispatcher from '../dispatcher/app_dispatcher.jsx';
import Constants from '../utils/constants.jsx';
@@ -9,20 +8,22 @@ import {FormattedMessage} from 'mm-intl';
var ActionTypes = Constants.ActionTypes;
+const Modal = ReactBootstrap.Modal;
+
export default class PostDeletedModal extends React.Component {
constructor(props) {
super(props);
- this.handleClose = this.handleClose.bind(this);
-
- this.state = {};
+ this.handleHide = this.handleHide.bind(this);
}
- componentDidMount() {
- $(ReactDOM.findDOMNode(this.refs.modal)).on('hidden.bs.modal', () => {
- this.handleClose();
- });
+
+ shouldComponentUpdate(nextProps) {
+ return nextProps.show !== this.props.show;
}
- handleClose() {
+
+ handleHide(e) {
+ e.preventDefault();
+
AppDispatcher.handleServerAction({
type: ActionTypes.RECEIVED_SEARCH,
results: null
@@ -39,67 +40,50 @@ export default class PostDeletedModal extends React.Component {
type: ActionTypes.RECEIVED_POST_SELECTED,
results: null
});
- }
- render() {
- var currentUser = UserStore.getCurrentUser();
- if (currentUser != null) {
- return (
- <div
- className='modal fade'
- ref='modal'
- id='post_deleted'
- tabIndex='-1'
- role='dialog'
- aria-hidden='true'
- >
- <div className='modal-dialog'>
- <div className='modal-content'>
- <div className='modal-header'>
- <button
- type='button'
- className='close'
- data-dismiss='modal'
- aria-label='Close'
- >
- <span aria-hidden='true'>{'×'}</span>
- </button>
- <h4
- className='modal-title'
- id='myModalLabel'
- >
- <FormattedMessage
- id='post_delete.notPosted'
- defaultMessage='Comment could not be posted'
- />
- </h4>
- </div>
- <div className='modal-body'>
- <p>
- <FormattedMessage
- id='post_delete.someone'
- defaultMessage='Someone deleted the message on which you tried to post a comment.'
- />
- </p>
- </div>
- <div className='modal-footer'>
- <button
- type='button'
- className='btn btn-primary'
- data-dismiss='modal'
- >
- <FormattedMessage
- id='post_delete.okay'
- defaultMessage='Okay'
- />
- </button>
- </div>
- </div>
- </div>
- </div>
- );
- }
+ this.props.onHide();
+ }
- return <div/>;
+ render() {
+ return (
+ <Modal
+ show={this.props.show}
+ onHide={this.handleHide}
+ >
+ <Modal.Header closeButton={true}>
+ <Modal.Title>
+ <FormattedMessage
+ id='post_delete.notPosted'
+ defaultMessage='Comment could not be posted'
+ />
+ </Modal.Title>
+ </Modal.Header>
+ <Modal.Body>
+ <p>
+ <FormattedMessage
+ id='post_delete.someone'
+ defaultMessage='Someone deleted the message on which you tried to post a comment.'
+ />
+ </p>
+ </Modal.Body>
+ <Modal.Footer>
+ <button
+ type='button'
+ className='btn btn-primary'
+ onClick={this.handleHide}
+ >
+ <FormattedMessage
+ id='post_delete.okay'
+ defaultMessage='Okay'
+ />
+ </button>
+ </Modal.Footer>
+ </Modal>
+ );
}
}
+
+PostDeletedModal.propTypes = {
+ show: React.PropTypes.bool.isRequired,
+ onHide: React.PropTypes.func.isRequired
+};