const contentNode = document.getElementById('contents');
class IssueFilter extends React.Component {
render() {
return (
This is a placeholder for the Issue Filter.
) } }
class IssueTable extends React.Component {
render() {
const issueRows = this.props.issues.map(issue => )
return (
Id |
Status |
Owner |
Created |
Effort |
Completion Date |
Title |
{issueRows}
) } }
class IssueAdd extends React.Component {
render() {
return ( This is a placeholder for an Issue Add entry form.
) } }
const issues = [{
id: 1, status: 'Open', owner: 'Ravan', created: new Date('2016-08-15'), effort: 5, completionDate: undefined,
title: 'Error in console when clicking Add', },
{ id: 2, status: 'Assigned', owner: 'Eddie', created: new Date('2016-08-16'), effort: 14, completionDate: new Date('2016-08-30'),
title: 'Missing bottom border on panel', }, ];
class IssueList extends React.Component {
render() {
return (
Issue Tracker
); } }
class IssueRow extends React.Component {
render() {
const issue = this.props.issue;
return (
{issue.id} |
{issue.status} |
{issue.owner} |
{issue.created.toDateString()} |
{issue.effort} |
{issue.completionDate ? issue.completionDate.toDateString() : ''} |
{issue.title} |
) } }
ReactDOM.render(, contentNode);