From faa9426517e67652c54c3053053035096f3a277c Mon Sep 17 00:00:00 2001 From: Samdish Suri Date: Sat, 7 Oct 2017 01:52:55 +0800 Subject: [PATCH] Add hideOnMouseDown option This enables hiding the dropdown on mouse down instead of on click (mousedown + mouseup). The use case I am using this great library for prefers this, more responsive, configuration. I'm sure others would benefit from this option as well! --- src/components/Dropdown.jsx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/components/Dropdown.jsx b/src/components/Dropdown.jsx index f79c5a3..dd31931 100644 --- a/src/components/Dropdown.jsx +++ b/src/components/Dropdown.jsx @@ -10,12 +10,12 @@ class Dropdown extends Component { displayName: 'Dropdown' componentDidMount () { - window.addEventListener('click', this._onWindowClick); + window.addEventListener(this.props.hideOnMouseDown ? 'mouseDown' : 'click', this._onWindowClick); window.addEventListener('touchstart', this._onWindowClick); } componentWillUnmount () { - window.removeEventListener('click', this._onWindowClick); + window.removeEventListener(this.props.hideOnMouseDown ? 'mouseDown' : 'click', this._onWindowClick); window.removeEventListener('touchstart', this._onWindowClick); } @@ -106,6 +106,7 @@ class Dropdown extends Component { delete cleanProps.onShow; delete cleanProps.onHide; delete cleanProps.removeElement; + delete cleanProps.hideOnMouseDown; return (