Skip to content

Commit 8a5805d

Browse files
committed
chore: tmp of it
1 parent bffb149 commit 8a5805d

File tree

3 files changed

+35
-41
lines changed

3 files changed

+35
-41
lines changed

src/NewPicker/PickerInput/RangePicker.tsx

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,7 @@ import PickerTrigger from '../PickerTrigger';
2222
import { fillIndex } from '../util';
2323
import PickerContext from './context';
2424
import useCellRender from './hooks/useCellRender';
25-
import useDisabledBoundary from './hooks/useDisabledBoundary';
2625
import useFilledProps from './hooks/useFilledProps';
27-
import useInputReadOnly from './hooks/useInputReadOnly';
2826
import useInvalidate from './hooks/useInvalidate';
2927
import useOpen from './hooks/useOpen';
3028
import { usePickerRef } from './hooks/usePickerRef';
@@ -187,7 +185,6 @@ function RangePicker<DateType extends object = any>(
187185
onPickerValueChange,
188186

189187
// Format
190-
format,
191188
inputReadOnly,
192189

193190
// Motion
@@ -285,20 +282,8 @@ function RangePicker<DateType extends object = any>(
285282
// ======================= Show Now =======================
286283
const mergedShowNow = useShowNow(internalPicker, mergedMode, showNow, showToday);
287284

288-
// ======================= ReadOnly =======================
289-
const mergedInputReadOnly = useInputReadOnly(formatList, inputReadOnly);
290-
291-
// ======================= Boundary =======================
292-
const disabledBoundaryDate = useDisabledBoundary(
293-
generateConfig,
294-
locale,
295-
disabledDate,
296-
minDate,
297-
maxDate,
298-
);
299-
300285
// ====================== Invalidate ======================
301-
const isInvalidateDate = useInvalidate(generateConfig, picker, disabledBoundaryDate, showTime);
286+
const isInvalidateDate = useInvalidate(generateConfig, picker, disabledDate, showTime);
302287

303288
// ======================== Value =========================
304289
const [
@@ -326,7 +311,7 @@ function RangePicker<DateType extends object = any>(
326311
activeIndexList,
327312
generateConfig,
328313
locale,
329-
disabledBoundaryDate,
314+
disabledDate,
330315
// minDate,
331316
// maxDate,
332317
);
@@ -747,7 +732,7 @@ function RangePicker<DateType extends object = any>(
747732
onInputChange={onSelectorInputChange}
748733
// Format
749734
format={formatList}
750-
inputReadOnly={mergedInputReadOnly}
735+
inputReadOnly={inputReadOnly}
751736
// Disabled
752737
disabled={disabled}
753738
// Open

src/NewPicker/PickerInput/SinglePicker.tsx

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,7 @@ import PickerTrigger from '../PickerTrigger';
1818
import { fillIndex } from '../util';
1919
import PickerContext from './context';
2020
import useCellRender from './hooks/useCellRender';
21-
import useDisabledBoundary from './hooks/useDisabledBoundary';
2221
import useFilledProps from './hooks/useFilledProps';
23-
import useInputReadOnly from './hooks/useInputReadOnly';
2422
import useInvalidate from './hooks/useInvalidate';
2523
import useOpen from './hooks/useOpen';
2624
import { usePickerRef } from './hooks/usePickerRef';
@@ -95,10 +93,7 @@ export type PickerProps<DateType extends object = any> =
9593
| SinglePickerProps<DateType>
9694
| MultiplePickerProps<DateType>;
9795

98-
type InternalPickerProps<DateType extends object = any> = Omit<
99-
MultiplePickerProps<DateType>,
100-
'onChange' | 'onCalendarChange'
101-
> & {
96+
type ReplacedPickerProps<DateType extends object = any> = {
10297
onChange?: (date: DateType | DateType[], dateString: string | string[]) => void;
10398
onCalendarChange?: (
10499
date: DateType | DateType[],
@@ -159,7 +154,6 @@ function Picker<DateType extends object = any>(
159154
onPickerValueChange,
160155

161156
// Format
162-
format,
163157
inputReadOnly,
164158

165159
// Motion
@@ -183,7 +177,8 @@ function Picker<DateType extends object = any>(
183177

184178
// Native
185179
onClick,
186-
} = filledProps as InternalPickerProps<DateType>;
180+
} = filledProps as Omit<typeof filledProps, keyof ReplacedPickerProps<DateType>> &
181+
ReplacedPickerProps<DateType>;
187182

188183
// ========================= Refs =========================
189184
const selectorRef = usePickerRef(ref);
@@ -252,20 +247,8 @@ function Picker<DateType extends object = any>(
252247
// ======================= Show Now =======================
253248
const mergedShowNow = useShowNow(internalPicker, mergedMode, showNow, showToday);
254249

255-
// ======================= ReadOnly =======================
256-
const mergedInputReadOnly = useInputReadOnly(formatList, inputReadOnly);
257-
258-
// ======================= Boundary =======================
259-
const disabledBoundaryDate = useDisabledBoundary(
260-
generateConfig,
261-
locale,
262-
disabledDate,
263-
minDate,
264-
maxDate,
265-
);
266-
267250
// ====================== Invalidate ======================
268-
const isInvalidateDate = useInvalidate(generateConfig, picker, disabledBoundaryDate, showTime);
251+
const isInvalidateDate = useInvalidate(generateConfig, picker, disabledDate, showTime);
269252

270253
// ======================== Value =========================
271254
const [
@@ -667,7 +650,7 @@ function Picker<DateType extends object = any>(
667650
onInputChange={onSelectorInputChange}
668651
// Format
669652
format={formatList}
670-
inputReadOnly={mergedInputReadOnly}
653+
inputReadOnly={inputReadOnly}
671654
// Disabled
672655
disabled={disabled}
673656
// Open

src/NewPicker/PickerInput/hooks/useFilledProps.ts

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,13 @@ import { getTimeConfig } from '../../hooks/useTimeConfig';
55
import type { FormatType, InternalMode } from '../../interface';
66
import type { RangePickerProps } from '../RangePicker';
77
import { fillClearIcon } from '../Selector/hooks/useClearIcon';
8+
import useDisabledBoundary from './useDisabledBoundary';
89
import { useFieldFormat } from './useFieldFormat';
10+
import useInputReadOnly from './useInputReadOnly';
911

1012
type PickedProps<DateType extends object = any> = Pick<
1113
RangePickerProps<DateType>,
14+
| 'generateConfig'
1215
| 'locale'
1316
| 'picker'
1417
| 'prefixCls'
@@ -20,6 +23,10 @@ type PickedProps<DateType extends object = any> = Pick<
2023
| 'allowClear'
2124
| 'needConfirm'
2225
| 'format'
26+
| 'inputReadOnly'
27+
| 'disabledDate'
28+
| 'minDate'
29+
| 'maxDate'
2330
> & {
2431
multiple?: boolean;
2532
// RangePicker showTime definition is different with Picker
@@ -58,6 +65,7 @@ export default function useFilledProps<
5865
maskFormat: string,
5966
] {
6067
const {
68+
generateConfig,
6169
locale,
6270
picker = 'date',
6371
prefixCls = 'rc-picker',
@@ -72,6 +80,10 @@ export default function useFilledProps<
7280
defaultValue,
7381
multiple,
7482
format,
83+
inputReadOnly,
84+
disabledDate,
85+
minDate,
86+
maxDate,
7587
} = props;
7688

7789
const values = React.useMemo(() => (value ? toArray(value) : value), [value]);
@@ -110,13 +122,27 @@ export default function useFilledProps<
110122
// ======================== Format ========================
111123
const [formatList, maskFormat] = useFieldFormat<DateType>(internalPicker, mergedLocale, format);
112124

125+
// ======================= ReadOnly =======================
126+
const mergedInputReadOnly = useInputReadOnly(formatList, inputReadOnly);
127+
128+
// ======================= Boundary =======================
129+
const disabledBoundaryDate = useDisabledBoundary(
130+
generateConfig,
131+
locale,
132+
disabledDate,
133+
minDate,
134+
maxDate,
135+
);
136+
113137
// ======================== Merged ========================
114138
const mergedProps = React.useMemo(
115139
() => ({
116140
...filledProps,
117141
needConfirm: mergedNeedConfirm,
142+
inputReadOnly: mergedInputReadOnly,
143+
disabledDate: disabledBoundaryDate,
118144
}),
119-
[filledProps, mergedNeedConfirm],
145+
[filledProps, mergedNeedConfirm, mergedInputReadOnly, disabledBoundaryDate],
120146
);
121147

122148
return [mergedProps, internalPicker, complexPicker, formatList, maskFormat];

0 commit comments

Comments
 (0)