Skip to content

Commit 32d2369

Browse files
committed
fix: End time reset on range select (fixes #1184)
1 parent 96d8b3b commit 32d2369

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

src/VueDatePicker/composables/useHelperFns.ts

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,13 @@ export const useHelperFns = () => {
131131
dateArr: (name: string) => `You need to use array as "model-value" binding in order to support "${name}"`,
132132
};
133133

134-
const timeGetter = (type: TimeKey, date: Date | Date[] | null, fallbackDate: Date, isRange: boolean) => {
134+
const timeGetter = (
135+
type: TimeKey,
136+
date: Date | Date[] | null,
137+
fallbackDate: Date,
138+
isRange: boolean,
139+
time: TimeInternalModel,
140+
) => {
135141
const fn = {
136142
hours: getHours,
137143
minutes: getMinutes,
@@ -142,8 +148,8 @@ export const useHelperFns = () => {
142148

143149
if (Array.isArray(date) && isRange) {
144150
const start = date[0] ?? fallbackDate;
145-
const end = date[1] ?? fallbackDate;
146-
return [fn[type](start), fn[type](end)];
151+
const end = date[1];
152+
return [fn[type](start), end ? fn[type](end) : ((time[type] as number[])[1] ?? fn[type](fallbackDate))];
147153
}
148154

149155
return fn[type](date as Date);
@@ -155,9 +161,9 @@ export const useHelperFns = () => {
155161
fallbackDate: Date,
156162
isRange: boolean,
157163
) => {
158-
time.hours = timeGetter('hours', modelValue, fallbackDate, isRange);
159-
time.minutes = timeGetter('minutes', modelValue, fallbackDate, isRange);
160-
time.seconds = timeGetter('seconds', modelValue, fallbackDate, isRange);
164+
time.hours = timeGetter('hours', modelValue, fallbackDate, isRange, time);
165+
time.minutes = timeGetter('minutes', modelValue, fallbackDate, isRange, time);
166+
time.seconds = timeGetter('seconds', modelValue, fallbackDate, isRange, time);
161167
};
162168

163169
const getTimeObjFromCurrent = (

0 commit comments

Comments
 (0)