summaryrefslogtreecommitdiffstats
path: root/web/react/components/removed_from_channel_modal.jsx
diff options
context:
space:
mode:
author=Corey Hulen <corey@hulen.com>2015-07-29 01:39:43 -0800
committer=Corey Hulen <corey@hulen.com>2015-07-29 01:39:43 -0800
commit4244990bf118c04d4d66dd946aaf5217fc59a393 (patch)
tree9cfad1eec8a462577e1723c62b70520994c0920a /web/react/components/removed_from_channel_modal.jsx
parent9677a9f71777d75f3def0b0cb238050a30ec6a67 (diff)
parentd222f6c7a3c69a68879cc0fd5aeb7343d72dfb39 (diff)
downloadchat-4244990bf118c04d4d66dd946aaf5217fc59a393.tar.gz
chat-4244990bf118c04d4d66dd946aaf5217fc59a393.tar.bz2
chat-4244990bf118c04d4d66dd946aaf5217fc59a393.zip
Merge branch 'master' into mm-1355
Diffstat (limited to 'web/react/components/removed_from_channel_modal.jsx')
-rw-r--r--web/react/components/removed_from_channel_modal.jsx64
1 files changed, 64 insertions, 0 deletions
diff --git a/web/react/components/removed_from_channel_modal.jsx b/web/react/components/removed_from_channel_modal.jsx
new file mode 100644
index 000000000..a8889a92a
--- /dev/null
+++ b/web/react/components/removed_from_channel_modal.jsx
@@ -0,0 +1,64 @@
+// Copyright (c) 2015 Spinpunch, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+var ChannelStore = require('../stores/channel_store.jsx');
+var UserStore = require('../stores/user_store.jsx');
+var BrowserStore = require('../stores/browser_store.jsx')
+var utils = require('../utils/utils.jsx');
+
+module.exports = React.createClass({
+ handleShow: function() {
+ var newState = {};
+ if(BrowserStore.getItem("channel-removed-state")) {
+ newState = BrowserStore.getItem("channel-removed-state");
+ BrowserStore.removeItem("channel-removed-state");
+ }
+
+ this.setState(newState);
+ },
+ handleClose: function() {
+ var townSquare = ChannelStore.getByName("town-square");
+ utils.switchChannel(townSquare);
+
+ this.setState({channelName: "", remover: ""})
+ },
+ componentDidMount: function() {
+ $(this.getDOMNode()).on('show.bs.modal',this.handleShow);
+ $(this.getDOMNode()).on('hidden.bs.modal',this.handleClose);
+ },
+ componentWillUnmount: function() {
+ $(this.getDOMNode()).off('show.bs.modal',this.handleShow);
+ $(this.getDOMNode()).off('hidden.bs.modal',this.handleClose);
+ },
+ getInitialState: function() {
+ return {channelName: "", remover: ""}
+ },
+ render: function() {
+ var currentUser = UserStore.getCurrentUser();
+ var channelName = this.state.channelName ? this.state.channelName : "the channel"
+ var remover = this.state.remover ? this.state.remover : "Someone"
+
+ if (currentUser != null) {
+ return (
+ <div className="modal fade" ref="modal" id="removed_from_channel" 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">&times;</span></button>
+ <h4 className="modal-title">Removed from {channelName}</h4>
+ </div>
+ <div className="modal-body">
+ <p>{remover} removed you from {channelName}</p>
+ </div>
+ <div className="modal-footer">
+ <button type="button" className="btn btn-primary" data-dismiss="modal">Okay</button>
+ </div>
+ </div>
+ </div>
+ </div>
+ );
+ } else {
+ return <div/>;
+ }
+ }
+}); \ No newline at end of file