Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Minor
-
Resolution: Fixed
-
Affects Version/s: 1.6DR#3
-
Component/s: ICE-Components
-
Labels:None
-
Environment:IE + select element + panelPopup
-
Support Case References:
Description
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
suggested fix (similar as for ie6 fix for calendar popup)
Index: C:/Documents and Settings/laptop/workspace/ICEfaces head/core/src/com/icesoft/faces/resources/css/xp/xp-portlet.css
===================================================================
— C:/Documents and Settings/laptop/workspace/ICEfaces head/core/src/com/icesoft/faces/resources/css/xp/xp-portlet.css (revision 14250)
+++ C:/Documents and Settings/laptop/workspace/ICEfaces head/core/src/com/icesoft/faces/resources/css/xp/xp-portlet.css (working copy)
@@ -114,7 +114,7 @@
/margin:10px;/
}
-.iceSelInpDateIFrameFix {
+.iceIEIFrameFix
-.iceSelInpDateIFrameFix {
+.iceIEIFrameFix
.icePnlPopHdr
{ Index: C:/Documents and Settings/laptop/workspace/ICEfaces head/core/src/com/icesoft/faces/resources/css/royale/royale.css =================================================================== --- C:/Documents and Settings/laptop/workspace/ICEfaces head/core/src/com/icesoft/faces/resources/css/royale/royale.css (revision 14250) +++ C:/Documents and Settings/laptop/workspace/ICEfaces head/core/src/com/icesoft/faces/resources/css/royale/royale.css (working copy) @@ -142,7 +142,7 @@ /*margin:10px;*/ }-.iceSelInpDateIFrameFix {
+.iceIEIFrameFix {
z-index: -1;
position: absolute;
display: block;
Index: C:/Documents and Settings/laptop/workspace/ICEfaces head/component/src/com/icesoft/faces/component/panelpopup/PanelPopupRenderer.java
===================================================================
— C:/Documents and Settings/laptop/workspace/ICEfaces head/component/src/com/icesoft/faces/component/panelpopup/PanelPopupRenderer.java (revision 14250)
+++ C:/Documents and Settings/laptop/workspace/ICEfaces head/component/src/com/icesoft/faces/component/panelpopup/PanelPopupRenderer.java (working copy)
@@ -48,6 +48,7 @@
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
+import org.w3c.dom.Text;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
@@ -102,12 +103,28 @@
Element rootDiv = domContext.createRootElement(HTML.DIV_ELEM);
setRootElementId(facesContext, rootDiv, uiComponent);
rootDiv.setAttribute(HTML.NAME_ATTR, clientId);
+ rootDiv.setAttribute(HTML.STYLE_ELEM,
+ "display:none;position:absolute;overflow:hidden;");
+
+
Element table = domContext.createElement(HTML.TABLE_ELEM);
table.setAttribute(HTML.CELLPADDING_ATTR, "0");
table.setAttribute(HTML.CELLSPACING_ATTR, "0");
table.setAttribute(HTML.WIDTH_ATTR, "100%");
-
+ table.setAttribute(HTML.STYLE_ATTR, "position:absolute;");
rootDiv.appendChild(table);
+
+ String width;
+ String height;
+ String origStyle = panelPopup.getStyle();
+ width = origStyle.substring( origStyle.indexOf("width"), origStyle.indexOf(";", origStyle.indexOf("width"))+1);
+ height = origStyle.substring( origStyle.indexOf("height"), origStyle.indexOf(";", origStyle.indexOf("height"))+1);
+
+
+ Text iframe = domContext.createTextNode("<!--[if lte IE"+
+ " 6.5]><iframe class=\"iceIEIFrameFix\" style=\"" + width + height + "\"></iframe><![endif]-->");
+ rootDiv.appendChild(iframe);
+
if (modal != null && modal.booleanValue())
Index: C:/Documents and Settings/laptop/workspace/ICEfaces head/component/src/com/icesoft/faces/component/selectinputdate/SelectInputDateRenderer.java
===================================================================
— C:/Documents and Settings/laptop/workspace/ICEfaces head/component/src/com/icesoft/faces/component/selectinputdate/SelectInputDateRenderer.java (revision 14250)
+++ C:/Documents and Settings/laptop/workspace/ICEfaces head/component/src/com/icesoft/faces/component/selectinputdate/SelectInputDateRenderer.java (working copy)
@@ -260,7 +260,7 @@
table.setAttribute(HTML.SUMMARY_ATTR,"This table contains a Calendar where a date can be selected.");
calendarDiv.appendChild(table);
Text iframe = domContext.createTextNode("<!--[if lte IE"+
- " 6.5]><iframe class=\"iceSelInpDateIFrameFix\"></iframe><![endif]-->");
+ " 6.5]><iframe class=\"iceIEIFrameFix\"></iframe><![endif]-->");
calendarDiv.appendChild(iframe);
root.appendChild(calendarDiv);
// render a hidden field to manage the popup state; visible || hidden
Note that the 1.6 branch no longer contains any changes related to the fix for this issue. The ultimate fix is too extensive in nature to be backported to the 1.6 branch. Anyone wanting the new fix will need to use 1.7.