summaryrefslogtreecommitdiffstats
path: root/web/react/components/sidebar_header.jsx
diff options
context:
space:
mode:
authorJoramWilander <jwawilander@gmail.com>2015-07-30 10:54:41 -0400
committerJoramWilander <jwawilander@gmail.com>2015-07-30 10:54:41 -0400
commite5c79cd193f778e9036d938ba71c59d6e0cf3dc9 (patch)
treec9a7e40cc8a0407e1590b46778d0184d2c828cb8 /web/react/components/sidebar_header.jsx
parentb2b6bddadc6331d0f183f10da556b34f46314f73 (diff)
downloadchat-e5c79cd193f778e9036d938ba71c59d6e0cf3dc9.tar.gz
chat-e5c79cd193f778e9036d938ba71c59d6e0cf3dc9.tar.bz2
chat-e5c79cd193f778e9036d938ba71c59d6e0cf3dc9.zip
makes the LHS dropdown close when clicking on the LHS header
Diffstat (limited to 'web/react/components/sidebar_header.jsx')
-rw-r--r--web/react/components/sidebar_header.jsx17
1 files changed, 14 insertions, 3 deletions
diff --git a/web/react/components/sidebar_header.jsx b/web/react/components/sidebar_header.jsx
index 0156dc01a..559f2ef91 100644
--- a/web/react/components/sidebar_header.jsx
+++ b/web/react/components/sidebar_header.jsx
@@ -17,8 +17,15 @@ var NavbarDropdown = React.createClass({
e.preventDefault();
client.logout();
},
+ blockToggle: false,
componentDidMount: function() {
UserStore.addTeamsChangeListener(this._onChange);
+
+ var self = this;
+ $(this.refs.dropdown.getDOMNode()).on('hide.bs.dropdown', function(e) {
+ self.blockToggle = true;
+ setTimeout(function(){self.blockToggle = false;}, 100);
+ });
},
componentWillUnmount: function() {
UserStore.removeTeamsChangeListener(this._onChange);
@@ -75,7 +82,7 @@ var NavbarDropdown = React.createClass({
return (
<ul className="nav navbar-nav navbar-right">
- <li className="dropdown">
+ <li ref="dropdown" className="dropdown">
<a href="#" className="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
<span className="dropdown__icon" dangerouslySetInnerHTML={{__html: Constants.MENU_ICON }} />
</a>
@@ -108,7 +115,11 @@ module.exports = React.createClass({
},
toggleDropdown: function(e) {
- $('.team__header').find('.dropdown-toggle').trigger('click');
+ if (this.refs.dropdown.blockToggle) {
+ this.refs.dropdown.blockToggle = false;
+ return;
+ }
+ $('.team__header').find('.dropdown-toggle').dropdown('toggle');
},
render: function() {
@@ -131,7 +142,7 @@ module.exports = React.createClass({
<div className="team__name">{ this.props.teamDisplayName }</div>
</div>
</a>
- <NavbarDropdown teamType={this.props.teamType} />
+ <NavbarDropdown ref="dropdown" teamType={this.props.teamType} />
</div>
);
}