diff options
author | Samy Pesse <samypesse@gmail.com> | 2016-10-05 14:01:22 +0200 |
---|---|---|
committer | Samy Pesse <samypesse@gmail.com> | 2016-10-05 14:01:22 +0200 |
commit | 83c98cf4d88a62accda76193b478d97360bd405a (patch) | |
tree | 5dd3d3a3e46804173c1382e5a4d48264064eafdc /packages/gitbook-plugin-search/src/actions/search.js | |
parent | 86848e7acb5e5308297a0e4aaf0a164e7f9bf5f2 (diff) | |
download | gitbook-83c98cf4d88a62accda76193b478d97360bd405a.zip gitbook-83c98cf4d88a62accda76193b478d97360bd405a.tar.gz gitbook-83c98cf4d88a62accda76193b478d97360bd405a.tar.bz2 |
Fix search not refreshed when adding an handler
Diffstat (limited to 'packages/gitbook-plugin-search/src/actions/search.js')
-rw-r--r-- | packages/gitbook-plugin-search/src/actions/search.js | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/packages/gitbook-plugin-search/src/actions/search.js b/packages/gitbook-plugin-search/src/actions/search.js index 6f8f8ad..6cea419 100644 --- a/packages/gitbook-plugin-search/src/actions/search.js +++ b/packages/gitbook-plugin-search/src/actions/search.js @@ -67,6 +67,20 @@ function handleQuery(q) { } /** + * Refresh current search (when handlers have changed) + * @return {Action} + */ +function refresh() { + return (dispatch, getState) => { + const q = getState().search.query; + console.log('refresh search with', q); + if (q) { + dispatch(handleQuery(q)); + } + }; +} + +/** * Clear the whole search * @return {Action} */ @@ -81,7 +95,10 @@ function clear() { * @return {Action} */ function registerHandler(name, handler) { - return { type: TYPES.REGISTER_HANDLER, name, handler }; + return (dispatch) => { + dispatch({ type: TYPES.REGISTER_HANDLER, name, handler }); + dispatch(refresh()); + }; } /** @@ -90,7 +107,10 @@ function registerHandler(name, handler) { * @return {Action} */ function unregisterHandler(name) { - return { type: TYPES.UNREGISTER_HANDLER, name }; + return (dispatch) => { + dispatch({ type: TYPES.UNREGISTER_HANDLER, name }); + dispatch(refresh()); + }; } module.exports = { |