Sha256: 945bc04a3ac809cc81f240792c7eae3853d09dae91e83baba25edcb8411d9524

Contents?: true

Size: 1.17 KB

Versions: 80

Compression:

Stored size: 1.17 KB

Contents

/* eslint-disable camelcase */
import React from 'react';
import { orderBy } from 'lodash';
import Resolutions from './Resolutions';

export const modifyRows = (remediations, setResolutions, setHostsIds) => {
  if (remediations.length === 0) return [];

  const resolutionToSubmit = [];
  const hostsIdsToSubmit = new Set();
  const modifiedRemediations = orderBy(
    remediations.asMutable(),
    [r => r.resolutions?.length || 0],
    ['desc']
  ).map(({ id, host_id, hostname, title, resolutions, reboot }) => {
    hostsIdsToSubmit.add(host_id);
    const selectedResolution = resolutions[0]?.id;
    resolutionToSubmit.push({
      hit_id: id,
      resolution_id: selectedResolution /** defaults to the first resolution if many */,
    });
    return {
      cells: [
        hostname,
        title,
        <div>
          <Resolutions
            hit_id={id}
            resolutions={resolutions}
            setResolutions={setResolutions}
            selectedResolution={selectedResolution}
          />
        </div>,
        reboot,
      ],
      id,
    };
  });

  setResolutions(resolutionToSubmit);
  setHostsIds(Array.from(hostsIdsToSubmit));
  return modifiedRemediations;
};

Version data entries

80 entries across 80 versions & 1 rubygems

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