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 ( {issueRows}
Id Status Owner Created Effort Completion Date Title
) } } 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);