UNPKG

cluedin-widget

Version:

This is the project for creating and managing widgets in CluedIn.

50 lines (42 loc) 1.68 kB
import React, { Component } from 'react'; import registry from '../../../core/registry'; import { shouldFetchSuggestedSearch } from '../../../core/action/entity'; import { connect } from 'react-redux'; import DefaultEntity from '../../../core/components/defaultEntity.jsx'; import Widget from '../../../core/components/generics/widget.jsx'; class EntitySuggestedSearch extends Component { componentWillMount() { const { index, search } = this.props; this.props.dispatch( shouldFetchSuggestedSearch( search, index ) ); } render() { const { suggestedSearches, index, search } = this.props; let contentHtml; var entities = suggestedSearches[ index ]; let isLoading = false; let minHeight = 'auto'; if ( entities && entities.length > 0 ) { contentHtml = <div className="cluedIn_entity_list"> {entities.map( ( entity, i )=> { return <DefaultEntity entity={entity} key={i}></DefaultEntity> } )} </div> } else if ( entities && entities.length === 0 ) { contentHtml = (<div className="cluedIn_entity_list"> Currently No Result. </div>) } else { isLoading = true; minHeight = '200px'; } return (<Widget loading={isLoading} minHeight={minHeight} title={search.DisplayName}> {contentHtml} </Widget>); } } function select( state ) { return { suggestedSearches: state.entity.currentSuggestedSearches }; } registry.register( 'EntitySuggestedSearch', connect( select )( EntitySuggestedSearch ) );