Skip to content

Commit 0990eae

Browse files
committed
test: Update code for test usage
1 parent ceb36fc commit 0990eae

File tree

4 files changed

+30
-18
lines changed

4 files changed

+30
-18
lines changed

src/Picker.tsx

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,11 @@ import { isEqual } from './utils/dateUtil';
2525
import getDataOrAriaProps, { toArray } from './utils/miscUtil';
2626
import PanelContext, { ContextOperationRefProps } from './PanelContext';
2727
import { PickerMode } from './interface';
28-
import { getDefaultFormat, getInputSize } from './utils/uiUtil';
28+
import {
29+
getDefaultFormat,
30+
getInputSize,
31+
elementsContains,
32+
} from './utils/uiUtil';
2933
import usePickerInput from './hooks/usePickerInput';
3034
import useTextValueMapping from './hooks/useTextValueMapping';
3135
import useMergedState from './hooks/useMergeState';
@@ -274,11 +278,9 @@ function InnerPicker<DateType>(props: PickerProps<DateType>) {
274278
triggerOpen,
275279
forwardKeyDown,
276280
isClickOutside: target =>
277-
!!(
278-
panelDivRef.current &&
279-
!panelDivRef.current.contains(target as Node) &&
280-
inputDivRef.current &&
281-
!inputDivRef.current.contains(target as Node)
281+
!elementsContains(
282+
[panelDivRef.current, inputDivRef.current],
283+
target as HTMLElement,
282284
),
283285
onSubmit: () => {
284286
triggerChange(selectedValue);

src/RangePicker.tsx

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,11 @@ import getDataOrAriaProps, {
2424
getValue,
2525
updateValues,
2626
} from './utils/miscUtil';
27-
import { getDefaultFormat, getInputSize } from './utils/uiUtil';
27+
import {
28+
getDefaultFormat,
29+
getInputSize,
30+
elementsContains,
31+
} from './utils/uiUtil';
2832
import PanelContext, { ContextOperationRefProps } from './PanelContext';
2933
import { isEqual, getClosingViewDate, isSameDate } from './utils/dateUtil';
3034
import useValueTexts from './hooks/useValueTexts';
@@ -520,13 +524,9 @@ function InnerRangePicker<DateType>(props: RangePickerProps<DateType>) {
520524
forwardKeyDown,
521525
onBlur,
522526
isClickOutside: (target: EventTarget | null) =>
523-
!!(
524-
panelDivRef.current &&
525-
!panelDivRef.current.contains(target as Node) &&
526-
startInputDivRef.current &&
527-
!startInputDivRef.current.contains(target as Node) &&
528-
endInputDivRef.current &&
529-
!endInputDivRef.current.contains(target as Node)
527+
!elementsContains(
528+
[panelDivRef.current, startInputDivRef.current, endInputDivRef.current],
529+
target as HTMLElement,
530530
),
531531
onFocus: (e: React.FocusEvent<HTMLInputElement>) => {
532532
setActivePickerIndex(index);

src/panels/YearPanel/YearBody.tsx

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,12 @@ function YearBody<DateType>({
4747
);
4848

4949
const rows: React.ReactNode[] = [];
50+
51+
const isInView = (date: DateType) => {
52+
const currentYearNumber = generateConfig.getYear(date);
53+
return startYear <= currentYearNumber && currentYearNumber <= endYear;
54+
};
55+
5056
const getCellClassName = useCellClassName<DateType>({
5157
cellPrefixCls: yearPrefixCls,
5258
value,
@@ -55,10 +61,7 @@ function YearBody<DateType>({
5561
hoverRangedValue,
5662
isSameCell: (current, target) =>
5763
isSameYear(generateConfig, current, target),
58-
isInView: date => {
59-
const currentYearNumber = generateConfig.getYear(date);
60-
return startYear <= currentYearNumber && currentYearNumber <= endYear;
61-
},
64+
isInView,
6265
offsetCell: (date, offset) => generateConfig.addYear(date, offset),
6366
});
6467

src/utils/uiUtil.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,3 +215,10 @@ export const PickerModeMap: Record<
215215
time: null,
216216
date: null,
217217
};
218+
219+
export function elementsContains(
220+
elements: (HTMLElement | undefined | null)[],
221+
target: HTMLElement,
222+
) {
223+
return elements.some(ele => ele && ele.contains(target));
224+
}

0 commit comments

Comments
 (0)