Skip to content

Commit 1fc36fa

Browse files
committed
update isTimeInDisabledRange to support seconds
1 parent 2bf5d63 commit 1fc36fa

File tree

3 files changed

+22
-15
lines changed

3 files changed

+22
-15
lines changed

src/date_utils.js

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -620,16 +620,20 @@ export function isTimeInDisabledRange(time, { minTime, maxTime }) {
620620
if (!minTime || !maxTime) {
621621
throw new Error("Both minTime and maxTime props required");
622622
}
623-
const base = newDate();
624-
const baseTime = setHours(setMinutes(base, getMinutes(time)), getHours(time));
625-
const min = setHours(
626-
setMinutes(base, getMinutes(minTime)),
627-
getHours(minTime),
628-
);
629-
const max = setHours(
630-
setMinutes(base, getMinutes(maxTime)),
631-
getHours(maxTime),
632-
);
623+
let baseTime = newDate();
624+
baseTime = setHours(baseTime, getHours(time));
625+
baseTime = setMinutes(baseTime, getMinutes(time));
626+
baseTime = setSeconds(baseTime, getSeconds(time));
627+
628+
let min = newDate();
629+
min = setHours(min, getHours(minTime));
630+
min = setMinutes(min, getMinutes(minTime));
631+
min = setSeconds(min, getSeconds(minTime));
632+
633+
let max = newDate();
634+
max = setHours(max, getHours(maxTime));
635+
max = setMinutes(max, getMinutes(maxTime));
636+
max = setSeconds(max, getSeconds(maxTime));
633637

634638
let valid;
635639
try {

test/date_utils_test.test.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ import { setHours } from "date-fns/setHours";
4949
import { addQuarters } from "date-fns/addQuarters";
5050
import { ptBR } from "date-fns/locale/pt-BR";
5151
import { registerLocale } from "../src/date_utils";
52-
import { addYears } from "date-fns";
52+
import { addYears, setSeconds } from "date-fns";
5353

5454
registerLocale("pt-BR", ptBR);
5555

@@ -888,9 +888,12 @@ describe("date_utils", () => {
888888
describe("isTimeInDisabledRange", () => {
889889
it("should tell if time is in disabled range", () => {
890890
const date = newDate("2016-03-15");
891-
const time = setHours(setMinutes(date, 30), 1);
892-
const minTime = setHours(setMinutes(date, 30), 0);
893-
const maxTime = setHours(setMinutes(date, 30), 5);
891+
let time = setHours(date, 1);
892+
time = setMinutes(time, 30);
893+
time = setSeconds(time, 30); // 2016-03-15 01:30:30
894+
895+
const minTime = setHours(setMinutes(date, 30), 0); //2016-03-15 00:30:00
896+
const maxTime = setHours(setMinutes(setSeconds(date, 35), 30), 1); //2016-03-15 01:30:35
894897
expect(isTimeInDisabledRange(time, { minTime, maxTime })).toBe(false);
895898
});
896899

test/include_times_test.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ describe("TimeComponent", () => {
5555
expect(enabledTimeItemsHasNoAriaDisabled).toBe(true);
5656
});
5757

58-
it.only("should factor in seconds", () => {
58+
it("should factor in seconds", () => {
5959
const includeHoursMinutesSeconds = [
6060
utils.addHours(utils.addSeconds(today, 30), 1), //01:00:30
6161
utils.addSeconds(today, 30), //00:00:30

0 commit comments

Comments
 (0)