[ARVADOS-WORKBENCH2] updated: 1.2.0-586-g0ee5928

Git user git at public.curoverse.com
Wed Oct 10 10:49:24 EDT 2018


Summary of changes:
 src/services/search-service/search-service.ts      | 15 +++++++
 src/store/search-bar/search-bar-actions.ts         | 17 ++++++-
 src/store/search-bar/search-bar-reducer.ts         |  5 ++-
 .../search-bar/search-bar-basic-view.tsx           | 12 ++---
 .../search-bar/search-bar-view.tsx                 | 52 +++++++++++++++-------
 src/views-components/search-bar/search-bar.tsx     | 22 ++++++---
 6 files changed, 93 insertions(+), 30 deletions(-)

       via  0ee5928db8864a0f7af0c2727defdf800f1604cc (commit)
       via  449c296e7c60e97281f8b11f5ad193a66e1d02a8 (commit)
       via  b1df18d8e516820b507eb8856800a59035e736ba (commit)
      from  fc1ebe112503a685dbbf4acb86dca25d1073b82c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit 0ee5928db8864a0f7af0c2727defdf800f1604cc
Author: Pawel Kowalczyk <pawel.kowalczyk at contractors.roche.com>
Date:   Wed Oct 10 16:49:06 2018 +0200

    saving-in-store-for-dynamic-deleting
    
    Feature #14308
    
    Arvados-DCO-1.1-Signed-off-by: Pawel Kowalczyk <pawel.kowalczyk at contractors.roche.com>

diff --git a/src/services/search-service/search-service.ts b/src/services/search-service/search-service.ts
index 6a0043a..c394da5 100644
--- a/src/services/search-service/search-service.ts
+++ b/src/services/search-service/search-service.ts
@@ -32,6 +32,5 @@ export class SearchQueriesService {
     deleteSavedQuery(id: number) {
         this.savedQueries.splice(id, 1);
         localStorage.setItem('savedQueries', JSON.stringify(this.savedQueries));
-
     }
 }
\ No newline at end of file
diff --git a/src/store/search-bar/search-bar-actions.ts b/src/store/search-bar/search-bar-actions.ts
index 55acff8..e158134 100644
--- a/src/store/search-bar/search-bar-actions.ts
+++ b/src/store/search-bar/search-bar-actions.ts
@@ -16,7 +16,8 @@ export const searchBarActions = unionize({
     OPEN_SEARCH_VIEW: ofType<{}>(),
     CLOSE_SEARCH_VIEW: ofType<{}>(),
     SET_SEARCH_RESULTS: ofType<GroupContentsResource[]>(),
-    SET_SEARCH_VALUE: ofType<string>()
+    SET_SEARCH_VALUE: ofType<string>(),
+    SET_SAVED_QUERIES: ofType<string[]>()
 });
 
 export type SearchBarActions = UnionOf<typeof searchBarActions>;
@@ -37,18 +38,14 @@ export const loadRecentQueries = () =>
 export const saveQuery = (query: string) =>
     (dispatch: Dispatch<any>, getState: () => RootState, services: ServiceRepository) => {
         services.searchQueriesService.saveQuery(query);
-    };
-
-export const loadSavedQueries = () =>
-    (dispatch: Dispatch<any>, getState: () => RootState, services: ServiceRepository) => {
-        const savedSearchQueries = services.searchQueriesService.getSavedQueries();
-        return savedSearchQueries || [];
+        dispatch(searchBarActions.SET_SAVED_QUERIES(services.searchQueriesService.getSavedQueries()));
     };
 
 export const deleteSavedQuery = (id: number) =>
     (dispatch: Dispatch<any>, getState: () => RootState, services: ServiceRepository) => {
         services.searchQueriesService.deleteSavedQuery(id);
         const savedSearchQueries = services.searchQueriesService.getSavedQueries();
+        dispatch(searchBarActions.SET_SAVED_QUERIES(services.searchQueriesService.getSavedQueries()));
         return savedSearchQueries || [];
     };
 
diff --git a/src/store/search-bar/search-bar-reducer.ts b/src/store/search-bar/search-bar-reducer.ts
index 048cfea..26ebb9e 100644
--- a/src/store/search-bar/search-bar-reducer.ts
+++ b/src/store/search-bar/search-bar-reducer.ts
@@ -10,6 +10,7 @@ interface SearchBar {
     open: boolean;
     searchResults: GroupContentsResource[];
     searchValue: string;
+    savedQueries: string[];
 }
 
 export enum SearchView {
@@ -22,7 +23,8 @@ const initialState: SearchBar = {
     currentView: SearchView.BASIC,
     open: false,
     searchResults: [],
-    searchValue: ''
+    searchValue: '',
+    savedQueries: JSON.parse(localStorage.getItem('savedQueries') || '[]') as string[]
 };
 
 export const searchBarReducer = (state = initialState, action: SearchBarActions): SearchBar =>
@@ -32,5 +34,6 @@ 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 }),
         default: () => state
     });
\ No newline at end of file
diff --git a/src/views-components/search-bar/search-bar-basic-view.tsx b/src/views-components/search-bar/search-bar-basic-view.tsx
index 90fdaa7..aca1422 100644
--- a/src/views-components/search-bar/search-bar-basic-view.tsx
+++ b/src/views-components/search-bar/search-bar-basic-view.tsx
@@ -38,16 +38,16 @@ const styles: StyleRulesCallback<CssRules> = theme => {
 interface SearchBarBasicViewProps {
     setView: (currentView: string) => void;
     recentQueries: () => string[];
-    savedQueries: () => string[];
     deleteSavedQuery: (id: number) => void;
+    savedQueries: string[];
 }
 
 export const SearchBarBasicView = withStyles(styles)(
-    ({ classes, setView, recentQueries, savedQueries, deleteSavedQuery }: SearchBarBasicViewProps & WithStyles<CssRules>) =>
+    ({ classes, setView, recentQueries, deleteSavedQuery, savedQueries }: SearchBarBasicViewProps & WithStyles<CssRules>) =>
         <Paper className={classes.searchView}>
             <div className={classes.searchQueryList}>Saved search queries</div>
             <List component="nav" className={classes.list}>
-                {savedQueries().map((query, index) => <RenderSavedQueries key={index} text={query} id={index} deleteSavedQuery={deleteSavedQuery}/>)}
+                {savedQueries.map((query, index) => <RenderSavedQueries key={index} text={query} id={index} deleteSavedQuery={deleteSavedQuery}/>)}
             </List>
             <div className={classes.searchQueryList}>Recent search queries</div>
             <List component="nav" className={classes.list}>
diff --git a/src/views-components/search-bar/search-bar-view.tsx b/src/views-components/search-bar/search-bar-view.tsx
index cfab6c7..7680516 100644
--- a/src/views-components/search-bar/search-bar-view.tsx
+++ b/src/views-components/search-bar/search-bar-view.tsx
@@ -55,6 +55,7 @@ type SearchBarDataProps = {
     searchValue: string;
     currentView: string;
     isPopoverOpen: boolean;
+    savedQueries: string[];
 } & SearchBarAutocompleteViewDataProps;
 
 interface SearchBarActionProps {
@@ -66,7 +67,6 @@ interface SearchBarActionProps {
     saveRecentQuery: (query: string) => void;
     loadRecentQueries: () => string[];
     saveQuery: (query: string) => void;
-    loadSavedQueries: () => string[];
     deleteSavedQuery: (id: number) => void;
 }
 
@@ -161,17 +161,18 @@ export const SearchBarView = withStyles(styles)(
         }
 
         getView = (currentView: string) => {
+            const { onSetView, loadRecentQueries, savedQueries, deleteSavedQuery, searchValue, searchResults } = this.props;
             switch (currentView) {
                 case SearchView.BASIC:
-                    return <SearchBarBasicView setView={this.props.onSetView} recentQueries={this.props.loadRecentQueries} savedQueries={this.props.loadSavedQueries} deleteSavedQuery={this.props.deleteSavedQuery}/>;
+                    return <SearchBarBasicView setView={onSetView} recentQueries={loadRecentQueries} savedQueries={savedQueries} deleteSavedQuery={deleteSavedQuery} />;
                 case SearchView.ADVANCED:
-                    return <SearchBarAdvancedView setView={this.props.onSetView} />;
+                    return <SearchBarAdvancedView setView={onSetView} />;
                 case SearchView.AUTOCOMPLETE:
                     return <SearchBarAutocompleteView
-                        searchResults={this.props.searchResults}
-                        searchValue={this.props.searchValue} />;
+                        searchResults={searchResults}
+                        searchValue={searchValue} />;
                 default:
-                    return <SearchBarBasicView setView={this.props.onSetView} recentQueries={this.props.loadRecentQueries} savedQueries={this.props.loadSavedQueries} deleteSavedQuery={this.props.deleteSavedQuery}/>;
+                    return <SearchBarBasicView setView={onSetView} recentQueries={loadRecentQueries} savedQueries={savedQueries} deleteSavedQuery={deleteSavedQuery} />;
             }
         }
 
@@ -182,7 +183,6 @@ export const SearchBarView = withStyles(styles)(
             this.props.saveQuery(this.state.value);
             this.props.onSearch(this.state.value);
             this.props.loadRecentQueries();
-            this.props.loadSavedQueries();
         }
 
         handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {
diff --git a/src/views-components/search-bar/search-bar.tsx b/src/views-components/search-bar/search-bar.tsx
index eddc7f0..eaca7fa 100644
--- a/src/views-components/search-bar/search-bar.tsx
+++ b/src/views-components/search-bar/search-bar.tsx
@@ -12,8 +12,7 @@ import {
     deleteSavedQuery,
     saveRecentQuery,
     loadRecentQueries,
-    saveQuery,
-    loadSavedQueries
+    saveQuery
 } from '~/store/search-bar/search-bar-actions';
 import { SearchBarView } from '~/views-components/search-bar/search-bar-view';
 
@@ -22,7 +21,8 @@ const mapStateToProps = ({ searchBar }: RootState) => {
         searchValue: searchBar.searchValue,
         currentView: searchBar.currentView,
         isPopoverOpen: searchBar.open,
-        searchResults: searchBar.searchResults
+        searchResults: searchBar.searchResults,
+        savedQueries: searchBar.savedQueries
     };
 };
 
@@ -34,7 +34,6 @@ const mapDispatchToProps = (dispatch: Dispatch) => ({
     saveRecentQuery: (query: string) => dispatch<any>(saveRecentQuery(query)),
     loadRecentQueries: () => dispatch<any>(loadRecentQueries()),
     saveQuery: (query: string) => dispatch<any>(saveQuery(query)),
-    loadSavedQueries: () => dispatch<any>(loadSavedQueries()),
     deleteSavedQuery: (id: number) => dispatch<any>(deleteSavedQuery(id))
 });
 

commit 449c296e7c60e97281f8b11f5ad193a66e1d02a8
Author: Pawel Kowalczyk <pawel.kowalczyk at contractors.roche.com>
Date:   Wed Oct 10 15:41:52 2018 +0200

    deleting-from-localStorage
    
    Feature #14308
    
    Arvados-DCO-1.1-Signed-off-by: Pawel Kowalczyk <pawel.kowalczyk at contractors.roche.com>

diff --git a/src/services/search-service/search-service.ts b/src/services/search-service/search-service.ts
index af643c8..6a0043a 100644
--- a/src/services/search-service/search-service.ts
+++ b/src/services/search-service/search-service.ts
@@ -30,8 +30,8 @@ export class SearchQueriesService {
     }
 
     deleteSavedQuery(id: number) {
-        const queryToDelete = this.savedQueries[id];
-        const restQueries = this.savedQueries.filter(query => query !== queryToDelete);
-        return localStorage.setItem('savedQueries', JSON.stringify(restQueries));
+        this.savedQueries.splice(id, 1);
+        localStorage.setItem('savedQueries', JSON.stringify(this.savedQueries));
+
     }
 }
\ No newline at end of file
diff --git a/src/store/search-bar/search-bar-actions.ts b/src/store/search-bar/search-bar-actions.ts
index 1d5c17d..55acff8 100644
--- a/src/store/search-bar/search-bar-actions.ts
+++ b/src/store/search-bar/search-bar-actions.ts
@@ -48,6 +48,8 @@ export const loadSavedQueries = () =>
 export const deleteSavedQuery = (id: number) =>
     (dispatch: Dispatch<any>, getState: () => RootState, services: ServiceRepository) => {
         services.searchQueriesService.deleteSavedQuery(id);
+        const savedSearchQueries = services.searchQueriesService.getSavedQueries();
+        return savedSearchQueries || [];
     };
 
 export const searchData = (searchValue: string) =>
diff --git a/src/views-components/search-bar/search-bar-view.tsx b/src/views-components/search-bar/search-bar-view.tsx
index d6061ac..cfab6c7 100644
--- a/src/views-components/search-bar/search-bar-view.tsx
+++ b/src/views-components/search-bar/search-bar-view.tsx
@@ -45,7 +45,8 @@ const styles: StyleRulesCallback<CssRules> = (theme: ArvadosTheme) => {
         },
         view: {
             position: 'absolute',
-            width: '100%'
+            width: '100%',
+            zIndex: 10000
         }
     };
 };

commit b1df18d8e516820b507eb8856800a59035e736ba
Author: Pawel Kowalczyk <pawel.kowalczyk at contractors.roche.com>
Date:   Wed Oct 10 15:29:19 2018 +0200

    saving queries to localstorage
    
    Feature #14308
    
    Arvados-DCO-1.1-Signed-off-by: Pawel Kowalczyk <pawel.kowalczyk at contractors.roche.com>

diff --git a/src/services/search-service/search-service.ts b/src/services/search-service/search-service.ts
index 1fc61dd..af643c8 100644
--- a/src/services/search-service/search-service.ts
+++ b/src/services/search-service/search-service.ts
@@ -4,6 +4,7 @@
 
 export class SearchQueriesService {
     private recentQueries: string[] = this.getRecentQueries();
+    private savedQueries: string[] = this.getSavedQueries();
 
     saveRecentQuery(query: string) {
         if (this.recentQueries.length >= 5) {
@@ -18,4 +19,19 @@ export class SearchQueriesService {
     getRecentQueries() {
         return JSON.parse(localStorage.getItem('recentQueries') || '[]') as string[];
     }
+
+    saveQuery(query: string) {
+        this.savedQueries.push(query);
+        localStorage.setItem('savedQueries', JSON.stringify(this.savedQueries));
+    }
+
+    getSavedQueries() {
+        return JSON.parse(localStorage.getItem('savedQueries') || '[]') as string[];
+    }
+
+    deleteSavedQuery(id: number) {
+        const queryToDelete = this.savedQueries[id];
+        const restQueries = this.savedQueries.filter(query => query !== queryToDelete);
+        return localStorage.setItem('savedQueries', JSON.stringify(restQueries));
+    }
 }
\ No newline at end of file
diff --git a/src/store/search-bar/search-bar-actions.ts b/src/store/search-bar/search-bar-actions.ts
index 2b8ca83..1d5c17d 100644
--- a/src/store/search-bar/search-bar-actions.ts
+++ b/src/store/search-bar/search-bar-actions.ts
@@ -34,6 +34,22 @@ export const loadRecentQueries = () =>
         return recentSearchQueries || [];
     };
 
+export const saveQuery = (query: string) =>
+    (dispatch: Dispatch<any>, getState: () => RootState, services: ServiceRepository) => {
+        services.searchQueriesService.saveQuery(query);
+    };
+
+export const loadSavedQueries = () =>
+    (dispatch: Dispatch<any>, getState: () => RootState, services: ServiceRepository) => {
+        const savedSearchQueries = services.searchQueriesService.getSavedQueries();
+        return savedSearchQueries || [];
+    };
+
+export const deleteSavedQuery = (id: number) =>
+    (dispatch: Dispatch<any>, getState: () => RootState, services: ServiceRepository) => {
+        services.searchQueriesService.deleteSavedQuery(id);
+    };
+
 export const searchData = (searchValue: string) =>
     async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
         dispatch(searchBarActions.SET_SEARCH_VALUE(searchValue));
diff --git a/src/views-components/search-bar/search-bar-basic-view.tsx b/src/views-components/search-bar/search-bar-basic-view.tsx
index 7f90ecd..90fdaa7 100644
--- a/src/views-components/search-bar/search-bar-basic-view.tsx
+++ b/src/views-components/search-bar/search-bar-basic-view.tsx
@@ -17,7 +17,8 @@ const styles: StyleRulesCallback<CssRules> = theme => {
             paddingRight: theme.spacing.unit * 2,
             paddingBottom: theme.spacing.unit,
             fontSize: '14px',
-            cursor: 'pointer'
+            cursor: 'pointer',
+            color: theme.palette.primary.main
         },
         searchQueryList: {
             padding: `${theme.spacing.unit / 2}px ${theme.spacing.unit}px `,
@@ -37,19 +38,20 @@ const styles: StyleRulesCallback<CssRules> = theme => {
 interface SearchBarBasicViewProps {
     setView: (currentView: string) => void;
     recentQueries: () => string[];
+    savedQueries: () => string[];
+    deleteSavedQuery: (id: number) => void;
 }
 
 export const SearchBarBasicView = withStyles(styles)(
-    ({ classes, setView, recentQueries }: SearchBarBasicViewProps & WithStyles<CssRules>) =>
+    ({ classes, setView, recentQueries, savedQueries, deleteSavedQuery }: SearchBarBasicViewProps & WithStyles<CssRules>) =>
         <Paper className={classes.searchView}>
             <div className={classes.searchQueryList}>Saved search queries</div>
             <List component="nav" className={classes.list}>
-                <RenderSavedQueries text="Test" />
-                <RenderSavedQueries text="Demo" />
+                {savedQueries().map((query, index) => <RenderSavedQueries key={index} text={query} id={index} deleteSavedQuery={deleteSavedQuery}/>)}
             </List>
             <div className={classes.searchQueryList}>Recent search queries</div>
             <List component="nav" className={classes.list}>
-                {recentQueries().map((query, index) => <RecentQueriesItem key={query + index} text={query} />)}
+                {recentQueries().map((query, index) => <RecentQueriesItem key={index} text={query} />)}
             </List>
             <div className={classes.advanced} onClick={() => setView(SearchView.ADVANCED)}>Advanced search</div>
         </Paper>
diff --git a/src/views-components/search-bar/search-bar-view.tsx b/src/views-components/search-bar/search-bar-view.tsx
index b2575a8..d6061ac 100644
--- a/src/views-components/search-bar/search-bar-view.tsx
+++ b/src/views-components/search-bar/search-bar-view.tsx
@@ -22,7 +22,7 @@ import { SearchBarAdvancedView } from '~/views-components/search-bar/search-bar-
 import { SearchBarAutocompleteView, SearchBarAutocompleteViewDataProps } from '~/views-components/search-bar/search-bar-autocomplete-view';
 import { ArvadosTheme } from '~/common/custom-theme';
 
-type CssRules = 'container' | 'containerSearchViewOpened' | 'input' | 'searchBar';
+type CssRules = 'container' | 'containerSearchViewOpened' | 'input' | 'searchBar' | 'view';
 
 const styles: StyleRulesCallback<CssRules> = (theme: ArvadosTheme) => {
     return {
@@ -42,6 +42,10 @@ const styles: StyleRulesCallback<CssRules> = (theme: ArvadosTheme) => {
         },
         searchBar: {
             height: '30px'
+        },
+        view: {
+            position: 'absolute',
+            width: '100%'
         }
     };
 };
@@ -49,7 +53,7 @@ const styles: StyleRulesCallback<CssRules> = (theme: ArvadosTheme) => {
 type SearchBarDataProps = {
     searchValue: string;
     currentView: string;
-    open: boolean;
+    isPopoverOpen: boolean;
 } & SearchBarAutocompleteViewDataProps;
 
 interface SearchBarActionProps {
@@ -58,8 +62,11 @@ interface SearchBarActionProps {
     onSetView: (currentView: string) => void;
     openView: () => void;
     closeView: () => void;
+    saveRecentQuery: (query: string) => void;
+    loadRecentQueries: () => string[];
     saveQuery: (query: string) => void;
-    loadQueries: () => string[];
+    loadSavedQueries: () => string[];
+    deleteSavedQuery: (id: number) => void;
 }
 
 type SearchBarProps = SearchBarDataProps & SearchBarActionProps & WithStyles<CssRules>;
@@ -68,23 +75,29 @@ interface SearchBarState {
     value: string;
 }
 
-interface RenderQueriesProps {
+interface RenderSavedQueriesProps {
+    text: string | JSX.Element;
+    id: number;
+    deleteSavedQuery: (id: number) => void;
+}
+
+interface RenderRecentQueriesProps {
     text: string | JSX.Element;
 }
 
-export const RecentQueriesItem = (props: RenderQueriesProps) => {
+export const RecentQueriesItem = (props: RenderRecentQueriesProps) => {
     return <ListItem button>
         <ListItemText secondary={props.text} />
     </ListItem>;
 };
 
 
-export const RenderSavedQueries = (props: RenderQueriesProps) => {
+export const RenderSavedQueries = (props: RenderSavedQueriesProps) => {
     return <ListItem button>
         <ListItemText secondary={props.text} />
         <ListItemSecondaryAction>
             <Tooltip title="Remove">
-                <IconButton aria-label="Remove">
+                <IconButton aria-label="Remove" onClick={() => props.deleteSavedQuery(props.id)}>
                     <RemoveIcon />
                 </IconButton>
             </Tooltip>
@@ -103,9 +116,9 @@ export const SearchBarView = withStyles(styles)(
         timeout: number;
 
         render() {
-            const { classes, currentView, openView, closeView, open } = this.props;
+            const { classes, currentView, openView, closeView, isPopoverOpen } = this.props;
             return <ClickAwayListener onClickAway={() => closeView()}>
-                <Paper className={open ? classes.containerSearchViewOpened : classes.container} >
+                <Paper className={isPopoverOpen ? classes.containerSearchViewOpened : classes.container} >
                     <form onSubmit={this.handleSubmit} className={classes.searchBar}>
                         <Input
                             className={classes.input}
@@ -124,8 +137,10 @@ export const SearchBarView = withStyles(styles)(
                                     </Tooltip>
                                 </InputAdornment>
                             } />
-                        {open && this.getView(currentView)}
                     </form>
+                    <div className={classes.view}>
+                        {isPopoverOpen && this.getView(currentView)}
+                    </div>
                 </Paper >
             </ClickAwayListener>;
         }
@@ -147,24 +162,26 @@ export const SearchBarView = withStyles(styles)(
         getView = (currentView: string) => {
             switch (currentView) {
                 case SearchView.BASIC:
-                    return <SearchBarBasicView setView={this.props.onSetView} recentQueries={this.props.loadQueries} />;
+                    return <SearchBarBasicView setView={this.props.onSetView} recentQueries={this.props.loadRecentQueries} savedQueries={this.props.loadSavedQueries} deleteSavedQuery={this.props.deleteSavedQuery}/>;
                 case SearchView.ADVANCED:
                     return <SearchBarAdvancedView setView={this.props.onSetView} />;
                 case SearchView.AUTOCOMPLETE:
-                    return <SearchBarAutocompleteView 
-                                searchResults={this.props.searchResults} 
-                                searchValue={this.props.searchValue} />;
+                    return <SearchBarAutocompleteView
+                        searchResults={this.props.searchResults}
+                        searchValue={this.props.searchValue} />;
                 default:
-                    return <SearchBarBasicView setView={this.props.onSetView} recentQueries={this.props.loadQueries} />;
+                    return <SearchBarBasicView setView={this.props.onSetView} recentQueries={this.props.loadRecentQueries} savedQueries={this.props.loadSavedQueries} deleteSavedQuery={this.props.deleteSavedQuery}/>;
             }
         }
 
         handleSubmit = (event: React.FormEvent<HTMLFormElement>) => {
             event.preventDefault();
             clearTimeout(this.timeout);
+            this.props.saveRecentQuery(this.state.value);
             this.props.saveQuery(this.state.value);
             this.props.onSearch(this.state.value);
-            this.props.loadQueries();
+            this.props.loadRecentQueries();
+            this.props.loadSavedQueries();
         }
 
         handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {
diff --git a/src/views-components/search-bar/search-bar.tsx b/src/views-components/search-bar/search-bar.tsx
index 98440fd..eddc7f0 100644
--- a/src/views-components/search-bar/search-bar.tsx
+++ b/src/views-components/search-bar/search-bar.tsx
@@ -5,15 +5,23 @@
 import { connect } from 'react-redux';
 import { RootState } from '~/store/store';
 import { Dispatch } from 'redux';
-import { goToView, searchData, searchBarActions } from '~/store/search-bar/search-bar-actions';
+import {
+    goToView,
+    searchData,
+    searchBarActions,
+    deleteSavedQuery,
+    saveRecentQuery,
+    loadRecentQueries,
+    saveQuery,
+    loadSavedQueries
+} from '~/store/search-bar/search-bar-actions';
 import { SearchBarView } from '~/views-components/search-bar/search-bar-view';
-import { saveRecentQuery, loadRecentQueries } from '~/store/search-bar/search-bar-actions';
 
 const mapStateToProps = ({ searchBar }: RootState) => {
     return {
         searchValue: searchBar.searchValue,
         currentView: searchBar.currentView,
-        open: searchBar.open,
+        isPopoverOpen: searchBar.open,
         searchResults: searchBar.searchResults
     };
 };
@@ -23,8 +31,11 @@ const mapDispatchToProps = (dispatch: Dispatch) => ({
     onSetView: (currentView: string) => dispatch(goToView(currentView)),
     openView: () => dispatch<any>(searchBarActions.OPEN_SEARCH_VIEW()),
     closeView: () => dispatch<any>(searchBarActions.CLOSE_SEARCH_VIEW()),
-    saveQuery: (query: string) => dispatch<any>(saveRecentQuery(query)),
-    loadQueries: () => dispatch<any>(loadRecentQueries())
+    saveRecentQuery: (query: string) => dispatch<any>(saveRecentQuery(query)),
+    loadRecentQueries: () => dispatch<any>(loadRecentQueries()),
+    saveQuery: (query: string) => dispatch<any>(saveQuery(query)),
+    loadSavedQueries: () => dispatch<any>(loadSavedQueries()),
+    deleteSavedQuery: (id: number) => dispatch<any>(deleteSavedQuery(id))
 });
 
 export const SearchBar = connect(mapStateToProps, mapDispatchToProps)(SearchBarView);
\ No newline at end of file

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list