Fixed date input fields (#9442)

- Fixed date input fields : proper hotkey management, like other fields
- Removed DropdownUnmountEffect which was causing many bugs.
This commit is contained in:
Lucas Bordeau
2025-01-08 10:43:49 +01:00
committed by GitHub
parent 3198748401
commit 00a9646d68
7 changed files with 44 additions and 63 deletions

View File

@ -1,7 +1,6 @@
import styled from '@emotion/styled';
import { DateTime } from 'luxon';
import ReactDatePicker from 'react-datepicker';
import { Key } from 'ts-key-enum';
import {
IconCalendarX,
MenuItemLeftContent,
@ -305,11 +304,8 @@ export const InternalDatePicker = ({
date,
onChange,
onMouseSelect,
onEnter,
onEscape,
clearable = true,
isDateTimeInput,
keyboardEventsDisabled,
onClear,
isRelative,
relativeDate,
@ -345,31 +341,6 @@ export const InternalDatePicker = ({
onMouseSelect?.(newDate);
};
const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {
if (isDefined(keyboardEventsDisabled) && keyboardEventsDisabled) {
return;
}
switch (event.key) {
case Key.Enter: {
event.stopPropagation();
event.preventDefault();
closeDropdowns();
onEnter?.(internalDate);
break;
}
case Key.Escape: {
event.stopPropagation();
event.preventDefault();
closeDropdowns();
onEscape?.(internalDate);
break;
}
}
};
const handleChangeMonth = (month: number) => {
const newDate = new Date(internalDate);
newDate.setMonth(month);
@ -469,7 +440,7 @@ export const InternalDatePicker = ({
const selectedDates = isRelative ? highlightedDates : [dateToUse];
return (
<StyledContainer onKeyDown={handleKeyDown} calendarDisabled={isRelative}>
<StyledContainer calendarDisabled={isRelative}>
<div className={clearable ? 'clearable ' : ''}>
<ReactDatePicker
open={true}