From 073ddc9d44c70ebeb6f45e7c359a34032ef8c8fe Mon Sep 17 00:00:00 2001 From: enahum Date: Wed, 15 Nov 2017 11:52:25 -0300 Subject: [PATCH] Keep search results on data cleanup (#1147) --- .../search/search_result_post/search_result_post.js | 2 ++ app/store/middleware.js | 12 +++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/app/screens/search/search_result_post/search_result_post.js b/app/screens/search/search_result_post/search_result_post.js index 7751c87f5..3f18c70b7 100644 --- a/app/screens/search/search_result_post/search_result_post.js +++ b/app/screens/search/search_result_post/search_result_post.js @@ -10,6 +10,7 @@ export default class SearchResultPost extends PureComponent { static propTypes = { isDeleted: PropTypes.bool.isRequired, goToThread: PropTypes.func.isRequired, + managedConfig: PropTypes.object.isRequired, navigator: PropTypes.object.isRequired, postId: PropTypes.string.isRequired, previewPost: PropTypes.func.isRequired @@ -24,6 +25,7 @@ export default class SearchResultPost extends PureComponent { postComponentProps.onPress = this.props.previewPost; postComponentProps.onReply = this.props.goToThread; postComponentProps.shouldRenderReplyButton = true; + postComponentProps.managedConfig = this.props.managedConfig; } return ( diff --git a/app/store/middleware.js b/app/store/middleware.js index bc6a8aac7..f0235f1ef 100644 --- a/app/store/middleware.js +++ b/app/store/middleware.js @@ -203,6 +203,13 @@ function cleanupState(action, keepCurrent = false) { return array.concat(ids); }, []); + let searchResults = []; + if (payload.entities.search && payload.entities.search.results.length) { + const {results} = payload.entities.search; + searchResults = results; + postIdsToKeep.push(...results); + } + postIdsToKeep.forEach((postId) => { const post = payload.entities.posts.posts[postId]; @@ -253,7 +260,10 @@ function cleanupState(action, keepCurrent = false) { emojis: payload.entities.emojis, general: resetPayload.entities.general, preferences: resetPayload.entities.preferences, - search: resetPayload.entities.search, + search: { + ...resetPayload.entities.search, + results: searchResults + }, teams: resetPayload.entities.teams, users: payload.entities.users },