Commit graph

863 commits

Author SHA1 Message Date
regexowl
1d8067f1b0 Blueprints: Fix list of blueprint being replaced by empty state
Search input and list of blueprints could be previously temporarily replaced by an empty state.

How to reproduce previous behaviour:
1. start with some created blueprints
2. search for an existing blueprint
3. delete it
4. remove searchTerm from the blueprint search input

Before: the blueprint list and blueprint search input are temporarily replaced by an empty state, until re-fetch.
After: the list and search input persist throughout blueprint deletion and get replaced by an empty state only when there are no other blueprints
2024-09-24 17:48:50 +02:00
regexowl
49162e01f5 Blueprints: Set blueprintSearchInput as undefined with empty string
This dispatches changes to `blueprintSearchInput` and sets it as `undefined` when the value is an empty string.
2024-09-24 17:48:50 +02:00
regexowl
e051aa3f7f requestMapper: Fix enabled services with firstboot
Previously used `.push()` method was limited by non-writable length of the enabled services array, ending up in the following error:
```
 Uncaught (in promise) TypeError: can't define array index property past the end of an array with non-writable length
```

This fixes the problem by updating the array via spread operator.

Before: when creating an image with Oscap profile with enabled serviced and adding a firstboot script, the Create blueprint button at the Review step threw an error on click.
After fix: it's possible to create an image with Oscap profile that includes enabled services and a firstboot script.
2024-09-24 15:42:30 +02:00
regexowl
bc0ad00aa7 Wizard: Temporarily disable fixed footer
There's a new bug that's at least partially caused by styling commented out in this PR: when zooming in or out while in Wizard, the Wizard shrunks it's height to an unusable value.
2024-09-23 09:25:41 +03:00
Dominik Vagner
2c0d753d82 fix: unify snapshot date format 2024-09-19 09:12:16 +02:00
regexowl
003aa9df48 Wizard: Fix Registration bug
The second condition in `useRegistrationValidation` needs to be triggered only for `register-now` options, otherwise the Next button stays disabled on fetching and error even for `register-later`.
2024-09-18 16:16:32 +03:00
regexowl
39d2f91f03 Wizard: Add isPreview property to analytics tracking
This adds `isPreview` property to the analytics tracking with the use of chrome's `isBeta()`.
2024-09-18 12:47:22 +02:00
regexowl
b3d7a1606c Wizard: Validate registration with useValidation
This migrated Registration step validation to `useValidation`.

The scenarios in which the Next button and Create/Save button should be disabled are:
- any of "register now" options is chosen, but no activation key is selected
- activation key is selected, but it's invalid (information about it cannot be fetched)
2024-09-16 12:59:43 +03:00
Sanne Raymaekers
0897257125 src/store: Remove server store hooks
Removing the server store makes the way we handle data going in and out
of the wizard state more consistent. Each customisation is mapped into
the wizard state and pulled out when generating the blueprint
payload.

When the services and kernel customisations are implemented, this
information will need to be stored inside of the wizard state anyway.

Lastly this will make implementing a compliance step easier for edit
mode, removing the need to write to the wizard state from within the
server store when only a compliance policy id is available (on the
review page), which would be used to fetch the profile ref id, which
would in turn be used to fetch the customisations not stored in the
wizard state.
2024-09-16 11:45:54 +02:00
Anna Vítová
3af0704a2f src: Enable import of image_requests 2024-09-04 17:45:11 +02:00
Anna Vítová
22c9b0c106 src: Cleanup import modal on close 2024-09-04 17:45:11 +02:00
Anna Vítová
c385417e93 HMS-4459: Use export endpoint 2024-09-04 17:45:11 +02:00
regexowl
558bb50c34 test: Add revisit step button checks
This adds tests to check that the revisit buttons on the Review step are working correctly.

Also some minor cleanup, namely making case used in the names of describe and test more consistent and moving render functions outside of functions selecting targets to make the structure easier to go through.
2024-09-04 01:21:28 +02:00
regexowl
4a15b25ceb Wizard: Optional steps
This adds an "Optional steps" section to the Wizard and moves all the non-mandatory customisation options there. "Review and finish" button was also added to allow jumping through the optional section.
2024-09-04 01:21:28 +02:00
regexowl
10f0c92410 Wizard: Fix "button in a button" warning
This adds a component prop to the expandable button, solving the `Warning: validateDOMNesting(...): <button> cannot appear as a descendant of <button>.` warning that was repeatedly printed to the test output.
2024-09-02 16:58:04 +02:00
regexowl
23aa2ae4c6 Wizard: Align revisit buttons
This aligns Revisit step buttons on the Review step with the second column of description lists.

The formatting of the expandable's toggleContent is formatted the same way as the main content. That way if the value of min-width gets updated, the spacing will stay consistent.

The duplicate code was moved to `composeExpandable` function that takes two arguments - name of the expandable/step and a stepId that links to the correct step in the Wizard.
2024-08-30 16:12:55 +02:00
Ondrej Ezr
2cf95bea02 Wizard: Validate snapshot date with useValidation 2024-08-30 10:17:25 +02:00
Ondrej Ezr
e38ffe4706 Wizard: Debounce unique validation
Debounce the validation, so we don't validate every character.
Debounce also ensures the right ordering.
Only one request runs at a time, we cancel the previous before we fire a new.
2024-08-29 14:55:38 +02:00
Michal Gold
047ae0111c createImageWizard: change the default name of bllueprint
this commit change the default name to different format
<release>-<arch>-<date>-<time>
  const dateString = `${day}${month}${year}`;
  const timeString = `${hours}`;
2024-08-27 14:55:37 +02:00
regexowl
be8a00d186 Wizard: Update Amplitude tracking
This updates snippets used for event tracking in Amplitude, adding `imageBuilder` to the name of the event and as a `module` property.

Two more typed events were also added to track number of created blueprints. Name for both events is the same `blueprintCreated`, the differentiation between Create and Create and build images is captured in the `type` property.

These new events will allow to calculate percentage of users that were shown recommendations and of those who added a recommended package while succesfully finishing blueprint creation.
2024-08-27 12:45:19 +02:00
regexowl
f60e80b4e8 Wizard: Fix disable Next on Registration step
When the option to register with rhc and insights was added back the disableNext condition wasn't updated, allowing user to continue with registration even without selecting activation key.
2024-08-20 12:44:20 +02:00
Ondrej Ezr
39a5e93c4a Blueprints: change diff modal button label
For the diff modal, we want to change the button label.
In this context Synchronize images is more appropriate label.
2024-08-19 15:33:39 +02:00
regexowl
0ecf7c9887 Wizard: Unique default key name
Fixes #2353

This adds a random suffix to the default activation key name, making it less predictable.
2024-08-16 16:33:54 +02:00
Andrew Dewar
be95cd9dc0 Fixes 4426: Confirm Image builder is using origin 2024-08-16 10:26:40 +02:00
regexowl
c1049b32ad Wizard: Add analytics tracking for package recommendations
This adds a code snippet to track package recommendations via Amplitude.

Tests were failing without default mock for `analytics.track()` value used to track package recommendations.
2024-08-15 12:31:06 +03:00
regexowl
a5f9339d27 Wizard: Update the code after comments
This reverts Customer portal -> Activation keys page and ensures all the boxes are checked when the "Automatically register" option is checked again.
2024-08-14 15:26:08 +02:00
regexowl
2caddb66c7 Wizard: "Always blue" update to the Registration step
This updates the Registration step as per recent mocks.

There is now only one checkbox which switches between (register everything now / register later). When the checkbox is not checked "register later" option gets selected, activation key dropdown gets disabled and information about activation keys is hidden to support the fact that no activation key will be used.

When the checkbox is checked it either loads previously used activation key in the case of "on edit" scenario, looks for a recently used activation key in localStorage or in a case there are no activationKeys automatically creates and selects one.

The Next button gets disabled only when "register-now" is selected, but there is no activationKey selected. As the option to clear the dropdown got removed this should occur only when fetching/creating activation key.
2024-08-14 15:26:08 +02:00
regexowl
e6a35eaf79 Wizard: Rename FileSystemPartitionMode to FileSystemConfigurationType
This renames `FileSystemPartitionMode` to `FileSystemConfigurationType` in preparation to expose raw/lvm partitioning in the UI.
2024-08-13 14:59:23 +03:00
regexowl
a3abc29f51 Wizard: Add eslint-disable to useEffect
This disables `react-hooks/exhaustive-deps` rule for dependency arrays that should run only once on mount and therefore need to stay empty.
2024-08-12 13:09:58 +03:00
regexowl
b7ccc2cca0 testUtils: Merge renderCustomRoutesWithReduxRouter and renderWithReduxRouter
`renderCustomRoutesWithReduxRouter` and `renderWithReduxRouter`are functionally the same apart from routes they use to render components.

We could just use `renderCustomRoutesWithReduxRouter` and use the routes from `renderWithReduxRouter` as a default value for an optional parameter `routes`.
2024-08-12 09:46:10 +02:00
Michal Gold
3c44d9414a createImage: add default name in details step <HMS-4494>
this commit add default name for blueprint name field to be able
to create an image without filling any name
format name: "$OS $ARCH $TARGETS $DATE".
2024-08-12 08:43:26 +02:00
regexowl
5d73adfbd6 src: Absolute imports
While running build there was a bunch of PatternFly imports that were resolved as undefined. This adds an absolute path for each of those imports.
2024-08-09 09:22:17 +02:00
regexowl
1554d78cba test: Move mocks to setup file
This moves all the mocks used throughout our test files into the test setup file.
2024-08-08 16:53:49 +02:00
regexowl
79d54eed7b Wizard: Fix information rendered in package recommendations
When a package got selected and deselected again, landing on 0 for selected packages, the information shown in the package recommendations was "Select packages to generate recommendations.No recommendations found for the set of selected packages", this updates the logic to separate the messages.
2024-08-08 12:50:56 +02:00
Anna Vítová
a799d70a85 blueprint: Add preview label to import button 2024-08-08 12:56:27 +03:00
Ondrej Ezr
e0b33fd6f5 Bluperint: Allow selecting targets from diff modal 2024-08-06 11:16:34 +02:00
Ondrej Ezr
e1057208f3 Blueprint: show basic version diff 2024-08-05 18:48:08 +02:00
regexowl
933e65d590 Wizard: Update docs after move to new preview
`/preview` is no longer used in url.
2024-08-05 13:54:13 +02:00
regexowl
44dc900370 src: Fix new errors after linter bump
This addresses problems caused by dependency updates.
2024-08-05 11:51:20 +02:00
Michal Gold
4b85ad064a createImageWizrad: add scroll to the creation image
this commit change the resoluiton of wizard__outer-wrap to solve
the problem that user should scroll to see the next, backl and cancel buttons
2024-08-05 09:07:48 +02:00
regexowl
9a1d348a77 src: Resolve problems ater updating API
'centos-8' was dropped from Distributions, causing a few problems. This resolves them.
2024-08-02 11:31:20 +02:00
regexowl
8a5dea7abf Wizard: Fix On Edit startIndex
With Snapshotting being only hidden startIndex needs to be updated.
2024-08-01 18:05:01 +02:00
regexowl
d88cd216a5 Wizard: Add isHidden to snapshotting step
Replace conditional rendering with `isHidden` for snapshotting step.
2024-08-01 18:05:01 +02:00
regexowl
3174dbd706 Wizard: Gate snapshots behind an unleash flag
This gates snapshots behind a 'image-builder.snapshots.enabled' unleash flag instead of `isBeta()`.
2024-08-01 17:34:03 +02:00
regexowl
703a65049f Wizard: Migrate WSL from isBeta() to unleash flag
This gates WSL target behind an 'image-builder.wsl.enabled' unleash flag instead of `isBeta()`.
2024-08-01 17:24:42 +02:00
regexowl
fddf520864 Wizard: Fix nav issues On Edit
Since the FirstBoot step is now always rendered but conditionally hidden, Wizard was opening on the Details step in Edit.
2024-08-01 17:16:36 +02:00
regexowl
8dd042aa05 Wizard: Fix death by thousand reviews
When switching between preview and non-preview the Wizard nav got messy. This should fix the problem.
2024-08-01 17:16:36 +02:00
regexowl
b0725c054e Wizard: Replace isBeta() with conditional flag
This replaces `isBeta()` with a constraint added to the 'image-builder.pkgrecs.enabled' unleash flag.
2024-08-01 13:17:59 +02:00
Sanne Raymaekers
90f7ce111a Wizard: Fix bulk select on repositories step
Don't select repositories that are disabled.
2024-07-31 16:30:01 +02:00
regexowl
fee43d8917 ImagesTable: Update wording of CentOS 8 alert
This adds information about CentOS 8 being automatically replaces with CentOS 9 when editing a blueprint.
2024-07-30 16:16:43 +02:00