[richfaces-svn-commits] JBoss Rich Faces SVN: r12364 - in trunk/ui/tree/src/main: templates and 1 other directory.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Wed Jan 21 14:40:00 EST 2009


Author: nbelaevski
Date: 2009-01-21 14:39:59 -0500 (Wed, 21 Jan 2009)
New Revision: 12364

Modified:
   trunk/ui/tree/src/main/java/org/richfaces/renderkit/TreeRendererBase.java
   trunk/ui/tree/src/main/templates/htmlTree.jspx
Log:
https://jira.jboss.org/jira/browse/RF-5835

Modified: trunk/ui/tree/src/main/java/org/richfaces/renderkit/TreeRendererBase.java
===================================================================
--- trunk/ui/tree/src/main/java/org/richfaces/renderkit/TreeRendererBase.java	2009-01-21 17:51:29 UTC (rev 12363)
+++ trunk/ui/tree/src/main/java/org/richfaces/renderkit/TreeRendererBase.java	2009-01-21 19:39:59 UTC (rev 12364)
@@ -47,6 +47,7 @@
 import org.ajax4jsf.renderkit.AjaxRendererUtils;
 import org.ajax4jsf.renderkit.ComponentsVariableResolver;
 import org.ajax4jsf.renderkit.RendererUtils;
+import org.ajax4jsf.renderkit.RendererUtils.HTML;
 import org.richfaces.component.UITree;
 import org.richfaces.component.UITreeNode;
 import org.richfaces.component.nsutils.NSUtils;
@@ -570,29 +571,45 @@
 		return buffer.toString();
 	}
 
+	public String writeScriptElement(FacesContext context, UITree tree, String code) throws IOException {
+		/*
+		<div id="#{clientId}:script" class="dr-tree-h-script">
+			<script type="text/javascript">
+			</script>
+		</div>
+		*/
+		
+		String scriptId = tree.getBaseClientId(context) + NamingContainer.SEPARATOR_CHAR + "script";
+		ResponseWriter responseWriter = context.getResponseWriter();
+		responseWriter.startElement(HTML.DIV_ELEM, tree);
+		responseWriter.writeAttribute(HTML.id_ATTRIBUTE, scriptId, null);
+		responseWriter.writeAttribute(HTML.class_ATTRIBUTE, "dr-tree-h-script", null);
+
+		responseWriter.startElement(HTML.SCRIPT_ELEM, tree);
+		responseWriter.writeAttribute(HTML.TYPE_ATTR, "text/javascript", null);
+
+		if (code != null && code.length() != 0) {
+			responseWriter.writeText(code, null);
+		}
+		
+		responseWriter.endElement(HTML.SCRIPT_ELEM);
+		
+		responseWriter.endElement(HTML.DIV_ELEM);
+		
+		return scriptId;
+	}
+	
 	private void writeScript(FacesContext context, UITree tree, List encodedAreaIds,
 			Set renderedAreas) throws IOException {
-		final ResponseWriter writer = context.getResponseWriter();
+
 		final String clientId = tree.getBaseClientId(context);
-
-		String scriptId = clientId + NamingContainer.SEPARATOR_CHAR + "script";
-		writer.startElement("div", tree);
-		getUtils().writeAttribute(writer, "id", scriptId);
-		writer.startElement("script", tree);
-		getUtils().writeAttribute(writer, "type", "text/javascript");
-
 		StringBuffer sb = new StringBuffer("$(");
 		sb.append(ScriptUtils.toScript(clientId));
 		sb.append(").component.");
 		
 		new JSFunction("refreshAfterAjax", encodedAreaIds, getSelectionValue(context, tree)).appendScript(sb);
 		
-		writer.writeText(sb, null);
-		writer.endElement("script");
-		writer.endElement("div");
-
-		renderedAreas.add(scriptId);
-
+		renderedAreas.add(writeScriptElement(context, tree, sb.toString()));
 	}
 
 	public void encodeChildren(FacesContext context, UIComponent component)

Modified: trunk/ui/tree/src/main/templates/htmlTree.jspx
===================================================================
--- trunk/ui/tree/src/main/templates/htmlTree.jspx	2009-01-21 17:51:29 UTC (rev 12363)
+++ trunk/ui/tree/src/main/templates/htmlTree.jspx	2009-01-21 19:39:59 UTC (rev 12364)
@@ -65,9 +65,10 @@
 			#{this:getScriptContributions("tree", context, component)}
 		}());
 	</script> 
-	<div id="#{clientId}:script" class="dr-tree-h-script">
-		<script type="text/javascript">
-		</script>
+	
+	<f:call name="writeScriptElement">
+		<f:parameter value=""/>
+	</f:call>
+
 	</div>
-	</div>
 </f:root>




More information about the richfaces-svn-commits mailing list