import { connect } from 'react-redux'; import React from 'react'; import Immutable from 'seamless-immutable'; import PropTypes from 'prop-types'; // eslint-disable-next-line import/no-extraneous-dependencies import DonutChart from 'foremanReact/components/common/charts/DonutChart'; import AggregateStatus from './AggregateStatus'; import * as JobInvocationActions from '../../redux/actions/jobInvocations'; const colIndexOfMaxValue = columns => columns.reduce((iMax, x, i, arr) => (x[1] > arr[iMax][1] ? i : iMax), 0); const colorMap = { '#5CB85C': 'success', '#D9534F': 'failed', '#DEDEDE': 'pending', '#B7312D': 'cancelled', }; class JobInvocationContainer extends React.Component { componentDidMount() { const { startJobInvocationsPolling, data: { url }, } = this.props; startJobInvocationsPolling(url); } render() { const { jobInvocations, statuses, chartFilter } = this.props; const iMax = colIndexOfMaxValue(jobInvocations); const map = jobInvocations.reduce( (acc, [label, _count, color]) => ({ [label]: colorMap[color], ...acc }), {} ); return (