ICEfaces
  1. ICEfaces
  2. ICE-3908

Add ability for ice:panelPopup to center itself once when it loads, but not ever again.

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.7.2 SP1
    • Fix Version/s: 1.8RC1, 1.8
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      All

      Description

      Philip has the following application level code which will implement this functionality. There is a request for it to be added to the component code base, perhaps as a new attribute on panelPopup.

       String panelPopupClientId = "...";
       JavascriptContext
        .addJavascriptCall(
        FacesContext.getCurrentInstance(),
        "var div = document.getElementById('" + panelPopupClientId + "');"
        + "if (div) {"
        + "var x = Math.round((Element.getWidth(document.body) - Element.getWidth(div)) / 2 + scrollX);"
        + "if (x < 0) x = 0;"
        + "var y = Math.round(((window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight) - Element.getHeight(div)) / 2 + scrollY);"
        + "if (y < 0) y = 0;"
        + "x = x + 'px';"
        + "y = y + 'px';"
        + "Element.setStyle(div, {position:'absolute'});"
        + "Element.setStyle(div, {left: x});"
        + "Element.setStyle(div, {top:y});"
        + "}");
       

        Activity

        Tyler Johnson created issue -
        Tyler Johnson made changes -
        Field Original Value New Value
        Salesforce Case [50070000007Z87m]
        Tyler Johnson made changes -
        Description Philip has the following application level code which will implement this functionality. Would be nice to have feature if it were incorporated in our code base.

         String panelPopupClientId = "...";
         JavascriptContext
          .addJavascriptCall(
          FacesContext.getCurrentInstance(),
          "var div = document.getElementById('" + panelPopupClientId + "');"
          + "if (div) {"
          + "var x = Math.round((Element.getWidth(document.body) - Element.getWidth(div)) / 2 + scrollX);"
          + "if (x < 0) x = 0;"
          + "var y = Math.round(((window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight) - Element.getHeight(div)) / 2 + scrollY);"
          + "if (y < 0) y = 0;"
          + "x = x + 'px';"
          + "y = y + 'px';"
          + "Element.setStyle(div, {position:'absolute'});"
          + "Element.setStyle(div, {left: x});"
          + "Element.setStyle(div, {top:y});"
          + "}");
         
        Philip has the following application level code which will implement this functionality. There is a request for it to be added to the component code base, perhaps as a new attribute on panelPopup.

         String panelPopupClientId = "...";
         JavascriptContext
          .addJavascriptCall(
          FacesContext.getCurrentInstance(),
          "var div = document.getElementById('" + panelPopupClientId + "');"
          + "if (div) {"
          + "var x = Math.round((Element.getWidth(document.body) - Element.getWidth(div)) / 2 + scrollX);"
          + "if (x < 0) x = 0;"
          + "var y = Math.round(((window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight) - Element.getHeight(div)) / 2 + scrollY);"
          + "if (y < 0) y = 0;"
          + "x = x + 'px';"
          + "y = y + 'px';"
          + "Element.setStyle(div, {position:'absolute'});"
          + "Element.setStyle(div, {left: x});"
          + "Element.setStyle(div, {top:y});"
          + "}");
         
        Tyler Johnson made changes -
        Attachment SC7845.war [ 11413 ]
        Ken Fyten made changes -
        Assignee Ken Fyten [ ken.fyten ]
        Ken Fyten made changes -
        Assignee Priority P2
        Assignee Ken Fyten [ ken.fyten ] Yip Ng [ yip.ng ]
        Ken Fyten made changes -
        Affects [Documentation (User Guide, Ref. Guide, etc.)]
        Ken Fyten made changes -
        Fix Version/s 1.8DR#3 [ 10143 ]
        yip.ng made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Fix Version/s 1.8 [ 10161 ]
        Assignee Priority P2
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Assignee Yip Ng [ yip.ng ]

          People

          • Assignee:
            Unassigned
            Reporter:
            Tyler Johnson
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: