You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by pr...@apache.org on 2005/11/12 00:42:45 UTC

svn commit: r332679 - in /myfaces: examples/trunk/sandbox/ examples/trunk/sandbox/src/java/org/apache/myfaces/examples/inputAjax/ sandbox/trunk/conf/ sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/ sandbox/trunk/tld/

Author: prophecy
Date: Fri Nov 11 15:42:39 2005
New Revision: 332679

URL: http://svn.apache.org/viewcvs?rev=332679&view=rev
Log:
- Added new Ajaxed SelectOneRadio component
- fixed up some general ajax stuff

Added:
    myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlSelectOneRadioAjax.java
    myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlSelectOneRadioAjaxRenderer.java
    myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlSelectOneRadioAjaxTag.java
Modified:
    myfaces/examples/trunk/sandbox/inputAjax.jsp
    myfaces/examples/trunk/sandbox/src/java/org/apache/myfaces/examples/inputAjax/InputAjaxBean.java
    myfaces/sandbox/trunk/conf/faces-config.xml
    myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlInputTextAjax.java
    myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlInputTextAjaxRenderer.java
    myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlSelectManyCheckboxAjaxRenderer.java
    myfaces/sandbox/trunk/tld/myfaces_sandbox.tld

Modified: myfaces/examples/trunk/sandbox/inputAjax.jsp
URL: http://svn.apache.org/viewcvs/myfaces/examples/trunk/sandbox/inputAjax.jsp?rev=332679&r1=332678&r2=332679&view=diff
==============================================================================
--- myfaces/examples/trunk/sandbox/inputAjax.jsp (original)
+++ myfaces/examples/trunk/sandbox/inputAjax.jsp Fri Nov 11 15:42:39 2005
@@ -42,7 +42,7 @@
 </script>
 <style type="text/css">
     .bold {
-        font-weight:bold;
+        font-weight: bold;
     }
 </style>
 
@@ -98,6 +98,18 @@
                 <f:verbatim>This component demonstrates ajax updating ability on a checkboxes.</f:verbatim>
             </h:panelGrid>
 
+            <h:outputText value="Select A Radio Button"/>
+            <h:panelGrid columns="1">
+                <s:selectOneRadioAjax
+                        id="radio1"
+                        forceId="true"
+                        value="#{inputAjaxBean.radioValue}">
+                    <f:selectItems
+                            value="#{inputAjaxBean.radioItems}"/>
+                </s:selectOneRadioAjax>
+                <f:verbatim>This component demonstrates ajax updating ability on a radio buttons.</f:verbatim>
+            </h:panelGrid>
+
 
         </h:panelGrid>
         <t:div id="statusDiv" forceId="true"></t:div>
@@ -107,7 +119,7 @@
     <h:outputLink value="inputAjax.jsf"><h:outputText value="Refresh"></h:outputText></h:outputLink>
 
     <t:htmlTag value="br"/>
-    <h:outputText value="Current chosen values"/>
+    <h:outputText value="Current chosen checkbox values in server model"/>
     <t:htmlTag value="br"/>
     <h:dataTable
             value="#{inputAjaxBean.chosenValues}"

Modified: myfaces/examples/trunk/sandbox/src/java/org/apache/myfaces/examples/inputAjax/InputAjaxBean.java
URL: http://svn.apache.org/viewcvs/myfaces/examples/trunk/sandbox/src/java/org/apache/myfaces/examples/inputAjax/InputAjaxBean.java?rev=332679&r1=332678&r2=332679&view=diff
==============================================================================
--- myfaces/examples/trunk/sandbox/src/java/org/apache/myfaces/examples/inputAjax/InputAjaxBean.java (original)
+++ myfaces/examples/trunk/sandbox/src/java/org/apache/myfaces/examples/inputAjax/InputAjaxBean.java Fri Nov 11 15:42:39 2005
@@ -25,15 +25,27 @@
  * Date: Oct 20, 2005
  * Time: 1:30:51 PM
  */
-public class InputAjaxBean {
+public class InputAjaxBean
+{
     private List checkboxItems;
     private List chosenValues = new ArrayList();
     private String text1;
     private String text2;
     private Date date1 = new Date();
 
-    public List getCheckboxItems() {
-        if (checkboxItems == null) {
+    private String radioValue;
+    private List radioItems;
+
+    public String submit()
+    {
+        return null;
+    }
+
+
+    public List getCheckboxItems()
+    {
+        if (checkboxItems == null)
+        {
             checkboxItems = new ArrayList();
             for (int i = 0; i < 10; i++)
                 checkboxItems.add(new SelectItem("" + i));
@@ -41,16 +53,39 @@
         return checkboxItems;
     }
 
-    public void setCheckboxItems(List checkboxItems) {
+    public void setCheckboxItems(List checkboxItems)
+    {
         this.checkboxItems = checkboxItems;
     }
 
+    public List getRadioItems()
+    {
+        if (radioItems == null)
+        {
+            radioItems = new ArrayList();
+            char a = 'a';
+            for (int i = 0; i < 5; i++)
+            {
+                radioItems.add(new SelectItem(new String(new char[]{a})));
+                a++;
+            }
+        }
+        return radioItems;
+    }
+
+    public void setRadioItems(List radioItems)
+    {
+        this.radioItems = radioItems;
+    }
 
-    public List getChosenValues() {
+
+    public List getChosenValues()
+    {
         return chosenValues;
     }
 
-    public void setChosenValues(List chosenValues) {
+    public void setChosenValues(List chosenValues)
+    {
         this.chosenValues = chosenValues;
     }
 
@@ -74,9 +109,6 @@
         this.date1 = date1;
     }
 
-    public String submit() {
-        return null;
-    }
 
     public String getText2()
     {
@@ -87,4 +119,16 @@
     {
         this.text2 = text2;
     }
+
+    public String getRadioValue()
+    {
+        return radioValue;
+    }
+
+    public void setRadioValue(String radioValue)
+    {
+        this.radioValue = radioValue;
+    }
+
+
 }

Modified: myfaces/sandbox/trunk/conf/faces-config.xml
URL: http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/conf/faces-config.xml?rev=332679&r1=332678&r2=332679&view=diff
==============================================================================
--- myfaces/sandbox/trunk/conf/faces-config.xml (original)
+++ myfaces/sandbox/trunk/conf/faces-config.xml Fri Nov 11 15:42:39 2005
@@ -34,7 +34,12 @@
     <component-class>org.apache.myfaces.custom.inputAjax.HtmlSelectManyCheckboxAjax</component-class>
   </component>
 
-    <component>
+  <component>
+    <component-type>org.apache.myfaces.HtmlSelectOneRadioAjax</component-type>
+    <component-class>org.apache.myfaces.custom.inputAjax.HtmlSelectOneRadioAjax</component-class>
+  </component>
+
+  <component>
     <component-type>org.apache.myfaces.InputTextAjax</component-type>
     <component-class>org.apache.myfaces.custom.inputAjax.HtmlInputTextAjax</component-class>
   </component>
@@ -129,6 +134,12 @@
       <component-family>javax.faces.SelectMany</component-family>
       <renderer-type>org.apache.myfaces.CheckboxAjax</renderer-type>
       <renderer-class>org.apache.myfaces.custom.inputAjax.HtmlSelectManyCheckboxAjaxRenderer</renderer-class>
+    </renderer>
+
+    <renderer>
+      <component-family>javax.faces.SelectOne</component-family>
+      <renderer-type>org.apache.myfaces.SelectOneRadioAjax</renderer-type>
+      <renderer-class>org.apache.myfaces.custom.inputAjax.HtmlSelectOneRadioAjaxRenderer</renderer-class>
     </renderer>
 
     <renderer>

Modified: myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlInputTextAjax.java
URL: http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlInputTextAjax.java?rev=332679&r1=332678&r2=332679&view=diff
==============================================================================
--- myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlInputTextAjax.java (original)
+++ myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlInputTextAjax.java Fri Nov 11 15:42:39 2005
@@ -49,14 +49,14 @@
     {
         log.debug("entering HtmlInputTextAjax.decodeAjax");
 
-        //Map requestParams = context.getExternalContext().getRequestParameterMap();
-
-        // now go through the required lifecycle phases
         HtmlRendererUtils.decodeUIInput(context, this);
         validate(context);
         updateModel(context);
-        Object valOb = this.getValue();
-        log.debug("value object after decodeAjax: " + valOb);
+        if (log.isDebugEnabled())
+        {
+            Object valOb = this.getValue();
+            log.debug("value object after decodeAjax: " + valOb);
+        }
 
     }
 
@@ -90,11 +90,11 @@
 
     public void restoreState(FacesContext context, Object state)
     {
-        Object values[] = (Object[])state;
+        Object values[] = (Object[]) state;
         super.restoreState(context, values[0]);
-        onSuccess = (String)values[1];
-        onFailure = (String)values[2];
-        onStart = (String)values[3];
+        onSuccess = (String) values[1];
+        onFailure = (String) values[2];
+        onStart = (String) values[3];
         showOkButton = (Boolean) values[4];
         okText = (String) values[5];
         showCancelText = (Boolean) values[6];

Modified: myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlInputTextAjaxRenderer.java
URL: http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlInputTextAjaxRenderer.java?rev=332679&r1=332678&r2=332679&view=diff
==============================================================================
--- myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlInputTextAjaxRenderer.java (original)
+++ myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlInputTextAjaxRenderer.java Fri Nov 11 15:42:39 2005
@@ -73,7 +73,13 @@
         HtmlInputTextAjax comp = (HtmlInputTextAjax) component;
         if(!comp.getShowOkButton().booleanValue()){
             // then submit on change
-            comp.setOnchange(submitFunctionStart);
+            // allow for user defined onchange as well
+            String onChange = comp.getOnchange();
+            if(onChange == null){
+                onChange = "";
+            }
+            onChange = submitFunctionStart + " " + onChange;
+            comp.setOnchange(onChange);
         }
         this.encodeJavascript(context, component);
         super.encodeEnd(context, component);

Modified: myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlSelectManyCheckboxAjaxRenderer.java
URL: http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlSelectManyCheckboxAjaxRenderer.java?rev=332679&r1=332678&r2=332679&view=diff
==============================================================================
--- myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlSelectManyCheckboxAjaxRenderer.java (original)
+++ myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlSelectManyCheckboxAjaxRenderer.java Fri Nov 11 15:42:39 2005
@@ -80,7 +80,15 @@
         String clientId = component.getClientId(context);
 
         HtmlSelectManyCheckboxAjax selectManyCheckbox = (HtmlSelectManyCheckboxAjax) component;
-        selectManyCheckbox.setOnclick(component.getId() + "_MyFaces_inputAjax_ajaxSubmit2(this, '" + clientId + "');");
+
+        // allow for user defined onclick's as well
+        String onClick = selectManyCheckbox.getOnclick();
+        if(onClick == null){
+            onClick = "";
+        }
+        onClick = component.getId() + "_MyFaces_inputAjax_ajaxSubmit2(this, '" + clientId + "'); " + onClick;
+        selectManyCheckbox.setOnclick(onClick);
+
 
         this.encodeJavascript(context, component);
 
@@ -90,7 +98,7 @@
 
     public void encodeAjax(FacesContext context, UIComponent component) throws IOException
     {
-        log.debug("encodeAjax in HtmlSelectManyCheckbox");
+        log.debug("encodeAjax in HtmlSelectManyCheckboxAjaxRenderer");
         // check for request type (portlet support)
         HttpServletRequest request = (HttpServletRequest) context.getExternalContext().getRequest();
         Map extraReturnAttributes = new HashMap();

Added: myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlSelectOneRadioAjax.java
URL: http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlSelectOneRadioAjax.java?rev=332679&view=auto
==============================================================================
--- myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlSelectOneRadioAjax.java (added)
+++ myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlSelectOneRadioAjax.java Fri Nov 11 15:42:39 2005
@@ -0,0 +1,120 @@
+package org.apache.myfaces.custom.inputAjax;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.myfaces.custom.ajax.api.AjaxRenderer;
+import org.apache.myfaces.custom.ajax.api.AjaxComponent;
+import org.apache.myfaces.custom.ajax.AjaxCallbacks;
+import org.apache.myfaces.component.html.ext.HtmlSelectOneRadio;
+import org.apache.myfaces.renderkit.html.HtmlRendererUtils;
+
+import javax.faces.context.FacesContext;
+import javax.faces.render.Renderer;
+import java.util.Map;
+import java.util.Collection;
+import java.util.Iterator;
+import java.io.IOException;
+
+/**
+ * User: treeder
+ * Date: Nov 10, 2005
+ * Time: 4:45:09 PM
+ */
+public class HtmlSelectOneRadioAjax extends HtmlSelectOneRadio implements AjaxComponent, AjaxCallbacks
+{
+    private static final Log log = LogFactory.getLog(HtmlSelectOneRadioAjax.class);
+    public static final String COMPONENT_TYPE = "org.apache.myfaces.HtmlSelectOneRadioAjax";
+    public static final String DEFAULT_RENDERER_TYPE = "org.apache.myfaces.SelectOneRadioAjax";
+
+    private String onSuccess;
+    private String onFailure;
+    private String onStart;
+
+    public HtmlSelectOneRadioAjax()
+    {
+        super();
+        setRendererType(DEFAULT_RENDERER_TYPE);
+    }
+
+    /**
+     * Decode ajax request and apply value changes
+     *
+     * @param context
+     */
+    public void decodeAjax(FacesContext context)
+    {
+        log.debug("entering HtmlSelectOneRadioAjax.decodeAjax");
+
+        HtmlRendererUtils.decodeUIInput(context, this);
+        validate(context);
+        updateModel(context);
+        if (log.isDebugEnabled())
+        {
+            Object valOb = this.getValue();
+            log.debug("value object after decodeAjax: " + valOb);
+        }
+    }
+
+    public void encodeAjax(FacesContext context) throws IOException
+    {
+        //log.debug("encodeAjax in HtmlSelectManyCheckbox");
+        if (context == null) throw new NullPointerException("context");
+        if (!isRendered()) return;
+        Renderer renderer = getRenderer(context);
+
+        if (renderer != null && renderer instanceof AjaxRenderer)
+        {
+            ((AjaxRenderer) renderer).encodeAjax(context, this);
+
+        }
+    }
+
+    public Object saveState(FacesContext context)
+    {
+        Object values[] = new Object[4];
+        values[0] = super.saveState(context);
+        values[1] = onSuccess;
+        values[2] = onFailure;
+        values[3] = onStart;
+        return ((Object) (values));
+    }
+
+    public void restoreState(FacesContext context, Object state)
+    {
+        Object values[] = (Object[])state;
+        super.restoreState(context, values[0]);
+        onSuccess = (String)values[1];
+        onFailure = (String)values[2];
+        onStart = (String)values[3];
+    }
+
+    public String getOnSuccess()
+    {
+        return onSuccess;
+    }
+
+    public void setOnSuccess(String onSuccess)
+    {
+        this.onSuccess = onSuccess;
+    }
+
+    public String getOnFailure()
+    {
+        return onFailure;
+    }
+
+    public void setOnFailure(String onFailure)
+    {
+        this.onFailure = onFailure;
+    }
+
+    public String getOnStart()
+    {
+        return onStart;
+    }
+
+    public void setOnStart(String onStart)
+    {
+        this.onStart = onStart;
+    }
+}

Added: myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlSelectOneRadioAjaxRenderer.java
URL: http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlSelectOneRadioAjaxRenderer.java?rev=332679&view=auto
==============================================================================
--- myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlSelectOneRadioAjaxRenderer.java (added)
+++ myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlSelectOneRadioAjaxRenderer.java Fri Nov 11 15:42:39 2005
@@ -0,0 +1,99 @@
+package org.apache.myfaces.custom.inputAjax;
+
+import org.apache.myfaces.renderkit.html.ext.HtmlRadioRenderer;
+import org.apache.myfaces.renderkit.html.HtmlRendererUtils;
+import org.apache.myfaces.renderkit.RendererUtils;
+import org.apache.myfaces.custom.ajax.api.AjaxRenderer;
+import org.apache.myfaces.custom.ajax.util.AjaxRendererUtils;
+import org.apache.myfaces.component.html.util.AddResource;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import javax.faces.context.FacesContext;
+import javax.faces.context.ResponseWriter;
+import javax.faces.component.UIComponent;
+import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
+import java.util.Map;
+import java.util.HashMap;
+
+/**
+ * User: treeder
+ * Date: Nov 10, 2005
+ * Time: 4:48:15 PM
+ */
+public class HtmlSelectOneRadioAjaxRenderer extends HtmlRadioRenderer implements AjaxRenderer
+{
+    private static final Log log = LogFactory.getLog(HtmlSelectOneRadioAjaxRenderer.class);
+    private static final String JAVASCRIPT_ENCODED = "org.apache.myfaces.custom.inputAjax.HtmlSelectOneRadioAjax.JAVASCRIPT_ENCODED";
+
+
+    /**
+     * Encodes any stand-alone javascript functions that are needed.
+     * Uses either the extension filter, or a
+     * user-supplied location for the javascript files.
+     *
+     * @param context   FacesContext
+     * @param component UIComponent
+     * @throws java.io.IOException
+     */
+    private void encodeJavascript(FacesContext context, UIComponent component) throws IOException
+    {
+
+        HtmlSelectOneRadioAjax selectManyCheckbox = (HtmlSelectOneRadioAjax) component;
+
+        AddResource addResource = AddResource.getInstance(context);
+
+        AjaxRendererUtils.addPrototypeScript(context, component, addResource);
+
+        ResponseWriter out = context.getResponseWriter();
+
+        String extraParams =("&checked=\" + el.checked + \"");
+        AjaxRendererUtils.writeAjaxScript(context, out, selectManyCheckbox, extraParams);
+
+        context.getExternalContext().getRequestMap().put(JAVASCRIPT_ENCODED, Boolean.TRUE);
+    }
+
+
+    public void encodeEnd(FacesContext context, UIComponent component) throws IOException
+    {
+        RendererUtils.checkParamValidity(context, component, HtmlSelectOneRadioAjax.class);
+
+        if (HtmlRendererUtils.isDisplayValueOnly(component) || isDisabled(context, component))
+        {
+            super.encodeEnd(context, component);
+            return;
+        }
+
+        String clientId = component.getClientId(context);
+
+        HtmlSelectOneRadioAjax selectOneRadio = (HtmlSelectOneRadioAjax) component;
+
+        // allow for user defined onclick's as well
+        String onClick = selectOneRadio.getOnclick();
+        if(onClick == null){
+            onClick = "";
+        }
+        onClick = component.getId() + "_MyFaces_inputAjax_ajaxSubmit2(this, '" + clientId + "'); " + onClick;
+        selectOneRadio.setOnclick(onClick);
+
+        this.encodeJavascript(context, component);
+
+        super.encodeEnd(context, component);
+
+    }
+
+    public void encodeAjax(FacesContext context, UIComponent component) throws IOException
+    {
+        log.debug("encodeAjax in HtmlSelectOneRadioAjaxRenderer");
+        // check for request type (portlet support)
+        HttpServletRequest request = (HttpServletRequest) context.getExternalContext().getRequest();
+        Map extraReturnAttributes = new HashMap();
+        extraReturnAttributes.put("checked", request.getParameter("checked"));
+        AjaxRendererUtils.encodeAjax(context, component, extraReturnAttributes);
+
+    }
+
+
+
+}

Added: myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlSelectOneRadioAjaxTag.java
URL: http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlSelectOneRadioAjaxTag.java?rev=332679&view=auto
==============================================================================
--- myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlSelectOneRadioAjaxTag.java (added)
+++ myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlSelectOneRadioAjaxTag.java Fri Nov 11 15:42:39 2005
@@ -0,0 +1,74 @@
+package org.apache.myfaces.custom.inputAjax;
+
+import org.apache.myfaces.custom.ajax.AjaxCallbacks;
+import org.apache.myfaces.taglib.html.ext.HtmlSelectOneRadioTag;
+
+import javax.faces.component.UIComponent;
+
+/**
+ * User: treeder
+ * Date: Nov 10, 2005
+ * Time: 4:43:24 PM
+ */
+public class HtmlSelectOneRadioAjaxTag extends HtmlSelectOneRadioTag implements AjaxCallbacks
+{
+    private String onSuccess;
+    private String onFailure;
+    private String onStart;
+
+    public void release()
+    {
+        super.release();
+        onSuccess = null;
+        onFailure = null;
+        onStart = null;
+    }
+     protected void setProperties(UIComponent component) {
+        super.setProperties(component);
+
+        setStringProperty(component, "onSuccess", onSuccess);
+        setStringProperty(component, "onFailure", onFailure);
+        setStringProperty(component, "onStart", onStart);
+    }
+
+     public String getComponentType() {
+        return HtmlSelectOneRadioAjax.COMPONENT_TYPE;
+    }
+
+    /**
+     * @return the RendererType String
+     */
+    public String getRendererType() {
+        return HtmlSelectOneRadioAjax.DEFAULT_RENDERER_TYPE;
+    }
+
+    public String getOnSuccess()
+    {
+        return onSuccess;
+    }
+
+    public void setOnSuccess(String onSuccess)
+    {
+        this.onSuccess = onSuccess;
+    }
+
+    public String getOnFailure()
+    {
+        return onFailure;
+    }
+
+    public void setOnFailure(String onFailure)
+    {
+        this.onFailure = onFailure;
+    }
+
+    public String getOnStart()
+    {
+        return onStart;
+    }
+
+    public void setOnStart(String onStart)
+    {
+        this.onStart = onStart;
+    }
+}

Modified: myfaces/sandbox/trunk/tld/myfaces_sandbox.tld
URL: http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/tld/myfaces_sandbox.tld?rev=332679&r1=332678&r2=332679&view=diff
==============================================================================
--- myfaces/sandbox/trunk/tld/myfaces_sandbox.tld (original)
+++ myfaces/sandbox/trunk/tld/myfaces_sandbox.tld Fri Nov 11 15:42:39 2005
@@ -726,6 +726,18 @@
     </tag>
 
     <tag>
+        <name>selectOneRadioAjax</name>
+        <tag-class>org.apache.myfaces.custom.inputAjax.HtmlSelectOneRadioAjaxTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Extends standard selectOneRadio allowing for dynamic ajax submitting.
+        </description>
+        &standard_select_many_checkbox_attributes;
+        &ext_forceId_attribute;
+        &ext_ajax_attributes;
+    </tag>
+
+    <tag>
         <name>inputTextAjax</name>
         <tag-class>org.apache.myfaces.custom.inputAjax.HtmlInputTextAjaxTag</tag-class>
         <body-content>JSP</body-content>