Tuesday, January 26, 2010

Layout Tips: ADF Faces RC - Panel Stretch Layout Component

There is a not so obvious setting for the width and height attributes of the facets of the Panel Stretch Layout Component and that is setting the values as "auto". It applies to the following attributes:
  • startWidth
  • endWidth
  • topHeight
  • bottomHeight
This is necessary especially if the component that you put in your top facet is expandable, a Query component for example. You would not most likely like to have scroll bars in your top facet, do you?
Below is a screen-shot image from JDeveloper with the property inspector of the panel stretch layout.

<af:panelStretchLayout id="psl1" topHeight="auto">
But please note of the following description of the topHeight attribute from the <af:panelStretchLayout> documentation:
the height of the top facet specified as a CSS length or auto such that this facet will no longer be stretched and instead will consume the initial offsetHeight given to its children by the browser. It is important to note that in an average page, a switch to a layout using automatic heights exhibited a 10 percent degradation in initial layout speed in Internet Explorer and a 5 percent degradation in Firefox. Results will vary but it is recommended that you use this sparingly in order to optimize your page. Also an automatic height will cause the facet child to not be stretched both vertically and horizontally. If necessary, you can make that automatic height child stretch horizontally by specifying a 100% width in the inlineStyle of that child. Note that many components such as the panelGroupLayout with layout set to scroll or vertical will have their own built-in stretched widths by default.

No comments:

Post a Comment