Skip to content

Commit 6b75b40

Browse files
avasuroAleksandr Vasiuro
and
Aleksandr Vasiuro
authored
fix #6984: calendar does not displays up-to-date value if date is manually entered (#6986)
* fix: calendar does not displays up-to-date value sometimes * remove unused code --------- Co-authored-by: Aleksandr Vasiuro <[email protected]>
1 parent e29c2aa commit 6b75b40

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

components/lib/calendar/Calendar.js

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ export const Calendar = React.memo(
2424
const [overlayVisibleState, setOverlayVisibleState] = React.useState(false);
2525
const [viewDateState, setViewDateState] = React.useState(null);
2626
const [idState, setIdState] = React.useState(props.id);
27-
const isTypingRef = React.useRef(false);
2827

2928
const metaData = {
3029
props,
@@ -148,7 +147,6 @@ export const Calendar = React.memo(
148147
const value = parseValueFromString(props.timeOnly ? rawValue.replace('_', '') : rawValue);
149148

150149
if (isValidSelection(value)) {
151-
isTypingRef.current = true;
152150
updateModel(event, value);
153151
updateViewDate(event, value.length ? value[0] : value);
154152
}
@@ -3074,12 +3072,13 @@ export const Calendar = React.memo(
30743072
const newDate = props.value;
30753073

30763074
if (previousValue !== newDate) {
3077-
if (!isTypingRef.current) {
3075+
const isInputFocused = document.activeElement === inputRef.current;
3076+
3077+
// Do not update value in input if user types something in it:
3078+
if (!isInputFocused) {
30783079
updateInputfield(newDate);
30793080
}
30803081

3081-
isTypingRef.current = false;
3082-
30833082
// #3516 view date not updated when value set programatically
30843083
if (!newDate) return;
30853084

0 commit comments

Comments
 (0)