[richfaces-svn-commits] JBoss Rich Faces SVN: r12027 - in trunk/ui/tree/src/main: resources/org/richfaces/renderkit/html/scripts and 1 other directories.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Wed Dec 24 15:29:22 EST 2008


Author: nbelaevski
Date: 2008-12-24 15:29:22 -0500 (Wed, 24 Dec 2008)
New Revision: 12027

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

Modified: trunk/ui/tree/src/main/java/org/richfaces/renderkit/TreeRendererBase.java
===================================================================
--- trunk/ui/tree/src/main/java/org/richfaces/renderkit/TreeRendererBase.java	2008-12-24 18:53:06 UTC (rev 12026)
+++ trunk/ui/tree/src/main/java/org/richfaces/renderkit/TreeRendererBase.java	2008-12-24 20:29:22 UTC (rev 12027)
@@ -570,15 +570,6 @@
 		return buffer.toString();
 	}
 
-	protected String getScriptContributions(FacesContext context, UITree tree) {
-		return super.getScriptContributions(getJavaScriptVarName(context, tree), context, tree);
-	}
-
-	protected String getJavaScriptVarName(FacesContext context, UITree tree) {
-		String id = tree.getBaseClientId(context);
-		return "Richfaces_Tree_" + id.replaceAll("[^A-Za-z0-9_]", "_");
-	}
-
 	private void writeScript(FacesContext context, UITree tree, List encodedAreaIds,
 			Set renderedAreas) throws IOException {
 		final ResponseWriter writer = context.getResponseWriter();
@@ -590,20 +581,16 @@
 		writer.startElement("script", tree);
 		getUtils().writeAttribute(writer, "type", "text/javascript");
 
-		String varName = getJavaScriptVarName(context, tree);
-
-		writer.writeText(varName + ".getNodeElements(" + 
-				ScriptUtils.toScript(encodedAreaIds) + ");", null);
+		StringBuffer sb = new StringBuffer("$(");
+		sb.append(ScriptUtils.toScript(clientId));
+		sb.append(").component.");
 		
-		writer.writeText(varName + ".updateSelection(" + 
-				ScriptUtils.toScript(getSelectionValue(context, tree)) + ");", null);
+		new JSFunction("refreshAfterAjax", encodedAreaIds, getSelectionValue(context, tree)).appendScript(sb);
 		
+		writer.writeText(sb, null);
 		writer.endElement("script");
 		writer.endElement("div");
 
-		renderedAreas.add(tree.getClientId(context)
-				+ NamingContainer.SEPARATOR_CHAR + "input");
-
 		renderedAreas.add(scriptId);
 
 	}

Modified: trunk/ui/tree/src/main/resources/org/richfaces/renderkit/html/scripts/tree.js
===================================================================
--- trunk/ui/tree/src/main/resources/org/richfaces/renderkit/html/scripts/tree.js	2008-12-24 18:53:06 UTC (rev 12026)
+++ trunk/ui/tree/src/main/resources/org/richfaces/renderkit/html/scripts/tree.js	2008-12-24 20:29:22 UTC (rev 12027)
@@ -183,6 +183,11 @@
 			*/
 		}
 	},
+	
+	refreshAfterAjax: function(nodeIds, selectedNode) {
+		this.getNodeElements(nodeIds);
+		this.updateSelection(selectedNode);
+	},
 
 	getNodeElements: function(nodeIds) {
 		if (nodeIds) {

Modified: trunk/ui/tree/src/main/templates/htmlTree.jspx
===================================================================
--- trunk/ui/tree/src/main/templates/htmlTree.jspx	2008-12-24 18:53:06 UTC (rev 12026)
+++ trunk/ui/tree/src/main/templates/htmlTree.jspx	2008-12-24 20:29:22 UTC (rev 12027)
@@ -49,20 +49,20 @@
 	
 	<f:call name="encodeSelectionStateInput" />
 	<f:clientId var="clientId" />
-	<script type="text/javascript">
-		var #{this:getJavaScriptVarName(context, component)} =
-		new Tree("#{clientId}", "#{clientId}:input", "#{component.switchType}",
-		{
-			onselect: "#{component.attributes['onselected']}", 
-			onexpand: "#{component.attributes['onexpand']}", 
-			oncollapse: "#{component.attributes['oncollapse']}" 
-		},
-		function(event) {
-			#{this:getAjaxScript(context, component)}
-		},
-		#{this:getOptions(context, component)}
-		);
-		#{this:getScriptContributions(context, component)}
+	<script type="text/javascript">(function() {
+			var tree = new Tree("#{clientId}", "#{clientId}:input", "#{component.switchType}",
+				{
+					onselect: "#{component.attributes['onselected']}", 
+					onexpand: "#{component.attributes['onexpand']}", 
+					oncollapse: "#{component.attributes['oncollapse']}" 
+				},
+				function(event) {
+					#{this:getAjaxScript(context, component)}
+				},
+				#{this:getOptions(context, component)}
+			);
+			#{this:getScriptContributions("tree", context, component)}
+		}());
 	</script> 
 	<div id="#{clientId}:script" class="dr-tree-h-script">
 		<script type="text/javascript">




More information about the richfaces-svn-commits mailing list