[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