Class BoxLayoutManager

All Implemented Interfaces:
Serializable, Cloneable, Copyable, DictionaryBean, UifDictionaryBean, LayoutManager, LifecycleElement

public class BoxLayoutManager extends LayoutManagerBase
Layout manager that organizes components in a single row (horizontal) or column (vertical)

Although a table based template could be used, setup is done to also support a CSS based template. The items in the Container instance are rendered sequentially wrapping each one with a span element. The padding property can be configured to space the elements as needed. To achieve a vertical orientation, the span style is set to block. Additional styling can be set for the items by using the itemSpanStyle property.

Author:
Kuali Rice Team (rice.collab@kuali.org)
See Also:
  • Constructor Details

    • BoxLayoutManager

      public BoxLayoutManager()
  • Method Details

    • performFinalize

      public void performFinalize(Object model, LifecycleElement container)
      Sets the item span style The last phase before the view is rendered

      Here final preparations can be made based on the updated view state.

      Specified by:
      performFinalize in interface LifecycleElement
      Overrides:
      performFinalize in class LayoutManagerBase
      Parameters:
      model - - top level object containing the data
      container - - parent component
    • getOrientation

      public UifConstants.Orientation getOrientation()
      Indicates whether the components should be rendered in a horizontal or vertical column
      Returns:
      orientation configured for layout
    • setOrientation

      public void setOrientation(UifConstants.Orientation orientation)
      Setter for the orientation for layout
      Parameters:
      orientation -
    • getPadding

      public String getPadding()
      Amount of separation between each item

      For horizontal orientation, this will be the right padding for each item. For vertical, it will be the bottom padding for each item. The value can be a fixed length (like px) or percentage

      Returns:
      String
    • setPadding

      public void setPadding(String padding)
      Setter for the item padding
      Parameters:
      padding -
    • getItemStyle

      public String getItemStyle()
      Used by the render to set the style on the span element that wraps the item. By using a wrapping span the items can be aligned based on the orientation and given the correct padding
      Returns:
      css style string
    • setItemStyle

      public void setItemStyle(String itemStyle)
      Setter for the span style
      Parameters:
      itemStyle -
    • getItemStyleClasses

      public List<String> getItemStyleClasses()
      List of style classes that should be applied to each span that wraps the item in the layout
      Returns:
      List<String>
    • setItemStyleClasses

      public void setItemStyleClasses(List<String> itemStyleClasses)
      Setter for the list of style classes that should apply to each item span
    • getItemStyleClassesAsString

      public String getItemStyleClassesAsString()
      Builds the HTML class attribute string by combining the item styleClasses list with a space delimiter
      Returns:
      class attribute string
    • isRenderLayoutWrapper

      public boolean isRenderLayoutWrapper()
    • setRenderLayoutWrapper

      public void setRenderLayoutWrapper(boolean renderLayoutWrapper)