Commit graph

195 commits

Author SHA1 Message Date
regexowl
45d0db3f04 ImagesTable: Increase font size of text in Status column
Fixes #808. This removes the `<small>` tag around status message to unify the font size within the table.
2022-09-20 14:50:10 +02:00
regexowl
af062a5945 Wizard: Update description on the Packages step
Fixes #773. This changes description of the Packages step according to recent SPUR.
2022-09-19 16:19:30 +02:00
Sanne Raymaekers
b86a9b712d CreateImageWizard: Drop isBeta() check for centos
The accompanying text allows us to enable this for non-beta.
2022-09-14 14:19:35 +02:00
regexowl
0bced556a9 ESLint: Use --fix with new rules to order import declarations
Related to #795. This applies the new sorting rules in ESLint to the files by running `npm run lint:js:fix`
2022-09-14 13:24:38 +02:00
regexowl
05e678f8c1 ImagesTable: Add pagination to the bottom of the table
Fixes #594. This adds pagination to the bottom of the images list so the user doesn't have to scroll up to use it.

Tests were also updated to reflect the change.
2022-09-14 10:32:38 +02:00
lucasgarfield
1d6a92a7f9 Wizard: CentOS acknowledgement text updated for production 2022-09-02 17:01:12 +02:00
regexowl
c9c75da7ba Wizard: Fix UI issues for Microsoft Azure Target environment
Fixes #772. This updates description of the step according to recent SPUR.
The `Authorizing an Azure account` expandable was removed (both from the step and `ImageCreator.js`) as well as `Destination` heading. Size of the Oauth 2.0 link was changed from small to default.
2022-09-02 10:37:08 +02:00
regexowl
2520b99ad1 Wizard: Match the case of System configuration with other step titles
Fixes #768. This matches System configuration case with the case of the other step titles as per recent SPUR.
2022-08-25 15:57:55 +02:00
regexowl
dfbabc1f47 Wizard: Add clarification to AWS and GCP environment steps
Fixes #770. This clarifies that the user is responsible for copying the AWS/GCP image to their account before the image expires.
2022-08-25 10:20:04 +02:00
regexowl
130e8a0532 Wizard: Display file extensions on Image output step
Fixes #769. This adds file extensions for private cloud and other target environments in Image output step as per recent SPUR.
2022-08-25 10:09:13 +02:00
regexowl
401229ee96 Wizard: Fix GCP step popover text
Fixes #771. This changes `e.g.` to `For example:` and `Google Workspace
domain/Cloud Identity domain` to `Google Workspace domain or Cloud
Identity domain` as per recent SPUR.
2022-08-19 15:28:17 +02:00
Ondřej Budai
5264896bff ImagesTable: add option to download a raw compose request
In order to help people transition from using GUI to use the API directly,
it's helpful to give them an easy way to inspect the whole raw compose
request.

This commit adds a new button next to each compose that simply downloads
the original compose request in a json format. This request can then be
directly piped into the IB API to build a new image.

Original idea by Troy Dawson

Co-authored-by: Lucas Garfield <lucas@redhat.com>

Signed-off-by: Ondřej Budai <ondrej@budai.cz>
2022-08-15 15:38:13 +02:00
lucasgarfield
489d6a334f CreateImageWizard: Add CentOS acknowledgement
Adds a PF4 info <Alert> that informs users that CentOS is intended only
for development of RHEL-Next if CentOS is the selected distro in the
Image Output step.
2022-07-08 11:17:10 +02:00
lucasgarfield
f6a98d2dca CreateImageWizard: Add CentOS speedbump
When selecting a distribution during the Image Output step, only RHEL
distributions are shown initially. A button at the bottom of the list of
distributions can be clicked to expand the list and display all
distributions, which at the moment adds CentOS-8 and CentOS-9 to the
list.

Implemented by passing a PF4 SelectViewMoreObject as the LoadingVariant
prop to the <Select>.

This feature (and therefore the ability to build CentOS images) is only
available in beta.
2022-07-08 11:17:10 +02:00
Sanne Raymaekers
1c5542ca81 CreateImageWizard: Use stage candlepin urls on stage consoledot 2022-06-07 14:53:45 +02:00
Jacob Kozol
4fa71cede8 update style across the project
The eslint updates require style changes in all components.
2022-05-23 12:47:20 +02:00
Sanne Raymaekers
4c881fb2b1 CreateImageWizard: Make RHEL 9 the default release 2022-05-19 12:04:27 +02:00
lucasgarfield
480c754b37 CreateImageWizard: Add /tmp mountpoint
/tmp was added to the list of valid mountpoints in the filesystem
customization step.

No validation is necessary at this time because rhel-86, centos-8, and
centos-9 all support a /tmp mountpoint.
2022-05-19 11:50:53 +02:00
Sanne Raymaekers
cfaa8a463d CreateImageWizard: RHEL 9
Expose rhel-90, it has reached GA.
2022-05-18 15:24:04 +02:00
Jacob Kozol
40f7be170c CreateImageWizard: require max image name length of 100 chars 2022-05-13 12:51:48 +02:00
Gianluca Zuccarelli
90d15807a6 ImagesTable: add error status
Add error information for failed image
builds. The error details are only displayed
for failed builds and the error highest up
the error chain is displayed in the expandable
section of the image.
2022-04-29 17:13:37 +02:00
lucasgarfield
d7035d544b ImagesTable: Show UUID in expandable details row
This commit displays the UUID in an expandable details row. This is
necessary because if an image was named, the UUID was not displayed.
It is important that a user know the UUID for troubleshooting, for
example in the case of requesting help with an image.

To facilitate this, the original Table component was converted to a
TableComposable component. TableComposable is newer and recommended over
the older Table by PatternFly.
2022-04-26 16:11:30 +02:00
Sanne Raymaekers
294cb08a0f CreateImageWizard: Use 'gcp' image type for gcp
The vhd alias for gcp was dropped, as image-builder includes extra repos
for gcp.
2022-04-25 14:00:54 +02:00
Sanne Raymaekers
4da829ff8f CreateImageWizard: Don't show centos on non-beta
The distinction is made by checking if the distribution contained
'rhel'. This is the same way the review page determins if it should show
a registration tab.
2022-04-22 16:44:48 +02:00
Jacob Kozol
787b0180de CreateImageWizard: fix validation for activation keys
The validators are passed values by the useFieldApi hook. Adding this to
the activation key component allows the `required` validation to work.
2022-04-21 18:36:19 +02:00
lucasgarfield
fa7b0ca553 CreateImageWizard: Package search reset buttons and typeahead filter
Resolves #604. The available and chosen package search inputs now have a
reset button which resets the search and list elements to their default
states. This fixes a cosmetic issue related to the focus-visible width
being smaller than the search input width. This is accomplished by passing
an onClear prop to the search input.

The functions used to add all and selected packages were split from two
functions into four functions. The functions appear similiar but this is only
superficial; the logic is actually quite different and there is very
little code reuse. Four separate functions will be easier to understand and
maintain.

This commit includes several other modifications:
1. The chosen package search is now a typeahead filter. This brings it
   in line with PatternFly dual list selector examples.
2. The available package search button has changed to be in line with
   the PatternFly <SearchInput /> component examples.
3. Package sorting behavior is now consistent. Previously, packages would be
   sorted if 'add all' was used but not if 'add selected' was used. Now
   the default behavior is to always sort the package list.
2022-04-21 16:05:18 +02:00
Jacob Kozol
2f5f6dcc46 CreateImageWizard: move name image step to end
The Details step is renamed to Name Image and moved to the last step
before Review. Also, the validation is removed since all utf-8
characters are supported for image names.
2022-04-19 14:07:46 +02:00
Sanne Raymaekers
bbd3623414 CreateImageWizard/FileSystem: Default to 0 if size input is NaN
This gets rid of prop warnings during tests.
2022-04-12 13:07:50 +02:00
Sanne Raymaekers
f6aa58e3e3 CreateImageWizard: Single css file
All css applies to the entire page. To make it clearer having a single
css file for the entire wizard.
2022-04-11 17:49:16 +02:00
Chloe Kaubisch
10f774a8c5 CreateImageWizard: fix label spacing
Decrease the spacing below labels from 8px to 4px in accordance with the mocks.
Fixes #597
2022-04-08 14:08:48 +02:00
Sanne Raymaekers
ed12903519 Revert "CreateImageWizard: Disable vmware and installer images"
This reverts commit 8e4b4ff6d5.
2022-04-06 11:30:09 +01:00
Gianluca Zuccarelli
78123bff0e CreateImageWizard: target env validation
Validation is not enforced on the image output step
when selecting and then deselecting an image type. This
is because the only validation which is set is `Required`.
However, after deselecting an image type the input becomes
a key-value object with all the values set to false. This
commit adds a custom validator to check that at least one
value in the object is set to true. Fixes #575
2022-04-04 15:11:45 +02:00
Sanne Raymaekers
787e1ba5ce FileSystemConfiguration: Remove redundant dragging state changes
This is covered by onDragEnd, which always gets called when onDrop gets
called.
2022-04-04 15:06:29 +02:00
Sanne Raymaekers
7d6ede8dc6 FileSystemConfiguration: Don't stop onDragOver if element matches
Rely on the index matching instead. During a drag, if onDragOver is
fired the index the item will be dragged to (the target index) will be
set. If the target index doesn't match the source index, the new
tempItemOrder is made and the new target index is set.

Initially this index is null, so even if the target index is the
same as the current index, the tempItemOrder and target index will be
set once.

By not shorting this event based on the visual layout, the drag state
gets initialized correctly every time.

Fixes #679
2022-04-04 15:06:29 +02:00
Sanne Raymaekers
d12bdb1075 CreateImageWizard: Change valid prefixes to match composer
Adds all valid prefixes defined in composer, removes invalid ones, and
disables the TextInput for the root partition. This makes customized
filesystems less error prone.

https://bugzilla.redhat.com/show_bug.cgi?id=2070761
2022-04-01 12:56:32 +02:00
Chloe Kaubisch
760a4366e9 LandingPage: tighten space between status icon and text
Tighten the space between the status icon and the status
text.

Fixes #595
2022-04-01 12:40:19 +02:00
Sanne Raymaekers
5643a142d1 CreateImageWizard: Add customTitle to step template
This is used by substeps.
2022-03-29 16:13:14 +02:00
lucasgarfield
e99b7b7d0b CreateImageWizard: Make target environments keyboard selectable
The AWS, Google, and Azure tiles on the image output step can now be
selected/deselected using SPACE and/or ENTER.
2022-03-25 15:47:48 +01:00
lucasgarfield
e649e5c385 CreateImageWizard: Override Data Driven Form Enter behavior
Resolves #466. The default behavior for the DDF Wizard is to either advance to
the next step or submit the form when the ENTER is pressed.

This is inappropriate for complex forms that contain many different
types of elements that are typically interacted with using ENTER. For
instance, the default behavior when a link is focused and ENTER is pressed
is not to open the link in a browser but to advance or submit the form.

This commit overrides the default behavior by passing an onKeyDown prop
to the wizard which calls a custom onKeyDown function. The new custom
function does not define any behavior for when ENTER is pressed,
but does recreate DDF's default ESCAPE behavior, which is to close the
modal.
2022-03-25 15:47:48 +01:00
lucasgarfield
c28e0d15b6 CreateImageWizard: Make steps autofocus on first input upon render
The default behavior of Data Driven Forms when moving to the previous or
next step is to maintain focus on the previous or next button,
respectively.

This commit makes the UI more friendly to keyboard users by focusing
on the first input element of a given step when it is rendered.

Whenever possible, autofocus is achieved by passing components the
autoFocus prop. When this is not possible, then useRef and useEffect hooks
are used to set focus.

At the moment, it is not possible to autofocus the image output step's
release selector or the file system configuration step's toggle using the
above methods. This is because these PatternFly components do not
currently pass props to the appropriate child component and do not
support ref forwarding. The best option for autofocus in these cases is
currently being investigated.
2022-03-25 15:47:48 +01:00
Sanne Raymaekers
a0883793ba CreateImageWizard: Step template with id
The template is the default template from data driven forms, with the id
added.

Fixes #642
2022-03-25 12:43:31 +01:00
Gianluca Zuccarelli
29f82bc248 CreateImageWizard: gcp popover padding/margin
The margin on the `ul` list inside the gcp
information popover was causing the popover
to look unevenly spaced. Removing the left
margin resolves this. This commit fixes #630
2022-03-24 14:55:44 +01:00
Jacob Kozol
20c1537d8e CreateImageWizard: navigate to review step on recreate
When recreating an image navigate to the review step instead of the
initial step. This requires forming the step history to enable a
functional sidebar.
2022-03-23 12:30:42 +01:00
Jacob Kozol
d16f71c98f ImagesTable: add ability to recreate image type 2022-03-23 12:30:42 +01:00
Jacob Kozol
c3f86f3575 CreateImageWizard: enable passing initial state to CreateImageWizard 2022-03-23 12:30:42 +01:00
Jacob Kozol
c3c7888610 CreateImageWizard: use activation key in form state as init value 2022-03-23 12:30:42 +01:00
Jacob Kozol
7aaedd67ab CreateImageWizard: rename google to gcp in form state 2022-03-23 12:30:42 +01:00
Jacob Kozol
a16244edaa ImagesTable: migrate to functional component
The ImagesTable component is now a functional instead of class
component. This is useful because it allows us to use react hooks in the
component.
2022-03-17 16:49:21 +01:00
lucasgarfield
f85f60bcf0 CreateImageWizard: Use new DocumentationButton component in ImagesTable 2022-03-04 16:44:12 +01:00
lucasgarfield
b4fb26e749 CreateImageWizard: Use new DocumentationButton component in LandingPage 2022-03-04 16:44:12 +01:00