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

Commit abe904b

Browse files
committed
check if disabled when selecting
1 parent d894517 commit abe904b

2 files changed

Lines changed: 13 additions & 2 deletions

File tree

demo/src/components/Main.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -346,6 +346,7 @@ export default class Main extends Component {
346346
ranges={[this.state.dateRangeWithDisabled.selection]}
347347
className={'PreviewArea'}
348348
disabledDates={[Date()]}
349+
minDate={new Date(new Date().getTime() - 3 * 24 * 60 * 60 * 1000)}
349350
/>
350351
</Section>
351352
</main>

src/components/DateRange.js

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
33
import Calendar from './Calendar.js';
44
import { rangeShape } from './DayCell';
55
import { findNextRangeIndex, generateStyles } from '../utils.js';
6-
import { isBefore, differenceInCalendarDays, addDays, min } from 'date-fns';
6+
import { isBefore, differenceInCalendarDays, addDays, min, isWithinInterval } from 'date-fns';
77
import classnames from 'classnames';
88
import coreStyles from '../styles';
99

@@ -58,12 +58,22 @@ class DateRange extends Component {
5858
};
5959
}
6060
setSelection(value, isSingleValue) {
61-
const { onChange, ranges, onRangeFocusChange } = this.props;
61+
const { onChange, ranges, onRangeFocusChange, disabledDates } = this.props;
6262
const focusedRange = this.props.focusedRange || this.state.focusedRange;
6363
const focusedRangeIndex = focusedRange[0];
6464
const selectedRange = ranges[focusedRangeIndex];
6565
if (!selectedRange) return;
6666
const newSelection = this.calcNewSelection(value, isSingleValue);
67+
if (
68+
disabledDates.some(disabledDate =>
69+
isWithinInterval(disabledDate, {
70+
start: newSelection.range.startDate,
71+
end: newSelection.range.endDate,
72+
})
73+
)
74+
) {
75+
return;
76+
}
6777
onChange({
6878
[selectedRange.key || `range${focusedRangeIndex + 1}`]: {
6979
...selectedRange,

0 commit comments

Comments
 (0)