fix: focus input after option click
This commit is contained in:
@@ -33,7 +33,7 @@ export const AutocompleteTagInput: FunctionalComponent<Props> = ({
|
|||||||
|
|
||||||
const inputRef = useRef<HTMLInputElement>();
|
const inputRef = useRef<HTMLInputElement>();
|
||||||
const dropdownRef = useRef<HTMLDivElement>();
|
const dropdownRef = useRef<HTMLDivElement>();
|
||||||
const [closeOnBlur] = useCloseOnBlur(dropdownRef, (visible: boolean) => {
|
const [closeOnBlur, setLockCloseOnBlur] = useCloseOnBlur(dropdownRef, (visible: boolean) => {
|
||||||
setDropdownVisible(visible);
|
setDropdownVisible(visible);
|
||||||
setSearchQuery('');
|
setSearchQuery('');
|
||||||
setTagResults(getActiveNoteTagResults(''));
|
setTagResults(getActiveNoteTagResults(''));
|
||||||
@@ -46,20 +46,17 @@ export const AutocompleteTagInput: FunctionalComponent<Props> = ({
|
|||||||
setDropdownVisible(true);
|
setDropdownVisible(true);
|
||||||
};
|
};
|
||||||
|
|
||||||
const reloadTags = (query: string) => {
|
|
||||||
setTagResults(getActiveNoteTagResults(query));
|
|
||||||
};
|
|
||||||
|
|
||||||
const onSearchQueryChange = (event: Event) => {
|
const onSearchQueryChange = (event: Event) => {
|
||||||
const query = (event.target as HTMLInputElement).value;
|
const query = (event.target as HTMLInputElement).value;
|
||||||
reloadTags(query);
|
setTagResults(getActiveNoteTagResults(query));
|
||||||
setSearchQuery(query);
|
setSearchQuery(query);
|
||||||
};
|
};
|
||||||
|
|
||||||
const onOptionClick = async (tag: SNTag) => {
|
const onOptionClick = async (tag: SNTag) => {
|
||||||
|
setLockCloseOnBlur(true);
|
||||||
await appState.notes.addTagToActiveNote(tag);
|
await appState.notes.addTagToActiveNote(tag);
|
||||||
setSearchQuery('');
|
inputRef.current.focus();
|
||||||
reloadTags(searchQuery);
|
setLockCloseOnBlur(false);
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
Reference in New Issue
Block a user