cluedin-widget
Version:
This is the project for creating and managing widgets in CluedIn.
46 lines (38 loc) • 1.47 kB
JSX
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/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 ) {
contentHtml = <div className="cluedIn_entity_list">
{entities.map( ( entity, i )=> {
return <DefaultEntity entity={entity} key={i}></DefaultEntity>
} )}
</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 ) );