makes the LHS dropdown close when clicking on the LHS header

Этот коммит содержится в:
JoramWilander
2015-07-30 10:54:41 -04:00
родитель b2b6bddadc
Коммит e5c79cd193

Просмотреть файл

@@ -17,8 +17,15 @@ var NavbarDropdown = React.createClass({
e.preventDefault(); e.preventDefault();
client.logout(); client.logout();
}, },
blockToggle: false,
componentDidMount: function() { componentDidMount: function() {
UserStore.addTeamsChangeListener(this._onChange); 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() { componentWillUnmount: function() {
UserStore.removeTeamsChangeListener(this._onChange); UserStore.removeTeamsChangeListener(this._onChange);
@@ -75,7 +82,7 @@ var NavbarDropdown = React.createClass({
return ( return (
<ul className="nav navbar-nav navbar-right"> <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"> <a href="#" className="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
<span className="dropdown__icon" dangerouslySetInnerHTML={{__html: Constants.MENU_ICON }} /> <span className="dropdown__icon" dangerouslySetInnerHTML={{__html: Constants.MENU_ICON }} />
</a> </a>
@@ -108,7 +115,11 @@ module.exports = React.createClass({
}, },
toggleDropdown: function(e) { 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() { render: function() {
@@ -131,7 +142,7 @@ module.exports = React.createClass({
<div className="team__name">{ this.props.teamDisplayName }</div> <div className="team__name">{ this.props.teamDisplayName }</div>
</div> </div>
</a> </a>
<NavbarDropdown teamType={this.props.teamType} /> <NavbarDropdown ref="dropdown" teamType={this.props.teamType} />
</div> </div>
); );
} }