[richfaces-svn-commits] JBoss Rich Faces SVN: r4975 - trunk/sandbox/ui/combobox/src/main/java/org/richfaces/renderkit.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Sat Dec 22 08:57:22 EST 2007


Author: abelevich
Date: 2007-12-22 08:57:22 -0500 (Sat, 22 Dec 2007)
New Revision: 4975

Added:
   trunk/sandbox/ui/combobox/src/main/java/org/richfaces/renderkit/ComboBoxBaseRenderer.java
Log:
inititial

Added: trunk/sandbox/ui/combobox/src/main/java/org/richfaces/renderkit/ComboBoxBaseRenderer.java
===================================================================
--- trunk/sandbox/ui/combobox/src/main/java/org/richfaces/renderkit/ComboBoxBaseRenderer.java	                        (rev 0)
+++ trunk/sandbox/ui/combobox/src/main/java/org/richfaces/renderkit/ComboBoxBaseRenderer.java	2007-12-22 13:57:22 UTC (rev 4975)
@@ -0,0 +1,55 @@
+package org.richfaces.renderkit;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.context.ResponseWriter;
+
+import org.ajax4jsf.javascript.JSFunction;
+import org.ajax4jsf.renderkit.HeaderResourcesRendererBase;
+import org.ajax4jsf.renderkit.RendererUtils.HTML;
+import org.richfaces.component.UIComboBox;
+
+/**
+ * @author Anton Belevich
+ *
+ */
+public class ComboBoxBaseRenderer extends HeaderResourcesRendererBase {
+
+	private static final String INPUT = "_input";
+	
+	private static final String BUTTON = "_button";
+
+	protected Class  getComponentClass() {
+		return UIComboBox.class;
+	}
+
+	private String getScript(FacesContext context, UIComponent component){
+		UIComboBox comboBox = (UIComboBox) component;
+		JSFunction function = new JSFunction("new Richfaces.Combobox");
+		String clientId  = comboBox.getClientId(context);
+		function.addParameter(clientId);
+		Map options = new HashMap();
+		options.put("input", clientId + INPUT);
+		options.put("button", BUTTON);
+		function.addParameter(options);
+		return function.toString() ;
+	}
+	
+	protected void doEncodeEnd(ResponseWriter writer, FacesContext context,	UIComponent component) throws IOException {
+	    super.doEncodeEnd(writer, context, component);
+	    writer.startElement(HTML.SCRIPT_ELEM, component);
+        writer.writeText(getScript(context, component), "script");
+        writer.endElement(HTML.SCRIPT_ELEM);
+
+	}
+	
+	protected void doEncodeChildren(ResponseWriter writer,
+			FacesContext context, UIComponent component) throws IOException {
+		// TODO Auto-generated method stub
+		super.doEncodeChildren(writer, context, component);
+	}
+}




More information about the richfaces-svn-commits mailing list