1 Reply Latest reply on Dec 22, 2008 4:35 PM by shadowcreeper

    New Component Planning <rich:SplitSet/>

    Ilya Shaikovsky Master

      Component Vision draft

      Overview:

      Split Set - layout component which should consist of set of resizable and collapsible panels inside.

      Every panel could be resizable within another panels. Every panel could have header with additional info and controls which could expand or collapse the panel.

      The component should contain of container panel and set of child panels aligned horizontally or vertically.

      Every child panel could have vertically or horizontally aligned header element.

      SplitSets could be nested in order to provide complex markup definitions.

      Component Tags

      The component should be represented with next tags on the pages:

      rich:splitSet

      Should define the container for split panels and their general properties (sizes, styles etc..)

      rich:splitPanel
      Should define the child panel and its properties (resize options, header controls, sizes and etc..)



      Page usage

      Split component usage should be analogous to HTML frameset usage.

      Cells number and positioning must be defined via "columns" or"rows" attribute of the splitSet component. The only of them can be set for the concrete panel (So panel just divides itself to vertical or horizontal aligned zones).

      Cells defined inside panel must be rendered one by one in chosen direction (left to right or top to bottom) and with the width/ height defined in "columns" or "rows" attributes in order of definition of the cells in the end developer code.

      Example of markup using such definition:

      <splitSet rows="50%, 50%">
       //Two rows inside a panel. One of them is a nested split set
       <splitPanel>
       //Content
       </splitPanel>
       <splitSet columns="35%, 65%">
       ///Columns inside one of the row.
       <splitPanel>
       //Content
       </splitPanel>
       <splitPanel>
       //Content
       </splitPanel>
       </splitSet>
       <splitSet>
      


      full Requirement Specification Draft could be downloaded from SVN at https://anonsvn.jboss.org/repos/richfaces/management/design/Split%20Panel%20component

      Will be placed at wiki for further discussion.