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 | |
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')
-rw-r--r-- | packages/gitbook-plugin-search/src/actions/search.js | 24 | ||||
-rw-r--r-- | packages/gitbook-plugin-search/src/components/Results.js | 6 |
2 files changed, 26 insertions, 4 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 = { diff --git a/packages/gitbook-plugin-search/src/components/Results.js b/packages/gitbook-plugin-search/src/components/Results.js index 89fb531..85e6133 100644 --- a/packages/gitbook-plugin-search/src/components/Results.js +++ b/packages/gitbook-plugin-search/src/components/Results.js @@ -11,7 +11,9 @@ const Result = React.createClass({ return ( <div className="Search-Result"> - <h3>{result.title}</h3> + <h3> + <GitBook.Link to={result.url}>{result.title}</GitBook.Link> + </h3> <p>{result.body}</p> </div> ); @@ -36,7 +38,7 @@ const SearchResults = React.createClass({ return ( <div className="Search-ResultsContainer"> <h1>{i18n.t('SEARCH_RESULTS_TITLE', { query, count: results.size })}</h1> - <div className="Search/Results"> + <div className="Search-Results"> {results.map((result, i) => { return <Result key={i} result={result} />; })} |