Details
-
Type: Bug
-
Status: Closed
-
Priority: Minor
-
Resolution: Won't Fix
-
Affects Version/s: EE-3.3.0.GA, EE-3.3.0.GA_P01
-
Fix Version/s: EE-3.3.0.GA_P02
-
Component/s: ICE-Components
-
Labels:None
-
Environment:All
-
Assignee Priority:P1
-
Salesforce Case Reference:
-
Affects:Documentation (User Guide, Ref. Guide, etc.), Compatibility/Configuration
-
Workaround Exists:Yes
-
Workaround Description:Applications affected by this issue should simply add a component or HTML element with position:absolute; as an ancestor of the menu bar.
Description
-
Hide
- Case12441Example.war
- 3.50 MB
- Arran Mccullough
-
- META-INF/MANIFEST.MF 0.1 kB
- META-INF/context.xml 0.1 kB
- WEB-INF/lib/commons-beanutils.jar 226 kB
- WEB-INF/lib/commons-collections.jar 558 kB
- WEB-INF/lib/commons-digester.jar 140 kB
- WEB-INF/lib/commons-logging.jar 52 kB
- WEB-INF/lib/javax.faces-2.1.26.jar 2.53 MB
- WEB-INF/web.xml 2 kB
- css/menuBarStyle.css 2 kB
- index.xhtml 0.5 kB
- welcomeICEfaces.xhtml 2 kB
-
Hide
- Case12441Example.zip
- 20 kB
- Arran Mccullough
-
- Case12441Example/build.xml 3 kB
- Case12441Example/.../ant-deploy.xml 3 kB
- Case12441Example/.../build-impl.xml 77 kB
- Case12441Example/.../genfiles.properties 0.5 kB
- Case12441Example/.../private.properties 0.6 kB
- Case12441Example/nbproject/.../private.xml 0.2 kB
- Case12441Example/.../project.properties 3 kB
- Case12441Example/nbproject/project.xml 0.9 kB
- Case12441Example/src/conf/MANIFEST.MF 0.0 kB
- Case12441Example/web/.../menuBarStyle.css 2 kB
- Case12441Example/web/index.xhtml 0.5 kB
- Case12441Example/web/.../context.xml 0.1 kB
- Case12441Example/web/WEB-INF/web.xml 2 kB
- Case12441Example/.../welcomeICEfaces.xhtml 2 kB
-
- menuBar1.PNG
- 21 kB
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
Reverted fix at revision 40843.
Re-opening to revert this component change is it will causes undesirable issues for existing applications. Instead of potentially forcing many apps. to adjust to this change, we will let the apps that are specifically affected by this issue adopt the application-level styling work-around.
Existing applications may need to modify their CSS style to account for the new absolute positioning of the menu. This will be documented in the Release Notes.
Menu positioning confirmed fixed. Icefaces ee-3.3.0 maintenance branch r40695.
IE 7: Menu bar in component-showcase. The first time that the Menu Bar demo is launched, the menu does not render as under the menu bar, but far to the right. Only seen in rime theme since it is the default. See screen shot menuBar1.png
*note, not able to reliably reproduce the menu rendering to the right so this may be an icetest-xp02 issue.
Couldn't reproduce this issue on icepcvm-ie7 or on IE11 in IE7 mode.
Menu Bar and Dynamic Menu Bar in component-showcase.
In all themes and all browsers the Menu Bar itself is too low in its container. See screen shot menuBar1.png.
Added height to panelGroup containing menu bar, since now menu bars are absolutely positioned (r40694).
The test case attached to this JIRA passes but there are Component showcase issues.
IE 7: Menu bar in component-showcase. The first time that the Menu Bar demo is launched, the menu does not render as under the menu bar, but far to the right. Only seen in rime theme since it is the default. See screen shot menuBar1.png
*note, not able to reliably reproduce the menu rendering to the right so this may be an icetest-xp02 issue.
Menu Bar and Dynamic Menu Bar in component-showcase.
In all themes and all browsers the Menu Bar itself is too low in its container. See screen shot menuBar1.png.
r40396: Committed fix to 3.3 EE branch. Added position:absolute; to menuBar root node's CSS classes (horizontal and vertical) in all themes.
I found out that on the showcase app, the menu bar submenu's displayed correctly, and the difference was simply that, in the showcase, the menu had at least one absolute-positioned ancestor node. So, the issue could be fixed at the app code level by simply adding an absolute-positioned ancestor, including the root container of the component. So, I tried a less-intrusive approach consisting of temporarily setting position:absolute; to the root container when calculating the position of the submenus and then setting it back to whatever it was. However, the submenus were misplaced again when the root container was reset to relative position, so it meant that the positions set on the submenus were in relation to the nearest absolute-positioned node, which meant that there had to be a permanent absolute-positioned ancestor for the menu bar. So, I tried adding an inner div, just under the root container to simply contain position:absolute;. However, with this, the submenus didn't appear at all, due to several expectations throughout the menuBar code. So, the only solution was to make the root container of the menu bar absolute positioned. So, I added position:absolute; to the root container's CSS classes for horizontal and vertical nodes in all themes. This solves the problem and can be easily overridden by the app code, if necessary.
Testing notes:
Verify that the test case works when using any of the compat themes; verify that the showcase demos continue to work correctly, and run all regression tests for this component.
Attached test case and screen shot of the issue. Note, the icefaces.jar, icefaces-ace.jar and icefaces-compat.jar files need to be added to the war file to run.
Resolving as Won't Fix.
Applications affected by this issue should simply add a component or HTML element with position:absolute; as an ancestor of the menu bar.