diff options
author | Samy Pesse <samypesse@gmail.com> | 2016-10-02 00:15:59 +0200 |
---|---|---|
committer | Samy Pesse <samypesse@gmail.com> | 2016-10-02 00:15:59 +0200 |
commit | 24624f0d0e3f489a0430daa20a0ca59497b4e0d6 (patch) | |
tree | 30a6b8aac357d4effcdfdaa918f4ade49c964934 /packages/gitbook-plugin-search | |
parent | 9aaf561c4195dd363e66667b3d697694ae134337 (diff) | |
download | gitbook-24624f0d0e3f489a0430daa20a0ca59497b4e0d6.zip gitbook-24624f0d0e3f489a0430daa20a0ca59497b4e0d6.tar.gz gitbook-24624f0d0e3f489a0430daa20a0ca59497b4e0d6.tar.bz2 |
Fix clear of search
Diffstat (limited to 'packages/gitbook-plugin-search')
-rw-r--r-- | packages/gitbook-plugin-search/src/actions/search.js | 4 | ||||
-rw-r--r-- | packages/gitbook-plugin-search/src/actions/types.js | 4 | ||||
-rw-r--r-- | packages/gitbook-plugin-search/src/reducers/search.js | 20 |
3 files changed, 20 insertions, 8 deletions
diff --git a/packages/gitbook-plugin-search/src/actions/search.js b/packages/gitbook-plugin-search/src/actions/search.js index fe7fdfe..52afc3c 100644 --- a/packages/gitbook-plugin-search/src/actions/search.js +++ b/packages/gitbook-plugin-search/src/actions/search.js @@ -15,7 +15,7 @@ function query(q) { return (dispatch, getState) => { const { handlers } = getState().search; - dispatch({ type: TYPES.UPDATE_QUERY, query: q }); + dispatch({ type: TYPES.START, query: q }); return Promise.reduce( handlers.toArray(), @@ -27,7 +27,7 @@ function query(q) { ) .then( results => { - dispatch({ type: TYPES.UPDATE_RESULTS, query: q, results }); + dispatch({ type: TYPES.END, query: q, results }); } ); }; diff --git a/packages/gitbook-plugin-search/src/actions/types.js b/packages/gitbook-plugin-search/src/actions/types.js index ddbd086..6886098 100644 --- a/packages/gitbook-plugin-search/src/actions/types.js +++ b/packages/gitbook-plugin-search/src/actions/types.js @@ -3,6 +3,6 @@ module.exports = { CLEAR: 'search/clear', REGISTER_HANDLER: 'search/register_handler', UNREGISTER_HANDLER: 'search/unregister_handler', - UPDATE_QUERY: 'search/update_query', - UPDATE_RESULTS: 'search/update_results' + START: 'search/start', + END: 'search/end' }; diff --git a/packages/gitbook-plugin-search/src/reducers/search.js b/packages/gitbook-plugin-search/src/reducers/search.js index 4bf7b31..b960a77 100644 --- a/packages/gitbook-plugin-search/src/reducers/search.js +++ b/packages/gitbook-plugin-search/src/reducers/search.js @@ -4,6 +4,8 @@ const { Record, List, OrderedMap } = GitBook.Immutable; const TYPES = require('../actions/types'); const SearchState = Record({ + // Is the search being processed + loading: Boolean(false), // Current query query: String(''), // Current list of results @@ -16,15 +18,25 @@ module.exports = (state = SearchState(), action) => { switch (action.type) { case TYPES.CLEAR: - return SearchState(); + return state.merge({ + loading: false, + query: '', + results: List() + }); - case TYPES.UPDATE_QUERY: + case TYPES.START: return state.merge({ - query: action.query + loading: true, + query: action.query }); - case TYPES.UPDATE_RESULTS: + case TYPES.END: + if (action.query !== state.query) { + return state; + } + return state.merge({ + loading: false, results: action.results }); |