Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: EE-1.8.2.GA_P03
-
Fix Version/s: EE-1.8.2.GA_P04
-
Component/s: ICE-Components
-
Labels:None
-
Environment:IE7/8/9
-
Workaround Exists:Yes
-
Workaround Description:Use autoCentre if applicable or turn off draggability. Or use px instead of % for positioning.
Description
An ice:panelPopup has some custom CSS to position it in a specific location and is set to be draggable. Upon selecting the header when it is first rendered, the popup gets positioned in a different location. This only happens with in IE and with a draggable popup. It doesn't matter if it is modal or non-modal. This happens only on the first opening of the popup when the page is first loaded, all subsequent opening works fine.
Setting autoPosition helps a bit, instead of staying in the moved position it snaps back to the original location.
Setting autoPosition helps a bit, instead of staying in the moved position it snaps back to the original location.
The IE specific Element.Methods.getStyle method defined in dom.js (Prototype code) does not return the correct values in pixels when element's 'top' or 'left' properties are queried. Instead it returns the raw values in percentages (or 'em') which later on are converted to integers, which are assumed to represent pixels.
The fix modifies the method to calculate the current position of the 'top' or 'left' style properties in pixels.