You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by mm...@apache.org on 2005/09/18 16:19:13 UTC

svn commit: r289923 - in /myfaces/tomahawk/trunk/src/java/org/apache/myfaces: component/html/util/AddResource.java custom/calendar/HtmlCalendarRenderer.java

Author: mmarinschek
Date: Sun Sep 18 07:19:07 2005
New Revision: 289923

URL: http://svn.apache.org/viewcvs?rev=289923&view=rev
Log:
fixed bugs in HtmlInputCalendar

Modified:
    myfaces/tomahawk/trunk/src/java/org/apache/myfaces/component/html/util/AddResource.java
    myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/calendar/HtmlCalendarRenderer.java

Modified: myfaces/tomahawk/trunk/src/java/org/apache/myfaces/component/html/util/AddResource.java
URL: http://svn.apache.org/viewcvs/myfaces/tomahawk/trunk/src/java/org/apache/myfaces/component/html/util/AddResource.java?rev=289923&r1=289922&r2=289923&view=diff
==============================================================================
--- myfaces/tomahawk/trunk/src/java/org/apache/myfaces/component/html/util/AddResource.java (original)
+++ myfaces/tomahawk/trunk/src/java/org/apache/myfaces/component/html/util/AddResource.java Sun Sep 18 07:19:07 2005
@@ -466,6 +466,8 @@
             HtmlResponseWriterImpl responseWriter = new HtmlResponseWriterImpl(
                     writer,contentType,characterEncoding);
 
+            responseWriter.writeText("\n",null);
+
             switch (type) {
                 case TYPE_JS:
                     responseWriter.startElement(HTML.SCRIPT_ELEM,null);

Modified: myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/calendar/HtmlCalendarRenderer.java
URL: http://svn.apache.org/viewcvs/myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/calendar/HtmlCalendarRenderer.java?rev=289923&r1=289922&r2=289923&view=diff
==============================================================================
--- myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/calendar/HtmlCalendarRenderer.java (original)
+++ myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/calendar/HtmlCalendarRenderer.java Sun Sep 18 07:19:07 2005
@@ -24,6 +24,7 @@
 import org.apache.myfaces.renderkit.html.HtmlRendererUtils;
 import org.apache.myfaces.renderkit.html.util.JavascriptUtils;
 import org.apache.myfaces.util.MessageUtils;
+import org.apache.myfaces.custom.buffer.HtmlBufferResponseWriterWrapper;
 import org.apache.commons.lang.StringEscapeUtils;
 
 import javax.faces.application.Application;
@@ -151,8 +152,8 @@
 	            writer.writeAttribute(HTML.SCRIPT_TYPE_ATTR,HTML.SCRIPT_TYPE_TEXT_JAVASCRIPT,null);
 	            writer.writeText(getLocalizedLanguageScript(symbols, months,
 	                    timeKeeper.getFirstDayOfWeek(),inputCalendar),null);
-                writeScriptBtn(facesContext, inputCalendar,
-                        dateFormat,inputCalendar.getPopupButtonString());
+                writer.writeText(getScriptBtn(facesContext, inputCalendar,
+                        dateFormat,inputCalendar.getPopupButtonString()),null);
 	            writer.endElement(HTML.SCRIPT_ELEM);
 
 	/*            writer.startElement(HTML.INPUT_ELEM,null);
@@ -376,10 +377,11 @@
         script.append(");");
     }
 
-    private void writeScriptBtn(FacesContext facesContext, UIComponent uiComponent, String dateFormat, String popupButtonString)
+    private String getScriptBtn(FacesContext facesContext, UIComponent uiComponent, String dateFormat, String popupButtonString)
         throws IOException
     {
-        ResponseWriter writer = facesContext.getResponseWriter();
+        HtmlBufferResponseWriterWrapper writer = HtmlBufferResponseWriterWrapper.
+                getInstance(facesContext.getResponseWriter());
 
         HtmlInputCalendar calendar = (HtmlInputCalendar)uiComponent;
         boolean renderButtonAsImage = calendar.isRenderPopupButtonAsImage();
@@ -392,7 +394,7 @@
             writer.startElement(HTML.INPUT_ELEM, uiComponent);
             writer.writeAttribute(HTML.TYPE_ATTR, HTML.INPUT_TYPE_BUTTON, null);
 
-            writeOnclickJsCalendarFunctionCall(facesContext,uiComponent,dateFormat);
+            writeOnclickJsCalendarFunctionCall(writer,facesContext,uiComponent,dateFormat);
 
             if(popupButtonString==null)
                 popupButtonString="...";
@@ -414,7 +416,7 @@
             writer.writeAttribute(HTML.STYLE_ATTR, "vertical-align:bottom;", null);
 
             //writer.writeAttribute(HTML.ONCLICK_ATTR, "document.getElementById(\\'"+buttonId+"\\').click()",null);
-            writeOnclickJsCalendarFunctionCall(facesContext,uiComponent,dateFormat);
+            writeOnclickJsCalendarFunctionCall(writer, facesContext,uiComponent,dateFormat);
             //writer.writeAttribute(HTML.ONMOUSEOVER_ATTR, "this.style.cursor=\\'hand\\';", null);
             //writer.writeAttribute(HTML.ONMOUSEOUT_ATTR, "this.style.cursor=\\'default\\';", null);
 
@@ -423,14 +425,16 @@
 
         writer.write("');");
         writer.write("\n}");
+
+        return writer.toString();
     }
 
-    private void writeOnclickJsCalendarFunctionCall(FacesContext facesContext, UIComponent uiComponent, String dateFormat)
+    private void writeOnclickJsCalendarFunctionCall(ResponseWriter writer,
+                                                    FacesContext facesContext,
+                                                    UIComponent uiComponent, String dateFormat)
         throws IOException
     {
         String clientId = uiComponent.getClientId(facesContext);
-
-        ResponseWriter writer = facesContext.getResponseWriter();
 
         String jsCalendarFunctionCall = "jscalendarPopUpCalendar(this,document.getElementById(\\'"+clientId+"\\'),\\'"+dateFormat+"\\')";
         writer.writeAttribute(HTML.ONCLICK_ATTR, jsCalendarFunctionCall, null);