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.
53 lines (47 loc) • 3 kB
JSX
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 } = 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 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>
);
}
}