You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ma...@apache.org on 2009/10/30 00:48:44 UTC

svn commit: r831158 - in /myfaces/trinidad/branches/trinidad-1.0.x/trinidad-impl/src: main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/

Author: matzew
Date: Thu Oct 29 23:48:43 2009
New Revision: 831158

URL: http://svn.apache.org/viewvc?rev=831158&view=rev
Log:
TRINIDAD-1071 - combobox not shown in IE inside a lightweight dialog

applied (and modify) patch. Thx to Hardik Shah for his patch

Modified:
    myfaces/trinidad/branches/trinidad-1.0.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ChooseDateRenderer.java
    myfaces/trinidad/branches/trinidad-1.0.x/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseDate-minimalIE-golden.xml
    myfaces/trinidad/branches/trinidad-1.0.x/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseDate-minimalIERtl-golden.xml

Modified: myfaces/trinidad/branches/trinidad-1.0.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ChooseDateRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/trinidad-1.0.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ChooseDateRenderer.java?rev=831158&r1=831157&r2=831158&view=diff
==============================================================================
--- myfaces/trinidad/branches/trinidad-1.0.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ChooseDateRenderer.java (original)
+++ myfaces/trinidad/branches/trinidad-1.0.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ChooseDateRenderer.java Thu Oct 29 23:48:43 2009
@@ -33,6 +33,7 @@
 import org.apache.myfaces.trinidad.bean.FacesBean;
 import org.apache.myfaces.trinidad.bean.PropertyKey;
 import org.apache.myfaces.trinidad.component.core.input.CoreChooseDate;
+import org.apache.myfaces.trinidad.context.Agent;
 import org.apache.myfaces.trinidad.context.RenderingContext;
 import org.apache.myfaces.trinidad.logging.TrinidadLogger;
 import org.apache.myfaces.trinidad.skin.Icon;
@@ -493,6 +494,13 @@
     writer.endElement("tr");
 
     writer.endElement("table");
+
+
+    // IE-6 only "fix" for TRINIDAD-1071
+    if (Agent.AGENT_IE.equals(arc.getAgent().getAgentName()) && arc.getAgent().getAgentVersion().startsWith("6"))
+    {
+      _renderShowComboBoxScriptForIE6(context, arc, bean);
+    }
   }
 
 
@@ -656,6 +664,44 @@
     return (getDestination(bean) == null);
   }
 
+
+  /**
+   * some hack for unsupported IE6
+   */
+  private void _renderShowComboBoxScriptForIE6(
+    FacesContext context,
+    RenderingContext arc,
+    FacesBean bean
+    ) throws IOException
+  {
+    final String baseId = "";
+    final ResponseWriter writer = context.getResponseWriter();
+    final String monthId = baseId + ChooseDateRenderer.MONTH_PARAM;
+    final String yearId = baseId + ChooseDateRenderer.YEAR_PARAM;
+
+    writer.startElement("script", null);
+    writer.writeAttribute("type", "text/javascript", null);
+    writer.writeText("window.onload=showCombo; \n", null);
+    writer.writeText("function showCombo() { \n", null);
+      // Normal Trinidad onLoad;
+    writer.writeText("_checkLoad(); \n", null);
+    writer.writeText("document.getElementById('" + monthId +
+      "').style.cssText = 'display: inline !important; visibility: visible !important;'; \n",
+                       null);
+    writer.writeText("if (document.getElementById('" + yearId +
+      "') != null) {", null); // MY FIX
+    writer.writeText("document.getElementById('" + yearId +
+      "').style.cssText = 'display: inline !important; visibility: visible !important;'; \n",
+      null);
+    writer.writeText("}", null); // MY FIX
+    // ToDo: Resize iframe to remove scrollbars:
+    writer.writeText("return true; \n", null);
+    writer.writeText("} \n", null);
+
+    writer.endElement("script");
+
+ }
+
   /**
    * Render the next and previous buttons of the calendar dialog.
    */

Modified: myfaces/trinidad/branches/trinidad-1.0.x/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseDate-minimalIE-golden.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/trinidad-1.0.x/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseDate-minimalIE-golden.xml?rev=831158&r1=831157&r2=831158&view=diff
==============================================================================
--- myfaces/trinidad/branches/trinidad-1.0.x/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseDate-minimalIE-golden.xml (original)
+++ myfaces/trinidad/branches/trinidad-1.0.x/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseDate-minimalIE-golden.xml Thu Oct 29 23:48:43 2009
@@ -753,6 +753,18 @@
           </td>
         </tr>
       </table>
+      <script
+           type="text/javascript"
+          >
+        window.onload=showCombo; 
+function showCombo() { 
+_checkLoad(); 
+document.getElementById('month').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+if (document.getElementById('year') != null) {document.getElementById('year').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+}return true; 
+} 
+
+      </script>
 <!--AttributeTest[id,dateid]-->
 
       <table
@@ -1509,6 +1521,18 @@
           </td>
         </tr>
       </table>
+      <script
+           type="text/javascript"
+          >
+        window.onload=showCombo; 
+function showCombo() { 
+_checkLoad(); 
+document.getElementById('month').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+if (document.getElementById('year') != null) {document.getElementById('year').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+}return true; 
+} 
+
+      </script>
 <!--AttributeTest[inlineStyle,null]-->
 
       <table
@@ -2266,6 +2290,18 @@
           </td>
         </tr>
       </table>
+      <script
+           type="text/javascript"
+          >
+        window.onload=showCombo; 
+function showCombo() { 
+_checkLoad(); 
+document.getElementById('month').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+if (document.getElementById('year') != null) {document.getElementById('year').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+}return true; 
+} 
+
+      </script>
 <!--AttributeTest[shortDesc,null]-->
 
       <table
@@ -3023,6 +3059,18 @@
           </td>
         </tr>
       </table>
+      <script
+           type="text/javascript"
+          >
+        window.onload=showCombo; 
+function showCombo() { 
+_checkLoad(); 
+document.getElementById('month').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+if (document.getElementById('year') != null) {document.getElementById('year').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+}return true; 
+} 
+
+      </script>
 <!--AttributeTest[styleClass,null]-->
 
       <table
@@ -3780,6 +3828,18 @@
           </td>
         </tr>
       </table>
+      <script
+           type="text/javascript"
+          >
+        window.onload=showCombo; 
+function showCombo() { 
+_checkLoad(); 
+document.getElementById('month').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+if (document.getElementById('year') != null) {document.getElementById('year').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+}return true; 
+} 
+
+      </script>
 <!--AttributeTest[onclick,null]-->
 
       <table
@@ -4537,6 +4597,18 @@
           </td>
         </tr>
       </table>
+      <script
+           type="text/javascript"
+          >
+        window.onload=showCombo; 
+function showCombo() { 
+_checkLoad(); 
+document.getElementById('month').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+if (document.getElementById('year') != null) {document.getElementById('year').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+}return true; 
+} 
+
+      </script>
 <!--AttributeTest[ondblclick,null]-->
 
       <table
@@ -5294,6 +5366,18 @@
           </td>
         </tr>
       </table>
+      <script
+           type="text/javascript"
+          >
+        window.onload=showCombo; 
+function showCombo() { 
+_checkLoad(); 
+document.getElementById('month').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+if (document.getElementById('year') != null) {document.getElementById('year').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+}return true; 
+} 
+
+      </script>
 <!--AttributeTest[onkeydown,null]-->
 
       <table
@@ -6051,6 +6135,18 @@
           </td>
         </tr>
       </table>
+      <script
+           type="text/javascript"
+          >
+        window.onload=showCombo; 
+function showCombo() { 
+_checkLoad(); 
+document.getElementById('month').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+if (document.getElementById('year') != null) {document.getElementById('year').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+}return true; 
+} 
+
+      </script>
 <!--AttributeTest[onkeypress,null]-->
 
       <table
@@ -6808,6 +6904,18 @@
           </td>
         </tr>
       </table>
+      <script
+           type="text/javascript"
+          >
+        window.onload=showCombo; 
+function showCombo() { 
+_checkLoad(); 
+document.getElementById('month').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+if (document.getElementById('year') != null) {document.getElementById('year').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+}return true; 
+} 
+
+      </script>
 <!--AttributeTest[onkeyup,null]-->
 
       <table
@@ -7565,6 +7673,18 @@
           </td>
         </tr>
       </table>
+      <script
+           type="text/javascript"
+          >
+        window.onload=showCombo; 
+function showCombo() { 
+_checkLoad(); 
+document.getElementById('month').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+if (document.getElementById('year') != null) {document.getElementById('year').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+}return true; 
+} 
+
+      </script>
 <!--AttributeTest[onmousedown,null]-->
 
       <table
@@ -8322,6 +8442,18 @@
           </td>
         </tr>
       </table>
+      <script
+           type="text/javascript"
+          >
+        window.onload=showCombo; 
+function showCombo() { 
+_checkLoad(); 
+document.getElementById('month').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+if (document.getElementById('year') != null) {document.getElementById('year').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+}return true; 
+} 
+
+      </script>
 <!--AttributeTest[onmousemove,null]-->
 
       <table
@@ -9079,6 +9211,18 @@
           </td>
         </tr>
       </table>
+      <script
+           type="text/javascript"
+          >
+        window.onload=showCombo; 
+function showCombo() { 
+_checkLoad(); 
+document.getElementById('month').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+if (document.getElementById('year') != null) {document.getElementById('year').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+}return true; 
+} 
+
+      </script>
 <!--AttributeTest[onmouseout,null]-->
 
       <table
@@ -9836,6 +9980,18 @@
           </td>
         </tr>
       </table>
+      <script
+           type="text/javascript"
+          >
+        window.onload=showCombo; 
+function showCombo() { 
+_checkLoad(); 
+document.getElementById('month').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+if (document.getElementById('year') != null) {document.getElementById('year').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+}return true; 
+} 
+
+      </script>
 <!--AttributeTest[onmouseover,null]-->
 
       <table
@@ -10593,6 +10749,18 @@
           </td>
         </tr>
       </table>
+      <script
+           type="text/javascript"
+          >
+        window.onload=showCombo; 
+function showCombo() { 
+_checkLoad(); 
+document.getElementById('month').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+if (document.getElementById('year') != null) {document.getElementById('year').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+}return true; 
+} 
+
+      </script>
 <!--AttributeTest[onmouseup,null]-->
 
       <table
@@ -11350,4 +11518,16 @@
           </td>
         </tr>
       </table>
+      <script
+           type="text/javascript"
+          >
+        window.onload=showCombo; 
+function showCombo() { 
+_checkLoad(); 
+document.getElementById('month').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+if (document.getElementById('year') != null) {document.getElementById('year').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+}return true; 
+} 
+
+      </script>
 </results>

Modified: myfaces/trinidad/branches/trinidad-1.0.x/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseDate-minimalIERtl-golden.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/trinidad-1.0.x/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseDate-minimalIERtl-golden.xml?rev=831158&r1=831157&r2=831158&view=diff
==============================================================================
--- myfaces/trinidad/branches/trinidad-1.0.x/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseDate-minimalIERtl-golden.xml (original)
+++ myfaces/trinidad/branches/trinidad-1.0.x/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseDate-minimalIERtl-golden.xml Thu Oct 29 23:48:43 2009
@@ -753,6 +753,18 @@
           </td>
         </tr>
       </table>
+      <script
+           type="text/javascript"
+          >
+        window.onload=showCombo; 
+function showCombo() { 
+_checkLoad(); 
+document.getElementById('month').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+if (document.getElementById('year') != null) {document.getElementById('year').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+}return true; 
+} 
+
+      </script>
 <!--AttributeTest[id,dateid]-->
 
       <table
@@ -1509,6 +1521,18 @@
           </td>
         </tr>
       </table>
+      <script
+           type="text/javascript"
+          >
+        window.onload=showCombo; 
+function showCombo() { 
+_checkLoad(); 
+document.getElementById('month').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+if (document.getElementById('year') != null) {document.getElementById('year').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+}return true; 
+} 
+
+      </script>
 <!--AttributeTest[inlineStyle,null]-->
 
       <table
@@ -2266,6 +2290,18 @@
           </td>
         </tr>
       </table>
+      <script
+           type="text/javascript"
+          >
+        window.onload=showCombo; 
+function showCombo() { 
+_checkLoad(); 
+document.getElementById('month').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+if (document.getElementById('year') != null) {document.getElementById('year').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+}return true; 
+} 
+
+      </script>
 <!--AttributeTest[shortDesc,null]-->
 
       <table
@@ -3023,6 +3059,18 @@
           </td>
         </tr>
       </table>
+      <script
+           type="text/javascript"
+          >
+        window.onload=showCombo; 
+function showCombo() { 
+_checkLoad(); 
+document.getElementById('month').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+if (document.getElementById('year') != null) {document.getElementById('year').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+}return true; 
+} 
+
+      </script>
 <!--AttributeTest[styleClass,null]-->
 
       <table
@@ -3780,6 +3828,18 @@
           </td>
         </tr>
       </table>
+      <script
+           type="text/javascript"
+          >
+        window.onload=showCombo; 
+function showCombo() { 
+_checkLoad(); 
+document.getElementById('month').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+if (document.getElementById('year') != null) {document.getElementById('year').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+}return true; 
+} 
+
+      </script>
 <!--AttributeTest[onclick,null]-->
 
       <table
@@ -4537,6 +4597,18 @@
           </td>
         </tr>
       </table>
+      <script
+           type="text/javascript"
+          >
+        window.onload=showCombo; 
+function showCombo() { 
+_checkLoad(); 
+document.getElementById('month').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+if (document.getElementById('year') != null) {document.getElementById('year').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+}return true; 
+} 
+
+      </script>
 <!--AttributeTest[ondblclick,null]-->
 
       <table
@@ -5294,6 +5366,18 @@
           </td>
         </tr>
       </table>
+      <script
+           type="text/javascript"
+          >
+        window.onload=showCombo; 
+function showCombo() { 
+_checkLoad(); 
+document.getElementById('month').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+if (document.getElementById('year') != null) {document.getElementById('year').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+}return true; 
+} 
+
+      </script>
 <!--AttributeTest[onkeydown,null]-->
 
       <table
@@ -6051,6 +6135,18 @@
           </td>
         </tr>
       </table>
+      <script
+           type="text/javascript"
+          >
+        window.onload=showCombo; 
+function showCombo() { 
+_checkLoad(); 
+document.getElementById('month').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+if (document.getElementById('year') != null) {document.getElementById('year').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+}return true; 
+} 
+
+      </script>
 <!--AttributeTest[onkeypress,null]-->
 
       <table
@@ -6808,6 +6904,18 @@
           </td>
         </tr>
       </table>
+      <script
+           type="text/javascript"
+          >
+        window.onload=showCombo; 
+function showCombo() { 
+_checkLoad(); 
+document.getElementById('month').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+if (document.getElementById('year') != null) {document.getElementById('year').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+}return true; 
+} 
+
+      </script>
 <!--AttributeTest[onkeyup,null]-->
 
       <table
@@ -7565,6 +7673,18 @@
           </td>
         </tr>
       </table>
+      <script
+           type="text/javascript"
+          >
+        window.onload=showCombo; 
+function showCombo() { 
+_checkLoad(); 
+document.getElementById('month').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+if (document.getElementById('year') != null) {document.getElementById('year').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+}return true; 
+} 
+
+      </script>
 <!--AttributeTest[onmousedown,null]-->
 
       <table
@@ -8322,6 +8442,18 @@
           </td>
         </tr>
       </table>
+      <script
+           type="text/javascript"
+          >
+        window.onload=showCombo; 
+function showCombo() { 
+_checkLoad(); 
+document.getElementById('month').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+if (document.getElementById('year') != null) {document.getElementById('year').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+}return true; 
+} 
+
+      </script>
 <!--AttributeTest[onmousemove,null]-->
 
       <table
@@ -9079,6 +9211,18 @@
           </td>
         </tr>
       </table>
+      <script
+           type="text/javascript"
+          >
+        window.onload=showCombo; 
+function showCombo() { 
+_checkLoad(); 
+document.getElementById('month').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+if (document.getElementById('year') != null) {document.getElementById('year').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+}return true; 
+} 
+
+      </script>
 <!--AttributeTest[onmouseout,null]-->
 
       <table
@@ -9836,6 +9980,18 @@
           </td>
         </tr>
       </table>
+      <script
+           type="text/javascript"
+          >
+        window.onload=showCombo; 
+function showCombo() { 
+_checkLoad(); 
+document.getElementById('month').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+if (document.getElementById('year') != null) {document.getElementById('year').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+}return true; 
+} 
+
+      </script>
 <!--AttributeTest[onmouseover,null]-->
 
       <table
@@ -10593,6 +10749,18 @@
           </td>
         </tr>
       </table>
+      <script
+           type="text/javascript"
+          >
+        window.onload=showCombo; 
+function showCombo() { 
+_checkLoad(); 
+document.getElementById('month').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+if (document.getElementById('year') != null) {document.getElementById('year').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+}return true; 
+} 
+
+      </script>
 <!--AttributeTest[onmouseup,null]-->
 
       <table
@@ -11350,4 +11518,16 @@
           </td>
         </tr>
       </table>
+      <script
+           type="text/javascript"
+          >
+        window.onload=showCombo; 
+function showCombo() { 
+_checkLoad(); 
+document.getElementById('month').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+if (document.getElementById('year') != null) {document.getElementById('year').style.cssText = 'display: inline !important; visibility: visible !important;'; 
+}return true; 
+} 
+
+      </script>
 </results>