fix: focus input after option click

This commit is contained in:
Antonella Sgarlatta
2021-05-25 16:47:21 -03:00
parent 42b1f4d62f
commit 4d67c484f9

View File

@@ -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 (