Account for AppBanner size when computing DataHarmonizer container height #1878
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #1875
DataHarmonizer needs a container (not necessarily the direct parent, but some ancestor element) with a fixed height in order to work properly. We set the height on the element that contains the stepper header, the validation controls, DataHarmonizer itself and the help sidebar, and the footer. Currently we set the height of that element as the window height (
100vh) minus the main application bar height (APP_HEADER_HEIGHT). The problem is that this doesn't take into account the height of the site banner which is sometimes shown. This element is outside of the fixed-height container, so it needs to be taken into account as well.These changes are a little more complex than I would have hoped, but other options I looked at would involve touching the layout of all pages. Here's the summary of what's happening here.
AppBanner) now computes its own height and exposes that as a value that the component that rendersAppBannercan access.SubmissionViewrenders some common elements for all Submission Portal pages, includingAppBanner. It uses arefto get the height of theAppBannercomponent and usesprovideto make that value available to its component tree.HarmonizerViewis where theAppBannerheight is needed, so it usesinjectto get the value. It uses the value when setting the height of the fixed-height container.