Skip to content

Commit 3adbf08

Browse files
committed
fix: Wrong disabled times when using AM/PM in the overlay (fixes #820)
1 parent be1ef19 commit 3adbf08

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

src/VueDatePicker/components/TimePicker/TimeInput.vue

+6-4
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,11 @@
279279
return Boolean(disabledTimes[type]?.includes(value));
280280
};
281281
282+
const getAmPmDiff = (val: number, type: TimeType): number => {
283+
if (type !== 'hours') return val;
284+
return amPm.value === 'AM' ? val : val + 12;
285+
};
286+
282287
const getGridItems = (type: TimeType): OverlayGridItem[][] => {
283288
const timeRange = props.is24 ? 24 : 12;
284289
const max = type === 'hours' ? timeRange : 60;
@@ -288,7 +293,7 @@
288293
const generatedArray: IDefaultSelect[] = [];
289294
290295
for (let i = min; i < max; i += increment) {
291-
generatedArray.push({ value: i, text: i < 10 ? `0${i}` : `${i}` });
296+
generatedArray.push({ value: props.is24 ? i : getAmPmDiff(i, type), text: i < 10 ? `0${i}` : `${i}` });
292297
}
293298
294299
if (type === 'hours' && !props.is24) {
@@ -410,9 +415,6 @@
410415
411416
const handleTimeFromOverlay = (type: TimeType, value: number): void => {
412417
toggleOverlay(type);
413-
if (type === 'hours' && !props.is24) {
414-
return emit(`update:${type}`, amPm.value === 'PM' ? value + 12 : value);
415-
}
416418
return emit(`update:${type}`, value);
417419
};
418420

0 commit comments

Comments
 (0)