- use the same handler for onClose and onClear. (#6481)

- SearchBar component will handle the focussing and blurring
- Keyboard dismissal is handled in the onCancel and onClear functions in
search/index.tsx
This commit is contained in:
Jason Frerich 2022-08-08 03:57:04 -05:00 committed by GitHub
parent e849bad37e
commit 6d43406e3a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -93,26 +93,22 @@ const SearchScreen = ({teamId}: Props) => {
const {scrollPaddingTop, scrollRef, scrollValue, onScroll, headerHeight, hideHeader} = useCollapsibleHeader<FlatList>(true, onSnap);
const handleCancelAndClearSearch = useCallback(() => {
setSearchValue('');
setLastSearchedValue('');
setFilter(FileFilters.ALL);
setShowResults(false);
}, []);
const handleTextChange = useCallback((newValue: string) => {
setSearchValue(newValue);
setCursorPosition(newValue.length);
}, []);
const handleClearSearch = useCallback(() => {
handleTextChange('');
setLastSearchedValue('');
setFilter(FileFilters.ALL);
}, [handleTextChange]);
const handleCancelSearch = useCallback(() => {
handleClearSearch();
setShowResults(false);
}, [handleClearSearch]);
const handleSearch = useCallback(async (newSearchTeamId: string, term: string) => {
const searchParams = getSearchParams(term);
if (!searchParams.terms) {
handleClearSearch();
handleCancelAndClearSearch();
return;
}
setLoading(true);
@ -130,7 +126,7 @@ const SearchScreen = ({teamId}: Props) => {
setShowResults(true);
setLoading(false);
}, [handleClearSearch]);
}, [handleCancelAndClearSearch]);
const onSubmit = useCallback(() => {
handleSearch(searchTeamId, searchValue);
@ -264,8 +260,8 @@ const SearchScreen = ({teamId}: Props) => {
onSubmitEditing={onSubmit}
blurOnSubmit={true}
placeholder={intl.formatMessage({id: 'screen.search.placeholder', defaultMessage: 'Search messages & files'})}
onClear={handleClearSearch}
onCancel={handleCancelSearch}
onClear={handleCancelAndClearSearch}
onCancel={handleCancelAndClearSearch}
defaultValue={searchValue}
/>
<Animated.View style={[top, {zIndex: AutocompleteZindex}]}>