Add exist filter
[arvados-workbench2.git] / src / store / search-bar / search-bar-reducer.ts
index 32b01f726a538d2acf7a30c78f2f7a54db78b662..4f663eeb393f6f1ea115ca43d42152bcce5ca0cc 100644 (file)
@@ -2,7 +2,11 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-import { searchBarActions, SearchBarActions } from '~/store/search-bar/search-bar-actions';
+import {
+    getQueryFromAdvancedData,
+    searchBarActions,
+    SearchBarActions
+} from '~/store/search-bar/search-bar-actions';
 import { GroupContentsResource } from '~/services/groups-service/groups-service';
 import { SearchBarAdvanceFormData } from '~/models/search-bar';
 
@@ -45,7 +49,7 @@ const makeSelectedItem = (id: string, query?: string): SearchBarSelectedItem =>
 
 const makeQueryList = (recentQueries: string[], savedQueries: SearchBarAdvanceFormData[]) => {
     const recentIds = recentQueries.map((q, idx) => makeSelectedItem(`RQ-${idx}-${q}`, q));
-    const savedIds = savedQueries.map((q, idx) => makeSelectedItem(`SQ-${idx}-${q.searchQuery}`, q.searchQuery));
+    const savedIds = savedQueries.map((q, idx) => makeSelectedItem(`SQ-${idx}-${q.queryName}`, getQueryFromAdvancedData(q)));
     return recentIds.concat(savedIds);
 };
 
@@ -127,9 +131,7 @@ export const searchBarReducer = (state = initialState, action: SearchBarActions)
         SELECT_FIRST_ITEM: () => {
             let selectedItem = state.selectedItem;
             if (state.currentView === SearchView.AUTOCOMPLETE) {
-                if (state.searchResults.length > 0) {
-                    selectedItem = makeSelectedItem(state.searchResults[0].uuid);
-                }
+                selectedItem = makeSelectedItem(state.searchValue);
             } else if (state.currentView === SearchView.BASIC) {
                 const items = makeQueryList(state.recentQueries, state.savedQueries);
                 if (items.length > 0) {