Skip to content

Commit fd39aab

Browse files
committed
feat: datePressed for multiDateChange
1 parent 4060232 commit fd39aab

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

src/Date/Calendar.tsx

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,13 @@ export type RangeChange = (params: {
3838

3939
export type SingleChange = (params: { date: CalendarDate }) => any
4040

41-
export type MultiChange = (params: { dates: CalendarDate[] }) => any
41+
export type MultiChange = (params: {
42+
dates: CalendarDate[]
43+
datePressed: CalendarDate
44+
change: 'added' | 'removed'
45+
}) => any
46+
47+
export type MultiConfirm = (params: { dates: CalendarDate[] }) => any
4248

4349
export interface CalendarSingleProps extends BaseCalendarProps {
4450
mode: 'single'
@@ -160,7 +166,7 @@ function Calendar(
160166
})
161167
} else if (mode === 'multi') {
162168
datesRef.current = datesRef.current || []
163-
const exists = datesRef.current?.some((ed) => areDatesOnSameDay(ed, d))
169+
const exists = datesRef.current.some((ed) => areDatesOnSameDay(ed, d))
164170

165171
const newDates = exists
166172
? datesRef.current.filter((ed) => !areDatesOnSameDay(ed, d))
@@ -169,6 +175,8 @@ function Calendar(
169175
newDates.sort((a, b) => a.getTime() - b.getTime())
170176
;(onChangeRef.current as MultiChange)({
171177
dates: newDates,
178+
datePressed: d,
179+
change: exists ? 'removed' : 'added',
172180
})
173181
}
174182
},

src/Date/DatePickerModalContent.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import Calendar, {
55
CalendarDate,
66
ExcludeInRangeChange,
77
MultiChange,
8+
MultiConfirm,
89
RangeChange,
910
SingleChange,
1011
} from './Calendar'
@@ -60,7 +61,7 @@ export interface DatePickerModalContentMultiProps
6061
mode: 'multi'
6162
dates?: Date[] | null | undefined
6263
onChange?: MultiChange
63-
onConfirm: MultiChange
64+
onConfirm: MultiConfirm
6465
}
6566

6667
export interface DatePickerModalContentExcludeInRangeProps

0 commit comments

Comments
 (0)