Skip to content
This repository was archived by the owner on May 19, 2025. It is now read-only.

Commit 7b3c139

Browse files
committed
If dragSelectionEnabled is false, trigger selection onDragSelectionStart
1 parent e140275 commit 7b3c139

File tree

1 file changed

+22
-15
lines changed

1 file changed

+22
-15
lines changed

src/components/Calendar.js

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)