+ dispatch(navigateToSearchResults);
+ };
+
+const debounceStartSearch = debounce((dispatch: Dispatch) => dispatch<any>(startSearch()), DEFAULT_SEARCH_DEBOUNCE);
+
+const startSearch = () =>
+ (dispatch: Dispatch, getState: () => RootState) => {
+ const searchValue = getState().searchBar.searchValue;
+ dispatch<any>(searchData(searchValue));
+ };
+
+const searchGroups = (searchValue: string, limit: number, {...props}) =>
+ async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
+ const currentView = getState().searchBar.currentView;
+
+ if (searchValue || currentView === SearchView.ADVANCED) {
+ const filters = getFilters('name', searchValue, props);