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);
+ }
+}