Details
-
Type:
New Feature
-
Status: Open
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: 1.2.9-core
-
Fix Version/s: None
-
Component/s: Components
-
Labels:None
-
Environment:All supported
Description
It's quite cumbersome to build pages using a complex multi-column layout.
While it's very easy to use the basic label + input component style (using the <tr:panelFormLayout> tag) it's very complex to build multi- colum layouts.
I'm not talking about the "row" attribute of the <tr:panelFormLayout> tag here, this is very different behaviour.
An example: the page should look like the one in the attached PDF file (GridLayout.pdf).
=> The basic page layout can be set to any number bigger than zero (in this example "3 columns").
=> Column width & height can be either automatically determined or specified in a static manner
=> Not all column cells have to be utilized (the second and third columns in the "Name:" row are empty)
=> Components can span multiple columns (like the row "Comment 2"), rows (image) or both ("Comment 1")
=> Components should be able to take the full available width, thus align at the start and end (like the Birthday, Address and City components are aligned both at the start and the end). This behaviour should be manageable using an attribute, e.g. takeFullWidth="true|false".
=> Component label vertical and horizontal alignment should be changeable (like Comment1 label is vertically aligned to the top while the Comment2 label is aligned to the middle, City is aligned to the left)
=> Component label background color can be specified on the layout level and overruled on the component level
=> Component label can be configured to take full row height or not (see "Comment 1" vs. "Comment 2")
– Wolf
An example of an page using a highly customizeable grid layout.