ICEfaces
  1. ICEfaces
  2. ICE-4400

CLONE -ice:menuPopup does not position/render properly when used in combination with ice:panelDivider and ice:tree

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Cannot Reproduce
    • Affects Version/s: 1.8
    • Fix Version/s: 1.8.2-EE-GA_P01, 1.8.3
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      Icefaces 1.8.0, Facelets, IE7

      Description

      Scenario: my screen is a split panel (ice:panelDivider). The left pane contains a tree (in ice:tree) and right pane shows the content in ice:panelSeries. Now I want to assign a context popup menu to each node of the tree in the left pane.

      Bug manifestation. Upon the right-click on the tree node the menu popup is rendered. But if the menu divs happen to overlap the right pane of split panel (ice:panelDivider) then the overlapped part is corrupted. This effect differs in FF and IE (please see attached images).
      FF: the overlapped part of split panel's right pane shines thru the menu div.
      IE: the right pane of the split panel clips the overlapped part of the menu. That part becomes invisible. Also the positions of the menu divs are shifted.

      By the way, attempts to cure these effects by using 'z-index' do not work.

      Bug description. The concise bug description is given by user 'Pred' in this forum post: http://www.icefaces.org/JForum/posts/list/6583.page. The problem is that the Icefaces has to set menu divs with 'position: absolute'. Within the ice:tree I have to put my ice:menuPopups into ice:panelGroups (see attached menuPopupBug.xhtml). It means that absolutely positioned menu divs become children of tree's internal divs. This would cause problems if they overlapped by any relatively positioned elements on the page.
      I do not have any elements with explicit 'position:relative' on my page. But I suspect that introducing the scrollbars on the divs has the same effect. Note that I set 'height: 30em' on the ice:paneDivider - that may force browsers to consider scrollbars every time they redraw the enclosed divs.
      Anyway, the approach described at http://www.icefaces.org/JForum/posts/list/6583.page worked for my case, but it is too hacky and needs to be moved into the main codebase somehow.

      1. screenshot-03.png
        127 kB
      2. screenshot-02.png
        128 kB
      3. screenshot-01.png
        86 kB

        Issue Links

          Activity

          Hide
          yip.ng added a comment -

          Can't reproduce problem using 1.8.2-GA-P01 either. See screenshot-02 for the build used.

          Can't reproduce problem in IE6 either. See screenshot-03. Compare with image attachment 3 in ICE-3194.

          Show
          yip.ng added a comment - Can't reproduce problem using 1.8.2-GA-P01 either. See screenshot-02 for the build used. Can't reproduce problem in IE6 either. See screenshot-03. Compare with image attachment 3 in ICE-3194 .
          Hide
          yip.ng added a comment - - edited

          Can't reproduce problem: "FF: the overlapped part of split panel's right pane shines thru the menu div." See screenhot-01. Compare with image attachment 4 in ICE-3194.

          Show
          yip.ng added a comment - - edited Can't reproduce problem: "FF: the overlapped part of split panel's right pane shines thru the menu div." See screenhot-01. Compare with image attachment 4 in ICE-3194 .
          Hide
          Sergei Kozyrenko added a comment -

          We're using 1.8.2 and are hit by this in IE8 – why isn't this even assigned to anyone? Essentially, we can't use menus in IE....

          Show
          Sergei Kozyrenko added a comment - We're using 1.8.2 and are hit by this in IE8 – why isn't this even assigned to anyone? Essentially, we can't use menus in IE....
          Hide
          Sergei Kozyrenko added a comment -

          We're using it with overflow: visible, but still getting this issue with IE7 and 8...

          Show
          Sergei Kozyrenko added a comment - We're using it with overflow: visible, but still getting this issue with IE7 and 8...
          Hide
          Andrew Adams added a comment -

          This is stopping us from moving to 1.8.1 (we have a "hack" for a 1.7.1 that we're currently using)...

          Show
          Andrew Adams added a comment - This is stopping us from moving to 1.8.1 (we have a "hack" for a 1.7.1 that we're currently using)...
          Hide
          Andy Hoffman added a comment -

          This issue is DEFINITELY related to overflow setting if ice:panelDivider component. When you have a tree within a panelDivider, and then you attach a popup menu to the tree nodes, IE7 and IE8 display the pop-up menus at strange vertical offset.

          Going on the hunch associated with ICE-4722, I over-rode the style class for the panel divider "first" facet as follows...

          .icePnlDvrFst

          { height: 100%; display: block; float: left; overflow: visible; }

          Note, the only difference from the ICEFaces 1.8.1 stylesheet "rime.css" for this style-class is a change from (orignally) "overflow: auto;" to (now) "overflow: visible;". When the overflow is set to "visible", the pop-up menus are now positioned properly at the right mouse-click position. Switching the overflow back to "auto" immediately causes the pop-up menus to be incorrectly offset vertically.

          Show
          Andy Hoffman added a comment - This issue is DEFINITELY related to overflow setting if ice:panelDivider component. When you have a tree within a panelDivider, and then you attach a popup menu to the tree nodes, IE7 and IE8 display the pop-up menus at strange vertical offset. Going on the hunch associated with ICE-4722 , I over-rode the style class for the panel divider "first" facet as follows... .icePnlDvrFst { height: 100%; display: block; float: left; overflow: visible; } Note, the only difference from the ICEFaces 1.8.1 stylesheet "rime.css" for this style-class is a change from (orignally) "overflow: auto;" to (now) "overflow: visible;". When the overflow is set to "visible", the pop-up menus are now positioned properly at the right mouse-click position. Switching the overflow back to "auto" immediately causes the pop-up menus to be incorrectly offset vertically.
          Hide
          Andy Hoffman added a comment -

          Also occurs in IE8 with Icefaces 1.8.1. I have voted for this issue, as I have the exact same situation. I will try the "hack", but this needs to be tested by ICEFaces folks against IE7 and IE8 to make sure they can reproduce locally.

          Show
          Andy Hoffman added a comment - Also occurs in IE8 with Icefaces 1.8.1. I have voted for this issue, as I have the exact same situation. I will try the "hack", but this needs to be tested by ICEFaces folks against IE7 and IE8 to make sure they can reproduce locally.
          Hide
          Sergei Kozyrenko added a comment -

          This has been fixed for IE6 and Firefox, but still an issue with IE7 in 1.8

          Show
          Sergei Kozyrenko added a comment - This has been fixed for IE6 and Firefox, but still an issue with IE7 in 1.8

            People

            • Assignee:
              Unassigned
              Reporter:
              Sergei Kozyrenko
            • Votes:
              3 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: