From c60d3f03ea3639340b427e88ee5b023207e12156 Mon Sep 17 00:00:00 2001 From: Matteo Velludini Date: Fri, 31 Mar 2017 12:32:07 +0200 Subject: [PATCH 1/2] Improved searchEpic --- web/client/components/mapcontrols/search/SearchBar.jsx | 2 +- web/client/epics/search.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/web/client/components/mapcontrols/search/SearchBar.jsx b/web/client/components/mapcontrols/search/SearchBar.jsx index 9c76084611..d0059e01fd 100644 --- a/web/client/components/mapcontrols/search/SearchBar.jsx +++ b/web/client/components/mapcontrols/search/SearchBar.jsx @@ -120,7 +120,7 @@ let SearchBar = React.createClass({ } }, onFocus() { - if (this.props.typeAhead ) { + if (this.props.typeAhead && this.props.searchText ) { this.search(); } }, diff --git a/web/client/epics/search.js b/web/client/epics/search.js index a1e8a6380e..4a9c106b37 100644 --- a/web/client/epics/search.js +++ b/web/client/epics/search.js @@ -63,8 +63,8 @@ const searchEpic = action$ => .mergeAll() .scan( (oldRes, newRes) => [...oldRes, ...newRes].sort( (a, b) => get(b, "__PRIORITY__") - get(a, "__PRIORITY__") ) .slice(0, 15)) .map((results) => searchResultLoaded(results, false)) - .takeUntil(action$.ofType([ TEXT_SEARCH_RESULTS_PURGE, TEXT_SEARCH_RESET, TEXT_SEARCH_ITEM_SELECTED])) .startWith(searchTextLoading(true)) + .takeUntil(action$.ofType( TEXT_SEARCH_RESULTS_PURGE, TEXT_SEARCH_RESET, TEXT_SEARCH_ITEM_SELECTED)) .concat([searchTextLoading(false)]) .catch(e => Rx.Observable.from([searchResultError(e), searchTextLoading(false)])) ); @@ -144,7 +144,7 @@ const searchItemSelected = action$ => let searchTextTemplate = item.__SERVICE__ && item.__SERVICE__.searchTextTemplate; let searchTextStream = searchTextTemplate ? Rx.Observable.of(searchTextChanged(generateTemplateString(searchTextTemplate)(item))) : Rx.Observable.empty(); - return Rx.Observable.merge(itemSelectionStream, Rx.Observable.of(resultsPurge()), nestedServicesStream, searchTextStream); + return Rx.Observable.of(resultsPurge()).concat(itemSelectionStream, nestedServicesStream, searchTextStream); }); /** From ecc83cd763b4e73a244ca9143d9bd1d95aff5b2d Mon Sep 17 00:00:00 2001 From: Matteo Velludini Date: Fri, 31 Mar 2017 12:54:22 +0200 Subject: [PATCH 2/2] fixed test --- web/client/epics/__tests__/search-test.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/web/client/epics/__tests__/search-test.js b/web/client/epics/__tests__/search-test.js index 254e0a82a5..92682eeb42 100644 --- a/web/client/epics/__tests__/search-test.js +++ b/web/client/epics/__tests__/search-test.js @@ -106,9 +106,9 @@ describe('search Epics', () => { let actions = store.getActions(); expect(actions.length).toBe(4); - expect(actions[1].type).toBe(CHANGE_MAP_VIEW); - expect(actions[2].type).toBe(TEXT_SEARCH_ADD_MARKER); - expect(actions[3].type).toBe(TEXT_SEARCH_RESULTS_PURGE); + expect(actions[1].type).toBe(TEXT_SEARCH_RESULTS_PURGE); + expect(actions[2].type).toBe(CHANGE_MAP_VIEW); + expect(actions[3].type).toBe(TEXT_SEARCH_ADD_MARKER); }); it('searchItemSelected epic with nested services', () => {