renderIcon()

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>
                );
            }
        }
    }