X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/a960b30fd5da0619e5029e67712b2a2778e4b591..ba9a587ab628caea44d923b34d285a29e83e3456:/src/store/search-bar/search-bar-reducer.ts diff --git a/src/store/search-bar/search-bar-reducer.ts b/src/store/search-bar/search-bar-reducer.ts index 1c16d999..8508c05d 100644 --- a/src/store/search-bar/search-bar-reducer.ts +++ b/src/store/search-bar/search-bar-reducer.ts @@ -70,10 +70,7 @@ export const searchBarReducer = (state = initialState, action: SearchBarActions) }), SET_SEARCH_VALUE: searchValue => ({ ...state, - searchValue, - selectedItem: makeSelectedItem(state.searchValue === state.selectedItem.id - ? searchValue - : state.selectedItem.id) + searchValue }), SET_SAVED_QUERIES: savedQueries => ({ ...state, savedQueries }), SET_RECENT_QUERIES: recentQueries => ({ ...state, recentQueries }), @@ -127,5 +124,20 @@ export const searchBarReducer = (state = initialState, action: SearchBarActions) selectedItem }; }, + SELECT_FIRST_ITEM: () => { + let selectedItem = state.selectedItem; + if (state.currentView === SearchView.AUTOCOMPLETE) { + selectedItem = makeSelectedItem(state.searchValue); + } else if (state.currentView === SearchView.BASIC) { + const items = makeQueryList(state.recentQueries, state.savedQueries); + if (items.length > 0) { + selectedItem = items[0]; + } + } + return { + ...state, + selectedItem + }; + }, default: () => state });