projects
/
arvados-workbench2.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
17256: Added map to enable item resolution
[arvados-workbench2.git]
/
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 32b01f726a538d2acf7a30c78f2f7a54db78b662..32d9305f956df81c69a356096f2a4438bbf0a9bf 100644
(file)
--- a/
src/store/search-bar/search-bar-reducer.ts
+++ b/
src/store/search-bar/search-bar-reducer.ts
@@
-2,9
+2,13
@@
//
// SPDX-License-Identifier: AGPL-3.0
//
// 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 { GroupContentsResource } from '~/services/groups-service/groups-service';
-import { SearchBarAdvanceFormData } from '~/models/search-bar';
+import { SearchBarAdvance
d
FormData } from '~/models/search-bar';
type SearchResult = GroupContentsResource;
export type SearchBarSelectedItem = {
type SearchResult = GroupContentsResource;
export type SearchBarSelectedItem = {
@@
-17,7
+21,7
@@
interface SearchBar {
open: boolean;
searchResults: SearchResult[];
searchValue: string;
open: boolean;
searchResults: SearchResult[];
searchValue: string;
- savedQueries: SearchBarAdvanceFormData[];
+ savedQueries: SearchBarAdvance
d
FormData[];
recentQueries: string[];
selectedItem: SearchBarSelectedItem;
}
recentQueries: string[];
selectedItem: SearchBarSelectedItem;
}
@@
-43,9
+47,9
@@
const initialState: SearchBar = {
const makeSelectedItem = (id: string, query?: string): SearchBarSelectedItem => ({ id, query: query ? query : id });
const makeSelectedItem = (id: string, query?: string): SearchBarSelectedItem => ({ id, query: query ? query : id });
-const makeQueryList = (recentQueries: string[], savedQueries: SearchBarAdvanceFormData[]) => {
+const makeQueryList = (recentQueries: string[], savedQueries: SearchBarAdvance
d
FormData[]) => {
const recentIds = recentQueries.map((q, idx) => makeSelectedItem(`RQ-${idx}-${q}`, q));
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);
};
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) {
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) {
} else if (state.currentView === SearchView.BASIC) {
const items = makeQueryList(state.recentQueries, state.savedQueries);
if (items.length > 0) {