Browse Source

navbar profile menu outside click handler

all-modes
pbca26 8 years ago
parent
commit
4868b29bb8
  1. 23
      react/src/components/dashboard/navbar.js

23
react/src/components/dashboard/navbar.js

@ -19,6 +19,29 @@ class Navbar extends React.Component {
};
this.openDropMenu = this.openDropMenu.bind(this);
this.logout = this.logout.bind(this);
this.handleClickOutside = this.handleClickOutside.bind(this);
}
componentWillMount() {
document.addEventListener('click', this.handleClickOutside, false);
}
componentWillUnmount() {
document.removeEventListener('click', this.handleClickOutside, false);
}
handleClickOutside(e) {
console.log(e);
if (e.srcElement.className !== 'dropdown-menu' &&
e.srcElement.alt !== 'iguana profile pic' &&
e.srcElement.offsetParent.className !== 'avatar avatar-online' &&
e.srcElement.className.indexOf('navbar-avatar') === -1 &&
(e.path && e.path[4] && e.path[4].className.indexOf('dropdown-menu') === -1)) {
this.setState({
openDropMenu: false,
});
}
}
openDropMenu() {

Loading…
Cancel
Save