3 Replies Latest reply on Nov 30, 2009 11:09 AM by Ilya Shaikovsky

    Modal Panel component design for 4.x

    Ilya Shaikovsky Master

      Points which I think "must have". Very popular among the community.

      Next points should be considered while moving the component:

      1) More lightweight component markup.

      Lex already working on that.

      2) non-modal state.

      the component should be named like rich:popupPanel and modal state should depends on attribute.
      https://jira.jboss.org/jira/browse/RF-994 - guys wait for that too much time :)

      3) Changing positioning for performance optimization
      https://jira.jboss.org/jira/browse/RF-1709 Already included to Lex markup issue.

      4) Changes in autosizing

      Min and Max width and heights for autosized mode requested.


      5) Scrollable body support

      Now users should implement this on their own and asking for that frequntly.

      6) Lightweight panel moving with drag'n'drop

      Hidding panel content on dragging. (Or not touch modal itself and drag just bordered div with panel repositioning on drop)


      7) Placeholders for effects required

      FAQ at forum.

      8) Extend JS API
      e.g. move(), refresh(), setSizes() etc..

      9) Keyboard support

      e.g. ESC support for panel closure.. (need to review some additional keys which could be usefull.)

      Points which should be approved. (Not required by customers but our additional proposals)

      1) Additional default controls

      at least default closure control could be provided. We talked with Lex and agreed not to add it for now but WDYT?

      2) Additional footer facet

      should be usefull together with body scroll.

      3) Relative sizes

      auto resizing when browser resizing occurs.

      4) D'n'D movement additions

      == allow the modal to stick to browser viewport border when modal was moved to it.
      == restrict moving/appearing out of the viewport.
      == mode which allows the panel to be dragged with any element inside panel. (Maybe the same but with some keyboard addition CTRL+drag allowed to be used at any element inside.)