File tree Expand file tree Collapse file tree 2 files changed +14
-2
lines changed
src/client/components/DatePicker Expand file tree Collapse file tree 2 files changed +14
-2
lines changed Original file line number Diff line number Diff line change 9494 "moment" : " 2.18.1" ,
9595 "prop-types" : " 15.6.0" ,
9696 "react-day-picker" : " 6.1.0" ,
97- "react-portal" : " 4.1.0 "
97+ "react-portal" : " 4.1.2 "
9898 }
9999}
Original file line number Diff line number Diff line change @@ -60,6 +60,7 @@ class DatePicker extends Component {
6060 }
6161
6262 componentDidMount ( ) {
63+ document . body . addEventListener ( 'click' , this . handleBodyClick ) ;
6364 document . body . addEventListener ( 'keydown' , this . handleBodyKeyDown ) ;
6465 }
6566
@@ -77,6 +78,7 @@ class DatePicker extends Component {
7778 }
7879
7980 componentWillUnmount ( ) {
81+ document . body . removeEventListener ( 'click' , this . handleBodyClick ) ;
8082 document . body . removeEventListener ( 'keydown' , this . handlePortalClose ) ;
8183 }
8284
@@ -101,6 +103,17 @@ class DatePicker extends Component {
101103 this . props . onChange ( value ) ;
102104 } ;
103105
106+ handleBodyClick = event => {
107+ let clickedOutside = (
108+ ! this . container . contains ( event . target ) &&
109+ ! this . datePickerRef . contains ( event . target )
110+ ) ;
111+
112+ if ( clickedOutside ) {
113+ this . hidePicker ( ) ;
114+ }
115+ } ;
116+
104117 handleBodyKeyDown = event => {
105118 if ( event . which === 9 ) {
106119 this . hidePicker ( ) ;
@@ -161,7 +174,6 @@ class DatePicker extends Component {
161174 { interpolatedStyle => (
162175 < Portal
163176 isOpened = { true }
164- closeOnOutsideClick = { true }
165177 onClose = { this . handlePortalClose }
166178 >
167179 < div
You can’t perform that action at this time.
0 commit comments