Merge branch 'master' into 14277-search-view-editing-saved-queries
[arvados-workbench2.git] / src / store / search-bar / search-bar-reducer.ts
index 048cfea1fce22e55a58136cfa15926e90d204d31..e7e3517eaa8eaa9318db60ebc64b2a0fcda409c2 100644 (file)
@@ -2,14 +2,16 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-import { searchBarActions, SearchBarActions } from '~/store/search-bar/search-bar-actions';
+import { searchBarActions, SearchBarActions, saveQuery } from '~/store/search-bar/search-bar-actions';
 import { GroupContentsResource } from '~/services/groups-service/groups-service';
+import { SearchBarAdvanceFormData } from '~/models/search-bar';
 
 interface SearchBar {
     currentView: string;
     open: boolean;
     searchResults: GroupContentsResource[];
     searchValue: string;
+    savedQueries: SearchBarAdvanceFormData[];
 }
 
 export enum SearchView {
@@ -22,7 +24,8 @@ const initialState: SearchBar = {
     currentView: SearchView.BASIC,
     open: false,
     searchResults: [],
-    searchValue: ''
+    searchValue: '',
+    savedQueries: []
 };
 
 export const searchBarReducer = (state = initialState, action: SearchBarActions): SearchBar =>
@@ -32,5 +35,7 @@ export const searchBarReducer = (state = initialState, action: SearchBarActions)
         CLOSE_SEARCH_VIEW: () => ({ ...state, open: false }),
         SET_SEARCH_RESULTS: (searchResults) => ({ ...state, searchResults }),
         SET_SEARCH_VALUE: (searchValue) => ({ ...state, searchValue }),
+        SET_SAVED_QUERIES: savedQueries => ({ ...state, savedQueries }),
+        UPDATE_SAVED_QUERY: searchQuery => ({ ...state, savedQueries: searchQuery }),
         default: () => state
     });
\ No newline at end of file