From 206fbb48fb5498b0ebd580b6cc4d183139eee3d5 Mon Sep 17 00:00:00 2001
From: Esko Ikkala <esko.ikkala@aalto.fi>
Date: Tue, 19 Jun 2018 10:33:26 +0300
Subject: [PATCH] Simplify suggestions and results

---
 src/client/actions/index.js        |  2 +-
 src/client/reducers/results.js     | 17 ------------
 src/client/reducers/search.js      | 43 +++++++++++++++++++-----------
 src/client/reducers/suggestions.js | 28 -------------------
 4 files changed, 29 insertions(+), 61 deletions(-)
 delete mode 100644 src/client/reducers/results.js
 delete mode 100644 src/client/reducers/suggestions.js

diff --git a/src/client/actions/index.js b/src/client/actions/index.js
index a9fd34ac..44835036 100644
--- a/src/client/actions/index.js
+++ b/src/client/actions/index.js
@@ -67,7 +67,7 @@ export const fetchResults = () => ({
   type: FETCH_RESULTS,
 });
 
-export const updateResults = (results) => ({
+export const updateResults = ({ results }) => ({
   type: UPDATE_RESULTS,
   results
 });
diff --git a/src/client/reducers/results.js b/src/client/reducers/results.js
deleted file mode 100644
index 5544e009..00000000
--- a/src/client/reducers/results.js
+++ /dev/null
@@ -1,17 +0,0 @@
-import {
-  UPDATE_RESULTS,
-  CLEAR_RESULTS,
-} from '../actions';
-
-const results = (state = [], action) => {
-  switch (action.type) {
-    case UPDATE_RESULTS:
-      return action.results.results;
-    case CLEAR_RESULTS:
-      return [];
-    default:
-      return state;
-  }
-};
-
-export default results;
diff --git a/src/client/reducers/search.js b/src/client/reducers/search.js
index 2262b4b5..dd3e3b81 100644
--- a/src/client/reducers/search.js
+++ b/src/client/reducers/search.js
@@ -8,17 +8,35 @@ import {
   UPDATE_RESULTS,
   CLEAR_RESULTS
 } from '../actions';
-//import suggestions from './suggestions';
-import results from './results';
 
 export const INITIAL_STATE = {
   query: '',
-  datasets: [
-    { id: 'kotus', selected: true},
-    { id: 'pnr', selected: true},
-    { id: 'warsa_karelian_places', selected: true},
-    { id: 'warsa_municipalities', selected: true},
-  ],
+  datasets: {
+    'kotus': {
+      'title': 'Institute for the Languages of Finland (Kotus) Digital Names archive',
+      'shortTitle': 'DNA',
+      'timePeriod': '1900s',
+      'selected': true
+    },
+    'pnr': {
+      'title': 'Finnish Geographic Names Registry',
+      'shortTitle': 'FGN',
+      'timePeriod': 'contemporary',
+      'selected': true
+    },
+    'warsa_karelian_places': {
+      'title': 'Karelian map names',
+      'shortTitle': 'KMN',
+      'timePeriod': '1922-1944',
+      'selected': true
+    },
+    'warsa_municipalities': {
+      'title': 'Finnish WW2 municipalities',
+      'shortTitle': 'FWM',
+      'timePeriod': '1939-1944',
+      'selected': true
+    },
+  },
   suggestions: [],
   suggestionsQuery: '',
   fetchingSuggestions: false,
@@ -34,12 +52,7 @@ const search = (state = INITIAL_STATE, action) => {
     case UPDATE_DATASETS:
       return {
         ...state,
-        datasets: [
-          { id: 'kotus', selected: true},
-          { id: 'pnr', selected: true},
-          { id: 'warsa_karelian_places', selected: false},
-          { id: 'warsa_municipalities', selected: true},
-        ],
+        datasets: state.datasets
       };
     case FETCH_SUGGESTIONS:
       return { ...state, fetchingSuggestions: true };
@@ -69,7 +82,7 @@ const search = (state = INITIAL_STATE, action) => {
     case UPDATE_RESULTS:
       return {
         ...state,
-        results: results(state.results, action),
+        results: action.results,
         resultsQuery: state.query,
         fetchingResults: false
       };
diff --git a/src/client/reducers/suggestions.js b/src/client/reducers/suggestions.js
deleted file mode 100644
index 283689d6..00000000
--- a/src/client/reducers/suggestions.js
+++ /dev/null
@@ -1,28 +0,0 @@
-import {
-  UPDATE_SUGGESTIONS,
-  CLEAR_SUGGESTIONS,
-} from '../actions';
-
-const getShortTitle = (datasetId) => datasetId.split('_').map((part) => part.substr(0, 1)).join('');
-
-export const updateSuggestions = ({ suggestions }) =>
-  suggestions.map((suggestion) => ({
-    ...suggestion,
-    datasets: suggestion.datasets.map((dataset) => ({
-      ...dataset,
-      shortTitle: getShortTitle(dataset.datasetId)
-    }))
-  }));
-
-const suggestions = (state = [], action) => {
-  switch (action.type) {
-    case UPDATE_SUGGESTIONS:
-      return updateSuggestions(action);
-    case CLEAR_SUGGESTIONS:
-      return [];
-    default:
-      return state;
-  }
-};
-
-export default suggestions;
-- 
GitLab