cluedin-widget
Version:
This is the project for creating and managing widgets in CluedIn.
70 lines (57 loc) • 2.39 kB
JSX
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 ) );