}),
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 }),
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
});