cluedin-widget
Version:
This is the project for creating and managing widgets in CluedIn.
61 lines (49 loc) • 2.21 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 { shouldFetchGenericLatest } from '../../../core/action/entity'
import iso from '../../../iso'
import ProviderIcons from '../../../core/components/entityRelated/providerIcons.jsx'
import EntityIcon from '../../../core/components/entityRelated/EntityIcon.jsx'
import EntitySubject from '../../../core/components/entityRelated/EntitySubject.jsx'
import EntityLink from '../../../core/components/entityRelated/EntityLink.jsx'
import EntityProfileImageLink from '../../../core/components/entityRelated/EntityProfileImageLink.jsx'
import SocialMenu from '../../../core/components/entityRelated/SocialMenu.jsx'
import PersonDetailed from './../../../core/components/entities/personDetailed.jsx'
const collectionHelper = iso.collection;
const currentType = 'Person';
class EntityPersonList extends Component {
componentWillMount() {
const { entityId } = this.props;
this.props.dispatch( shouldFetchGenericLatest( currentType, entityId ) );
}
render() {
let minHeight = 'auto';
const { isFetching, entities } = this.props;
var content = 'loading...';
if ( entities ) {
content = (<div className="cluedIn_entity_person_list">
{ entities.map( ( person )=> {
return (
<PersonDetailed key={person.id} entity={person}></PersonDetailed>
);
} ) }
</div>);
}
return (
<Widget loading={isFetching} title="Employees linked to your Team" minHeight={minHeight}>
{content}
</Widget>
);
}
}
function select( state ) {
return {
entities: state.entity.genericLatestEntities[ currentType ],
isFetching: state.entity.isFetchingGenericLatest[ currentType ]
};
}
registry.register( 'EntityPersonList', connect( select )( EntityPersonList ) );