@@ -272,33 +272,40 @@ class Calendar extends PureComponent {
272272 ) ;
273273 }
274274 onDragSelectionStart ( date ) {
275- if ( this . props . dragSelectionEnabled ) {
275+ const { onChange, dragSelectionEnabled } = this . props ;
276+
277+ if ( dragSelectionEnabled ) {
276278 this . setState ( {
277279 drag : {
278280 status : true ,
279281 range : { startDate : date , endDate : date } ,
280282 disablePreview : true ,
281283 } ,
282284 } ) ;
285+ } else {
286+ onChange && onChange ( date ) ;
283287 }
284288 }
289+
285290 onDragSelectionEnd ( date ) {
286291 const { updateRange, displayMode, onChange, dragSelectionEnabled } = this . props ;
287292
288- if ( ! dragSelectionEnabled || displayMode === 'date' || ! this . state . drag . status ) {
289- onChange && onChange ( date ) ;
290- return ;
291- }
292- const newRange = {
293- startDate : this . state . drag . range . startDate ,
294- endDate : date ,
295- } ;
296- if ( displayMode !== 'dateRange' || isSameDay ( newRange . startDate , date ) ) {
297- this . setState ( { drag : { status : false , range : { } } } , ( ) => onChange && onChange ( date ) ) ;
298- } else {
299- this . setState ( { drag : { status : false , range : { } } } , ( ) => {
300- updateRange && updateRange ( newRange ) ;
301- } ) ;
293+ if ( dragSelectionEnabled ) {
294+ if ( displayMode === 'date' || ! this . state . drag . status ) {
295+ onChange && onChange ( date ) ;
296+ return ;
297+ }
298+ const newRange = {
299+ startDate : this . state . drag . range . startDate ,
300+ endDate : date ,
301+ } ;
302+ if ( displayMode !== 'dateRange' || isSameDay ( newRange . startDate , date ) ) {
303+ this . setState ( { drag : { status : false , range : { } } } , ( ) => onChange && onChange ( date ) ) ;
304+ } else {
305+ this . setState ( { drag : { status : false , range : { } } } , ( ) => {
306+ updateRange && updateRange ( newRange ) ;
307+ } ) ;
308+ }
302309 }
303310 }
304311 onDragSelectionMove ( date ) {
0 commit comments