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 => {
return (
<div className={classes.root}>
<List subheader={<ListSubheader>Select data sources</ListSubheader>}>
{props.datasets.map(dataset => (
{Object.keys(props.datasets).map(key => (
<ListItem
key={dataset.id}
key={key}
role={undefined}
dense
button
......@@ -44,11 +44,11 @@ const DatasetSelector = props => {
className={classes.listItem}
>
<Checkbox
checked={dataset.selected}
checked={props.datasets[key].selected}
tabIndex={-1}
disableRipple
/>
<ListItemText primary={dataset.id} />
<ListItemText primary={props.datasets[key].title} />
<ListItemSecondaryAction>
<IconButton aria-label="Comments">
<CommentIcon />
......@@ -63,7 +63,7 @@ const DatasetSelector = props => {
DatasetSelector.propTypes = {
classes: PropTypes.object.isRequired,
datasets: PropTypes.array.isRequired,
datasets: PropTypes.object.isRequired,
updateDatasets: PropTypes.func.isRequired
};
......
......@@ -19,6 +19,16 @@ const hiplaApiUrl = (process.env.NODE_ENV === 'development')
? 'http://localhost:3001/'
: '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 searchUrl = hiplaApiUrl + 'suggest';
return action$.ofType(FETCH_SUGGESTIONS)
......@@ -28,7 +38,7 @@ const getSuggestionsEpic = (action$, store) => {
if (query.length < 3) {
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}`;
return ajax.getJSON(requestUrl)
.map(response => updateSuggestions({ suggestions: response }))
......@@ -48,7 +58,7 @@ const getResultsEpic = (action$, store) => {
if (query.length < 3) {
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}`;
return ajax.getJSON(requestUrl)
.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