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

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

parent 353a2de0
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 {
q: PropTypes.string,
s: PropTypes.string,
}).isRequired,
scrollId: PropTypes.oneOfType([PropTypes.string, PropTypes.bool])
.isRequired,
scrollId: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]).isRequired,
result: PropTypes.arrayOf(
PropTypes.shape({
app: PropTypes.string,
......@@ -71,12 +70,7 @@ class SearchIndex extends React.Component {
const { result, loading, params, performSearch } = this.props;
const searchResults = (
<PostsList
ref="list"
posts={fromJS(result)}
loading={loading}
loadMore={this.fetchMoreResults}
/>
<PostsList ref="list" posts={fromJS(result)} loading={loading} loadMore={this.fetchMoreResults} />
);
return (
......@@ -94,11 +88,7 @@ class SearchIndex extends React.Component {
/>
</div>
</div>
{!loading && result.length === 0 ? (
<Callout>{'Nothing was found.'}</Callout>
) : (
searchResults
)}
{!loading && result.length === 0 ? <Callout>{'Nothing was found.'}</Callout> : searchResults}
</article>
</div>
);
......@@ -112,7 +102,7 @@ module.exports = {
const params = ownProps.location.query;
return {
loading: state.search.get('pending'),
result: state.search.get('result').toJS(),
result: state.search.get('result').toJS() || {},
scrollId: state.search.get('scrollId'),
isBrowser: process.env.BROWSER,
params,
......
......@@ -31,6 +31,8 @@ export default function reducer(state = defaultSearchState, action) {
case SEARCH_RESULT: {
const { hits, results, scroll_id, append } = payload;
if (results === null || results === undefined) return state;
const posts = List(
results.map(post => {
post.created = post.created_at;
......@@ -42,15 +44,11 @@ export default function reducer(state = defaultSearchState, action) {
let newState = {};
if (!append) {
newState = state
.set('result', posts)
.set('scrollId', scroll_id);
newState = state.set('result', posts).set('scrollId', scroll_id);
} else {
// If append is true. need to process results and append them to previous result
const updatedResults = state.get('result').concat(posts);
newState = state
.setIn(['result'], new List(updatedResults))
.setIn(['scrollId'], scroll_id);
newState = state.setIn(['result'], new List(updatedResults)).setIn(['scrollId'], scroll_id);
}
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