ICEfaces
  1. ICEfaces
  2. ICE-6812

panelPopup autoCenter mispositions menuPopup within a panelTooltip

    Details

    • Assignee Priority:
      P3
    • Salesforce Case Reference:

      Description

      Specifying autoCenter on the panelPopup causes the nested menuPopup within the panelToolTip to appear in the bottom right hand side of the screen.
      1. screenshot-1.jpg
        21 kB

        Activity

        Hide
        Tyler Johnson added a comment -

        Test case is intended for deployment on tomcat 6. To activate the tooltip, right click on the inputText components.

        Show
        Tyler Johnson added a comment - Test case is intended for deployment on tomcat 6. To activate the tooltip, right click on the inputText components.
        Hide
        Arran Mccullough added a comment -

        I can reproduce similar issue with just a panelPopup and a menuPopup. Test case code can be provided if needed.

        Show
        Arran Mccullough added a comment - I can reproduce similar issue with just a panelPopup and a menuPopup. Test case code can be provided if needed.
        Hide
        Arran Mccullough added a comment -

        Attached my current test case.

        Steps:

        • Load welcomeICEfaces.iface
        • Click on the Open button
        • Right click the text on the panelPopup, menuPopup is displayed away from where the right click event takes place.
        Show
        Arran Mccullough added a comment - Attached my current test case. Steps: Load welcomeICEfaces.iface Click on the Open button Right click the text on the panelPopup, menuPopup is displayed away from where the right click event takes place.
        Hide
        Arturo Zambrano added a comment -

        Committed fix at revision 38748.

        I could only reproduce the issue on the Case12351Example test case, attached by Arran. It seems like the issue only occurred with modal popups, it had nothing to do with the 'autoCentre' attribute.

        All the coordinates were being set correctly, the only problem was that under certain scenarios, those coordinates would be relative to the container element, so this was fixed by adding 'position:fixed' to the context menu container style attribute.

        Show
        Arturo Zambrano added a comment - Committed fix at revision 38748. I could only reproduce the issue on the Case12351Example test case, attached by Arran. It seems like the issue only occurred with modal popups, it had nothing to do with the 'autoCentre' attribute. All the coordinates were being set correctly, the only problem was that under certain scenarios, those coordinates would be relative to the container element, so this was fixed by adding 'position:fixed' to the context menu container style attribute.
        Hide
        Arturo Zambrano added a comment -

        Committed fix to 3.3 EE maintenance branch at revision 38773.

        Show
        Arturo Zambrano added a comment - Committed fix to 3.3 EE maintenance branch at revision 38773.
        Hide
        Arran Mccullough added a comment -

        This fix looks to have caused a regression when displaying the menuPopup in a scrollable browser window. If the window is scrolled at the top, the menuPopup displays in the correct position. If the browser window is scrolled down, the menu gets displayed in an incorrect position. This is seen outside of the panelPopup. I'll attach a modified test case that reproduces the issue.

        Show
        Arran Mccullough added a comment - This fix looks to have caused a regression when displaying the menuPopup in a scrollable browser window. If the window is scrolled at the top, the menuPopup displays in the correct position. If the browser window is scrolled down, the menu gets displayed in an incorrect position. This is seen outside of the panelPopup. I'll attach a modified test case that reproduces the issue.
        Hide
        Arran Mccullough added a comment -

        Attached test case that shows regression.

        Steps:

        • Load welcomeICEfaces.iface
        • Resize the browser so a vertical scrollbar is shown.
        • Right click on the Column Two cells, menuPopup is positioned fine.
        • Re-do the above step with the browser scrolled down, position is off.
        Show
        Arran Mccullough added a comment - Attached test case that shows regression. Steps: Load welcomeICEfaces.iface Resize the browser so a vertical scrollbar is shown. Right click on the Column Two cells, menuPopup is positioned fine. Re-do the above step with the browser scrolled down, position is off.
        Hide
        Arturo Zambrano added a comment - - edited

        Committed fix to 1.8 trunk at revision 39993 and to 3.3 EE maintenance branch at revision 40001. Since, the menu has been now fixed-positioned, we needed to take into account the vertical scroll when positioning it. So, we now subtract the vertical scroll value from the absolute vertical position on the page, so the menu can be correctly positioned whether the vertical scroll is at the top, at the bottom or in between.

        Show
        Arturo Zambrano added a comment - - edited Committed fix to 1.8 trunk at revision 39993 and to 3.3 EE maintenance branch at revision 40001. Since, the menu has been now fixed-positioned, we needed to take into account the vertical scroll when positioning it. So, we now subtract the vertical scroll value from the absolute vertical position on the page, so the menu can be correctly positioned whether the vertical scroll is at the top, at the bottom or in between.
        Hide
        Liana Munroe added a comment - - edited

        Icefaces1.8 trunk revision# 41326
        Tomcat6, IE7 and 8 only
        Component-showcase, Component-showcase[facelets-enh] and [facelets]
        Menu popup - Error seen when interacting (right clicking) with demo.
        Message: Invalid argument.
        Line: 38
        Char: 3658
        Code: 0
        URI: http://localhost:8080/ICE-3856/xmlhttp/1402676167843/ice-extras.js
        Server error seen:
        SEVERE: java.lang.NullPointerException
        at org.icefaces.application.showcase.view.bean.examples.component.menuPopup.MenuPopupBean.executeMenuEffect(MenuPopupBean.java:85)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.el.parser.AstValue.invoke(AstValue.java:191)
        at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
        at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
        at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:99)
        at com.icesoft.faces.component.ContextActionEvent.processListener(ContextActionEvent.java:63)
        at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:774)......

        Show
        Liana Munroe added a comment - - edited Icefaces1.8 trunk revision# 41326 Tomcat6, IE7 and 8 only Component-showcase, Component-showcase [facelets-enh] and [facelets] Menu popup - Error seen when interacting (right clicking) with demo. Message: Invalid argument. Line: 38 Char: 3658 Code: 0 URI: http://localhost:8080/ICE-3856/xmlhttp/1402676167843/ice-extras.js Server error seen: SEVERE: java.lang.NullPointerException at org.icefaces.application.showcase.view.bean.examples.component.menuPopup.MenuPopupBean.executeMenuEffect(MenuPopupBean.java:85) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.el.parser.AstValue.invoke(AstValue.java:191) at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276) at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68) at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:99) at com.icesoft.faces.component.ContextActionEvent.processListener(ContextActionEvent.java:63) at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:774)......
        Hide
        Arturo Zambrano added a comment -

        Couldn't reproduce the last issue above (1.8 trunk, latest revision). Please verify.

        Show
        Arturo Zambrano added a comment - Couldn't reproduce the last issue above (1.8 trunk, latest revision). Please verify.
        Hide
        Liana Munroe added a comment -

        Tested with ICEfaces 1.8 r44499. Still able to reproduce last issue using IE 7 and 8.

        Show
        Liana Munroe added a comment - Tested with ICEfaces 1.8 r44499. Still able to reproduce last issue using IE 7 and 8.
        Hide
        Arturo Zambrano added a comment -

        r44666: added alternatives for window.pageYOffset, which doesn't exist on IE8.

        Show
        Arturo Zambrano added a comment - r44666: added alternatives for window.pageYOffset, which doesn't exist on IE8.
        Hide
        Liana Munroe added a comment -

        Verified component-showcase issue with IE7 and IE8 resolved, ICEfaces 1.8 r44697, Tomcat 6.

        Show
        Liana Munroe added a comment - Verified component-showcase issue with IE7 and IE8 resolved, ICEfaces 1.8 r44697, Tomcat 6.
        Hide
        Arturo Zambrano added a comment -

        r44771: committed fix to position submenus at the right height when the page has been scrolled down to the 1.8 trunk (it didn't affect the 3.3 codebase).

        An issue I found when working on this was that on 1.8 the submenus were positioned higher when there was scrolling in the viewport. This fix includes the vertical scrolling offset when calculating the position of submenus.

        Show
        Arturo Zambrano added a comment - r44771: committed fix to position submenus at the right height when the page has been scrolled down to the 1.8 trunk (it didn't affect the 3.3 codebase). An issue I found when working on this was that on 1.8 the submenus were positioned higher when there was scrolling in the viewport. This fix includes the vertical scrolling offset when calculating the position of submenus.
        Hide
        Liana Munroe added a comment -

        Verified ICEfaces EE-3.3.0.GA_P03 tag r42000 and ICEfaces 1.8 trunk r44773. No issues found.

        Show
        Liana Munroe added a comment - Verified ICEfaces EE-3.3.0.GA_P03 tag r42000 and ICEfaces 1.8 trunk r44773. No issues found.

          People

          • Assignee:
            Arturo Zambrano
            Reporter:
            Tyler Johnson
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: