Author: nbelaevski
Date: 2011-02-10 15:25:15 -0500 (Thu, 10 Feb 2011)
New Revision: 21619
Modified:
trunk/ui/core/ui/src/main/java/org/richfaces/renderkit/html/AjaxPollRenderer.java
Log:
https://issues.jboss.org/browse/RF-10491
Modified:
trunk/ui/core/ui/src/main/java/org/richfaces/renderkit/html/AjaxPollRenderer.java
===================================================================
---
trunk/ui/core/ui/src/main/java/org/richfaces/renderkit/html/AjaxPollRenderer.java 2011-02-10
20:21:54 UTC (rev 21618)
+++
trunk/ui/core/ui/src/main/java/org/richfaces/renderkit/html/AjaxPollRenderer.java 2011-02-10
20:25:15 UTC (rev 21619)
@@ -21,6 +21,17 @@
package org.richfaces.renderkit.html;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.faces.application.ResourceDependency;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.context.PartialViewContext;
+import javax.faces.context.ResponseWriter;
+import javax.faces.event.ActionEvent;
+
import org.ajax4jsf.javascript.JSFunction;
import org.ajax4jsf.javascript.JSFunctionDefinition;
import org.ajax4jsf.javascript.JSReference;
@@ -30,17 +41,8 @@
import org.richfaces.renderkit.RenderKitUtils;
import org.richfaces.renderkit.RendererBase;
import org.richfaces.renderkit.util.HandlersChain;
+import org.richfaces.renderkit.util.RendererUtils;
-import javax.faces.application.ResourceDependency;
-import javax.faces.component.UIComponent;
-import javax.faces.context.FacesContext;
-import javax.faces.context.PartialViewContext;
-import javax.faces.context.ResponseWriter;
-import javax.faces.event.ActionEvent;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-
/**
* @author shura
*/
@@ -77,11 +79,21 @@
protected void doEncodeEnd(ResponseWriter writer, FacesContext context,
UIComponent component) throws IOException {
+
+ RendererUtils utils = getUtils();
+ boolean shouldRenderForm = utils.getNestingForm(context, component) == null;
+ String rootElementName = shouldRenderForm ? HtmlConstants.DIV_ELEM :
HtmlConstants.SPAN_ELEM;
+
AbstractPoll poll = (AbstractPoll) component;
- writer.startElement(HtmlConstants.SPAN_ELEM, component);
+ writer.startElement(rootElementName, component);
writer.writeAttribute(HtmlConstants.STYLE_ATTRIBUTE, "display:none;",
null);
- getUtils().encodeId(context, component);
- getUtils().encodeBeginFormIfNessesary(context, component);
+ utils.encodeId(context, component);
+
+ if (shouldRenderForm) {
+ String clientId = component.getClientId(context) +
RendererUtils.DUMMY_FORM_ID;
+ utils.encodeBeginForm(context, component, writer, clientId);
+ }
+
// polling script.
writer.startElement(HtmlConstants.SCRIPT_ELEM, component);
writer.writeAttribute(HtmlConstants.TYPE_ATTR, "text/javascript",
null);
@@ -112,8 +124,12 @@
script.append(";\n");
writer.writeText(script.toString(), null);
writer.endElement(HtmlConstants.SCRIPT_ELEM);
- getUtils().encodeEndFormIfNessesary(context, component);
- writer.endElement(HtmlConstants.SPAN_ELEM);
+
+ if (shouldRenderForm) {
+ utils.encodeEndForm(context, writer);
+ }
+
+ writer.endElement(rootElementName);
}
/*