Skip to content
Snippets Groups Projects
Commit 60f45d77 authored by Esko Ikkala's avatar Esko Ikkala
Browse files

Handle selectable data sources

parent 54cfe905
No related branches found
No related tags found
No related merge requests found
...@@ -34,9 +34,9 @@ const DatasetSelector = props => { ...@@ -34,9 +34,9 @@ const DatasetSelector = props => {
return ( return (
<div className={classes.root}> <div className={classes.root}>
<List subheader={<ListSubheader>Select data sources</ListSubheader>}> <List subheader={<ListSubheader>Select data sources</ListSubheader>}>
{props.datasets.map(dataset => ( {Object.keys(props.datasets).map(key => (
<ListItem <ListItem
key={dataset.id} key={key}
role={undefined} role={undefined}
dense dense
button button
...@@ -44,11 +44,11 @@ const DatasetSelector = props => { ...@@ -44,11 +44,11 @@ const DatasetSelector = props => {
className={classes.listItem} className={classes.listItem}
> >
<Checkbox <Checkbox
checked={dataset.selected} checked={props.datasets[key].selected}
tabIndex={-1} tabIndex={-1}
disableRipple disableRipple
/> />
<ListItemText primary={dataset.id} /> <ListItemText primary={props.datasets[key].title} />
<ListItemSecondaryAction> <ListItemSecondaryAction>
<IconButton aria-label="Comments"> <IconButton aria-label="Comments">
<CommentIcon /> <CommentIcon />
...@@ -63,7 +63,7 @@ const DatasetSelector = props => { ...@@ -63,7 +63,7 @@ const DatasetSelector = props => {
DatasetSelector.propTypes = { DatasetSelector.propTypes = {
classes: PropTypes.object.isRequired, classes: PropTypes.object.isRequired,
datasets: PropTypes.array.isRequired, datasets: PropTypes.object.isRequired,
updateDatasets: PropTypes.func.isRequired updateDatasets: PropTypes.func.isRequired
}; };
......
...@@ -19,6 +19,16 @@ const hiplaApiUrl = (process.env.NODE_ENV === 'development') ...@@ -19,6 +19,16 @@ const hiplaApiUrl = (process.env.NODE_ENV === 'development')
? 'http://localhost:3001/' ? 'http://localhost:3001/'
: 'http://193.166.25.181:3005/'; : 'http://193.166.25.181:3005/';
const pickSelectedDatasets = (datasets) => {
let selected = [];
Object.keys(datasets).map(key => {
if (datasets[key].selected) {
selected.push(key);
}
});
return selected;
};
const getSuggestionsEpic = (action$, store) => { const getSuggestionsEpic = (action$, store) => {
const searchUrl = hiplaApiUrl + 'suggest'; const searchUrl = hiplaApiUrl + 'suggest';
return action$.ofType(FETCH_SUGGESTIONS) return action$.ofType(FETCH_SUGGESTIONS)
...@@ -28,7 +38,7 @@ const getSuggestionsEpic = (action$, store) => { ...@@ -28,7 +38,7 @@ const getSuggestionsEpic = (action$, store) => {
if (query.length < 3) { if (query.length < 3) {
return []; return [];
} }
const dsParams = _.map(datasets, ds => `dataset=${ds.id}`).join('&'); const dsParams = _.map(pickSelectedDatasets(datasets), ds => `dataset=${ds}`).join('&');
const requestUrl = `${searchUrl}?q=${query}&${dsParams}`; const requestUrl = `${searchUrl}?q=${query}&${dsParams}`;
return ajax.getJSON(requestUrl) return ajax.getJSON(requestUrl)
.map(response => updateSuggestions({ suggestions: response })) .map(response => updateSuggestions({ suggestions: response }))
...@@ -48,7 +58,7 @@ const getResultsEpic = (action$, store) => { ...@@ -48,7 +58,7 @@ const getResultsEpic = (action$, store) => {
if (query.length < 3) { if (query.length < 3) {
return []; return [];
} }
const dsParams = _.map(datasets, ds => `dataset=${ds.id}`).join('&'); const dsParams = _.map(pickSelectedDatasets(datasets), ds => `dataset=${ds}`).join('&');
const requestUrl = `${searchUrl}?q=${query}&${dsParams}`; const requestUrl = `${searchUrl}?q=${query}&${dsParams}`;
return ajax.getJSON(requestUrl) return ajax.getJSON(requestUrl)
.map(response => updateResults({ results: response })) .map(response => updateResults({ results: response }))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment