This refines `useHasIsoTargetOnly` hook into `useHasSpecificTargetOnly` hook which takes an image type as an argument and can be re-used for non-iso targets as well.
The tests output contained following warning:
```
console.warn
Th: Table headers must have an accessible name. If the Th is intended to be visually empty, pass in screenReaderText. If the Th contains only non-text, interactive content such as a checkbox or expand toggle, pass in an aria-label.
```
This fixes the warning by adding an `aria-label` to every empty table heading cell.
This updates the logic of parsing bytesize into size/unit pair.
Currently 'GiB' is set as a default which causes problem with smaller partitions on Edit.
A validation for the min_size is in place and the rule is that the size cannot be smaller than 0 of a given unit. If there was a partition with smaller size in KiB it will break the rule when converted to GiB.
This hides the "Manually configure partitions" option from the FSC step for blueprints which have only ISO selected as a target.
There is already an alert in place for cases when ISO is combined with another target.
OpenSCAP profile info is now correctly loaded into the state and
verified to be in the final request with tests.
I modified the fixtures for the OpenSCAP profiles. My changes ensure we
have a Venn-diagram like overlap when changing from one profile to
another where one package is the same, one package is removed, and one
package is added. The same is true for the services and partitions. For
kernel args it is not so important as that is just a string (as opposed
to an array), so it is enough to be different.
I was able to eliminate a useEffect by replacing it with a lazy query
trigger function. Setting the second arg `preferCacheValue` to `true`
means that a request is only made if cached data is not available.
I modified the Redux reducers a bit to add some additional safety.
`changeFileSystemPartitionMode` is now responsible for initializing the
partitions field in the state by adding the root partition – previously
this was done in the components themselves by dispatching
`addPartition`. This reducer can always be safely dispatched – if the
mode is ‘manual’, dispatching it with a payload of ‘manual’ will not
result in any changes to the state.
`addPackage` is also safer now. When a package is added, the list of
packages is checked. If there is a package with an identical name, the
new package overwrites the previous package. This is useful because the
description may be different for the same package – for instance, when
adding an OpenSCAP package, we use a custom description (‘this package
required by OpenSCAP’).
This makes the drop down for root partition disabled, preventing the user from creating a configuration without a root partition.
Option to add suffix was also removed for mount points which don't allow suffixes.
This mirrors the functionality of https://github.com/osbuild/image-builder-frontend/pull/1786 in V2Wizard.
An alert was added to the FSC step to make users aware that customisations are not being applied to bare metal - installer images.
The FSC step is added to the wizard and takes full advantage of Redux
for state management.
This is still a work in progress.
Supported features:
1. Select partition mountpoint prefix (e.g. /var, /home)
2. Edit partition mountpoint suffix (e.g. /home/videogames)
3. Change displayed units (KiB, MiB, GiB)
Supported but buggy features:
1. Edit partition size
Unsupported features:
1. Add partitions
2. Remove partitions
3. Validation