Sha256: 28d42f8d345be5443f33424cc4f74afd336a40ca932f023524746f7ee8544964

Contents?: true

Size: 1.3 KB

Versions: 80

Compression:

Stored size: 1.3 KB

Contents

/* eslint-disable camelcase */
import React from 'react';
import PropTypes from 'prop-types';
import { Radio } from '@patternfly/react-core';

const Resolutions = ({
  resolutions,
  setResolutions,
  selectedResolution,
  hit_id,
}) => {
  const [checkedID, setCheckedID] = React.useState(selectedResolution);

  if (resolutions.length === 1) return <>{resolutions[0].description}</>;

  return (
    <>
      {resolutions.map(({ id: resolution_id, description }) => (
        <Radio
          key={resolution_id}
          className="resolution-radio"
          id={resolution_id}
          isChecked={resolution_id === checkedID}
          onChange={() =>
            setResolutions(stateRes =>
              stateRes.map(res => {
                if (hit_id === res.hit_id) {
                  setCheckedID(resolution_id);
                  return { ...res, resolution_id };
                }
                return res;
              })
            )
          }
          label={description}
        />
      ))}
    </>
  );
};

Resolutions.propTypes = {
  setResolutions: PropTypes.func.isRequired,
  resolutions: PropTypes.array,
  hit_id: PropTypes.number,
  selectedResolution: PropTypes.number,
};

Resolutions.defaultProps = {
  resolutions: [],
  hit_id: null,
  selectedResolution: null,
};

export default Resolutions;

Version data entries

80 entries across 80 versions & 1 rubygems

Version Path
foreman_rh_cloud-11.1.0 webpack/InsightsCloudSync/Components/RemediationModal/Resolutions.js
foreman_rh_cloud-10.0.3 webpack/InsightsCloudSync/Components/RemediationModal/Resolutions.js
foreman_rh_cloud-11.0.3 webpack/InsightsCloudSync/Components/RemediationModal/Resolutions.js
foreman_rh_cloud-9.0.59 webpack/InsightsCloudSync/Components/RemediationModal/Resolutions.js
foreman_rh_cloud-11.0.2 webpack/InsightsCloudSync/Components/RemediationModal/Resolutions.js
foreman_rh_cloud-11.0.1 webpack/InsightsCloudSync/Components/RemediationModal/Resolutions.js
foreman_rh_cloud-11.0.0 webpack/InsightsCloudSync/Components/RemediationModal/Resolutions.js
foreman_rh_cloud-9.0.58 webpack/InsightsCloudSync/Components/RemediationModal/Resolutions.js
foreman_rh_cloud-10.0.2 webpack/InsightsCloudSync/Components/RemediationModal/Resolutions.js
foreman_rh_cloud-9.0.57 webpack/InsightsCloudSync/Components/RemediationModal/Resolutions.js
foreman_rh_cloud-10.0.1 webpack/InsightsCloudSync/Components/RemediationModal/Resolutions.js
foreman_rh_cloud-9.0.56 webpack/InsightsCloudSync/Components/RemediationModal/Resolutions.js
foreman_rh_cloud-9.0.55 webpack/InsightsCloudSync/Components/RemediationModal/Resolutions.js
foreman_rh_cloud-9.0.54 webpack/InsightsCloudSync/Components/RemediationModal/Resolutions.js
foreman_rh_cloud-9.0.53 webpack/InsightsCloudSync/Components/RemediationModal/Resolutions.js
foreman_rh_cloud-9.0.52 webpack/InsightsCloudSync/Components/RemediationModal/Resolutions.js
foreman_rh_cloud-8.0.52 webpack/InsightsCloudSync/Components/RemediationModal/Resolutions.js
foreman_rh_cloud-9.0.51 webpack/InsightsCloudSync/Components/RemediationModal/Resolutions.js
foreman_rh_cloud-8.0.51 webpack/InsightsCloudSync/Components/RemediationModal/Resolutions.js
foreman_rh_cloud-7.0.48 webpack/InsightsCloudSync/Components/RemediationModal/Resolutions.js