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:
@ -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}
|
||||
|
||||
Reference in New Issue
Block a user