Commit graph

293 commits

Author SHA1 Message Date
Pavel Odvody
2f13390eee Add MODAL_ANCHOR and anchor ShareImageModal
This patch adds a constant `MODAL_ANCHOR` so that the value
can be used in multiple modals that require it. Also the
ShareImageModal is now properly anchored to it.

Signed-off-by: Pavel Odvody <pavel@redhat.com>
2023-04-20 17:02:04 +02:00
Pavel Odvody
b0a7456860 Use custom modal to show the wizard
So that it's anchored to proper element via `appendTo`

Signed-off-by: Pavel Odvody <pavel@redhat.com>
2023-04-20 17:02:04 +02:00
Pavel Odvody
45547c607b Ensure Launch wizard is anchored to proper element
By default modals are anchored to document.body which inteferes
with quickstarts

Signed-off-by: Pavel Odvody <pavel@redhat.com>
2023-04-20 17:02:04 +02:00
Pavel Odvody
466f158374 Anchor modal to proper element
By default all modals are anchored to document.body
which interferes with Quickstarts by overlaying them.
This patch anchors the modal to the main element outside
of the Quickstart so that both can be visible at the same time.

Signed-off-by: Pavel Odvody <pavel@redhat.com>
2023-04-20 17:02:04 +02:00
Pavel Odvody
8fced39451 Show different alert to user in beta
This adds the possibility to invoke 3 different quickstarts
from in-beta prompt

HMS-1577

Signed-off-by: Pavel Odvody <pavel@redhat.com>
2023-04-20 17:02:04 +02:00
lucasgarfield
bc1435994d Router: Modify /share and /imagewizard routing
Insights offers 'quickstarts', which can be used to provide
mini-tutorials in a sidebar.

Unfortunately, these quickstarts change our URL... they add an optional
query parameter related to the quickstart. The process of doing so
destroys our router's `location`, setting it to undefined.

We have been using the location state to store the GUID of the image,
needed when opening the wizard via the `Recreate image` action or when
opening the share modal.

As a workaround, we can simply accept that the quickstarts will change
our URL and destroy our router's location. Instead, we now put the image
id (its UUID) in the route itself. We can access it in the components as
necessary via the useParams hook.
2023-04-20 14:59:12 +02:00
Lucas Garfield
0870ea7d55
ImagesTable: Fix bug where Launch link incorrectly displayed (#1085)
This commit fixes a bug where the Launch link (which opens the
Provisioning wizard) was incorrectly displayed for all image types.

The bug is currently in production beta, so this commit is needed for
the hotfix. Changes made are minimal, only what is necessary to fix the
bug - we still need to discuss the getImageProvider() function (the
original source of the bug) with the Provisioning team.
2023-04-19 10:53:26 +02:00
regexowl
8f87626dfb Wizard: Fix unavailable key information error
When creating a new image and selecting an activation key on the Registration step the warning about unavailable key information is displayed even though the key information is loaded without any problems.

This shows the error on the Registration step only when fetching the activation key information ends in error.
2023-04-19 08:20:03 +02:00
Sanne Raymaekers
38dda9da67
CreateImageWizard: support verifying repository metadata (#1076) 2023-04-18 13:45:23 +02:00
regexowl
e5a9f0eaf9 Wizard: Add "refine search" warning to Packages step
Fixes #913.

This adds status bars to the `DualListSelectorPane` on the Packages step. The status bar indicates how many packages were found and how many of those have been selected.

Warning for too many returned results was also added. When an exact match is found during a search with over 100 results, it is shown together with the warning.
2023-04-14 18:27:10 +02:00
Sanne Raymaekers
c3c8a687a0 LandingPage: add "go to beta" banner 2023-04-14 17:36:31 +02:00
Sanne Raymaekers
341b37a567 ImagesTable/RegionsPopover: add "go to beta" under launch 2023-04-14 17:36:31 +02:00
regexowl
5f99bc79cf Wizard: Migrate activation keys calls to RTK Query
This migrates calls to RHSM endpoints `activation_keys` and `/activation_keys/{name}` to RTK Query.

Tests were also updated to use Mock Service Worker instead of previous Jest mock function.
2023-04-14 16:52:47 +02:00
regexowl
02a584b36f Wizard: Remove prop validation for ReviewStepTables and ReviewStepTextLists
This removes prop validation that was left behind after the props were removed during a Review step updates PR review.
2023-04-14 12:12:38 +02:00
Ondrej Ezr
dcb1e23298 Always enable launch for AWS 2023-04-14 11:59:18 +02:00
regexowl
876e605a23 Wizard: Ensure unique IDs for buttons
Fixes #1065.

This sets buttons on the Repositories and Additional custom packages steps to `CustomButtons` to ensure buttons in each of the steps have a unique ID.
2023-04-13 13:58:16 +02:00
Ondrej Ezr
065900c0f8 Add sources selection for Azure
Fixes HMS-1511
2023-04-13 13:32:23 +02:00
lucasgarfield
c7add821c2 Wizard: Fix bug causing crash upon visiting Azure step
This commit fixes a bug in the wizard. The Azure step name was
incorrectly set when using the 'Recreate image' option which caused the
wizard to crash when trying to access the Azure step.
2023-04-12 16:33:19 +02:00
Ondrej Ezr
451b5784d5 Send upload info to ProvisioningWizard 2023-04-07 10:48:06 +02:00
regexowl
4405d2ddd2 Wizard: Disable remove button for the root partition
Fixes #910. This disables the remove button and select for the root partition as that one is required to continue with creating an image.

The third point mentioned in the issue is removing mount points that have already been chosen from the dropdown to prevent adding duplicate mountpoints.

This point was not implemented as we need to allow the user to create multiple sub directories under the same mount point if needed.
2023-04-04 18:05:53 +02:00
Sanne Raymaekers
1df2df1360 CreateImageWizard: show error details on save
Show details when the wizard sends a request that results in an
error. Now that AWS and Azure have a maximum size, this needs to be
shown.
2023-04-03 10:51:54 +02:00
regexowl
87dc7f8440 Wizard: Update links on File system configuration step
Fixes #1023. This updates the links on the File system configuration step.
2023-03-29 14:28:13 +02:00
Ondrej Ezr
78bc71fe6a Allow launch wizard for Azure images 2023-03-29 12:11:14 +02:00
Jakub Rusz
9637a86351 Set ouiaId for activation key Select widget 2023-03-29 12:05:19 +02:00
lucasgarfield
4c2a410dd7 Wizard: Expose beta features in qa environment
The QE team has requested that all beta features be exposed in the
ephemeral environment (insights.chrome.getEnvironment() === 'qa').
2023-03-28 09:26:13 +02:00
regexowl
254ba7afac Wizard: Update the Review step to have expandable sections
Fixes #919.

This updates the Review step as per proposed mocks.

The tabs were replaced by expandable sections containing all the information relevant to a specific step.
2023-03-27 10:35:17 +02:00
Sanne Raymaekers
808d8b8452 CreateImageWizard/Registration: remove extra rhc/insights vars
They just complicated the logic, might as well rely on the form api
value.
2023-03-13 13:48:43 +01:00
Sanne Raymaekers
9d0448979d CreateImageWizard: fix plain list styling
The list styling should only apply to unordered lists (present on the
review page).
2023-03-13 13:48:43 +01:00
Sanne Raymaekers
7635bda168 CreateImageWizard/Registration: refine tooltip texts 2023-03-13 13:48:43 +01:00
Alexander Todorov
0b3d6a2b01 Specify ouiaId to use as selector for testing
see release_select for ImageOutputReleaseSelect for example
2023-03-09 12:27:21 +01:00
regexowl
a7d915dad7 Wizard: Ensure only one scrollbar on the Packages step
Fixes #914.

This adds a maximum height limit to the dual list selector on the Packages step.
That way the Wizard doesn't become scrollable when the Packages search returns more results.
2023-03-09 11:13:37 +01:00
Sanne Raymaekers
724668a3a4 CreateImageWizard: add org id in activation key popover 2023-03-08 16:45:31 +01:00
Sanne Raymaekers
62421e3670 CreateImageWizard: update register later text 2023-03-08 16:45:31 +01:00
Sanne Raymaekers
9e6d951641 CreateImageWizard: rhc support 2023-03-08 16:45:31 +01:00
lucasgarfield
f0ae99b31e ClonesTable: Ensure source exists before reading its account_id property
If a clone is created using a source, and the source is then deleted,
the source will be undefined. Attempting to read the account_id from
undefined causes the app to crash. Optional chaining fixes this.
2023-03-08 10:53:39 +01:00
Sanne Raymaekers
b729edf152 CreateImageWizard: handle SearchInput api change 2023-03-07 18:20:00 +01:00
lucasgarfield
39af9bddeb ImagesTable: Only show Launch link for images using sources
The Launch service wizard should only be used to launch AWS images that
were created using share_with_sources (and not share_with_accounts) in
their request.

The Launch service only supports a single source at the moment, as does
the Image Builder Frontend. Therefore, we do not pass the entire
share_with_sources array - only the 0th element, which should be the
`only` source for images created using the front-end. We do not expect
full compatibility between images created using the API (which could
theoretically have multiple sources in share_with_sources) and Image
Builder Frontend.
2023-03-07 16:28:38 +01:00
lucasgarfield
5d4e365ef8 ImagesTable: Display AWS account number when image uses sources
This commit displays the AWS account number in the `Account` column in
the AWS clones table.
2023-03-07 15:07:25 +01:00
lucasgarfield
deae5438a1 ShareImageModal: Add support for sources
This commit allows sharing (cloning) composes that use the sources
service to resolve the AWS account ID.
2023-03-07 15:07:25 +01:00
regexowl
050808b181 Wizard: Fix disabled search input on the Additional custom packages step
The search input on the Packages step is disabled until needed data is fetched. This was causing a problem on the Additional custom packages step which uses the same component.

A check of the current step was added so the search input gets disabled only for the Packages step.
2023-03-07 14:00:28 +01:00
regexowl
753afa197d Wizard: Get distribution repositories from an api endpoint
Previously the base repository links for each distribution were read from `repos.js` file. This gets the needed information
from a call to api endpoint `architectures/{distribution}`. The data is fetched via RTK Query and is then filtered by an
architecture. For now the x86_64 architecture is hardcoded, this will change when multiple architectures get available.
2023-03-07 08:34:03 +01:00
lucasgarfield
b861b3dde8 Wizard: Update activation keys link text and URI
This commit updates the link on the registration step so users are
directed to the exact place where they can manage keys.

Because managing keys through the customer portal will soon become
deprecated (keys will be managed through the keys service on insights)
the text was also changed to be more general.
2023-03-06 15:51:34 +01:00
Simon Steinbeiss
47436e6933 Landingpage: Switch to CodeBranchIcon
Use the CodeBranchIcon instead of just CodeIcon for the Open Source
Services popover button.
COMPOSER-1899
2023-03-01 16:44:31 +01:00
lucasgarfield
53ce67ab47 Wizard: Add beta flag for AWS sources
This commit makes the new AWS sources feature only available in beta.

Note that the RTKQ hooks related to AWS sources are called in several
places outside of the AWS Target step (a prefetch on the Image Output
step and useQuery hook on the review step) but have not been hidden
behind beta flags - this should not present any problems and will make
exposing this feature in stable much easier when the time comes.
2023-03-01 11:25:28 +01:00
lucasgarfield
a474163343 Wizard: Add ability to specify AWS target using sources
This commit adds the ability to specify AWS targets using the sources
service on insights.

This is the first commit to the codebase that makes use of the new RTK
Query endpoints, so I will provide a bit of additional context here:

The sources are obtained by calling the `useGetAWSSourcesQuery()` hook.
This hook can be called in any component where information about the
sources is needed.

A few tricks are used to make the user experience as responsive as
possible.

The `prefetch()` hook provided by RTK Query is called when the user
clicks on the AWS button on the image output step. This triggers the
initial request for the sources, which will then (hopefully) be ready by the
time the user clicks to the next step (the AWS target environment step)
where they are needed.

Because we anticipate a common user workflow to involve using the Create
image wizard in one browser tab and the sources service in another tab,
sources are also refetched every time the source dropdown is opened.
This means that if a user adds a source while in the middle of using the
wizard, they will be able to see it in the wizard's sources dropdown
without refreshing their browser.

Finally, because of the `Recreate image` feature, the
`useGetAWSSourcesQuery` hook also needs to be called on the review step.
2023-03-01 11:25:28 +01:00
Simon Steinbeiss
d66c141e8d Remove unused variable 2023-02-27 16:54:29 +01:00
Simon Steinbeiss
35c7d6ff29 LandingPage: Show 'Open Service' badge and popover
This commit moves the reference to our source code out of the help
popover to its own.
COMPOSER-1899
2023-02-27 16:54:29 +01:00
Jacob Kozol
d05e9da3d7 ImagesTable: support additional image type labels
If image types are created that do not have a descriptive label then
default to using the image type.
2023-02-17 09:48:49 +01:00
Amir Fefer
acb0991ed4 feat(HMS-776): Add provider to provisioning wizard 2023-02-16 17:33:14 +01:00
lucasgarfield
4000b8d5e5 ESLint: Add prefer-const rule
Require const declarations for variables that are never reassigned after
being declared. If a variable is never reassigned, using the const
declaration is better. const declaration tells readers, “this variable
is never reassigned,” reducing cognitive load and improving
maintainability.
2023-02-10 11:37:06 +01:00