UNPKG

cluedin-widget

Version:

This project contains all the pages needed for browsing entities and searching them. The aim is to replace the CluedIn.Webapp project with this one when all the pages ( including the Admin page ) will be ported to REACT.

52 lines (47 loc) 2.66 kB
import React, { Component } from 'react'; import EntityDefaultHeader from '../entityRelated/EntityDefaultHeader.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, openInNewTab } = 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"> <EntityDefaultHeader openInNewTab={openInNewTab} entity={entity}></EntityDefaultHeader> <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> ); } }