Skip to content
Snippets Groups Projects
Commit 3e3043eb authored by Jason Salyers's avatar Jason Salyers
Browse files

Merge branch 'jsalyers-fix-search-errors' into 'develop'

[JES] Couple of quick null checks to get rid of console errors

See merge request !228
parents 353a2de0 a6deb014
No related branches found
No related tags found
2 merge requests!229Develop,!228[JES] Couple of quick null checks to get rid of console errors
...@@ -16,8 +16,7 @@ class SearchIndex extends React.Component { ...@@ -16,8 +16,7 @@ class SearchIndex extends React.Component {
q: PropTypes.string, q: PropTypes.string,
s: PropTypes.string, s: PropTypes.string,
}).isRequired, }).isRequired,
scrollId: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]) scrollId: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]).isRequired,
.isRequired,
result: PropTypes.arrayOf( result: PropTypes.arrayOf(
PropTypes.shape({ PropTypes.shape({
app: PropTypes.string, app: PropTypes.string,
...@@ -71,12 +70,7 @@ class SearchIndex extends React.Component { ...@@ -71,12 +70,7 @@ class SearchIndex extends React.Component {
const { result, loading, params, performSearch } = this.props; const { result, loading, params, performSearch } = this.props;
const searchResults = ( const searchResults = (
<PostsList <PostsList ref="list" posts={fromJS(result)} loading={loading} loadMore={this.fetchMoreResults} />
ref="list"
posts={fromJS(result)}
loading={loading}
loadMore={this.fetchMoreResults}
/>
); );
return ( return (
...@@ -94,11 +88,7 @@ class SearchIndex extends React.Component { ...@@ -94,11 +88,7 @@ class SearchIndex extends React.Component {
/> />
</div> </div>
</div> </div>
{!loading && result.length === 0 ? ( {!loading && result.length === 0 ? <Callout>{'Nothing was found.'}</Callout> : searchResults}
<Callout>{'Nothing was found.'}</Callout>
) : (
searchResults
)}
</article> </article>
</div> </div>
); );
...@@ -112,7 +102,7 @@ module.exports = { ...@@ -112,7 +102,7 @@ module.exports = {
const params = ownProps.location.query; const params = ownProps.location.query;
return { return {
loading: state.search.get('pending'), loading: state.search.get('pending'),
result: state.search.get('result').toJS(), result: state.search.get('result').toJS() || {},
scrollId: state.search.get('scrollId'), scrollId: state.search.get('scrollId'),
isBrowser: process.env.BROWSER, isBrowser: process.env.BROWSER,
params, params,
......
...@@ -31,6 +31,8 @@ export default function reducer(state = defaultSearchState, action) { ...@@ -31,6 +31,8 @@ export default function reducer(state = defaultSearchState, action) {
case SEARCH_RESULT: { case SEARCH_RESULT: {
const { hits, results, scroll_id, append } = payload; const { hits, results, scroll_id, append } = payload;
if (results === null || results === undefined) return state;
const posts = List( const posts = List(
results.map(post => { results.map(post => {
post.created = post.created_at; post.created = post.created_at;
...@@ -42,15 +44,11 @@ export default function reducer(state = defaultSearchState, action) { ...@@ -42,15 +44,11 @@ export default function reducer(state = defaultSearchState, action) {
let newState = {}; let newState = {};
if (!append) { if (!append) {
newState = state newState = state.set('result', posts).set('scrollId', scroll_id);
.set('result', posts)
.set('scrollId', scroll_id);
} else { } else {
// If append is true. need to process results and append them to previous result // If append is true. need to process results and append them to previous result
const updatedResults = state.get('result').concat(posts); const updatedResults = state.get('result').concat(posts);
newState = state newState = state.setIn(['result'], new List(updatedResults)).setIn(['scrollId'], scroll_id);
.setIn(['result'], new List(updatedResults))
.setIn(['scrollId'], scroll_id);
} }
return newState; return newState;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment