Skip to content

Commit 3424bda

Browse files
Merge pull request #4948 from asada-no4/feature/fix-style-for-quarter
fix style for quarter
2 parents 17a0a33 + 5db1ad2 commit 3424bda

File tree

2 files changed

+59
-3
lines changed

2 files changed

+59
-3
lines changed

src/month.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -903,9 +903,7 @@ export default class Month extends Component<MonthProps> {
903903
"react-datepicker__quarter-text",
904904
`react-datepicker__quarter-${q}`,
905905
{
906-
"react-datepicker__quarter-text--disabled":
907-
(minDate || maxDate) &&
908-
isQuarterDisabled(setQuarter(day, q), this.props),
906+
"react-datepicker__quarter-text--disabled": isDisabled,
909907
"react-datepicker__quarter-text--selected": selected
910908
? this.isSelectedQuarter(day, q, selected)
911909
: undefined,

src/test/month_test.test.tsx

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1114,6 +1114,64 @@ describe("Month", () => {
11141114
expect(onDayMouseEnterSpy).not.toHaveBeenCalled();
11151115
});
11161116

1117+
it("should return disabled class if specified excludeDate", () => {
1118+
const onDayClickSpy = jest.fn();
1119+
const onDayMouseEnterSpy = jest.fn();
1120+
const { container } = render(
1121+
<Month
1122+
day={newDate("2015-12-01")}
1123+
excludeDates={[newDate("2015-02-01"), newDate("2015-07-03")]}
1124+
showQuarterYearPicker
1125+
onDayClick={onDayClickSpy}
1126+
onDayMouseEnter={onDayMouseEnterSpy}
1127+
/>,
1128+
);
1129+
// exclude quarter index
1130+
const quarterTexts = container.querySelectorAll(
1131+
".react-datepicker__quarter-text",
1132+
);
1133+
1134+
[0, 2].forEach((i) => {
1135+
const quarter = quarterTexts[i]!;
1136+
expect(
1137+
quarter.classList.contains("react-datepicker__quarter-text--disabled"),
1138+
).toBe(true);
1139+
fireEvent.click(quarter);
1140+
expect(onDayClickSpy).not.toHaveBeenCalled();
1141+
fireEvent.mouseEnter(quarter);
1142+
expect(onDayMouseEnterSpy).not.toHaveBeenCalled();
1143+
});
1144+
});
1145+
1146+
it("should return disabled class if specified includeDate", () => {
1147+
const onDayClickSpy = jest.fn();
1148+
const onDayMouseEnterSpy = jest.fn();
1149+
const { container } = render(
1150+
<Month
1151+
day={newDate("2015-12-01")}
1152+
includeDates={[newDate("2015-02-01"), newDate("2015-07-03")]}
1153+
showQuarterYearPicker
1154+
onDayClick={onDayClickSpy}
1155+
onDayMouseEnter={onDayMouseEnterSpy}
1156+
/>,
1157+
);
1158+
// include quarter index
1159+
const quarterTexts = container.querySelectorAll(
1160+
".react-datepicker__quarter-text",
1161+
);
1162+
1163+
[1, 3].forEach((i) => {
1164+
const quarter = quarterTexts[i]!;
1165+
expect(
1166+
quarter.classList.contains("react-datepicker__quarter-text--disabled"),
1167+
).toBe(true);
1168+
fireEvent.click(quarter);
1169+
expect(onDayClickSpy).not.toHaveBeenCalled();
1170+
fireEvent.mouseEnter(quarter);
1171+
expect(onDayMouseEnterSpy).not.toHaveBeenCalled();
1172+
});
1173+
});
1174+
11171175
describe("if quarter is selected", () => {
11181176
let monthComponent: HTMLElement;
11191177
let quarter: HTMLElement;

0 commit comments

Comments
 (0)