mirror of
https://github.com/excalidraw/excalidraw.git
synced 2025-05-03 10:00:07 -04:00
Merge 95cce9a553
into 2a0d15799c
This commit is contained in:
commit
a828ffd52d
1 changed files with 17 additions and 0 deletions
|
@ -147,6 +147,22 @@ export const SearchMenu = () => {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const fixInputCursorPosition = () => {
|
||||||
|
requestAnimationFrame(() => {
|
||||||
|
const searchInput = searchInputRef.current;
|
||||||
|
const isFocus = document.activeElement === searchInput;
|
||||||
|
// if input is not focus and input instance is not exist return
|
||||||
|
if (!searchInput || !isFocus) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const cursorPosition = searchInput.selectionStart;
|
||||||
|
const textLength = searchInput.value.length!;
|
||||||
|
if (cursorPosition !== textLength) {
|
||||||
|
searchInput.setSelectionRange(textLength, textLength);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setAppState((state) => {
|
setAppState((state) => {
|
||||||
return {
|
return {
|
||||||
|
@ -292,6 +308,7 @@ export const SearchMenu = () => {
|
||||||
if (event.key === KEYS.ARROW_UP) {
|
if (event.key === KEYS.ARROW_UP) {
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
stableState.goToPreviousItem();
|
stableState.goToPreviousItem();
|
||||||
|
fixInputCursorPosition();
|
||||||
} else if (event.key === KEYS.ARROW_DOWN) {
|
} else if (event.key === KEYS.ARROW_DOWN) {
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
stableState.goToNextItem();
|
stableState.goToNextItem();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue