UNPKG

cluedin-widget

Version:

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

70 lines (57 loc) 2.39 kB
import React, { Component } from 'react'; import Widget from '../../../core/components/generics/widget.jsx'; import Overlay from '../../../core/components/generics/overlay.jsx'; import registry from '../../../core/registry'; import config from '../../../core/config'; import { connect } from 'react-redux'; import iso from '../../../iso'; import { findFromKey } from '../../../core/helpers/properties.jsx'; import FollowWidget from '../../../core/components/entityRelated/FollowWidget.jsx'; import EntityIcon from '../../../core/components/entityRelated/EntityIcon.jsx'; import Loading from '../../../core/components/generics/loading.jsx'; const maxScoreForCompany = 10; const collectionHelper = iso.collection; class EntityHeader extends Component { render() { let content; let minHeight = 'auto'; let descriptionContent; const { isFetchingEntity, entity } = this.props; if ( isFetchingEntity ) { let loadingStyle = { height: '150px' }; return <div className="cluedIn_entityHeader" style={loadingStyle}><Loading></Loading></div> } else { if ( entity.showDescription ) { descriptionContent = (<div className="cluedIn_entityHeader_description"> {entity.data.description} </div>); } content = <div className="cluedIn_entityHeader"> <div className="cluedIn_row"> <div className="cluedIn_col s12"> <FollowWidget entity={entity}></FollowWidget> <div className="cluedIn_NameWithEntityIcon cluedIn_flex"> <EntityIcon entityType={entity.data.entityType}></EntityIcon> <div className="cluedIn_entityHeader_title"> <span>{entity.name}</span> </div> </div> {descriptionContent} </div> </div> </div>; } return ( <div>{ content }</div> ); } } function select( state ) { return { entity: state.entity.selectedEntity, isFetchingEntity: state.entity.isFetchingEntity }; } registry.register( 'EntityHeader', connect( select )( EntityHeader ) );