diff options
Diffstat (limited to 'packages/gitbook-plugin-search/src/actions/search.js')
-rw-r--r-- | packages/gitbook-plugin-search/src/actions/search.js | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/packages/gitbook-plugin-search/src/actions/search.js b/packages/gitbook-plugin-search/src/actions/search.js index c71eda2..07d1311 100644 --- a/packages/gitbook-plugin-search/src/actions/search.js +++ b/packages/gitbook-plugin-search/src/actions/search.js @@ -17,7 +17,14 @@ const TYPES = require('./types'); */ function query(q) { return (dispatch, getState, { Navigation }) => { - dispatch(Navigation.updateQuery({ q })); + const searchState = getState().search; + const currentQuery = searchState.query; + + if (currentQuery && q) { + dispatch(Navigation.replace({ query: { q } })); + } else { + dispatch(Navigation.push({ query: { q } })); + } }; } @@ -33,6 +40,7 @@ function handleQuery(q) { return (dispatch, getState, { Navigation }) => { const { handlers } = getState().search; + dispatch({ type: TYPES.START, query: q }); return Promise.reduce( |