From b70b2a859dedf14018f7b8c06029c64a45031b21 Mon Sep 17 00:00:00 2001 From: Alex Liebowitz Date: Fri, 13 Jan 2017 10:44:23 -0500 Subject: [PATCH] Fix handling of window click events in DropDownMenu Wasn't doing e.stopPropagation() when mounting the handler for clicks outside the menu. --- js/component/link.js | 4 ++-- js/component/menu.js | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/js/component/link.js b/js/component/link.js index b0d7f53ec..b9ce82e18 100644 --- a/js/component/link.js +++ b/js/component/link.js @@ -15,9 +15,9 @@ export let Link = React.createClass({ disabled: false, }; }, - handleClick: function() { + handleClick: function(e) { if (this.props.onClick) { - this.props.onClick(); + this.props.onClick(e); } }, render: function() { diff --git a/js/component/menu.js b/js/component/menu.js index 618f3165c..c3c10047f 100644 --- a/js/component/menu.js +++ b/js/component/menu.js @@ -42,21 +42,20 @@ export let DropDownMenu = React.createClass({ window.removeEventListener('click', this.handleWindowClick, false); } }, - onMenuIconClick: function() { + onMenuIconClick: function(e) { this.setState({ menuOpen: !this.state.menuOpen, }); if (!this.state.menuOpen && !this._isWindowClickBound) { this._isWindowClickBound = true; window.addEventListener('click', this.handleWindowClick, false); + e.stopPropagation(); } return false; }, handleWindowClick: function(e) { if (this.state.menuOpen && (!this._menuDiv || !this._menuDiv.contains(e.target))) { - console.log('menu closing disabled due to auto close on click, fix me'); - return; this.setState({ menuOpen: false });