cluedin-widget
Version: 
This is the project for creating and managing widgets in CluedIn.
55 lines (52 loc) • 2.07 kB
JSX
import React, { Component } from 'react'
import ProviderIcons from './entityRelated/providerIcons.jsx'
import EntityIcon from './entityRelated/EntityIcon.jsx'
import EntityLink from './entityRelated/EntityLink.jsx'
import Person from './entities/person.jsx'
import Document from './entities/document.jsx'
import Organization from './entities/organization.jsx'
import Task from './entities/task.jsx'
import Issue from './entities/issue.jsx'
import Tool from './entities/tool.jsx'
export default class DefaultEntity extends Component {
    render() {
        const { entity } = this.props;
        const entityType = entity.data.entityType;
        let content;
        switch( entityType ) {
            case '/Person':
                content = (<Person entity={entity}></Person>);
                break;
            case '/Organization':
                content = (<Organization entity={entity}></Organization>);
                break;
            case '/Task':
                content = (<Task entity={entity}></Task>);
                break;
            case '/Issue':
                content = (<Issue entity={entity}></Issue>);
                break;
            case '/Provider/Root':
                content = (<Tool entity={entity}></Tool>);
                break;
            case '/Document':
                content = (<Document entity={entity}></Document>);
                break;
            case '/Image':
                content = (<Document entity={entity}></Document>);
                break;
            default:
                content = (
                    <div className="cluedIn_entity_row">
                        <div className="cluedIn_entity_row_sub">
                            <ProviderIcons providers={entity.providers}></ProviderIcons>
                            <EntityIcon entityType={entity.data.entityType}></EntityIcon>
                            <EntityLink entity={entity}></EntityLink>
                        </div>
                    </div>
                );
                break;
        }
        return content;
    }
}