in frontend/src/js/components/SearchResults/SearchResult.js [47:96]
renderIcon() {
let linkParams = {};
const fieldWithMostHighlights = this.props.searchResult.fieldWithMostHighlights;
// The fieldWithMostHighlights might be, say, metadata.fileUris
// or one of the many fields for which we don't have an separate view
// (generally these are metadata that appear in the sidebar)
if (fieldWithMostHighlights && (fieldWithMostHighlights === 'text' || fieldWithMostHighlights.startsWith('ocr') || fieldWithMostHighlights.startsWith('transcript'))) {
linkParams = { view: fieldWithMostHighlights };
}
switch (this.props.searchResult.details._type) {
case 'email': {
return (
<React.Fragment>
<div>
<EmailIcon className='search-result__icon-email'/>
</div>
<div>
<SearchLink className='search-result__link'
to={`/viewer/${this.props.searchResult.uri}`}
params={linkParams}>
{this.getTitle()}
</SearchLink>
</div>
</React.Fragment>
);
}
case 'document': {
return (
<React.Fragment>
<div>
<DocumentIcon className='search-result__icon-document' />
</div>
<div>
<SearchLink className='search-result__link'
to={`/viewer/${this.props.searchResult.uri}`}
params={linkParams}>
{this.getTitle()}
</SearchLink>
</div>
</React.Fragment>
);
}
default: {
return (
<span className='search-result__type'>{'Unknown Resource Type'}</span>
);
}
}
}