import React, { Component } from "react"; import { global_danger_color_100, global_success_color_100, global_active_color_100, global_warning_color_100 } from "@patternfly/react-tokens"; const Status = ({ status, children }) => { const colors = { ok: global_success_color_100.value, failed: global_danger_color_100.value, skipped: global_active_color_100.value, unreachable: global_warning_color_100.value, changed: global_active_color_100.value, ignored: global_warning_color_100.value, unknown: global_warning_color_100.value }; return ( {children} ); }; const Statuses = ({ statuses }) => { return (
{Object.keys(statuses) .filter(status => statuses[status] !== 0) .map(status => ( {`${statuses[status]} ${status}`} ))}
); }; export default class TaskRow extends Component { state = { isExpanded: false }; toggleExpand = () => { this.setState(prevState => ({ isExpanded: !prevState.isExpanded })); }; render() { const { isExpanded } = this.state; const { task } = this.props; return ( {task.name} {task.action} {task.average_duration} {Statuses(task)}
{task.results.map(result => ( ))}
Task results
Status Host Started Ended Duration
{result.status} {result.host.name} {result.started} {result.ended} {result.duration}
); } }