UNPKG

cluedin-widget

Version:

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

61 lines (49 loc) 2.21 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 { 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 ) );