Skip to content

Commit

Permalink
chore(Modules): RHINENG-2912 - Remove deprecated useOperatingSystemFi…
Browse files Browse the repository at this point in the history
…lter hook
  • Loading branch information
bastilian committed Nov 3, 2023
1 parent 1356ed9 commit affb0b0
Showing 1 changed file with 0 additions and 86 deletions.
86 changes: 0 additions & 86 deletions src/modules/OsFilterHelpers.js
Original file line number Diff line number Diff line change
@@ -1,87 +1 @@
import { compareVersions } from '../Utilities/OperatingSystemFilterHelpers';

export * from '../Utilities/OperatingSystemFilterHelpers';

/**
* TODO: Deprecated, remove once no longer exposed through fed modules
*/
export const toGroupSelectionValue = (osVersions = []) =>
osVersions.reduce((acc, version) => {
const [majorVersion, minorVersion] = version.split('.');
acc[`${majorVersion}.0`] = {
...(acc[`${majorVersion}.0`] || {}),
[`${majorVersion}.${minorVersion}`]: true,
};
return acc;
}, {});

/**
* TODO: Deprecated, remove once no longer exposed through fed modules
*/
const groupOSVersions = (versions) => {
const groups = Object.entries(
versions.reduce((prev, { label, value }) => {
const major = value.split('.')[0];

if (prev[major] === undefined) {
prev[major] = {
groupSelectable: true, // without this flag, the group won't be rendered - behavior of ConditionalFilter
noFilter: true,
label: 'RHEL ' + major,
value: major + '.0',
items: [],
};
}

prev[major].items.push({
label,
value,
type: 'checkbox',
});

return prev;
}, {})
);

// sort by major versions in descending order
groups.sort((a, b) => compareVersions(a[0], b[0], false));

const sorted = groups.map((group) => {
// sort minor versions under each group
group[1].items.sort((a, b) => compareVersions(a.value, b.value, false));
return group[1];
});

return sorted;
};

/**
* TODO: Deprecated, remove once no longer exposed through fed modules
*/
export const buildOSFilterConfig = (config = {}, operatingSystems = []) => ({
...config,
label: 'Operating System',
value: 'os-filter',
type: 'group',
filterValues: {
selected: config.value,
onChange: (event, value) =>
config.onChange(
event,
Object.entries(value).reduce((prev, cur) => {
const [major, minors] = cur;
// eliminate versions that are set to false
return {
...prev,
[major]: Object.fromEntries(
Object.entries(minors).filter((version) => version[1] === true)
),
};
}, {})
),
groups:
operatingSystems.length === 0
? [{ items: [{ label: 'No versions available' }] }]
: groupOSVersions(operatingSystems),
},
});

0 comments on commit affb0b0

Please sign in to comment.