From 150fc677da7a2032bab8db878e6a20695daf3329 Mon Sep 17 00:00:00 2001 From: Jordan Eldredge Date: Tue, 23 May 2017 21:01:40 -0700 Subject: [PATCH] Fix close context menu on click outside menu --- js/components/ContextMenu.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/js/components/ContextMenu.js b/js/components/ContextMenu.js index 58dcb504..e2dc0bbc 100644 --- a/js/components/ContextMenu.js +++ b/js/components/ContextMenu.js @@ -18,7 +18,7 @@ const SKINS = [ ]; class ContextMenu extends React.Component { - componantWillMount() { + componentWillMount() { // Clicking anywhere outside the context menu will close the window document.addEventListener("click", this.props.closeMenu); } @@ -75,10 +75,15 @@ class ContextMenu extends React.Component { const mapStateToProps = state => state.contextMenu; const mapDispatchToProps = (dispatch, ownProps) => ({ close: () => dispatch(close()), - closeMenu: () => dispatch({ type: CLOSE_CONTEXT_MENU }), + closeMenu: () => { + console.log("close"); + dispatch({ type: CLOSE_CONTEXT_MENU }); + }, toggleMenu: e => { dispatch({ type: TOGGLE_CONTEXT_MENU }); - e.stopPropagation(); + // TODO: Consider binding to a ref instead. + // https://stackoverflow.com/a/24421834 + e.nativeEvent.stopImmediatePropagation(); }, openFileDialog: () => dispatch(openFileDialog(ownProps.fileInput)), setSkin: filename => dispatch(setSkinFromFilename(filename))