ICEfaces
  1. ICEfaces
  2. ICE-4578

Cannot specify css position with modal panelPopup

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.8.1
    • Fix Version/s: 1.8.2-RC1, 1.8.2
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      Jboss Portal 2.7.2-GA (JBoss AS 4.2.3), FF 3.0.10, IE7

      Description

      Setting the css position attribute (ie. fixed, relative, etc. )on a panelPopup style in a Portlet has no effect and looks as if it's being hard coded as absolute. Here is the jspx code:

      <ice:panelPopup style="position: fixed; z-index:999; top: 10px;left: 400px; width: 400px; height: 200px;background: #FFFFFF;" autoCenter="false" modal="true" rendered="#{backingBean.rendered}">

      which renders out the following :

      <div class="icePnlPop" ..... style="background: rgb(255, 255, 255) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; z-index: 25001; top: 135.5px; left: 399px; width: 400px; height: 200px; visibility: visible; position: absolute;">

      Notice the position:absolute set at the very end. Inspecting the css using Firebug yields the following curious styleclass:

      element.style {
      background-attachment:scroll;
      background-color:#FFFFFF;
      background-image:none;
      background-position:0 0;
      background-repeat:repeat;
      height:200px;
      left:399px;
      position:absolute;
      top:135.5px;
      visibility:visible;
      width:400px;
      z-index:25001;
      }

      This is also happening with IE7.
                     

        Activity

        Hide
        Tyler Johnson added a comment -

        Attaching a test case intended for deployment on Jboss Portal 2.7.2 GA but you can also use component showcase portlet panel popup sample.

        Show
        Tyler Johnson added a comment - Attaching a test case intended for deployment on Jboss Portal 2.7.2 GA but you can also use component showcase portlet panel popup sample.
        Hide
        Ken Fyten added a comment -

        Is the rendered "position: absolute;" only required for "centered=true" mode, or is it required in all cases? Maybe we can only render it when "autocenter=true".

        Show
        Ken Fyten added a comment - Is the rendered "position: absolute;" only required for "centered=true" mode, or is it required in all cases? Maybe we can only render it when "autocenter=true".
        Hide
        yip.ng added a comment -

        Modal popups are always centered. (On the document, not the viewport. ) Autocenter is for non-modal popups only.

        Position (absolute), z index, top, left are all required by the JavaScript to do the positioning and iframe shimming. If the user wants to have their own values, they have to write their own JavaScript to do the modal popup functionality.

        Show
        yip.ng added a comment - Modal popups are always centered. (On the document, not the viewport. ) Autocenter is for non-modal popups only. Position (absolute), z index, top, left are all required by the JavaScript to do the positioning and iframe shimming. If the user wants to have their own values, they have to write their own JavaScript to do the modal popup functionality.
        Hide
        Ken Fyten added a comment -

        It seems that the component requires the absolute positioning to work, but it may be possible to make it so the modal popup supports the same flexibility as the non-modal dialog (with the addition of "modality" blocking DIV, etc.).

        Please investigate the scope and feasibility of this.

        Show
        Ken Fyten added a comment - It seems that the component requires the absolute positioning to work, but it may be possible to make it so the modal popup supports the same flexibility as the non-modal dialog (with the addition of "modality" blocking DIV, etc.). Please investigate the scope and feasibility of this.
        Hide
        yip.ng added a comment -

        Modal dialog fixed to allow positioning. To position the dialog, use the existing autoPosition attribute:

        <ice:panelPopup autoCenter="false" modal="true" autoPosition="400,10" ... >

        See the attached screenshot.

        Show
        yip.ng added a comment - Modal dialog fixed to allow positioning. To position the dialog, use the existing autoPosition attribute: <ice:panelPopup autoCenter="false" modal="true" autoPosition="400,10" ... > See the attached screenshot.
        Hide
        yip.ng added a comment -

        Changed to allow CSS positioning for modal popup:

        <ice:panelPopup autoPosition="manual" style="top: 10px;left: 400px;" ... >

        Show
        yip.ng added a comment - Changed to allow CSS positioning for modal popup: <ice:panelPopup autoPosition="manual" style="top: 10px;left: 400px;" ... >

          People

          • Assignee:
            yip.ng
            Reporter:
            Tyler Johnson
          • Votes:
            1 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: