Commit graph

43 commits

Author SHA1 Message Date
Andrew Dewar
05080a3e84 V2Wizard: Fix pagination on Packages step (useMemo) 2024-05-29 10:22:16 +02:00
regexowl
12fc6b9841 V2Wizard: Set pkg recommendations expandable to open by default
This makes the pkg recommendations expandable open by default and updates the tests accordingly.
2024-05-22 16:48:11 +02:00
Sanne Raymaekers
9b03fa6882 V2Wizard: Use content-sources for distro package search
This will make it easier to search for distro groups, as those are only
available for searching in the content-sources api.
2024-05-22 10:11:51 +02:00
Andrew Dewar
c61fda02b1 Bug - V2 Wizard: trim searchterm to prevent spaces from not producing results 2024-05-08 10:52:23 +02:00
regexowl
8a25ec66f3 src: Fix "Table headers must have an accessible name" warning
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.
2024-05-07 18:20:08 +02:00
regexowl
b9aa1c786a V2Wizard: Fix repo/description in review table of package on Edit
Previously the repository in the table of packages on the Review step defaulted to "EPEL". This expands the condition to take into account packages added on Edit.

Description is handled in the same way.

The "Not available" text is consistent with how the packages table looks on the Packages step for pkgs populated from the request. A popover with more information was added also to the review table as it contains explanation about the "Not available" text.
2024-05-06 15:15:24 +02:00
Andrew Dewar
ee81385626 Add comment to css change 2024-05-02 15:17:08 +03:00
Andrew Dewar
caa3847990 Update repository modal funcitonality 2024-05-02 15:17:08 +03:00
Andrew Dewar
f9aae48dd1 Wizard V2: Packages refactor, recommendations fix. 2024-05-02 15:17:08 +03:00
regexowl
ff2d629fc6 V2Wizard: Show packages only with a search term
Fixes #2012

Packages from custom repos stayed in the table upon clearing the search input. This show the results only when searchTerm is not empty.
2024-04-26 16:45:37 +02:00
regexowl
e9d28498e1 constants: Move URLs to constants
Fixes #1923

This moves all URLs from code to constants.
2024-04-26 15:54:46 +02:00
regexowl
99da1e2957 V2Wizard: Fix padding and size of <HelpIcon> button
This updates padding around the popover button on OpenSCAP step and makes all `<HelpIcon>` icons the default size so it's consistent throughout the Wizard.
2024-04-25 12:08:39 +02:00
regexowl
b80d0fa3ae V2Wizard: Debounce package search
This debounces package search so it doesn't overwhelm content API with two requests for every character.
2024-04-25 11:32:47 +02:00
regexowl
473d750145 V2Wizard: Gate package recommendations
This gates package recommendations behind an unleash flag and preview.

The flag is `image-builder.pkgrecs.enabled`.
2024-04-25 11:22:08 +02:00
regexowl
648300ffb4 V2Wizard: Add Package recommendation to the Packages step
This adds an expandable with package recommendations to the Packages step.

The recommendations are populated when two or more packages are selected.
2024-04-25 11:22:08 +02:00
regexowl
7124a6e2e6 V2Wizard: Update copy on empty state
This updates copy on empty state when no packages are found with "Available" and "Included repos" toggled.

Copy on "Selected" and "Other repos" was also updated.
2024-04-24 17:43:56 +02:00
regexowl
c0459cb975 V2Wizard: Add a specific empty state for "Other" toggle
This adds an empty state specific for "Other repos" toggle.
2024-04-24 11:05:52 +02:00
regexowl
8dd9d32475 V2Wizard: Add "Look under included" empty state
This adds a new empty state to the "Other toggle" for "Selected" packages which will inform user, that their added packages are under "Included repos".
2024-04-24 09:28:57 +02:00
regexowl
02ca8140c4 V2Wizard: Show selected packages in included repos
Previously when a package from an other repo was selected, it was still shown under "Other repos" toggle.

As a recommended repository gets added together with the package, it should be shown under "Included repos".
2024-04-24 09:28:57 +02:00
regexowl
562fb0df08 V2Wizard: Update wording on empty state
This updates the wording and buttons for empty state.
2024-04-23 17:04:04 +02:00
lucasgarfield
a1bdcaa54f V2 Wizard: Fix OpenSCAP step
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’).
2024-04-23 10:02:03 +02:00
regexowl
70b7ab7e29 V2Wizard: Update wording on "Custom repo" modal
This updates the wording on "Custom repositories will be added to your image" modal, informing the user, that the repository will get enabled in Content as well, if it wasn't enabled before.
2024-04-12 12:45:36 +02:00
regexowl
b7f6393be9 V2Wizard: Allow enabling repos and update state logic
This commit contains two changes:
1. When a package from popular repository gets added, the EPEL repository gets enabled in content services in case it wasn't before.
2. The logic of rendering states for the different toggle combinations on Packages step got updated.
2024-04-12 12:45:36 +02:00
regexowl
3b843a0d40 V2Wizard: Replace "Adding recommended repo" alert with modal
This replaces the previously used Alert displayed when adding a package from repo recommendations with a modal as per mocks.
2024-04-11 13:00:17 +02:00
regexowl
a3e98b3894 V2Wizard: Update rendering packages info on edit
This fixes information rendered when a package info is read from the request on Edit.
2024-04-11 11:41:46 +02:00
regexowl
43cb43dac8 V2Wizard: Add tally to the "Selected" toggle
This adds a tally of selected packages to the "Selected" toggle.
2024-04-11 11:41:46 +02:00
regexowl
f375fc5c41 V2Wizard: Update links
There were incorrect links used for the content service, this fixes them.
2024-04-11 11:41:46 +02:00
regexowl
923c4fc2d5 V2Wizard: Add "Searching" state for packages
This adds "Searching" state for packages table when the data is being fetched.
2024-04-11 11:41:46 +02:00
regexowl
bfd7420925 V2Wizard: Add repository recommendations
This PR is a part of Proactive Assistance - Repository recommendations.

New toggle group was added which allows user to see results from non-added repositories in a case that searched term didn't return any results from added custom and distribution repos.
2024-04-04 14:01:42 +02:00
regexowl
91873dc810 V2Wizard: Initialize packages with OpenSCAP
This initializes packages upon a selection of an OpenSCAP profile.

Current logic also fixes a bug previously present in V1 - when changing an OpenSCAP profile with other previously chosen packages, the packages outside of the profile persist and don't get removed.
2024-04-04 12:34:57 +02:00
regexowl
d219a233d9 V2Wizard: Update removePackage reducer
This updates the `removePackage` reducer so it takes only a name of a package as an argument instead of the entire package object.
2024-04-04 12:34:57 +02:00
regexowl
f71175f69b V2Wizard: Add full bottom pagination to Repositories and Packages
This adds full pagination to the bottom of Repositories and Packages steps which will allow the user to get to the very end of the tables in a case of many results.
2024-04-04 11:35:07 +02:00
regexowl
a1372adb94 V2Wizard: Update copy based on SPUR
This updates the copy of the Wizard steps based on the recent SPUR.
2024-04-04 11:26:26 +02:00
regexowl
155962c141 ESLint: Resolve useSelector-prefer-selectors errors
This resolves all occurences of useSelector-prefer-selectors errors.
2024-04-02 20:21:34 +02:00
lucasgarfield
d97a401a53 V2Wizard: Center messages in packages table (HMS-2781)
The copy in the packages table (too many results to show, etc...) was
not centered because the table actually has 5 columns, not 4. This fixes
the problem.
2024-04-02 11:29:57 +02:00
regexowl
d2c56391f9 V2Wizard: Update "Too many results" copy
This updates copy shown in a table when too many results are fetched. Also a period was added to the end of the empty state bodies.
2024-04-02 10:59:41 +02:00
regexowl
835920a555 V2Wizard: Add test IDs to Packages step
This adds data-testid to the Packages search input and to the Available and Selected toggles.
2024-03-28 09:35:16 +01:00
regexowl
36dee34f94 V2Wizard: Update repository icons and names on Packages step
This updates the naming and the icons in the "Packages repository" column to be consistent with current mocks.
2024-03-07 12:39:25 +01:00
regexowl
6e1df015e1 V2Wizard: Replace h2 heading with h1 and sizing
This replaces h2 heading on the steps with h1 and adds a size modifier to keep the sizes approximately similar.
2024-03-07 09:33:44 +01:00
regexowl
8b224a0327 V2Wizard: Remove bulk select and refresh button from the Packages step
This removes bulk select and a refresh button from the Packages step and updates tests accordingly.
2024-02-29 12:39:09 +01:00
regexowl
af80b78e93 V2Wizard: Add Packages step
Previously we've used two steps for adding packages - the Additional Red Hat packages and Additional Custom packages steps. This merges the two steps into one.

Also the steps originally used `DualListSelector` to show the packages options, this was now migrated to the packages `Table` which makes the step visually consistent with the Repositories one. Although the functionality is a bit different.

Repositories step fetches the complete list of repositories right at the beginning and then mutates it by filtering. The Packages step fetches the data based on a search term which means that the "All" table gets overwritten by new values anytime a new term is searched.

Previously used axios API calls were also migrated to RTK Query for the purpose of consistency.
2024-02-28 17:17:00 +01:00
regexowl
ac4a0829e2 V2Wizard: Add Packages step to the Wizard
This adds Packages to the new Wizard as a substep of the Content step.
2024-02-28 17:17:00 +01:00
regexowl
607bd6ed45 V2Wizard: Create a folder for Packages step
This creates a new folder for the Packages step and copies over needed file:
- Packages.tsx
2024-02-28 17:17:00 +01:00