Skip to content

Commit 8febab5

Browse files
committed
always switch range edges if endDate before startDate
1 parent 8a1951c commit 8febab5

File tree

2 files changed

+9
-7
lines changed

2 files changed

+9
-7
lines changed

src/components/DayCell.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,13 @@ class DayCell extends Component {
123123
}
124124

125125
const inRanges = ranges.reduce((result, range) => {
126-
const startDate = range.startDate ? endOfDay(range.startDate) : null;
127-
const endDate = range.endDate ? startOfDay(range.endDate) : null;
126+
let startDate = range.startDate;
127+
let endDate = range.endDate;
128+
if (startDate && endDate && isBefore(endDate, startDate)) {
129+
[startDate, endDate] = [endDate, startDate];
130+
}
131+
startDate = startDate ? endOfDay(startDate) : null;
132+
endDate = endDate ? startOfDay(endDate) : null;
128133
const isInRange =
129134
(!startDate || isAfter(day, startDate)) && (!endDate || isBefore(day, endDate));
130135
const isStartEdge = !isInRange && isSameDay(day, startDate);

src/components/Month.js

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import {
1111
isBefore,
1212
isSameDay,
1313
isAfter,
14-
isSunday,
14+
isWeekend,
1515
isWithinInterval,
1616
eachDayOfInterval,
1717
} from 'date-fns';
@@ -43,9 +43,6 @@ class Month extends PureComponent {
4343
let ranges = this.props.ranges;
4444
if (displayMode === 'dateRange' && drag.status) {
4545
let { startDate, endDate } = drag.range;
46-
if (isBefore(endDate, startDate)) {
47-
[startDate, endDate] = [endDate, startDate];
48-
}
4946
ranges = ranges.map((range, i) => {
5047
if (i !== focusedRange[0]) return range;
5148
return {
@@ -77,7 +74,7 @@ class Month extends PureComponent {
7774
ranges={ranges}
7875
day={day}
7976
preview={showPreview ? this.props.preview : null}
80-
isSunday={isSunday(day)}
77+
isWeekend={isWeekend(day, this.props.dateOptions)}
8178
isToday={isSameDay(day, now)}
8279
isStartOfWeek={isSameDay(day, startOfWeek(day, this.props.dateOptions))}
8380
isEndOfWeek={isSameDay(day, endOfWeek(day, this.props.dateOptions))}

0 commit comments

Comments
 (0)