Fixes#933
This applies `isWidthLimited` to the section containing ImagesTable, ensuring the table doesn't get stretched out too much.
The were also two sets of empty tags around ImagesTable return, this removes one of them.
Adds an alert to explain the basic concept of blueprints to users.
Actual copy (and presence of emojis) is pending feedback from UX/copy,
this is just a placeholder for now.
These are taking up too much space on the screen. Links to the
quickstarts need to be moved to more relevant locations. We are
currently working with UX on a design for this.
This commit DRYs out the code, extracting the logic for setting the
value of the experimentalFlag into a new hook found in the utilities.
It also makes the typing stricter - the hook returns a boolean. The
pattern we were using previously to set the value of experimentalFlag
variables could be boolean, string, or undefined.
When the unleash switch `image-builder.new-wizard.enabled` will get
activated on stage the blueprint and new wizard will be visible on the
platform.
To make them only visible in preview we need to change the condition to
check if Beta is selected by the user.
Enables Blueprints filtering.
Given this is a server side filtering, it also ads Debounce hook.
This hook enables delay the API request to save server roundtrips.
Refs HMS-3389
Commit bae6435fd9 adds scaffolding for the
blueprint table. Blueprint features should be hidden behind experimental
flags. The new buttons related to creating blueprints and rebuilding
images in the header were not hidden behind the experimental flag, this
commit fixes that and does so.
bae6435fd9 also changed the header title
from "Image Builder" to "Images". This change has been a long time
coming - it is being left in for now. We may want to revisit the copy in
the popovers to align it as the term "Image Builder" is still being used
in those.
This commit:
1. Removes the header from the Data Driven Forms wizard
2. Adds padding around the in-page wizard so it is visually consistent
with the images table
3. Refactors the images table header into a re-usable component that is
now used in both the images table and the wizard
4. Allows the repositories table to fill the available vertical space in
the wizard
5. Adjusts the package dual list selectors so that they fill the
available horizontal space in the wizard
This commit converts the Images Table to Typescript and converts all API
calls to image-builder to use RTK Query hooks.
This should increase the performance of the app significantly.
Previously our calls to the image-builder API were made in series. They
are now made in parallel. We may want to investigate the possibility of
hitting rate limiting now that we will be issuing requests in much more
rapid succession.
In the tests, moving to RTK Query hooks has allowed us to remove
virtually all Jest mocking. However, this means that some of our
previous tests which tested against implementation details were broken.
Most notably, we no longer check the Redux store to verify that clones
have been added correctly and we no longer check that compose requests
were issued successfully. Test coverage will be restored in a follow-up
PR where the dev-dependency @msw/data is added. Adding a persistent data
layer to the tests using @msw/data will allow us to verify that our POST
requests (creating composes and cloning them) are working by testing
that the Images Table has been updated.
Previously the Popover was used within the title of the tab. In addition
to the fact that the Popover had a button to get triggered, it created a
button in a button issue. The web browser was reporting this as abnormal
and the UI behavior was not ideal: while clicking on the interrogation
mark the user was also moved to the corresponding tab.
This commit fixes that issue by using a TabAction to get the Popover
working. Inspired by the patternfly documentation:
- http://v4-archive.patternfly.org/v4/components/tabs#help-action
In the context of HMS-parity with edge management, fixes the current behavior when using browser history back and forward.
- When selecting a tab and then push the browser history back/forward, the tab of the current url is selected.
FIXES: https://issues.redhat.com/browse/THEEDGE-3460
In the context of HMS-parity with edge management, fixes the current behavior when selecting tabs and navigating in edge image details view:
- when selecting a tabs the corresponding url is shown (the url can be copied , and when pasted we return the selected tab)
- when returning back from edge management details view, the user return back to the last tab (e.g ostree tab)
FIXES: THEEDGE-3445
This commit adds the edge images table as a federated module, gated behind a feature flag.
the configuration is for dev environment to work with federation modules locally
With our quickstarts now merged to prod we can
start using the quickstart API to invoke them.
Also change all Beta user facing text to Preview
Signed-off-by: Pavel Odvody <pavel@redhat.com>
This updates spacing between the description and buttons as shown in mocks.
Nesting of the `<p>` tags was also removed to eliminate `Warning: validateDOMNesting(...): <p> cannot appear as a descendant of <p>` from the console logs.
The use of chrome.isBeta is deprecated, the useChrome hook should be
used instead to obtain an isBeta() function. Using the deprecrated
chrome.isBeta pollutes the browser console with warning messages.
This commit replaces the isBeta() helper function with a new custom
hook, useGetEnvironment().
We still sometimes need to know which environment is running outside of
React components, where we cannot call the useChrome() or
useGetEnvironment() hooks. For instance, in the json used to define a
wizard step. Therefore a new isBeta variable has been added to the
form's initialState for use in these cases.