UNPKG

cluedin-widget

Version:

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

58 lines (53 loc) 3.33 kB
import React, { Component } from 'react' import ProviderIcons from '../entityRelated/providerIcons.jsx' import EntityIcon from '../entityRelated/EntityIcon.jsx' import EntityLink from '../entityRelated/EntityLink.jsx' import { makeNoValueRow, makePropHtml, makeTaskBadgeHtml, findFromKey, MergeProp } from '../../helpers/properties.jsx' var noStatus = makeNoValueRow( 'Status' ); var noPriority = makeNoValueRow( 'Priority' ); var noIsCompleted = makeNoValueRow( 'Is Completed?' ); var noCompletionDate = makeNoValueRow( 'Completion Date' ); var noCompleterName = makeNoValueRow( 'Completer Name' ); var noResponsibleName = makeNoValueRow( 'Responsible Name' ); export default class Task extends Component { render() { const { entity } = this.props; var statusProp = findFromKey( entity.properties, 'status' ); var priorityProp = findFromKey( entity.properties, 'priority' ); var isCompletedProp = findFromKey( entity.properties, 'iscompleted' ); var completionDataProp = findFromKey( entity.properties, 'completionDate' ); var completerFirstNameProp = findFromKey( entity.properties, 'completerFirstName' ); var completerLastNameProp = findFromKey( entity.properties, 'completerLastName' ); var responsibleFirstNameProp = findFromKey( entity.properties, 'responsibleFirstName' ); var responsibleLastNameProp = findFromKey( entity.properties, 'responsibleLastName' ); let statusHtml = statusProp ? makeTaskBadgeHtml( statusProp ) : noStatus; let priorityHtml = priorityProp ? makePropHtml( priorityProp ) : noPriority; let isCompletedHtml = isCompletedProp ? makePropHtml( isCompletedProp ) : noIsCompleted; let completionDataHtml = completionDataProp ? makePropHtml( completionDataProp ) : noCompletionDate; let completerFullNameHtml = (completerFirstNameProp || completerLastNameProp) ? MergeProp( 'Completer Name', completerFirstNameProp, completerLastNameProp ) : noCompleterName; let responsibleFullNameHtml = (responsibleFirstNameProp || responsibleLastNameProp) ? MergeProp( 'Responsible Name', responsibleFirstNameProp, responsibleLastNameProp ) : noResponsibleName; return ( <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 className="cluedIn_row cluedIn_row_notCentered cluedIn_entity_table"> <div className="cluedIn_col s6"> {statusHtml} </div> <div className="cluedIn_col s6"> {completerFullNameHtml} </div> <div className="cluedIn_col s6"> {completionDataHtml} </div> <div className="cluedIn_col s6"> {responsibleFullNameHtml} </div> </div> </div> ); } }