Sha256: e07f17d6b53bfa5b33d20119360340b4f96d7c318de2de0e8866ee528096ab7c

Contents?: true

Size: 1.71 KB

Versions: 6

Compression:

Stored size: 1.71 KB

Contents

import React from 'react';
import PropTypes from 'prop-types';
import {
  CheckCircleIcon,
  ExclamationCircleIcon,
  BuildIcon,
  RunningIcon,
  ExclamationTriangleIcon,
  QuestionCircleIcon,
} from '@patternfly/react-icons';
import {
  JOB_SUCCESS_STATUS,
  JOB_ERROR_STATUS,
  JOB_PLANNED_STATUS,
  JOB_RUNNING_STATUS,
  JOB_CANCELLED_STATUS,
  JOB_AWAITING_STATUS,
} from './constants';
import './styles.scss';

const JobStatusIcon = ({ status, children, ...props }) => {
  switch (status) {
    case JOB_SUCCESS_STATUS:
      return (
        <span>
          <CheckCircleIcon className="job-success" {...props} /> {children}
        </span>
      );
    case JOB_ERROR_STATUS:
      return (
        <span>
          <ExclamationCircleIcon className="job-error" {...props} /> {children}
        </span>
      );
    case JOB_PLANNED_STATUS:
      return (
        <span>
          <BuildIcon className="job-planned" {...props} /> {children}
        </span>
      );
    case JOB_RUNNING_STATUS:
      return (
        <span>
          <RunningIcon className="job-running" {...props} /> {children}
        </span>
      );
    case JOB_CANCELLED_STATUS:
      return (
        <span>
          <ExclamationTriangleIcon className="job-cancelled" {...props} />{' '}
          {children}
        </span>
      );
    case JOB_AWAITING_STATUS:
      return <span className="job-awaiting_start">{children}</span>;
    default:
      return (
        <span>
          <QuestionCircleIcon className="job-unknown" {...props} /> {children}
        </span>
      );
  }
};

JobStatusIcon.propTypes = {
  status: PropTypes.number,
  children: PropTypes.string.isRequired,
};

JobStatusIcon.defaultProps = {
  status: undefined,
};

export default JobStatusIcon;

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
foreman_remote_execution-15.0.0 webpack/react_app/components/RecentJobsCard/JobStatusIcon.js
foreman_remote_execution-14.1.4 webpack/react_app/components/RecentJobsCard/JobStatusIcon.js
foreman_remote_execution-14.1.3 webpack/react_app/components/RecentJobsCard/JobStatusIcon.js
foreman_remote_execution-14.1.2 webpack/react_app/components/RecentJobsCard/JobStatusIcon.js
foreman_remote_execution-14.1.1 webpack/react_app/components/RecentJobsCard/JobStatusIcon.js
foreman_remote_execution-14.1.0 webpack/react_app/components/RecentJobsCard/JobStatusIcon.js