Skip to content
This repository was archived by the owner on Apr 17, 2022. It is now read-only.

Commit c190783

Browse files
committed
fix: preventMinMaxNavigation disabling wrong arrows (fixes #99)
- Minor tweaking
1 parent 719484c commit c190783

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

src/Vue3DatePicker/components/composition/month-year.ts

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { addMonths, addYears, getMonth, getYear, set, subMonths, subYears } from 'date-fns';
22
import { UseMonthYearPick, VueEmit } from '../../interfaces';
3-
import { isDateAfter, isDateBefore } from '../../utils/date-utils';
3+
import { isDateAfter, isDateBefore, isDateEqual } from '../../utils/date-utils';
44

55
export const useMontYearPick = (
66
props: UseMonthYearPick,
@@ -28,12 +28,19 @@ export const useMontYearPick = (
2828
return [new Date(props[propValue]), set(new Date(), { month, year })];
2929
};
3030

31-
const validateMonthYear = (month: number, year: number, isNext: boolean): void => {
31+
const validateMonthYear = (month: number, year: number): void => {
3232
if (props.preventMinMaxNavigation && (props.minDate || props.maxDate)) {
33-
if (props.maxDate && isNext && isDateAfter(...getDateForCompare('maxDate', month, year))) {
33+
if (
34+
props.maxDate &&
35+
(isDateAfter(...getDateForCompare('maxDate', month, year)) ||
36+
isDateEqual(...getDateForCompare('maxDate', month, year)))
37+
) {
3438
updateMonthYear(month, year);
3539
}
36-
if (props.minDate && !isNext && isDateBefore(...getDateForCompare('minDate', month, year))) {
40+
if (
41+
(props.minDate && isDateBefore(...getDateForCompare('minDate', month, year))) ||
42+
isDateEqual(...getDateForCompare('minDate', month, year))
43+
) {
3744
updateMonthYear(month, year);
3845
}
3946
} else {
@@ -58,7 +65,7 @@ export const useMontYearPick = (
5865
date = recursiveYearAdjust(date, isNext);
5966
year = getYear(date);
6067
}
61-
validateMonthYear(month, year, isNext);
68+
validateMonthYear(month, year);
6269
};
6370

6471
const updateMonthYear = (month: number, year: number): void => {

0 commit comments

Comments
 (0)