File tree Expand file tree Collapse file tree 2 files changed +19
-1
lines changed Expand file tree Collapse file tree 2 files changed +19
-1
lines changed Original file line number Diff line number Diff line change @@ -110,6 +110,12 @@ export default class DatePicker extends React.Component {
110
110
this . state = this . calcInitialState ( )
111
111
}
112
112
113
+ componentWillReceiveProps ( nextProps ) {
114
+ if ( this . props . inline && ! this . props . selected . isSame ( nextProps . selected , 'month' ) ) {
115
+ this . setPreSelection ( nextProps . selected )
116
+ }
117
+ }
118
+
113
119
componentWillUnmount ( ) {
114
120
this . clearPreventFocusTimeout ( )
115
121
}
@@ -182,7 +188,9 @@ export default class DatePicker extends React.Component {
182
188
}
183
189
184
190
handleCalendarClickOutside = ( event ) => {
185
- this . setOpen ( false )
191
+ if ( ! this . props . inline ) {
192
+ this . setOpen ( false )
193
+ }
186
194
this . props . onClickOutside ( event )
187
195
if ( this . props . withPortal ) { event . preventDefault ( ) }
188
196
}
Original file line number Diff line number Diff line change @@ -601,4 +601,14 @@ describe('DatePicker', () => {
601
601
)
602
602
expect ( datePicker . state ( 'preSelection' ) . format ( 'YYYY-MM-DD' ) ) . to . equal ( moment ( ) . format ( 'YYYY-MM-DD' ) )
603
603
} )
604
+ it ( 'should switch month in inline mode immediately' , ( ) => {
605
+ const selected = moment ( )
606
+ const future = moment ( ) . add ( 100 , 'day' )
607
+ const datePicker = mount (
608
+ < DatePicker inline selected = { selected } />
609
+ )
610
+ expect ( datePicker . state ( 'preSelection' ) . format ( 'YYYY-MM-DD' ) ) . to . equal ( selected . format ( 'YYYY-MM-DD' ) )
611
+ datePicker . setProps ( { selected : future } )
612
+ expect ( datePicker . state ( 'preSelection' ) . format ( 'YYYY-MM-DD' ) ) . to . equal ( future . format ( 'YYYY-MM-DD' ) )
613
+ } )
604
614
} )
You can’t perform that action at this time.
0 commit comments