summaryrefslogtreecommitdiffstats
path: root/packages/gitbook-plugin-search/src
diff options
context:
space:
mode:
authorSamy Pesse <samypesse@gmail.com>2016-09-29 19:04:56 +0200
committerSamy Pesse <samypesse@gmail.com>2016-09-29 19:04:56 +0200
commit9d8dffb6f0aac87c3707a4171140fa66f7e2e82c (patch)
tree7ea5fecc01960b04aa313d85f7ba5ee4d928a638 /packages/gitbook-plugin-search/src
parent6015defe11bbdd3bc008cf194e7e88181fe165d0 (diff)
downloadgitbook-9d8dffb6f0aac87c3707a4171140fa66f7e2e82c.zip
gitbook-9d8dffb6f0aac87c3707a4171140fa66f7e2e82c.tar.gz
gitbook-9d8dffb6f0aac87c3707a4171140fa66f7e2e82c.tar.bz2
Fix query action for search
Diffstat (limited to 'packages/gitbook-plugin-search/src')
-rw-r--r--packages/gitbook-plugin-search/src/actions/search.js20
-rw-r--r--packages/gitbook-plugin-search/src/reducers/search.js5
2 files changed, 18 insertions, 7 deletions
diff --git a/packages/gitbook-plugin-search/src/actions/search.js b/packages/gitbook-plugin-search/src/actions/search.js
index dc3293b..fe7fdfe 100644
--- a/packages/gitbook-plugin-search/src/actions/search.js
+++ b/packages/gitbook-plugin-search/src/actions/search.js
@@ -17,13 +17,19 @@ function query(q) {
dispatch({ type: TYPES.UPDATE_QUERY, query: q });
- return Promise.reduce(handlers, (results, handler) => {
- return Promise(handler(q))
- .then(handlerResults => results.concat(handlerResults));
- }, List())
- .then(results => {
- dispatch({ type: TYPES.UPDATE_RESULTS, query: q });
- });
+ return Promise.reduce(
+ handlers.toArray(),
+ (results, handler) => {
+ return Promise.resolve(handler(q))
+ .then(handlerResults => results.concat(handlerResults));
+ },
+ List()
+ )
+ .then(
+ results => {
+ dispatch({ type: TYPES.UPDATE_RESULTS, query: q, results });
+ }
+ );
};
}
diff --git a/packages/gitbook-plugin-search/src/reducers/search.js b/packages/gitbook-plugin-search/src/reducers/search.js
index 9c99634..4bf7b31 100644
--- a/packages/gitbook-plugin-search/src/reducers/search.js
+++ b/packages/gitbook-plugin-search/src/reducers/search.js
@@ -23,6 +23,11 @@ module.exports = (state = SearchState(), action) => {
query: action.query
});
+ case TYPES.UPDATE_RESULTS:
+ return state.merge({
+ results: action.results
+ });
+
case TYPES.REGISTER_HANDLER:
return state.merge({
handlers: state.handlers.set(action.name, action.handler)